# compiler: R8
# compiler_version: 3.3.16-dev
# compiler_hash: engineering
# common_typos_disable
# {"id":"com.android.tools.r8.mapping","version":"2.0"}
# pg_map_id: 3.3.16-dev
# pg_map_hash: SHA-256 7f39e7dad5f45619310455516cbd72c96003490140d1c8e3e0776075d2c10344
com.android.tools.r8.ApiLevelException -> com.android.tools.r8.internal.i2:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():10:10 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):14:14 -> <init>
    1:4:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):21:24 -> a
    5:5:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":11,"2":12,"3":13}}
    11:11:java.lang.String com.android.tools.r8.utils.AndroidApiLevel.getName():64:64 -> a
    11:11:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
    12:12:java.lang.String com.android.tools.r8.utils.AndroidApiLevel.getName():64:64 -> a
    12:12:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
    13:13:java.lang.String com.android.tools.r8.utils.AndroidApiLevel.getName():64:64 -> a
    13:13:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
    6:6:java.lang.String com.android.tools.r8.utils.AndroidApiLevel.getName():64:64 -> a
    6:6:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
    7:9:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24:26 -> a
    10:10:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":11,"2":12,"3":13,"4":14,"5":15,"6":16}}
    11:11:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    12:12:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    13:13:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    14:14:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    15:15:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    16:16:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
com.android.tools.r8.ArchiveClassFileProvider -> com.android.tools.r8.ArchiveClassFileProvider:
    com.android.tools.r8.origin.Origin origin -> b
    java.util.Set descriptors -> d
    java.util.zip.ZipFile zipFile -> c
    boolean $assertionsDisabled -> e
    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>
    3:37:void <init>(java.nio.file.Path,java.util.function.Predicate):43:77 -> <init>
    38:41:void <init>(java.nio.file.Path,java.util.function.Predicate):66:69 -> <init>
    boolean lambda$new$0(java.lang.String) -> a
    1:1:void close():112:112 -> close
    1:2:void finalize():106:107 -> finalize
    1:1:java.util.Set getClassDescriptors():84:84 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):89:89 -> getProgramResource
    2:2:java.util.zip.ZipEntry getZipEntryFromDescriptor(java.lang.String):116:116 -> getProgramResource
    2:2:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):92 -> getProgramResource
    3:8:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):93:98 -> getProgramResource
    9:14:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):94:99 -> getProgramResource
    15:22:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):93:100 -> getProgramResource
    23:23:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):0:0 -> getProgramResource
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":126,"2":127,"3":128,"4":129,"5":130}}
    126:126:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    127:127:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    128:128:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    129:129:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    130:130:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    123:123:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    124:124:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> getProgramResource
    124:124:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> getProgramResource
    124:124:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100 -> getProgramResource
    125:125: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
    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
    2:7:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):92:97 -> a
    8:8:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):100:100 -> a
    8:8:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):98 -> a
    9:9:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):96:96 -> a
    10:10:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):100:100 -> a
    10:10:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):98 -> a
    11:11:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):98:98 -> a
    12:12:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):100:100 -> a
    12:12:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):100 -> a
    13:13:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):92:92 -> a
    14:14:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):100:100 -> a
    14:14:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):100 -> a
    15:16:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):100:101 -> a
    17:17:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":121,"2":122,"3":123}}
    121:121:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    122:122:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    123:123:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    118:118:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    119:119:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    119:119:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101 -> a
    120:120:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    124:126:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):112:114 -> a
    127:128:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> a
    127:128:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):114 -> a
    129:131:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):115:117 -> a
    132:132:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):116:116 -> a
    133:143:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):115:125 -> a
    144:144:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):121:121 -> a
    145:145:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):120:120 -> a
    1:1:com.android.tools.r8.ArchiveProgramResourceProvider fromArchive(java.nio.file.Path):59:59 -> fromArchive
    2:2:com.android.tools.r8.ArchiveProgramResourceProvider fromArchive(java.nio.file.Path,java.util.function.Predicate):64:64 -> fromArchive
    1:1:com.android.tools.r8.ArchiveProgramResourceProvider fromSupplier(com.android.tools.r8.origin.Origin,com.android.tools.r8.ArchiveProgramResourceProvider$ZipFileSupplier):72:72 -> fromSupplier
    2:2:com.android.tools.r8.ArchiveProgramResourceProvider fromSupplier(com.android.tools.r8.origin.Origin,com.android.tools.r8.ArchiveProgramResourceProvider$ZipFileSupplier,java.util.function.Predicate):78:78 -> fromSupplier
    1:23:java.util.Collection getProgramResources():108:130 -> getProgramResources
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> getProgramResources
    24:24:java.util.Collection getProgramResources():130 -> getProgramResources
    25:32:java.util.Collection getProgramResources():130:137 -> getProgramResources
    1:1:boolean includeClassFileEntries(java.lang.String):43:43 -> includeClassFileEntries
    1:1:boolean includeClassFileOrDexEntries(java.lang.String):51:51 -> includeClassFileOrDexEntries
    2:3:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> includeClassFileOrDexEntries
    2:3:boolean includeClassFileOrDexEntries(java.lang.String):51 -> includeClassFileOrDexEntries
    1:1:boolean includeDexEntries(java.lang.String):47:47 -> includeDexEntries
    2:3:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> includeDexEntries
    2:3:boolean includeDexEntries(java.lang.String):47 -> includeDexEntries
com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer -> com.android.tools.r8.ArchiveProgramResourceProvider$a:
    void accept(com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream) -> a
com.android.tools.r8.AssertionsConfiguration -> com.android.tools.r8.AssertionsConfiguration:
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation transformation -> a
    com.android.tools.r8.references.MethodReference assertionHandler -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope scope -> c
    java.lang.String value -> d
    1:1:void <clinit>():11:11 -> <clinit>
    1:6:void <init>(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope,java.lang.String):51:56 -> <init>
    1:1:com.android.tools.r8.references.MethodReference getAssertionHandler():85:85 -> getAssertionHandler
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope getScope():89:89 -> getScope
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformation():81:81 -> getTransformation
    1:1:java.lang.String getValue():93:93 -> getValue
    1:1:boolean isAssertionHandler():72:72 -> isAssertionHandler
    1:1:boolean isCompileTimeDisabled():64:64 -> isCompileTimeDisabled
    1:1:boolean isCompileTimeEnabled():60:60 -> isCompileTimeEnabled
    1:1:boolean isPassthrough():68:68 -> isPassthrough
com.android.tools.r8.AssertionsConfiguration$AssertionTransformation -> com.android.tools.r8.AssertionsConfiguration$AssertionTransformation:
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation[] $VALUES -> b
    1:8:void <clinit>():26:33 -> <clinit>
    9:9:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(java.lang.String,int):24:24 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation valueOf(java.lang.String):22:22 -> valueOf
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation[] values():22:22 -> values
com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope -> com.android.tools.r8.AssertionsConfiguration$a:
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope[] $VALUES -> e
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope CLASS -> d
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope PACKAGE -> c
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope ALL -> b
    1:3:void <clinit>():37:39 -> <clinit>
    4:4:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(java.lang.String,int):36:36 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope[] values():36:36 -> a
com.android.tools.r8.AssertionsConfiguration$Builder -> com.android.tools.r8.AssertionsConfiguration$Builder:
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation transformation -> b
    com.android.tools.r8.references.MethodReference assertionHandler -> c
    com.android.tools.r8.utils.Reporter reporter -> a
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope scope -> d
    java.lang.String value -> e
    1:1:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.AssertionsConfiguration$1):107:107 -> <init>
    2:3:void <init>(com.android.tools.r8.utils.Reporter):114:115 -> <init>
    1:14:com.android.tools.r8.AssertionsConfiguration build():225:238 -> build
    1:1:com.android.tools.r8.AssertionsConfiguration compileTimeDisableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):301:301 -> compileTimeDisableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration compileTimeEnableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):264:264 -> compileTimeEnableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration disableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):311:311 -> disableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration enableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):274:274 -> enableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration passthroughAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):336:336 -> passthroughAllAssertions
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setAssertionHandler(com.android.tools.r8.references.MethodReference):180:181 -> setAssertionHandler
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setCompileTimeDisable():153:153 -> setCompileTimeDisable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setCompileTimeEnable():137:137 -> setCompileTimeEnable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setDisable():160:160 -> setDisable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setEnable():144:144 -> setEnable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setPassthrough():166:166 -> setPassthrough
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setScopeAll():186:187 -> setScopeAll
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setScopeClass(java.lang.String):218:219 -> setScopeClass
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setScopePackage(java.lang.String):203:204 -> setScopePackage
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setTransformation(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation):127:128 -> setTransformation
com.android.tools.r8.BackportedMethodList -> com.android.tools.r8.BackportedMethodList:
    java.lang.String USAGE_MESSAGE -> a
    1:2:void <clinit>():53:54 -> <clinit>
    1:1:void <init>():51:51 -> <init>
    1:4:java.lang.String formatMethod(com.android.tools.r8.graph.DexMethod):66:69 -> a
    5:5:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    5:5:java.lang.String formatMethod(com.android.tools.r8.graph.DexMethod):69 -> a
    6:6:java.lang.String formatMethod(com.android.tools.r8.graph.DexMethod):69:69 -> a
    7:7:void lambda$run$1(com.android.tools.r8.BackportedMethodListCommand,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):88:88 -> a
    8:18:void lambda$run$1(com.android.tools.r8.BackportedMethodListCommand,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):87:97 -> a
    19:20:void lambda$run$0(com.android.tools.r8.BackportedMethodListCommand,java.lang.String):95:96 -> a
    21:21:void lambda$main$2(java.lang.String[]):109:109 -> a
    1:1:void main(java.lang.String[]):109:109 -> main
    1:6:void run(com.android.tools.r8.BackportedMethodListCommand):73:78 -> run
    7:7:void run(com.android.tools.r8.BackportedMethodListCommand):0:0 -> run
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":110,"2":111,"3":112}}
    110:110:void run(com.android.tools.r8.BackportedMethodListCommand):78:78 -> run
    111:111:void run(com.android.tools.r8.BackportedMethodListCommand):78:78 -> run
    112:112:void run(com.android.tools.r8.BackportedMethodListCommand):78:78 -> run
    85:92:void run(com.android.tools.r8.BackportedMethodListCommand):78:85 -> run
    93:109:void run(com.android.tools.r8.BackportedMethodListCommand):84:100 -> run
    113:113:void run(java.lang.String[]):105:105 -> run
com.android.tools.r8.BackportedMethodListCommand -> com.android.tools.r8.BackportedMethodListCommand:
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> e
    com.android.tools.r8.graph.DexItemFactory factory -> h
    com.android.tools.r8.StringConsumer backportedMethodListConsumer -> g
    int minApiLevel -> d
    boolean printHelp -> a
    boolean printVersion -> b
    com.android.tools.r8.utils.AndroidApp app -> f
    com.android.tools.r8.utils.Reporter reporter -> c
    1:1:void <init>(com.android.tools.r8.utils.Reporter,int,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.StringConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.BackportedMethodListCommand$1):39:39 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.BackportedMethodListCommand$1):39:39 -> <init>
    3:11:void <init>(boolean,boolean):78:86 -> <init>
    12:20:void <init>(com.android.tools.r8.utils.Reporter,int,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.StringConsumer,com.android.tools.r8.graph.DexItemFactory):95:103 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApp getInputApp():75:75 -> a
    1:1:com.android.tools.r8.utils.InternalOptions getInternalOptions():107:107 -> b
    2:2:com.android.tools.r8.utils.Reporter getReporter():59:59 -> b
    2:2:com.android.tools.r8.utils.InternalOptions getInternalOptions():107 -> b
    3:5:com.android.tools.r8.utils.InternalOptions getInternalOptions():107:109 -> b
    6:6:com.android.tools.r8.utils.AndroidApp getInputApp():75:75 -> b
    6:6:com.android.tools.r8.utils.InternalOptions getInternalOptions():109 -> b
    7:13:void com.android.tools.r8.utils.InternalOptions.setDesugaredLibrarySpecification(com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp):894:900 -> b
    7:13:com.android.tools.r8.utils.InternalOptions getInternalOptions():109 -> b
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder builder():114:114 -> builder
    2:2:com.android.tools.r8.BackportedMethodListCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):118:118 -> builder
    1:1:com.android.tools.r8.utils.Reporter getReporter():59:59 -> c
    1:1:com.android.tools.r8.StringConsumer getBackportedMethodListConsumer():71:71 -> getBackportedMethodListConsumer
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration():67:67 -> getDesugaredLibraryConfiguration
    1:1:int getMinApiLevel():63:63 -> getMinApiLevel
    1:1:boolean isPrintHelp():51:51 -> isPrintHelp
    1:1:boolean isPrintVersion():55:55 -> isPrintVersion
    1:12:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):123:134 -> parse
    13:13:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475}}
    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    475:475:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    147:147:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    148:148:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475}}
    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    475:475:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    282:292:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:144 -> parse
    293:299:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):165:171 -> parse
    293:299:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    300:300:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475,"4":476,"5":477}}
    473:473:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    474:474:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    475:475:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    475:475:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    476:476:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    476:476:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    477:477:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    477:477:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    301:304:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:174 -> parse
    301:304:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    305:305:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    305:305:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    306:306:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475,"4":476,"5":477}}
    473:473:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    474:474:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    475:475:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    475:475:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    476:476:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    476:476:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    477:477:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    477:477:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    307:307:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    307:307:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    308:315:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):149:156 -> parse
    316:316:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475,"4":476,"5":477}}
    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    475:475:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    476:476:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    477:477:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
com.android.tools.r8.BackportedMethodListCommand$Builder -> com.android.tools.r8.BackportedMethodListCommand$Builder:
    java.util.List desugaredLibrarySpecificationResources -> c
    com.android.tools.r8.utils.AndroidApp$Builder app -> d
    boolean printHelp -> f
    com.android.tools.r8.StringConsumer backportedMethodListConsumer -> e
    boolean printVersion -> g
    int minApiLevel -> b
    com.android.tools.r8.utils.Reporter reporter -> a
    1:1:void <init>(com.android.tools.r8.BackportedMethodListCommand$1):178:178 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.BackportedMethodListCommand$1):178:178 -> <init>
    3:3:void <init>():189:189 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):192:192 -> <init>
    5:18:void <init>(com.android.tools.r8.DiagnosticsHandler):181:194 -> <init>
    1:1:void error(com.android.tools.r8.Diagnostic):304:304 -> a
    1:1:void access$200(com.android.tools.r8.BackportedMethodListCommand$Builder,com.android.tools.r8.Diagnostic):178 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void error(com.android.tools.r8.Diagnostic):304:304 -> a
    2:2:void access$200(com.android.tools.r8.BackportedMethodListCommand$Builder,com.android.tools.r8.Diagnostic):178 -> a
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder addDesugaredLibraryConfiguration(com.android.tools.r8.StringResource):219:219 -> addDesugaredLibraryConfiguration
    2:2:com.android.tools.r8.BackportedMethodListCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):226:226 -> addDesugaredLibraryConfiguration
    3:3:com.android.tools.r8.BackportedMethodListCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):225:225 -> addDesugaredLibraryConfiguration
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder addLibraryFiles(java.nio.file.Path[]):237:237 -> addLibraryFiles
    2:3:com.android.tools.r8.BackportedMethodListCommand$Builder addLibraryFiles(java.util.Collection):243:244 -> addLibraryFiles
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder addLibraryResourceProvider(com.android.tools.r8.ClassFileResourceProvider):231:231 -> addLibraryResourceProvider
    1:25:com.android.tools.r8.BackportedMethodListCommand build():308:332 -> build
    26:35:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory):250:259 -> build
    26:35:com.android.tools.r8.BackportedMethodListCommand build():335 -> build
    36:36:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory):258:258 -> build
    36:36:com.android.tools.r8.BackportedMethodListCommand build():335 -> build
    37:37:com.android.tools.r8.BackportedMethodListCommand build():335:335 -> build
    38:38:com.android.tools.r8.BackportedMethodListCommand build():316:316 -> build
    1:1:int getMinApiLevel():214:214 -> getMinApiLevel
    1:1:boolean isPrintHelp():283:283 -> isPrintHelp
    1:1:boolean isPrintVersion():294:294 -> isPrintVersion
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setConsumer(com.android.tools.r8.StringConsumer):277:277 -> setConsumer
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    2:2:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):0:0 -> setMinApiLevel
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":211,"2":212,"3":213,"4":214,"5":215}}
    211:211:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    212:212:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    213:213:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    214:214:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    215:215:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    208:210:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:208 -> setMinApiLevel
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setOutputPath(java.nio.file.Path):264:264 -> setOutputPath
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setPrintHelp(boolean):288:288 -> setPrintHelp
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setPrintVersion(boolean):299:299 -> setPrintVersion
com.android.tools.r8.BackportedMethodListCommand$Builder$1 -> com.android.tools.r8.a:
    1:1:void <init>():189:189 -> <init>
com.android.tools.r8.BackportedMethodListCommand$Builder$2 -> com.android.tools.r8.b:
    1:1:void <init>(com.android.tools.r8.BackportedMethodListCommand$Builder,java.nio.file.Path):265:265 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):268:269 -> accept
com.android.tools.r8.BackportedMethodListCommand$Builder$3 -> com.android.tools.r8.c:
    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
    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>
    1:1:com.android.tools.r8.utils.AndroidApp getInputApp():65:65 -> a
    com.android.tools.r8.utils.InternalOptions getInternalOptions() -> b
    1:1:boolean isPrintHelp():56:56 -> isPrintHelp
    1:1:boolean isPrintVersion():60:60 -> isPrintVersion
com.android.tools.r8.BaseCommand$Builder -> com.android.tools.r8.BaseCommand$Builder:
    java.util.List programFiles -> e
    com.android.tools.r8.utils.AndroidApp$Builder app -> d
    com.android.tools.r8.utils.Reporter reporter -> a
    boolean printHelp -> b
    boolean printVersion -> c
    1:1:void <init>():117:117 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):121:121 -> <init>
    3:3:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):124:124 -> <init>
    4:20:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):110:126 -> <init>
    1:3:void lambda$build$0(com.android.tools.r8.utils.Box):143:145 -> a
    4:4:com.android.tools.r8.utils.AndroidApp$Builder getAppBuilder():155:155 -> a
    5:5:void lambda$addClasspathFiles$4(java.nio.file.Path[]):219:219 -> a
    6:6:void lambda$addClasspathFiles$5(java.util.Collection):225:225 -> a
    7:7:void addClasspathFile(java.nio.file.Path):230:230 -> a
    8:8:void lambda$addClasspathResourceProvider$7(com.android.tools.r8.ClassFileResourceProvider):235:235 -> a
    9:9:void lambda$addClassProgramData$8(byte[],com.android.tools.r8.origin.Origin):241:241 -> a
    10:10:void lambda$addMainDexClasses$12(java.lang.String[]):300:300 -> a
    11:11:void lambda$setIgnoreDexInArchive$14(boolean):355:355 -> a
    12:14:void guard(java.lang.Runnable):369:371 -> a
    1:2:com.android.tools.r8.BaseCommand$Builder addClassProgramData(byte[],com.android.tools.r8.origin.Origin):241:242 -> addClassProgramData
    1:2:com.android.tools.r8.BaseCommand$Builder addClasspathFiles(java.nio.file.Path[]):219:220 -> addClasspathFiles
    3:4:com.android.tools.r8.BaseCommand$Builder addClasspathFiles(java.util.Collection):225:226 -> addClasspathFiles
    1:2:com.android.tools.r8.BaseCommand$Builder addClasspathResourceProvider(com.android.tools.r8.ClassFileResourceProvider):235:236 -> addClasspathResourceProvider
    1:2:com.android.tools.r8.BaseCommand$Builder addDexProgramData(byte[],com.android.tools.r8.origin.Origin):247:248 -> addDexProgramData
    1:2:com.android.tools.r8.BaseCommand$Builder addLibraryFiles(java.nio.file.Path[]):198:199 -> addLibraryFiles
    3:13:com.android.tools.r8.BaseCommand$Builder addLibraryFiles(java.util.Collection):204:214 -> addLibraryFiles
    1:2:com.android.tools.r8.BaseCommand$Builder addLibraryResourceProvider(com.android.tools.r8.ClassFileResourceProvider):192:193 -> addLibraryResourceProvider
    1:2:com.android.tools.r8.BaseCommand$Builder addMainDexClasses(java.lang.String[]):300:301 -> addMainDexClasses
    3:4:com.android.tools.r8.BaseCommand$Builder addMainDexClasses(java.util.Collection):313:314 -> addMainDexClasses
    1:9:com.android.tools.r8.BaseCommand$Builder addMainDexListFiles(java.nio.file.Path[]):261:269 -> addMainDexListFiles
    10:20:com.android.tools.r8.BaseCommand$Builder addMainDexListFiles(java.util.Collection):278:288 -> addMainDexListFiles
    1:2:com.android.tools.r8.BaseCommand$Builder addProgramFiles(java.nio.file.Path[]):160:161 -> addProgramFiles
    3:14:com.android.tools.r8.BaseCommand$Builder addProgramFiles(java.util.Collection):170:181 -> addProgramFiles
    1:2:com.android.tools.r8.BaseCommand$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):186:187 -> addProgramResourceProvider
    1:1:com.android.tools.r8.utils.Reporter getReporter():165:165 -> b
    2:2:void lambda$addLibraryResourceProvider$2(com.android.tools.r8.ClassFileResourceProvider):192:192 -> b
    3:7:void lambda$addLibraryFiles$3(java.util.Collection):206:210 -> b
    8:8:void error(com.android.tools.r8.origin.Origin,java.lang.Throwable):363:363 -> b
    8:8:void lambda$addLibraryFiles$3(java.util.Collection):210 -> b
    9:9:void lambda$addClasspathFile$6(java.nio.file.Path):230:230 -> b
    10:10:void lambda$addDexProgramData$9(byte[],com.android.tools.r8.origin.Origin):247:247 -> b
    11:11:void lambda$addMainDexListFiles$10(java.nio.file.Path[]):263:263 -> b
    12:12:com.android.tools.r8.utils.AndroidApp$Builder com.android.tools.r8.utils.AndroidApp$Builder.addMainDexListFiles(java.nio.file.Path[]):1160:1160 -> b
    12:12:void lambda$addMainDexListFiles$10(java.nio.file.Path[]):263 -> b
    13:15:void lambda$addMainDexListFiles$10(java.nio.file.Path[]):265:265 -> b
    1:9:com.android.tools.r8.BaseCommand build():139:147 -> build
    com.android.tools.r8.BaseCommand makeCommand() -> c
    1:1:void lambda$addMainDexClasses$13(java.util.Collection):313:313 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:5:void lambda$addMainDexListFiles$11(java.util.Collection):281:285 -> d
    6:6:void lambda$addMainDexListFiles$11(java.util.Collection):283:283 -> d
    1:6:void lambda$addProgramFiles$1(java.util.Collection):172:177 -> e
    7:7:void error(com.android.tools.r8.origin.Origin,java.lang.Throwable):363:363 -> e
    7:7:void lambda$addProgramFiles$1(java.util.Collection):177 -> e
    8:8:void setIgnoreDexInArchive(boolean):355:355 -> e
    1:1:void error(com.android.tools.r8.Diagnostic):341:341 -> error
    void validate() -> f
    1:1:java.lang.RuntimeException fatalError(com.android.tools.r8.Diagnostic):350:350 -> fatalError
    1:1:boolean isPrintHelp():319:319 -> isPrintHelp
    1:1:boolean isPrintVersion():330:330 -> isPrintVersion
    1:2:com.android.tools.r8.BaseCommand$Builder setPrintHelp(boolean):324:325 -> setPrintHelp
    1:2:com.android.tools.r8.BaseCommand$Builder setPrintVersion(boolean):335:336 -> setPrintVersion
com.android.tools.r8.BaseCommand$InputFileOrigin -> com.android.tools.r8.d:
    java.lang.String inputType -> h
    1:2:void <init>(java.lang.String,java.nio.file.Path):75:76 -> <init>
    1:1:java.lang.String part():81:81 -> part
    2:2:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String part():81:81 -> part
    4:4:java.lang.String part():81:81 -> part
    5:5:java.lang.String part():81:81 -> part
com.android.tools.r8.BaseCommand$LibraryInputOrigin -> com.android.tools.r8.e:
    1:1:void <init>(java.nio.file.Path):95:95 -> <init>
com.android.tools.r8.BaseCommand$ProgramInputOrigin -> com.android.tools.r8.f:
    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
    com.android.tools.r8.MapIdProvider mapIdProvider -> r
    com.android.tools.r8.SourceFileProvider sourceFileProvider -> s
    boolean $assertionsDisabled -> t
    com.android.tools.r8.utils.Reporter reporter -> i
    com.android.tools.r8.utils.DumpInputFlags dumpInputFlags -> q
    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
    1:1:void <clinit>():38:38 -> <clinit>
    1:16:void <init>(boolean,boolean):58:73 -> <init>
    17:34: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,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.SourceFileProvider):93:110 -> <init>
    boolean lambda$new$0(java.lang.String,java.lang.Long) -> a
    1:1:com.android.tools.r8.utils.InternalOptions$DesugarState getDesugarState():157:157 -> c
    1:1:com.android.tools.r8.utils.DumpInputFlags getDumpInputFlags():200:200 -> d
    1:1:com.android.tools.r8.utils.Reporter getReporter():204:204 -> e
    1:1:java.util.List getAssertionsConfiguration():187:187 -> getAssertionsConfiguration
    1:1:java.util.function.BiPredicate getDexClassChecksumFilter():175:175 -> getDexClassChecksumFilter
    1:1:boolean getEnableDesugaring():153:153 -> getEnableDesugaring
    1:1:boolean getIncludeClassesChecksum():170:170 -> getIncludeClassesChecksum
    1:1:com.android.tools.r8.StringConsumer getMainDexListConsumer():148:148 -> getMainDexListConsumer
    1:1:com.android.tools.r8.MapIdProvider getMapIdProvider():161:161 -> getMapIdProvider
    1:1:int getMinApiLevel():123:123 -> getMinApiLevel
    1:1:com.android.tools.r8.CompilationMode getMode():118:118 -> getMode
    1:1:java.util.Collection getOutputInspections():191:191 -> getOutputInspections
    1:1:com.android.tools.r8.ProgramConsumer getProgramConsumer():141:141 -> getProgramConsumer
    1:1:com.android.tools.r8.SourceFileProvider getSourceFileProvider():165:165 -> getSourceFileProvider
    1:1:int getThreadCount():196:196 -> getThreadCount
    1:1:boolean isOptimizeMultidexForLinearAlloc():183:183 -> 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
    com.android.tools.r8.MapIdProvider mapIdProvider -> v
    java.nio.file.Path outputPath -> h
    int minApiLevel -> k
    java.util.List outputInspections -> s
    com.android.tools.r8.OutputMode outputMode -> i
    boolean $assertionsDisabled -> x
    com.android.tools.r8.StringConsumer proguardMapConsumer -> t
    com.android.tools.r8.SourceFileProvider sourceFileProvider -> w
    com.android.tools.r8.utils.DumpInputFlags dumpInputFlags -> u
    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 desugaredLibrarySpecificationResources -> n
    1:1:void <clinit>():214:214 -> <clinit>
    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler):247:247 -> <init>
    2:32:void <init>(com.android.tools.r8.DiagnosticsHandler):218:248 -> <init>
    33:33:void <init>(com.android.tools.r8.utils.AndroidApp):253:253 -> <init>
    34:70:void <init>(com.android.tools.r8.utils.AndroidApp):218:254 -> <init>
    71:71:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):259:259 -> <init>
    72:114:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):218:260 -> <init>
    boolean lambda$new$0(java.lang.String,java.lang.Long) -> a
    1:33:com.android.tools.r8.InternalProgramOutputPathConsumer createProgramOutputConsumer(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):453:485 -> a
    34:47:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):579:592 -> a
    48:48:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):587:587 -> a
    49:49:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):583:583 -> a
    50:50:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    50:50:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):583 -> a
    51:51:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    51:51:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    51:51:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):583 -> a
    52:52:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):583:583 -> a
    53:57:com.android.tools.r8.BaseCompilerCommand$Builder setThreadCount(int):608:612 -> a
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):632:633 -> addAssertionsConfiguration
    3:3:com.android.tools.r8.AssertionsConfiguration$Builder com.android.tools.r8.AssertionsConfiguration.builder(com.android.tools.r8.utils.Reporter):97:97 -> addAssertionsConfiguration
    3:3:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):633 -> addAssertionsConfiguration
    4:4:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):633:633 -> addAssertionsConfiguration
    5:7:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):632:634 -> addAssertionsConfiguration
    1:3:com.android.tools.r8.BaseCompilerCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):566:566 -> addDesugaredLibraryConfiguration
    5:5:com.android.tools.r8.BaseCompilerCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):568:568 -> addDesugaredLibraryConfiguration
    6:7:com.android.tools.r8.BaseCompilerCommand$Builder addDesugaredLibraryConfiguration(com.android.tools.r8.StringResource):573:574 -> addDesugaredLibraryConfiguration
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder addOutputInspection(java.util.function.Consumer):715:716 -> addOutputInspection
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder addSpecialLibraryConfiguration(java.lang.String):560:560 -> addSpecialLibraryConfiguration
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder dumpInputToDirectory(java.nio.file.Path):643:644 -> c
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder dumpInputToFile(java.nio.file.Path):638:639 -> d
    1:32:void validate():653:684 -> f
    33:33:void validate():0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":724,"2":725,"3":726}}
    724:724:void validate():685:685 -> f
    725:725:void validate():685:685 -> f
    726:726:void validate():685:685 -> f
    720:722:void validate():687:689 -> f
    723:723:void validate():685:685 -> f
    com.android.tools.r8.CompilationMode defaultCompilationMode() -> g
    1:1:java.util.function.BiPredicate getDexClassChecksumFilter():348:348 -> getDexClassChecksumFilter
    1:1:boolean getDisableDesugaring():531:531 -> getDisableDesugaring
    1:1:boolean getIncludeClassesChecksum():621:621 -> getIncludeClassesChecksum
    1:1:com.android.tools.r8.StringConsumer getMainDexListConsumer():341:341 -> getMainDexListConsumer
    1:1:com.android.tools.r8.MapIdProvider getMapIdProvider():545:545 -> getMapIdProvider
    1:1:int getMinApiLevel():490:490 -> getMinApiLevel
    1:1:com.android.tools.r8.CompilationMode getMode():267:267 -> getMode
    1:1:com.android.tools.r8.OutputMode getOutputMode():296:296 -> getOutputMode
    1:1:java.nio.file.Path getOutputPath():286:286 -> getOutputPath
    1:1:com.android.tools.r8.ProgramConsumer getProgramConsumer():307:307 -> getProgramConsumer
    1:1:com.android.tools.r8.SourceFileProvider getSourceFileProvider():555:555 -> getSourceFileProvider
    1:1:java.util.List getAssertionsConfiguration():625:625 -> h
    1:1:com.android.tools.r8.utils.DumpInputFlags getDumpInputFlags():648:648 -> i
    1:1:java.util.List getOutputInspections():720:720 -> j
    1:1:int getThreadCount():616:616 -> k
    1:1:boolean hasDesugaredLibraryConfiguration():596:596 -> l
    1:1:boolean isMinApiLevelSet():494:494 -> m
    1:1:boolean isOptimizeMultidexForLinearAlloc():366:366 -> n
    1:3:com.android.tools.r8.BaseCompilerCommand$Builder setDexClassChecksumFilter(java.util.function.BiPredicate):444:446 -> setDexClassChecksumFilter
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setDisableDesugaring(boolean):525:526 -> setDisableDesugaring
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setEnableDesugaring(boolean):509:510 -> setEnableDesugaring
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setIncludeClassesChecksum(boolean):601:602 -> setIncludeClassesChecksum
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setMainDexListConsumer(com.android.tools.r8.StringConsumer):409:410 -> setMainDexListConsumer
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setMainDexListOutputPath(java.nio.file.Path):396:397 -> setMainDexListOutputPath
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setMapIdProvider(com.android.tools.r8.MapIdProvider):540:541 -> setMapIdProvider
    1:5:com.android.tools.r8.BaseCompilerCommand$Builder setMinApiLevel(int):500:504 -> setMinApiLevel
    1:3:com.android.tools.r8.BaseCompilerCommand$Builder setMode(com.android.tools.r8.CompilationMode):274:276 -> setMode
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setOptimizeMultidexForLinearAlloc(boolean):357:358 -> setOptimizeMultidexForLinearAlloc
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode):424:424 -> setOutput
    2:7:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):429:434 -> setOutput
    1:4:com.android.tools.r8.BaseCompilerCommand$Builder setProgramConsumer(com.android.tools.r8.ProgramConsumer):380:383 -> setProgramConsumer
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):333:334 -> setProguardMapConsumer
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setSourceFileProvider(com.android.tools.r8.SourceFileProvider):550:551 -> setSourceFileProvider
com.android.tools.r8.BaseCompilerCommand$Builder$1 -> com.android.tools.r8.g:
    1:1:void <init>(com.android.tools.r8.BaseCompilerCommand$Builder,java.nio.file.Path,boolean):460:460 -> <init>
com.android.tools.r8.BaseCompilerCommand$Builder$2 -> com.android.tools.r8.h:
    1:1:void <init>(com.android.tools.r8.BaseCompilerCommand$Builder,java.nio.file.Path,boolean):467:467 -> <init>
com.android.tools.r8.BaseCompilerCommandParser -> com.android.tools.r8.j:
    boolean $assertionsDisabled -> e
    java.lang.Iterable MAP_DIAGNOSTICS_USAGE_MESSAGE -> c
    java.lang.Iterable THREAD_COUNT_USAGE_MESSAGE -> b
    java.lang.Iterable ASSERTIONS_USAGE_MESSAGE -> a
    java.lang.String PACKAGE_ASSERTION_POSTFIX -> d
    1:75:void <clinit>():21:95 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    1:12:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):81:92 -> a
    13:13:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    14:24:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):108:118 -> a
    14:24:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    25:25:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):116:116 -> a
    25:25:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    26:26:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):114:114 -> a
    26:26:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    27:27:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):112:112 -> a
    27:27:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    28:28:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):110:110 -> a
    28:28:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    29:29:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129:129 -> a
    30:40:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):108:118 -> a
    30:40:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    41:41:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):116:116 -> a
    41:41:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    42:42:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):114:114 -> a
    42:42:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    43:43:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):112:112 -> a
    43:43:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    44:44:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):110:110 -> a
    44:44:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    45:45:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):137:137 -> a
    46:48:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):136:138 -> a
    49:61:void addAssertionTransformation(com.android.tools.r8.BaseCompilerCommand$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String):128:140 -> a
    62:125:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):151:214 -> a
    126:128:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):213:215 -> a
    129:134:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):212:217 -> a
    135:135:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    136:136:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":631,"2":632,"3":633,"4":634,"5":635}}
    631:631:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    632:632:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    633:633:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    634:634:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    635:635:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    343:343:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    344:344:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):198:198 -> a
    345:390:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):189:234 -> a
    391:391:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":662,"2":663,"3":664,"4":665,"5":666}}
    662:662:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    663:663:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    664:664:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    665:665:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    666:666:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    625:629:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:238 -> a
    630:630:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):237:237 -> a
    667:671:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):279:283 -> a
    672:672:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1291,"2":1292,"3":1293,"4":1294,"5":1295,"6":1296}}
    1291:1291:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1292:1292:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1293:1293:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1294:1294:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1295:1295:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1296:1296:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    955:966:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:294 -> a
    967:967:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    968:968:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1303,"2":1304,"3":1305,"4":1306,"5":1307,"6":1308}}
    1303:1303:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1304:1304:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1305:1305:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1306:1306:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1307:1307:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1308:1308:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1258:1264:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:296 -> a
    1265:1274:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):253:262 -> a
    1265:1274:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1275:1275:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1309,"2":1310,"3":1311,"4":1312,"5":1313,"6":1314}}
    1309:1309:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1309:1309:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1310:1310:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1310:1310:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1311:1311:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1311:1311:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1312:1312:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1312:1312:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1313:1313:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1313:1313:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1314:1314:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1314:1314:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1276:1276:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1276:1276:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1277:1277:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297:297 -> a
    1278:1287:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):253:262 -> a
    1278:1287:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1288:1288:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1315,"2":1316,"3":1317,"4":1318,"5":1319,"6":1320}}
    1315:1315:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1315:1315:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1316:1316:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1316:1316:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1317:1317:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1317:1317:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1318:1318:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1318:1318:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1319:1319:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1319:1319:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1320:1320:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1320:1320:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1289:1289:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1289:1289:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1290:1290:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):299:299 -> a
    1321:1325:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):305:309 -> a
    1326:1326:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1643,"2":1644,"3":1645,"4":1646,"5":1647,"6":1648}}
    1643:1643:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1644:1644:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1645:1645:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1646:1646:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1647:1647:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1648:1648:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1635:1642:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:316 -> a
    1649:1649:void addLibraryArgument(com.android.tools.r8.BaseCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):344:344 -> a
    1650:1661:boolean isJdkHome(java.nio.file.Path):326:337 -> a
    1650:1661:void addLibraryArgument(com.android.tools.r8.BaseCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):345 -> a
    1662:1667:void addLibraryArgument(com.android.tools.r8.BaseCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):348:353 -> a
    1:11:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):108:118 -> b
    1:11:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    12:12:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):116:116 -> b
    12:12:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    13:13:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):114:114 -> b
    13:13:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    14:14:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):112:112 -> b
    14:14:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    15:15:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):110:110 -> b
    15:15:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    16:17:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):143:144 -> b
    18:20:int tryParseMapDiagnostics(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):247:247 -> b
com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType -> com.android.tools.r8.i:
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType ENABLE -> b
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType[] $VALUES -> f
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType HANDLER -> e
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType PASSTHROUGH -> d
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType DISABLE -> c
    1:4:void <clinit>():98:101 -> <clinit>
    5:5:void <clinit>():97:97 -> <clinit>
    1:1:void <init>(java.lang.String,int):97:97 -> <init>
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
    1:1:void <clinit>():9:9 -> <clinit>
    1:7:void <init>(byte[],int,int):25:31 -> <init>
    1:1:byte[] copyByteData():58:58 -> copyByteData
    1:2:byte[] getBuffer():36:37 -> getBuffer
    1:2:int getLength():52:53 -> getLength
    1:2:int getOffset():42:43 -> getOffset
    1:1:void invalidate():62:62 -> invalidate
    1:1:com.android.tools.r8.ByteDataView of(byte[]):17:17 -> of
com.android.tools.r8.ClassFileConsumer -> com.android.tools.r8.ClassFileConsumer:
    1:1:com.android.tools.r8.ClassFileConsumer emptyConsumer():50:50 -> emptyConsumer
com.android.tools.r8.ClassFileConsumer$ArchiveConsumer -> com.android.tools.r8.ClassFileConsumer$ArchiveConsumer:
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
    boolean consumeDataResources -> d
    1:1:void <init>(java.nio.file.Path):93:93 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):97:97 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.ClassFileConsumer):101:101 -> <init>
    4:9:void <init>(java.nio.file.Path,com.android.tools.r8.ClassFileConsumer,boolean):105:110 -> <init>
    1:2:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):121:122 -> accept
    3:3:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):127:127 -> accept
    4:4:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):132:132 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):137:138 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():116:116 -> getDataResourceConsumer
    1:1:java.nio.file.Path internalGetOutputPath():143:143 -> internalGetOutputPath
    1:7:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):149:155 -> writeResources
    8:8:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):157:157 -> writeResources
    8:8:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):156 -> writeResources
    9:9:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):157:157 -> writeResources
    9:9:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):157 -> writeResources
    10:10:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):152:152 -> writeResources
    11:11:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):157:157 -> writeResources
    11:11:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):156 -> writeResources
    12:12:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):156:156 -> writeResources
    13:13:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):151:151 -> writeResources
    14:14:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):157:157 -> writeResources
    14:14:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):157 -> writeResources
    15:15:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):157:157 -> writeResources
com.android.tools.r8.ClassFileConsumer$DirectoryConsumer -> com.android.tools.r8.ClassFileConsumer$DirectoryConsumer:
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
    boolean consumeDataResouces -> d
    1:1:void <init>(java.nio.file.Path):169:169 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):173:173 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.ClassFileConsumer):177:177 -> <init>
    4:6:void <init>(java.nio.file.Path,com.android.tools.r8.ClassFileConsumer,boolean):182:184 -> <init>
    1:2:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):194:195 -> accept
    3:3:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):200:200 -> accept
    4:4:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):205:205 -> accept
    1:1:void finished(com.android.tools.r8.DiagnosticsHandler):210:210 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():189:189 -> getDataResourceConsumer
    1:1:java.nio.file.Path internalGetOutputPath():215:215 -> 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
    1:1:void <clinit>():57:57 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ClassFileConsumer):61:62 -> <init>
    1:1:com.android.tools.r8.ClassFileConsumer access$000():55:55 -> a
    1:2:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):72:73 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):79:80 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():67:67 -> getDataResourceConsumer
com.android.tools.r8.CompatProguardCommandBuilder -> com.android.tools.r8.CompatProguardCommandBuilder:
    1:1:void <init>():11:11 -> <init>
    2:6:void <init>(boolean,com.android.tools.r8.DiagnosticsHandler):16:20 -> <init>
    7:7:void <init>(boolean):24:24 -> <init>
    8:13:void <init>(boolean,boolean):28:33 -> <init>
com.android.tools.r8.CompilationFailedException -> com.android.tools.r8.CompilationFailedException:
    1:1:void <init>():14:14 -> <init>
    2:2:void <init>(java.lang.Throwable):18:18 -> <init>
    3:3:void <init>(java.lang.String,java.lang.Throwable):22:22 -> <init>
    4:4:void <init>(java.lang.String):26:26 -> <init>
com.android.tools.r8.CompilationMode -> com.android.tools.r8.CompilationMode:
    com.android.tools.r8.CompilationMode[] $VALUES -> b
    1:3:void <clinit>():10:12 -> <clinit>
    4:4:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:com.android.tools.r8.CompilationMode valueOf(java.lang.String):7:7 -> valueOf
    1:1:com.android.tools.r8.CompilationMode[] values():7:7 -> values
com.android.tools.r8.D8 -> com.android.tools.r8.D8:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():86:86 -> <clinit>
    1:3:void lambda$run$0(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):104:106 -> a
    4:10:void run(java.lang.String[]):129:135 -> a
    4:10:void lambda$main$2(java.lang.String[]):152 -> a
    11:11:void lambda$main$2(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:void run(java.lang.String[]):135:135 -> a
    18:18:void lambda$main$2(java.lang.String[]):152 -> a
    19:19:void run(java.lang.String[]):135:135 -> a
    19:19:void lambda$main$2(java.lang.String[]):152 -> a
    20:20:void run(java.lang.String[]):135:135 -> a
    20:20:void lambda$main$2(java.lang.String[]):152 -> a
    12:17:void run(java.lang.String[]):135:140 -> a
    12:17:void lambda$main$2(java.lang.String[]):152 -> a
    21:22:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):157:158 -> a
    23:23:java.lang.Boolean lambda$run$4(com.android.tools.r8.utils.InternalOptions):196:196 -> a
    24:26:void lambda$run$5(com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis,com.android.tools.r8.graph.DexProgramClass):213:215 -> a
    27:27:void lambda$run$6(java.lang.String):245:245 -> a
    28:48: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,com.android.tools.r8.naming.NamingLens):355:375 -> a
    49:54: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,com.android.tools.r8.naming.NamingLens):372:377 -> a
    55:55:void com.android.tools.r8.naming.signature.GenericSignatureRewriter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):31:31 -> a
    55:55: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,com.android.tools.r8.naming.NamingLens):377 -> a
    56:75: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,com.android.tools.r8.naming.NamingLens):378:397 -> a
    76:76:com.android.tools.r8.graph.DexApplication com.android.tools.r8.graph.LazyLoadedDexApplication$Builder.build():259:259 -> a
    76:76: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,com.android.tools.r8.naming.NamingLens):397 -> a
    77:79:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):403:405 -> a
    1:1:void lambda$run$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):124:124 -> b
    1:3:void lambda$runForTesting$3(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):162:164 -> c
    1:6:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):181:186 -> d
    7:7:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":776,"2":777,"3":778}}
    776:776:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:186 -> d
    777:777:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:186 -> d
    778:778:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:186 -> d
    193:194:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:187 -> d
    195:195:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":776,"2":777,"3":778}}
    776:776:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
    777:777:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
    778:778:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
    382:383:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:188 -> d
    384:384:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":776,"2":777,"3":778}}
    776:776:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
    777:777:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
    778:778:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
    572:580:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:196 -> d
    581:581:boolean com.android.tools.r8.utils.AssertionUtils.forTesting(com.android.tools.r8.utils.InternalOptions,java.util.function.Supplier):17:17 -> d
    581:581:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):196 -> d
    582:582:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):196:196 -> d
    583:587:com.android.tools.r8.graph.AppView readApp(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):172:176 -> d
    583:587:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):198 -> d
    588:588:void com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender.run(com.android.tools.r8.graph.AppView):24:24 -> d
    588:588:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):199 -> d
    589:600:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):200:211 -> d
    601:657:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):210:266 -> d
    658:661:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.PrefixRewritingNamingLens.createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):29:32 -> d
    658:661:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):266 -> d
    662:662:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):267:267 -> d
    663:668:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.RecordRewritingNamingLens.createRecordRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):25:30 -> d
    663:668:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):267 -> d
    669:669:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> d
    669:669:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):269 -> d
    670:670:void finalizeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.naming.NamingLens):341:341 -> d
    670:670:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):270 -> d
    671:671:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):271:271 -> d
    672:672:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():496:496 -> d
    672:672:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):272 -> d
    673:694:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):272:293 -> d
    695:707:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):287:299 -> d
    708:712:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):296:300 -> d
    713:714:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):276:277 -> d
    715:715:void com.android.tools.r8.naming.signature.GenericSignatureRewriter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):31:31 -> d
    715:715:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):277 -> d
    716:748:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):278:310 -> d
    749:751:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):309:311 -> d
    752:752:void finalizeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.naming.NamingLens):341:341 -> d
    752:752:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):313 -> d
    753:768:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):315:330 -> d
    769:769:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> d
    769:769:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):325 -> d
    770:775:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):325:330 -> d
    1:4:void main(java.lang.String[]):149:152 -> main
    5:5:void main(java.lang.String[]):150:150 -> main
    1:5:void run(com.android.tools.r8.D8Command):97:101 -> run
    6:6:void run(com.android.tools.r8.D8Command):100:100 -> run
    7:10:void run(com.android.tools.r8.D8Command,java.util.concurrent.ExecutorService):119:122 -> run
    11:11:void run(com.android.tools.r8.D8Command,java.util.concurrent.ExecutorService):121:121 -> run
com.android.tools.r8.D8$ConvertedCfFiles -> com.android.tools.r8.k:
    java.util.List resources -> a
    1:3:void <init>():420:422 -> <init>
    1:3:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):428:430 -> accept
    4:4:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):429:429 -> accept
    5:5:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):428:428 -> accept
    1:1:java.util.Collection getProgramResources():435:435 -> getProgramResources
com.android.tools.r8.D8Command -> com.android.tools.r8.D8Command:
    com.android.tools.r8.graph.DexItemFactory factory -> C
    boolean skipDump -> y
    boolean enableMainDexListCheck -> z
    com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> v
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> x
    boolean intermediate -> u
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> w
    boolean $assertionsDisabled -> E
    boolean minimalMainDex -> A
    com.android.tools.r8.com.google.common.collect.ImmutableList mainDexKeepRules -> B
    java.lang.String USAGE_MESSAGE -> D
    1:271:void <clinit>():56:326 -> <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.desugaredlibrary.DesugaredLibrarySpecification,java.util.List,java.util.List,java.lang.String,boolean,boolean,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.D8Command$1):57:57 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.D8Command$1):57:57 -> <init>
    3:29: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.desugaredlibrary.DesugaredLibrarySpecification,java.util.List,java.util.List,java.lang.String,boolean,boolean,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.graph.DexItemFactory):405:431 -> <init>
    30:40:void <init>(boolean,boolean):435:445 -> <init>
    1:1:com.android.tools.r8.D8Command$Builder builder(com.android.tools.r8.utils.AndroidApp):349:349 -> a
    1:4:com.android.tools.r8.utils.InternalOptions getInternalOptions():450:453 -> b
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    5:5:com.android.tools.r8.utils.InternalOptions getInternalOptions():454 -> b
    6:14:com.android.tools.r8.utils.InternalOptions getInternalOptions():455:463 -> b
    15:54:com.android.tools.r8.utils.InternalOptions getInternalOptions():462:501 -> b
    55:61:void com.android.tools.r8.utils.InternalOptions.setDesugaredLibrarySpecification(com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp):894:900 -> b
    55:61:com.android.tools.r8.utils.InternalOptions getInternalOptions():501 -> b
    62:68:com.android.tools.r8.utils.InternalOptions getInternalOptions():503:509 -> b
    69:69:com.android.tools.r8.AssertionsConfiguration$Builder com.android.tools.r8.AssertionsConfiguration.builder(com.android.tools.r8.utils.Reporter):97:97 -> b
    69:69:com.android.tools.r8.utils.InternalOptions getInternalOptions():509 -> b
    70:83:com.android.tools.r8.utils.InternalOptions getInternalOptions():509:522 -> b
    84:84:com.android.tools.r8.DumpOptions dumpOptions():529:529 -> b
    84:84:com.android.tools.r8.utils.InternalOptions getInternalOptions():523 -> b
    85:89:void com.android.tools.r8.BaseCompilerCommand.dumpBaseCommandOptions(com.android.tools.r8.DumpOptions$Builder):128:132 -> b
    85:89:com.android.tools.r8.DumpOptions dumpOptions():530 -> b
    85:89:com.android.tools.r8.utils.InternalOptions getInternalOptions():523 -> b
    90:94:com.android.tools.r8.DumpOptions dumpOptions():531:535 -> b
    90:94:com.android.tools.r8.utils.InternalOptions getInternalOptions():523 -> b
    95:95:com.android.tools.r8.utils.InternalOptions getInternalOptions():523:523 -> b
    1:1:com.android.tools.r8.D8Command$Builder builder():340:340 -> builder
    2:2:com.android.tools.r8.D8Command$Builder builder(com.android.tools.r8.DiagnosticsHandler):344:344 -> builder
    1:1:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):362:362 -> parse
    2:2:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):376:376 -> parse
com.android.tools.r8.D8Command$Builder -> com.android.tools.r8.D8Command$Builder:
    boolean intermediate -> y
    java.util.List mainDexRules -> E
    com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> z
    java.lang.String synthesizedClassPrefix -> B
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> A
    boolean enableMainDexListCheck -> C
    boolean skipDump -> D
    1:1:void <init>(com.android.tools.r8.D8Command$1):82:82 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.D8Command$1):82:82 -> <init>
    3:3:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.D8Command$1):82:82 -> <init>
    4:4:void <init>():94:94 -> <init>
    5:5:void <init>(com.android.tools.r8.DiagnosticsHandler):98:98 -> <init>
    6:13:void <init>(com.android.tools.r8.DiagnosticsHandler):84:91 -> <init>
    14:14:void <init>(com.android.tools.r8.utils.AndroidApp):102:102 -> <init>
    15:22:void <init>(com.android.tools.r8.utils.AndroidApp):84:91 -> <init>
    1:1:com.android.tools.r8.D8Command$Builder setSynthesizedClassesPrefix(java.lang.String):202:202 -> a
    2:4:void lambda$addMainDexRules$3(java.util.List,com.android.tools.r8.origin.Origin):235:235 -> a
    1:1:com.android.tools.r8.BaseCommand$Builder addClasspathFiles(java.util.Collection):81:81 -> addClasspathFiles
    2:2:com.android.tools.r8.BaseCommand$Builder addClasspathFiles(java.nio.file.Path[]):81:81 -> addClasspathFiles
    3:3:com.android.tools.r8.D8Command$Builder addClasspathFiles(java.nio.file.Path[]):119:119 -> addClasspathFiles
    4:4:com.android.tools.r8.D8Command$Builder addClasspathFiles(java.util.Collection):127:127 -> addClasspathFiles
    1:1:com.android.tools.r8.BaseCommand$Builder addClasspathResourceProvider(com.android.tools.r8.ClassFileResourceProvider):81:81 -> addClasspathResourceProvider
    2:2:com.android.tools.r8.D8Command$Builder addClasspathResourceProvider(com.android.tools.r8.ClassFileResourceProvider):135:135 -> addClasspathResourceProvider
    1:1:com.android.tools.r8.BaseCommand$Builder addDexProgramData(byte[],com.android.tools.r8.origin.Origin):81:81 -> addDexProgramData
    2:2:com.android.tools.r8.D8Command$Builder addDexProgramData(byte[],com.android.tools.r8.origin.Origin):110:110 -> addDexProgramData
    1:1:com.android.tools.r8.D8Command$Builder addMainDexRules(java.util.List,com.android.tools.r8.origin.Origin):233:233 -> addMainDexRules
    1:1:com.android.tools.r8.D8Command$Builder addMainDexRulesFiles(java.nio.file.Path[]):222:222 -> addMainDexRulesFiles
    2:2:com.android.tools.r8.D8Command$Builder addMainDexRulesFiles(java.util.Collection):227:227 -> addMainDexRulesFiles
    1:1:com.android.tools.r8.BaseCommand makeCommand():81:81 -> c
    2:2:void lambda$addDexProgramData$0(byte[],com.android.tools.r8.origin.Origin):110:110 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:1:void lambda$addMainDexRulesFiles$1(java.nio.file.Path):227:227 -> e
    1:1:void lambda$addMainDexRulesFiles$2(java.util.Collection):227:227 -> f
    2:29:void validate():242:269 -> f
    30:30:void validate():0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":313,"2":314,"3":315}}
    313:313:void validate():270:270 -> f
    314:314:void validate():270:270 -> f
    315:315:void validate():270:270 -> f
    302:302:void validate():272:272 -> f
    303:312:void validate():270:279 -> f
    1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():198:198 -> g
    1:1:com.android.tools.r8.DesugarGraphConsumer getDesugarGraphConsumer():169:169 -> getDesugarGraphConsumer
    1:12:com.android.tools.r8.D8Command makeCommand():284:295 -> o
    13:18:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.shaking.ProguardConfigurationParser.parse(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):113:118 -> o
    13:18:com.android.tools.r8.D8Command makeCommand():295 -> o
    19:25:com.android.tools.r8.D8Command makeCommand():297:303 -> o
    26:26:com.android.tools.r8.utils.InternalOptions$DesugarState com.android.tools.r8.BaseCompilerCommand$Builder.getDesugaringState():535:535 -> o
    26:26:com.android.tools.r8.D8Command makeCommand():304 -> o
    27:44:com.android.tools.r8.D8Command makeCommand():304:321 -> o
    45:45:com.android.tools.r8.D8Command makeCommand():285:285 -> o
    1:1:com.android.tools.r8.D8Command$Builder skipDump():187:187 -> p
    1:1:com.android.tools.r8.D8Command$Builder setDesugarGraphConsumer(com.android.tools.r8.DesugarGraphConsumer):178:178 -> setDesugarGraphConsumer
    1:1:com.android.tools.r8.D8Command$Builder setDesugaredLibraryKeepRuleConsumer(com.android.tools.r8.StringConsumer):161:161 -> setDesugaredLibraryKeepRuleConsumer
    1:1:com.android.tools.r8.D8Command$Builder setIntermediate(boolean):150:150 -> setIntermediate
    1:1:com.android.tools.r8.D8Command$Builder setProguardInputMapFile(java.nio.file.Path):140:140 -> setProguardInputMapFile
com.android.tools.r8.D8Command$DefaultD8DiagnosticsHandler -> com.android.tools.r8.l:
    1:1:void <init>():59:59 -> <init>
    2:2:void <init>(com.android.tools.r8.D8Command$1):59:59 -> <init>
    1:6:void error(com.android.tools.r8.Diagnostic):63:68 -> error
    7:13:void error(com.android.tools.r8.Diagnostic):66:72 -> error
com.android.tools.r8.D8CommandParser -> com.android.tools.r8.n:
    java.lang.String USAGE_MESSAGE -> g
    java.util.Set OPTIONS_WITH_PARAMETER -> f
    1:86:void <clinit>():27:112 -> <clinit>
    87:87:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":257,"2":258,"3":259}}
    257:257:void <clinit>():112:112 -> <clinit>
    258:258:void <clinit>():112:112 -> <clinit>
    259:259:void <clinit>():112:112 -> <clinit>
    218:218:void <clinit>():131:131 -> <clinit>
    219:254:void <clinit>():116:151 -> <clinit>
    255:255:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> <clinit>
    255:255:void <clinit>():115 -> <clinit>
    256:256:void <clinit>():113:113 -> <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):164:164 -> a
    2:2:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):178:178 -> a
    3:12:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):187:196 -> a
    13:13:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1072,"2":1073,"3":1074}}
    1072:1072:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    1073:1073:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    1074:1074:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    209:209:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    210:210:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1075,"2":1076,"3":1077}}
    1075:1075:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    1076:1076:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    1077:1077:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    406:441:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:231 -> a
    442:442:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1112,"2":1113,"3":1114}}
    1112:1112:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):231:231 -> a
    1113:1113:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):231:231 -> a
    1114:1114:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):231:231 -> a
    675:675:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):233:233 -> a
    676:688:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):231:243 -> a
    689:692:boolean isArchive(java.nio.file.Path):45:48 -> a
    689:692:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):246 -> a
    693:696:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):247:250 -> a
    697:700:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):249:252 -> a
    701:755:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):244:298 -> a
    756:756:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1181,"2":1182,"3":1183,"4":1184,"5":1185}}
    1181:1181:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1182:1182:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1183:1183:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1184:1184:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1185:1185:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1054:1058:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:302 -> a
    1059:1059:boolean com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder.isEmpty():68:68 -> a
    1059:1059:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):305 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1060:1071:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):306:317 -> a
com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider -> com.android.tools.r8.m:
    java.util.List providers -> b
    java.util.Set descriptors -> c
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.D8CommandParser$1):51:51 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):75:75 -> <init>
    3:8:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):73:78 -> <init>
    1:1:void lambda$new$0(com.android.tools.r8.ClassFileResourceProvider):78:78 -> a
    2:2:com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder builder():82:82 -> a
    1:1:java.util.Set getClassDescriptors():87:87 -> getClassDescriptors
    1:3:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):94:96 -> getProgramResource
com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder -> com.android.tools.r8.m$a:
    boolean empty -> b
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder builder -> a
    1:4:void <init>():52:55 -> <init>
    1:1:com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider build():58:58 -> a
    2:3:com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder addClassFileResourceProvider(com.android.tools.r8.ClassFileResourceProvider):62:63 -> a
com.android.tools.r8.DataDirectoryResource -> com.android.tools.r8.DataDirectoryResource:
    1:2:com.android.tools.r8.DataDirectoryResource fromFile(java.nio.file.Path,java.nio.file.Path):23:24 -> fromFile
    1:1:com.android.tools.r8.DataDirectoryResource fromName(java.lang.String,com.android.tools.r8.origin.Origin):19:19 -> fromName
    1:1:com.android.tools.r8.DataDirectoryResource fromZip(java.util.zip.ZipFile,java.util.zip.ZipEntry):28:28 -> fromZip
com.android.tools.r8.DataDirectoryResource$LocalDataDirectoryResource -> com.android.tools.r8.o:
    java.io.File file -> a
    java.lang.String relativePath -> b
    boolean $assertionsDisabled -> 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.p:
    com.android.tools.r8.origin.Origin origin -> b
    java.lang.String name -> a
    boolean $assertionsDisabled -> c
    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.q:
    java.util.zip.ZipFile zip -> a
    boolean $assertionsDisabled -> c
    java.util.zip.ZipEntry entry -> b
    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>
    1:1:java.lang.String getName():71:71 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():66:66 -> getOrigin
com.android.tools.r8.DataEntryResource -> com.android.tools.r8.DataEntryResource:
    1:1:com.android.tools.r8.DataEntryResource fromBytes(byte[],java.lang.String,com.android.tools.r8.origin.Origin):26:26 -> fromBytes
    1:2:com.android.tools.r8.DataEntryResource fromFile(java.nio.file.Path,java.nio.file.Path):39:40 -> fromFile
    1:6:com.android.tools.r8.DataEntryResource fromString(java.lang.String,com.android.tools.r8.origin.Origin,java.lang.String[]):30:35 -> fromString
    1:1:com.android.tools.r8.DataEntryResource fromZip(java.util.zip.ZipFile,java.util.zip.ZipEntry):44:44 -> fromZip
    1:1:com.android.tools.r8.DataEntryResource withName(java.lang.String):48:48 -> withName
com.android.tools.r8.DataEntryResource$ByteDataEntryResource -> com.android.tools.r8.internal.le:
    byte[] bytes -> a
    com.android.tools.r8.origin.Origin origin -> c
    java.lang.String name -> b
    1:4:void <init>(byte[],java.lang.String,com.android.tools.r8.origin.Origin):57:60 -> <init>
    1:1:java.io.InputStream getByteStream():65:65 -> getByteStream
    1:1:java.lang.String getName():70:70 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():75:75 -> getOrigin
com.android.tools.r8.DataEntryResource$LocalDataEntryResource -> com.android.tools.r8.r:
    java.io.File file -> a
    java.lang.String relativePath -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():110:110 -> <clinit>
    1:1:void <init>(java.io.File,java.lang.String,com.android.tools.r8.DataEntryResource$1):110:110 -> <init>
    2:6:void <init>(java.io.File,java.lang.String):114:118 -> <init>
    1:3:java.io.InputStream getByteStream():134:136 -> getByteStream
    1:1:java.lang.String getName():128:128 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():123:123 -> getOrigin
com.android.tools.r8.DataEntryResource$NestedDataEntryResource -> com.android.tools.r8.internal.me:
    com.android.tools.r8.DataEntryResource resource -> b
    java.lang.String name -> a
    1:4:void <init>(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.DataEntryResource):150:153 -> <init>
    1:1:java.io.InputStream getByteStream():158:158 -> getByteStream
    1:1:java.lang.String getName():163:163 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():168:168 -> getOrigin
com.android.tools.r8.DataEntryResource$ZipDataEntryResource -> com.android.tools.r8.s:
    java.util.zip.ZipFile zip -> a
    boolean $assertionsDisabled -> c
    java.util.zip.ZipEntry entry -> b
    1:1:void <clinit>():79:79 -> <clinit>
    1:1:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry,com.android.tools.r8.DataEntryResource$1):79:79 -> <init>
    2:6:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry):83:87 -> <init>
    1:3:java.io.InputStream getByteStream():103:105 -> getByteStream
    1:1:java.lang.String getName():97:97 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():92:92 -> getOrigin
com.android.tools.r8.DexFileMergerHelper -> com.android.tools.r8.t:
    java.util.Map inputOrdering -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():31:31 -> <clinit>
    1:2:void <init>(java.util.Map):35:36 -> <init>
    1:2:void run(com.android.tools.r8.D8Command,java.lang.Boolean,java.util.Map):65:66 -> a
    3:3:void lambda$run$0(com.android.tools.r8.D8Command,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):68:68 -> a
    4:16:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):77:89 -> a
    17:17:com.android.tools.r8.graph.LazyLoadedDexApplication com.android.tools.r8.dex.ApplicationReader.read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):134:134 -> a
    17:17:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):90 -> a
    18:18:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):97:97 -> a
    19:42:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):96:119 -> a
    43:43:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    43:43:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):114 -> a
    44:49:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):114:119 -> a
    50:50:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    50:50:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):41:41 -> a
    52:52:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    52:52:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):42 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:70:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):42:59 -> a
    71:71:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131}}
    129:129:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    130:130:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    131:131:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):47:47 -> a
    120:128:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):49:57 -> a
com.android.tools.r8.DexFilePerClassFileConsumer -> com.android.tools.r8.DexFilePerClassFileConsumer:
    1:1:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):63:63 -> accept
    2:2:void accept(java.lang.String,byte[],java.util.Set,com.android.tools.r8.DiagnosticsHandler):73:73 -> accept
    1:1:com.android.tools.r8.DexFilePerClassFileConsumer emptyConsumer():92:92 -> 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
    1:1:void <clinit>():141:141 -> <clinit>
    1:1:void <init>(java.nio.file.Path):153:153 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):157:157 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.DexFilePerClassFileConsumer):161:161 -> <init>
    4:9:void <init>(java.nio.file.Path,com.android.tools.r8.DexFilePerClassFileConsumer,boolean):166:171 -> <init>
    1:1:java.lang.String access$100(java.lang.String):142:142 -> a
    1:2:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):186:187 -> accept
    3:3:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):192:192 -> accept
    4:4:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):197:197 -> accept
    1:2:java.lang.String getDexFileName(java.lang.String):148:149 -> b
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):202:203 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():177:177 -> getDataResourceConsumer
    1:1:java.nio.file.Path internalGetOutputPath():208:208 -> internalGetOutputPath
    1:11:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):216:226 -> writeResources
    12:12:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):229:229 -> writeResources
    12:12:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):228 -> writeResources
    13:13:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):229:229 -> writeResources
    13:13:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):229 -> writeResources
    14:14:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):219:219 -> writeResources
    15:15:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):229:229 -> writeResources
    15:15:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):228 -> writeResources
    16:16:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):228:228 -> writeResources
    17:17:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):218:218 -> writeResources
    18:18:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):229:229 -> writeResources
    18:18:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):229 -> writeResources
    19:19:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):229:229 -> writeResources
com.android.tools.r8.DexFilePerClassFileConsumer$DirectoryConsumer -> com.android.tools.r8.DexFilePerClassFileConsumer$DirectoryConsumer:
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():234:234 -> <clinit>
    1:1:void <init>(java.nio.file.Path):246:246 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):250:250 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.DexFilePerClassFileConsumer):254:254 -> <init>
    4:5:void <init>(java.nio.file.Path,com.android.tools.r8.DexFilePerClassFileConsumer,boolean):259:260 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):270:271 -> accept
    3:4:java.lang.String getDexFileName(java.lang.String):241:242 -> accept
    3:4:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):271 -> accept
    5:5:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):271:271 -> accept
    6:6:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):276:276 -> accept
    7:7:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):281:281 -> accept
    1:1:void finished(com.android.tools.r8.DiagnosticsHandler):285:285 -> finished
    1:1:java.nio.file.Path internalGetOutputPath():290:290 -> internalGetOutputPath
    1:3:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):298:300 -> writeResources
    4:4:java.nio.file.Path getTargetDexFile(java.nio.file.Path,java.lang.String):308:308 -> writeResources
    4:4:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):301 -> writeResources
    5:5:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):302:302 -> writeResources
    6:7:void writeFile(byte[],java.nio.file.Path):312:313 -> writeResources
    6:7:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):302 -> writeResources
    8:8:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):304:304 -> writeResources
    9:15:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):298:304 -> 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
    1:1:void <clinit>():99:99 -> <clinit>
    1:2:void <init>(com.android.tools.r8.DexFilePerClassFileConsumer):103:104 -> <init>
    1:1:com.android.tools.r8.DexFilePerClassFileConsumer access$000():97:97 -> a
    1:2:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):118:119 -> accept
    1:4:boolean combineSyntheticClassesWithPrimaryClass():125:128 -> combineSyntheticClassesWithPrimaryClass
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):134:135 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():109:109 -> getDataResourceConsumer
com.android.tools.r8.DexIndexedConsumer -> com.android.tools.r8.DexIndexedConsumer:
    1:1:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):64:64 -> accept
    2:2:void accept(int,byte[],java.util.Set,com.android.tools.r8.DiagnosticsHandler):71:71 -> accept
    1:1:com.android.tools.r8.DexIndexedConsumer emptyConsumer():77:77 -> emptyConsumer
com.android.tools.r8.DexIndexedConsumer$ArchiveConsumer -> com.android.tools.r8.DexIndexedConsumer$ArchiveConsumer:
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
    boolean consumeDataResources -> d
    1:1:void <init>(java.nio.file.Path):121:121 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):125:125 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer):129:129 -> <init>
    4:9:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer,boolean):134:139 -> <init>
    1:3:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):155:157 -> accept
    4:4:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):156:156 -> accept
    5:5:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):162:162 -> accept
    6:6:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):167:167 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):172:173 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():149:149 -> getDataResourceConsumer
    1:1:com.android.tools.r8.origin.Origin getOrigin():144:144 -> getOrigin
    1:1:java.nio.file.Path internalGetOutputPath():202:202 -> internalGetOutputPath
    1:16:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):179:194 -> writeResources
    17:17:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):197:197 -> writeResources
    17:17:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):196 -> writeResources
    18:18:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):197:197 -> writeResources
    18:18:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):197 -> writeResources
    19:19:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):182:182 -> writeResources
    20:20:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):197:197 -> writeResources
    20:20:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):196 -> writeResources
    21:21:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):196:196 -> writeResources
    22:22:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):181:181 -> writeResources
    23:23:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):197:197 -> writeResources
    23:23:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):197 -> writeResources
    24:24:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):197:197 -> writeResources
com.android.tools.r8.DexIndexedConsumer$DirectoryConsumer -> com.android.tools.r8.DexIndexedConsumer$DirectoryConsumer:
    java.nio.file.Path directory -> c
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> e
    boolean consumeDataResouces -> f
    boolean preparedDirectory -> d
    1:1:void <init>(java.nio.file.Path):215:215 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):219:219 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer):223:223 -> <init>
    4:4:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer,boolean):228:228 -> <init>
    5:26:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer,boolean):210:231 -> <init>
    1:3:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):242:244 -> accept
    4:8:void prepareDirectory():268:272 -> accept
    4:8:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    9:12:void deleteClassesDexFiles(java.nio.file.Path):276:279 -> accept
    9:12:void prepareDirectory():272 -> accept
    9:12:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    13:13:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> accept
    13:13:void deleteClassesDexFiles(java.nio.file.Path):282 -> accept
    13:13:void prepareDirectory():272 -> accept
    13:13:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    14:14:void prepareDirectory():272:272 -> accept
    14:14:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    15:15:void deleteClassesDexFiles(java.nio.file.Path):276:276 -> accept
    15:15:void prepareDirectory():272 -> accept
    15:15:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    16:16:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> accept
    16:16:void deleteClassesDexFiles(java.nio.file.Path):282 -> accept
    16:16:void prepareDirectory():272 -> accept
    16:16:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    17:17:void deleteClassesDexFiles(java.nio.file.Path):282:282 -> accept
    17:17:void prepareDirectory():272 -> accept
    17:17:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    18:18:void prepareDirectory():272:272 -> accept
    18:18:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    19:21:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):246:248 -> accept
    22:22:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):253:253 -> accept
    23:23:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):258:258 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):263:264 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():236:236 -> getDataResourceConsumer
    1:1:java.nio.file.Path internalGetOutputPath():308:308 -> internalGetOutputPath
    1:4:void deleteClassesDexFiles(java.nio.file.Path):276:279 -> writeResources
    1:4:void writeResources(java.nio.file.Path,java.util.List):287 -> writeResources
    5:5:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> writeResources
    5:5:void deleteClassesDexFiles(java.nio.file.Path):282 -> writeResources
    5:5:void writeResources(java.nio.file.Path,java.util.List):287 -> writeResources
    6:8:void writeResources(java.nio.file.Path,java.util.List):288:290 -> writeResources
    9:9:java.nio.file.Path getTargetDexFile(java.nio.file.Path,int):298:298 -> writeResources
    9:9:void writeResources(java.nio.file.Path,java.util.List):291 -> writeResources
    10:10:void writeResources(java.nio.file.Path,java.util.List):292:292 -> writeResources
    11:12:void writeFile(byte[],java.nio.file.Path):302:303 -> writeResources
    11:12:void writeResources(java.nio.file.Path,java.util.List):292 -> writeResources
    13:13:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> writeResources
    13:13:void writeResources(java.nio.file.Path,java.util.List):294 -> writeResources
    14:14:void writeResources(java.nio.file.Path,java.util.List):288:288 -> writeResources
    15:15:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> writeResources
    15:15:void writeResources(java.nio.file.Path,java.util.List):294 -> writeResources
    16:16:void writeResources(java.nio.file.Path,java.util.List):294:294 -> writeResources
    17:17:void deleteClassesDexFiles(java.nio.file.Path):276:276 -> writeResources
    17:17:void writeResources(java.nio.file.Path,java.util.List):287 -> writeResources
    18:18:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> writeResources
    18:18:void deleteClassesDexFiles(java.nio.file.Path):282 -> writeResources
    18:18:void writeResources(java.nio.file.Path,java.util.List):287 -> writeResources
    19:19:void deleteClassesDexFiles(java.nio.file.Path):282:282 -> writeResources
    19:19:void writeResources(java.nio.file.Path,java.util.List):287 -> 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
    1:1:void <clinit>():84:84 -> <clinit>
    1:2:void <init>(com.android.tools.r8.DexIndexedConsumer):88:89 -> <init>
    1:1:com.android.tools.r8.DexIndexedConsumer access$000():82:82 -> a
    1:2:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):100:101 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):107:108 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():94:94 -> getDataResourceConsumer
com.android.tools.r8.DexSegments -> com.android.tools.r8.u:
    1:7:java.util.Map run(com.android.tools.r8.DexSegments$Command):107:113 -> a
    8:8:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.<init>():175:175 -> a
    8:8:java.util.Map run(com.android.tools.r8.DexSegments$Command):113 -> a
    9:37:java.util.Map run(com.android.tools.r8.DexSegments$Command):115:143 -> a
    38:45:java.util.Map run(com.android.tools.r8.DexSegments$Command):142:149 -> a
    46:57:java.util.Map run(com.android.tools.r8.DexSegments$Command):138:149 -> a
    58:58:com.android.tools.r8.DexSegments$SegmentInfo lambda$run$1(java.lang.Integer):136:136 -> a
    1:1:com.android.tools.r8.DexSegments$SegmentInfo lambda$run$2(java.lang.Integer):144:144 -> b
com.android.tools.r8.DexSegments$Command -> com.android.tools.r8.u$a:
    java.lang.String USAGE_MESSAGE -> e
    1:1:void <clinit>():43:43 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DexSegments$1):23:23 -> <init>
    2:2:void <init>(boolean,com.android.tools.r8.DexSegments$1):23:23 -> <init>
    3:3:void <init>(com.android.tools.r8.utils.AndroidApp):77:77 -> <init>
    4:4:void <init>(boolean):81:81 -> <init>
    1:1:com.android.tools.r8.utils.InternalOptions getInternalOptions():86:86 -> b
    1:1:com.android.tools.r8.DexSegments$Command$Builder builder():50:50 -> c
com.android.tools.r8.DexSegments$Command$Builder -> com.android.tools.r8.u$a$a:
    1:1:void <init>():25:25 -> <init>
    1:4:com.android.tools.r8.DexSegments$Command makeCommand():36:39 -> c
    1:4:com.android.tools.r8.BaseCommand makeCommand():25 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
com.android.tools.r8.DexSegments$SegmentInfo -> com.android.tools.r8.u$b:
    int items -> a
    1:2:void <init>():157:158 -> <init>
    1:1:void increment(int,int):163:163 -> a
    2:2:int getItemCount():168:168 -> a
com.android.tools.r8.DexSplitterHelper -> com.android.tools.r8.DexSplitterHelper:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():41:41 -> <clinit>
    1:1:void <init>():42:42 -> <init>
    1:1:void lambda$run$0(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):51:51 -> a
    2:12:java.util.Map getDistribution(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.FeatureClassMapping,com.android.tools.r8.naming.ClassNameMapper):138:148 -> a
    1:4:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String):47:50 -> run
    5:9:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String):49:53 -> run
    10:70:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):64:124 -> run
    71:80:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):122:131 -> run
    81:83:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):129:131 -> run
    84:84:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> run
    84:84:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):127 -> run
    85:89:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):127:131 -> run
    1:3:void runD8ForTesting(com.android.tools.r8.D8Command,boolean):155:157 -> runD8ForTesting
com.android.tools.r8.DiagnosticsHandler -> com.android.tools.r8.DiagnosticsHandler:
    1:1:void error(com.android.tools.r8.Diagnostic):38:38 -> error
    1:1:void info(com.android.tools.r8.Diagnostic):56:56 -> info
    1:3:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):20:22 -> printDiagnosticToStream
    4:4:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):0:0 -> printDiagnosticToStream
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":34,"2":35,"3":36}}
    34:34:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):23:23 -> printDiagnosticToStream
    35:35:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):23:23 -> printDiagnosticToStream
    36:36:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):23:23 -> printDiagnosticToStream
    27:33:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):23:29 -> printDiagnosticToStream
    1:1:void warning(com.android.tools.r8.Diagnostic):47:47 -> warning
com.android.tools.r8.DiagnosticsLevel -> com.android.tools.r8.DiagnosticsLevel:
    com.android.tools.r8.DiagnosticsLevel[] $VALUES -> b
    1:3:void <clinit>():9:11 -> <clinit>
    4:4:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:com.android.tools.r8.DiagnosticsLevel valueOf(java.lang.String):7:7 -> valueOf
    1:1:com.android.tools.r8.DiagnosticsLevel[] values():7:7 -> values
com.android.tools.r8.DirectoryClassFileProvider -> com.android.tools.r8.DirectoryClassFileProvider:
    java.nio.file.Path root -> b
    boolean $assertionsDisabled -> c
    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
    1:1:com.android.tools.r8.ClassFileResourceProvider fromDirectory(java.nio.file.Path):28:28 -> fromDirectory
    1:1:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> getClassDescriptors
    1:1:java.util.Set getClassDescriptors():37 -> getClassDescriptors
    2:2:java.util.Set getClassDescriptors():38:38 -> getClassDescriptors
    1:6:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):63:68 -> getProgramResource
    1:1:java.nio.file.Path getRoot():73:73 -> getRoot
com.android.tools.r8.Disassemble -> com.android.tools.r8.v:
    1:19:void disassemble(com.android.tools.r8.Disassemble$DisassembleCommand):238:256 -> a
com.android.tools.r8.Disassemble$DisassembleCommand -> com.android.tools.r8.v$a:
    java.nio.file.Path outputPath -> e
    boolean useIr -> i
    boolean noCode -> j
    com.android.tools.r8.StringResource proguardMap -> f
    boolean allInfo -> g
    boolean useSmali -> h
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,java.nio.file.Path,com.android.tools.r8.StringResource,boolean,boolean,boolean,boolean,com.android.tools.r8.Disassemble$1):26:26 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.Disassemble$1):26:26 -> <init>
    3:9:void <init>(com.android.tools.r8.utils.AndroidApp,java.nio.file.Path,com.android.tools.r8.StringResource,boolean,boolean,boolean,boolean):177:183 -> <init>
    10:16:void <init>(boolean,boolean):187:193 -> <init>
    1:1:com.android.tools.r8.StringResource access$200(com.android.tools.r8.Disassemble$DisassembleCommand):26:26 -> a
    1:1:boolean access$300(com.android.tools.r8.Disassemble$DisassembleCommand):26:26 -> b
    2:4:com.android.tools.r8.utils.InternalOptions getInternalOptions():214:216 -> b
    1:1:com.android.tools.r8.Disassemble$DisassembleCommand$Builder builder():116:116 -> c
    1:1:java.nio.file.Path getOutputPath():197:197 -> d
    1:1:boolean noCode():209:209 -> e
    1:1:boolean useIr():205:205 -> f
    1:1:boolean useSmali():201:201 -> g
com.android.tools.r8.Disassemble$DisassembleCommand$Builder -> com.android.tools.r8.v$a$a:
    java.nio.file.Path proguardMapFile -> g
    java.nio.file.Path outputPath -> f
    boolean useSmali -> h
    1:5:void <init>():31:35 -> <init>
    1:1:com.android.tools.r8.Disassemble$DisassembleCommand$Builder setUseSmali(boolean):65:65 -> b
    1:1:com.android.tools.r8.Disassemble$DisassembleCommand$Builder setOutputPath(java.nio.file.Path):55:55 -> c
    2:6:com.android.tools.r8.Disassemble$DisassembleCommand makeCommand():82:86 -> c
    2:6:com.android.tools.r8.BaseCommand makeCommand():31 -> c
    7:7:java.nio.file.Path getOutputPath():51:51 -> c
    7:7:com.android.tools.r8.Disassemble$DisassembleCommand makeCommand():87 -> c
    7:7:com.android.tools.r8.BaseCommand makeCommand():31 -> c
    8:8:com.android.tools.r8.Disassemble$DisassembleCommand makeCommand():88:88 -> c
    8:8:com.android.tools.r8.BaseCommand makeCommand():31 -> c
    9:9:com.android.tools.r8.Disassemble$DisassembleCommand makeCommand():83:83 -> c
    9:9:com.android.tools.r8.BaseCommand makeCommand():31 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:1:com.android.tools.r8.Disassemble$DisassembleCommand$Builder setProguardMapFile(java.nio.file.Path):46:46 -> d
com.android.tools.r8.DumpOptions -> com.android.tools.r8.w:
    java.util.Optional intermediate -> g
    java.util.Optional includeDataResources -> h
    java.util.List mainDexKeepRules -> o
    boolean dumpInputToFile -> p
    com.android.tools.r8.dex.Marker$Tool tool -> a
    int threadCount -> e
    java.util.Optional forceProguardCompatibility -> k
    int minApi -> c
    java.util.Optional treeShaking -> i
    java.util.Optional minification -> j
    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> m
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> n
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> l
    com.android.tools.r8.CompilationMode compilationMode -> b
    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> f
    boolean optimizeMultidexForLinearAlloc -> d
    1:1:void <init>(com.android.tools.r8.dex.Marker$Tool,com.android.tools.r8.CompilationMode,int,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,boolean,int,com.android.tools.r8.utils.InternalOptions$DesugarState,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.shaking.ProguardConfiguration,java.util.List,boolean,com.android.tools.r8.DumpOptions$1):19:19 -> <init>
    2:18:void <init>(com.android.tools.r8.dex.Marker$Tool,com.android.tools.r8.CompilationMode,int,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,boolean,int,com.android.tools.r8.utils.InternalOptions$DesugarState,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.shaking.ProguardConfiguration,java.util.List,boolean):77:93 -> <init>
    1:3:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):119:121 -> a
    4:4:void addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):132:132 -> a
    4:4:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):121 -> a
    5:5:void addOptionalDumpEntry(java.lang.StringBuilder,java.lang.String,java.util.Optional):128:128 -> a
    6:6:void addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):132:132 -> a
    6:6:void lambda$addOptionalDumpEntry$1(java.lang.StringBuilder,java.lang.String,java.lang.Object):128 -> a
    7:7:boolean dumpInputToFile():168:168 -> a
    8:8:com.android.tools.r8.DumpOptions$Builder builder(com.android.tools.r8.dex.Marker$Tool):172:172 -> a
    1:2:java.lang.String dumpOptions():97:98 -> b
    3:3:void addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):132:132 -> b
    3:3:java.lang.String dumpOptions():98 -> b
    4:7:java.lang.String dumpOptions():100:103 -> b
    8:8:void addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):132:132 -> b
    8:8:java.lang.String dumpOptions():100 -> b
    9:9:java.lang.String dumpOptions():104:104 -> b
    10:10:void addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):132:132 -> b
    10:10:java.lang.String dumpOptions():104 -> b
    11:11:java.lang.String dumpOptions():105:105 -> b
    12:12:void addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):132:132 -> b
    12:12:java.lang.String dumpOptions():105 -> b
    13:14:java.lang.String dumpOptions():106:107 -> b
    15:15:void addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):132:132 -> b
    15:15:java.lang.String dumpOptions():107 -> b
    16:16:java.lang.String dumpOptions():109:109 -> b
    17:17:void addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):132:132 -> b
    17:17:java.lang.String dumpOptions():109 -> b
    18:32:java.lang.String dumpOptions():110:124 -> b
    1:1:boolean hasDesugaredLibraryConfiguration():136:136 -> c
    1:1:java.lang.String getDesugaredLibraryJsonSource():140 -> c
    2:2:java.lang.String getDesugaredLibraryJsonSource():141:141 -> c
    1:1:com.android.tools.r8.features.FeatureSplitConfiguration getFeatureSplitConfiguration():147:147 -> d
    1:1:java.util.List getMainDexKeepRules():164:164 -> e
    1:1:java.lang.String getParsedProguardConfiguration():156:156 -> f
    1:1:boolean hasMainDexKeepRules():160:160 -> g
com.android.tools.r8.DumpOptions$Builder -> com.android.tools.r8.w$a:
    java.util.Optional intermediate -> g
    java.util.Optional includeDataResources -> h
    java.util.List mainDexKeepRules -> o
    com.android.tools.r8.dex.Marker$Tool tool -> a
    int threadCount -> e
    java.util.Optional forceProguardCompatibility -> k
    int minApi -> c
    java.util.Optional treeShaking -> i
    java.util.Optional minification -> j
    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> m
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> n
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> l
    com.android.tools.r8.CompilationMode compilationMode -> b
    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> f
    boolean optimizeMultidexForLinearAlloc -> d
    1:1:void <init>(com.android.tools.r8.dex.Marker$Tool):196:196 -> <init>
    2:17:void <init>(com.android.tools.r8.dex.Marker$Tool):182:197 -> <init>
    1:1:com.android.tools.r8.DumpOptions$Builder setCompilationMode(com.android.tools.r8.CompilationMode):201:201 -> a
    2:2:com.android.tools.r8.DumpOptions$Builder setMinApi(int):206:206 -> a
    3:3:com.android.tools.r8.DumpOptions$Builder setDesugaredLibraryConfiguration(com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification):212:212 -> a
    4:4:com.android.tools.r8.DumpOptions$Builder setDesugarState(com.android.tools.r8.utils.InternalOptions$DesugarState):227:227 -> a
    5:5:com.android.tools.r8.DumpOptions$Builder setIncludeDataResources(java.util.Optional):237:237 -> a
    6:6:com.android.tools.r8.DumpOptions$Builder setForceProguardCompatibility(boolean):242:242 -> a
    7:7:com.android.tools.r8.DumpOptions$Builder setFeatureSplitConfiguration(com.android.tools.r8.features.FeatureSplitConfiguration):263:263 -> a
    8:8:com.android.tools.r8.DumpOptions$Builder setProguardConfiguration(com.android.tools.r8.shaking.ProguardConfiguration):268:268 -> a
    9:9:com.android.tools.r8.DumpOptions$Builder setMainDexKeepRules(java.util.List):273:273 -> a
    10:10:com.android.tools.r8.DumpOptions build():278:278 -> a
    1:1:com.android.tools.r8.DumpOptions$Builder setThreadCount(int):222:222 -> b
    2:2:com.android.tools.r8.DumpOptions$Builder setIntermediate(boolean):232:232 -> b
    1:1:com.android.tools.r8.DumpOptions$Builder setMinification(boolean):247:247 -> c
    1:1:com.android.tools.r8.DumpOptions$Builder setOptimizeMultidexForLinearAlloc(boolean):217:217 -> d
    1:1:com.android.tools.r8.DumpOptions$Builder setTreeShaking(boolean):252:252 -> e
com.android.tools.r8.ExtractMarker -> com.android.tools.r8.ExtractMarker:
    1:3:java.util.Collection extractMarkerFromDexFile(java.nio.file.Path):47:49 -> a
    4:5:java.util.Collection extractMarkerFromClassProgramData(byte[]):79:80 -> a
    6:6:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):85:85 -> a
    7:8:boolean com.android.tools.r8.utils.FileUtils.isVDexFile(java.nio.file.Path):44:45 -> a
    7:8:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):85 -> a
    9:15:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):86:92 -> a
    16:16:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> a
    16:16:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):95 -> a
    17:17:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):87:87 -> a
    18:18:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> a
    18:18:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):95 -> a
    19:21:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):95:97 -> a
    22:26:java.util.Collection extractMarker(com.android.tools.r8.utils.AndroidApp):102:106 -> a
    1:1:java.util.Collection extractMarkerFromJarFile(java.nio.file.Path):54:54 -> b
    2:3:java.util.Collection extractMarkerFromDexProgramData(byte[]):73:74 -> b
    1:1:void main(java.lang.String[]):111:111 -> main
    2:2:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.builder():77:77 -> main
    2:2:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):81 -> main
    2:2:void main(java.lang.String[]):111 -> main
    3:21:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):87:105 -> main
    3:21:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    3:21:void main(java.lang.String[]):111 -> main
    22:22:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    22:22:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    22:22:void main(java.lang.String[]):111 -> main
    23:23:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616,"4":617,"5":618}}
    614:614:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    614:614:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    614:614:void main(java.lang.String[]):111 -> main
    615:615:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    615:615:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    615:615:void main(java.lang.String[]):111 -> main
    616:616:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    616:616:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    616:616:void main(java.lang.String[]):111 -> main
    617:617:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    617:617:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    617:617:void main(java.lang.String[]):111 -> main
    618:618:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    618:618:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    618:618:void main(java.lang.String[]):111 -> main
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> main
    24:24:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103 -> main
    24:24:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    24:24:void main(java.lang.String[]):111 -> main
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> main
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> main
    25:25:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103 -> main
    25:25:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    25:25:void main(java.lang.String[]):111 -> main
    26:26:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    26:26:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    26:26:void main(java.lang.String[]):111 -> main
    27:48:void main(java.lang.String[]):112:133 -> main
    49:49:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616}}
    614:614:void main(java.lang.String[]):133:133 -> main
    615:615:void main(java.lang.String[]):133:133 -> main
    616:616:void main(java.lang.String[]):133:133 -> main
    182:183:void main(java.lang.String[]):133:134 -> main
    184:184:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616}}
    614:614:void main(java.lang.String[]):134:134 -> main
    615:615:void main(java.lang.String[]):134:134 -> main
    616:616:void main(java.lang.String[]):134:134 -> main
    185:191:int extractDexSize(java.nio.file.Path):58:64 -> main
    185:191:void main(java.lang.String[]):134 -> main
    192:192:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> main
    192:192:int extractDexSize(java.nio.file.Path):65 -> main
    192:192:void main(java.lang.String[]):134 -> main
    193:193:int extractDexSize(java.nio.file.Path):63:63 -> main
    193:193:void main(java.lang.String[]):134 -> main
    194:194:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> main
    194:194:int extractDexSize(java.nio.file.Path):65 -> main
    194:194:void main(java.lang.String[]):134 -> main
    195:195:int extractDexSize(java.nio.file.Path):65:65 -> main
    195:195:void main(java.lang.String[]):134 -> main
    196:216:void main(java.lang.String[]):134:154 -> main
    217:217:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616}}
    614:614:void main(java.lang.String[]):154:154 -> main
    615:615:void main(java.lang.String[]):154:154 -> main
    616:616:void main(java.lang.String[]):154:154 -> main
    371:374:void main(java.lang.String[]):154:157 -> main
    375:381:int extractDexSize(java.nio.file.Path):58:64 -> main
    375:381:void main(java.lang.String[]):157 -> main
    382:382:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> main
    382:382:int extractDexSize(java.nio.file.Path):65 -> main
    382:382:void main(java.lang.String[]):157 -> main
    383:383:int extractDexSize(java.nio.file.Path):63:63 -> main
    383:383:void main(java.lang.String[]):157 -> main
    384:384:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> main
    384:384:int extractDexSize(java.nio.file.Path):65 -> main
    384:384:void main(java.lang.String[]):157 -> main
    385:385:int extractDexSize(java.nio.file.Path):65:65 -> main
    385:385:void main(java.lang.String[]):157 -> main
    386:394:void main(java.lang.String[]):157:165 -> main
    395:397:void main(java.lang.String[]):129:129 -> main
    436:440:void main(java.lang.String[]):168:172 -> main
    441:441:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616}}
    614:614:void main(java.lang.String[]):172:172 -> main
    615:615:void main(java.lang.String[]):172:172 -> main
    616:616:void main(java.lang.String[]):172:172 -> main
    613:613:void main(java.lang.String[]):172:172 -> main
com.android.tools.r8.ExtractMarker$VdexOrigin -> com.android.tools.r8.internal.nj:
    int index -> f
    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.y:
    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
    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>
    3:9:void <init>(boolean,boolean,boolean,boolean,java.util.List):118:124 -> <init>
    10:16:void <init>(boolean):127:133 -> <init>
    1:1:boolean getCSV():157:157 -> a
    1:1:boolean getIncludeOther():145:145 -> b
    1:1:java.util.List getProgramFiles():141:141 -> c
    1:1:boolean getSummary():153:153 -> d
    1:1:boolean getVerbose():149:149 -> e
    1:1:boolean isPrintHelp():137:137 -> f
com.android.tools.r8.ExtractMarkerCommand$Builder -> com.android.tools.r8.x:
    java.util.List programFiles -> f
    boolean csv -> e
    boolean printHelp -> a
    boolean includeOther -> b
    boolean verbose -> c
    boolean summary -> d
    1:7:void <init>():16:22 -> <init>
    1:1:boolean isPrintHelp():30:30 -> a
    1:1:com.android.tools.r8.ExtractMarkerCommand build():60 -> a
    2:2:com.android.tools.r8.ExtractMarkerCommand build():61:61 -> a
    3:3:boolean isPrintHelp():30:30 -> a
    3:3:com.android.tools.r8.ExtractMarkerCommand build():61 -> a
    4:6:com.android.tools.r8.ExtractMarkerCommand build():61:63 -> a
    7:7:com.android.tools.r8.ExtractMarkerCommand$Builder addProgramFile(java.nio.file.Path):54:54 -> a
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setCSV(boolean):49:49 -> b
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setIncludeOther(boolean):34:34 -> c
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setPrintHelp(boolean):25:25 -> d
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setSummary(boolean):44:44 -> e
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setVerbose(boolean):39:39 -> f
com.android.tools.r8.FeatureSplit -> com.android.tools.r8.FeatureSplit:
    java.util.List programResourceProviders -> b
    com.android.tools.r8.ProgramConsumer programConsumer -> a
    1:9:void <clinit>():33:41 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ProgramConsumer,java.util.List,com.android.tools.r8.FeatureSplit$1):31:31 -> <init>
    2:4:void <init>(com.android.tools.r8.ProgramConsumer,java.util.List):53:55 -> <init>
    1:1:com.android.tools.r8.ProgramConsumer getProgramConsumer():67:67 -> getProgramConsumer
    1:1:java.util.List getProgramResourceProviders():63:63 -> getProgramResourceProviders
com.android.tools.r8.FeatureSplit$1 -> com.android.tools.r8.z:
    1:1:void <init>(com.android.tools.r8.ProgramConsumer,java.util.List):34:34 -> <init>
com.android.tools.r8.FeatureSplit$2 -> com.android.tools.r8.A:
    1:1:void <init>(com.android.tools.r8.ProgramConsumer,java.util.List):42:42 -> <init>
com.android.tools.r8.FeatureSplit$Builder -> com.android.tools.r8.FeatureSplit$Builder:
    java.util.List programResourceProviders -> b
    com.android.tools.r8.ProgramConsumer programConsumer -> a
    com.android.tools.r8.DiagnosticsHandler handler -> c
    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.FeatureSplit$1):80:80 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):85:85 -> <init>
    3:7:void <init>(com.android.tools.r8.DiagnosticsHandler):82:86 -> <init>
    1:1:com.android.tools.r8.FeatureSplit$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):108:108 -> addProgramResourceProvider
    1:1:com.android.tools.r8.FeatureSplit build():114:114 -> build
    1:1:com.android.tools.r8.FeatureSplit$Builder setProgramConsumer(com.android.tools.r8.ProgramConsumer):98:98 -> setProgramConsumer
com.android.tools.r8.GenerateLintFiles -> com.android.tools.r8.F:
    java.nio.file.Path desugaredLibraryImplementation -> e
    java.util.Set parallelMethods -> g
    com.android.tools.r8.utils.InternalOptions options -> c
    java.nio.file.Path outputDirectory -> f
    boolean $assertionsDisabled -> h
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification desugaredLibrarySpecification -> d
    com.android.tools.r8.utils.Reporter reporter -> b
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:1:void <clinit>():69:69 -> <clinit>
    1:1:void <init>(java.lang.String,java.lang.String,java.lang.String):85:85 -> <init>
    2:32:void <init>(java.lang.String,java.lang.String,java.lang.String):73:103 -> <init>
    33:45:void <init>(java.lang.String,java.lang.String,java.lang.String):100:112 -> <init>
    46:52:void <init>(java.lang.String,java.lang.String,java.lang.String):111:117 -> <init>
    53:55:void <init>(java.lang.String,java.lang.String,java.lang.String):116:118 -> <init>
    56:56:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    57:57:void <init>(java.lang.String,java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":153,"2":154,"3":155,"4":156,"5":157,"6":158}}
    153:153:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    154:154:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    155:155:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    156:156:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    157:157:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    158:158:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    152:152:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    1:2:java.nio.file.Path getAndroidJarPath(com.android.tools.r8.utils.AndroidApiLevel):123:124 -> a
    3:9:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification readDesugaredLibraryConfiguration(java.lang.String):129:129 -> a
    10:20:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):144:154 -> a
    21:22:com.android.tools.r8.graph.CfCode buildEmptyThrowingCfCode(com.android.tools.r8.graph.DexMethod):138:139 -> a
    21:22:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):154 -> a
    23:34:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):157:168 -> a
    35:68:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):166:199 -> a
    69:90:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):221:242 -> a
    91:91:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    91:91:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):243 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    92:92:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    92:92:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):243 -> a
    93:102:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):247:256 -> a
    103:103:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:239 -> a
    104:104:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":394,"2":395,"3":396}}
    394:394:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:239 -> a
    395:395:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:239 -> a
    396:396:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:239 -> a
    343:393:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:289 -> a
    397:397:java.util.List lambda$collectSupportedMethods$0(com.android.tools.r8.graph.DexClass):250:250 -> a
    398:406:void lambda$collectSupportedMethods$3(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.DexMethod):277:285 -> a
    407:407:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:300 -> a
    408:408:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":715,"2":716,"3":717}}
    715:715:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:300 -> a
    716:716:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:300 -> a
    717:717:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:300 -> a
    708:710:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:302 -> a
    711:711:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":718,"2":719,"3":720}}
    718:718:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    718:718:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305 -> a
    719:719:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    719:719:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305 -> a
    720:720:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    720:720:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305 -> a
    712:712:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    712:712:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305 -> a
    713:713:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305:305 -> a
    714:714:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):302:302 -> a
    721:750:void writeLintFiles(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.GenerateLintFiles$SupportedMethods):315:344 -> a
    751:766:void writeLintFiles(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.GenerateLintFiles$SupportedMethods):343:358 -> a
    767:779:void lambda$writeLintFiles$4(com.android.tools.r8.GenerateLintFiles$SupportedMethods,java.util.List,com.android.tools.r8.graph.LazyLoadedDexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):320:332 -> a
    780:780:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    780:780:void lambda$writeLintFiles$4(com.android.tools.r8.GenerateLintFiles$SupportedMethods,java.util.List,com.android.tools.r8.graph.LazyLoadedDexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):332 -> a
    781:781:void lambda$writeLintFiles$4(com.android.tools.r8.GenerateLintFiles$SupportedMethods,java.util.List,com.android.tools.r8.graph.LazyLoadedDexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):332:332 -> a
    782:792:void lambda$writeLintFiles$4(com.android.tools.r8.GenerateLintFiles$SupportedMethods,java.util.List,com.android.tools.r8.graph.LazyLoadedDexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):328:338 -> a
    793:806:void generateLintFiles(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate,java.util.function.BiPredicate):366:379 -> a
    807:807:boolean lambda$generateLintFiles$5(java.util.function.BiPredicate,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.graph.DexEncodedMethod):376:376 -> a
    808:808:void run(int):394:394 -> a
    809:809:void run(int):393:393 -> a
    810:815:boolean lambda$run$7(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.graph.DexEncodedMethod):397:402 -> a
    816:816:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.addField(com.android.tools.r8.graph.DexEncodedField):459:459 -> a
    816:816:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.access$300(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):437 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    816:816:void lambda$generateClassHTML$9(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):752 -> a
    817:817:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.addField(com.android.tools.r8.graph.DexEncodedField):459:459 -> a
    817:817:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.access$300(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):437 -> a
    817:817:void lambda$generateClassHTML$9(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):752 -> a
    818:832:void generateClassHTML(java.io.PrintStream,com.android.tools.r8.graph.DexClass,boolean,java.util.function.Predicate,java.util.function.Predicate):747:761 -> a
    833:833:boolean lambda$generateClassHTML$8(com.android.tools.r8.graph.DexEncodedField):750:750 -> a
    834:835:boolean lambda$generateClassHTML$10(com.android.tools.r8.graph.DexEncodedMethod):757:758 -> a
    836:836:void lambda$generateClassHTML$11(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):760:760 -> a
    837:837:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.access$200(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):437:437 -> a
    837:837:void lambda$generateClassHTML$11(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):760 -> a
    838:842:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.addMethod(com.android.tools.r8.graph.DexEncodedMethod):464:468 -> a
    838:842:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.access$200(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):437 -> a
    838:842:void lambda$generateClassHTML$11(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):760 -> a
    843:854:void generateDesugaredLibraryApisDocumetation():765:776 -> a
    855:855:void lambda$generateDesugaredLibraryApisDocumetation$16(java.io.PrintStream,com.android.tools.r8.graph.DexClass):770:770 -> a
    856:856:boolean lambda$generateDesugaredLibraryApisDocumetation$17(com.android.tools.r8.GenerateLintFiles$SupportedMethods,com.android.tools.r8.graph.DexClass):774:774 -> a
    857:857:void lambda$generateDesugaredLibraryApisDocumetation$21(java.io.PrintStream,com.android.tools.r8.GenerateLintFiles$SupportedMethods,com.android.tools.r8.graph.DexClass):778:778 -> a
    858:858:boolean lambda$generateDesugaredLibraryApisDocumetation$20(com.android.tools.r8.GenerateLintFiles$SupportedMethods,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):783:783 -> a
    859:860:void main(java.lang.String[]):787:788 -> a
    861:865:void run():384:388 -> a
    861:865:void main(java.lang.String[]):788 -> a
    866:871:void main(java.lang.String[]):791:796 -> a
    boolean lambda$generateDesugaredLibraryApisDocumetation$12(com.android.tools.r8.graph.DexEncodedMethod) -> b
    boolean lambda$generateDesugaredLibraryApisDocumetation$14(com.android.tools.r8.graph.DexEncodedField) -> b
    1:1:java.util.List lambda$collectSupportedMethods$1(com.android.tools.r8.graph.DexClass):268:268 -> b
    2:2:boolean lambda$run$6(com.android.tools.r8.utils.AndroidApiLevel):395:395 -> b
    boolean lambda$generateDesugaredLibraryApisDocumetation$15(com.android.tools.r8.graph.DexEncodedMethod) -> c
    boolean lambda$generateDesugaredLibraryApisDocumetation$19(com.android.tools.r8.graph.DexEncodedField) -> c
    1:1:java.util.List lambda$collectSupportedMethods$2(com.android.tools.r8.graph.DexClass):285:285 -> c
    1:1:java.lang.String lambda$generateDesugaredLibraryApisDocumetation$13(com.android.tools.r8.graph.DexClass):769:769 -> d
    1:1:java.lang.String lambda$generateDesugaredLibraryApisDocumetation$18(com.android.tools.r8.graph.DexClass):775:775 -> e
com.android.tools.r8.GenerateLintFiles$HTMLBuilder -> com.android.tools.r8.B:
    java.lang.String indent -> d
    1:3:void <init>():614:616 -> <init>
    4:4:void <init>(com.android.tools.r8.GenerateLintFiles$1):614:614 -> <init>
    1:1:void decreaseIndent():624:624 -> a
    1:1:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    2:2:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"3":11}}
    9:9:void decreaseIndent():624:624 -> a
    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    11:11:void decreaseIndent():624:624 -> a
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    3:3:void decreaseIndent():624:624 -> a
    3:3:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    4:4:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.indent(java.lang.String):415:415 -> a
    4:4:void decreaseIndent():625 -> a
    4:4:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    5:5:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11,"4":12,"5":13,"6":14}}
    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    12:12:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    13:13:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    14:14:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    6:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> a
    6:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651 -> a
    1:1:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11,"4":12,"5":13,"6":14}}
    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    12:12:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    13:13:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    14:14:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    2:4:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> b
    2:4:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644 -> b
    5:5:void increaseIndent():619:619 -> b
    5:5:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    6:6:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11}}
    9:9:void increaseIndent():619:619 -> b
    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    10:10:void increaseIndent():619:619 -> b
    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    11:11:void increaseIndent():619:619 -> b
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    7:7:void increaseIndent():619:619 -> b
    7:7:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    8:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.indent(java.lang.String):415:415 -> b
    8:8:void increaseIndent():620 -> b
    8:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
com.android.tools.r8.GenerateLintFiles$HTMLSourceBuilder -> com.android.tools.r8.C:
    java.util.Set parallelMethods -> h
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():656:656 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexClass,boolean,java.util.Set):661:662 -> <init>
    1:11:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):583:593 -> a
    1:11:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    12:12:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60,"4":61,"5":62}}
    58:58:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    58:58:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    59:59:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    59:59:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    60:60:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    60:60:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    61:61:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    61:61:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    62:62:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    62:62:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    13:16:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):595:598 -> a
    13:16:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    17:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):495:498 -> a
    17:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    17:20:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> a
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    21:21:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    22:26:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    27:31:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    32:32:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> a
    32:32:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    32:32:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    32:32:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    33:33:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601:601 -> a
    33:33:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    34:37:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):495:498 -> a
    34:37:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    34:37:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> a
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    38:38:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    39:43:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    44:48:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> a
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    49:49:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    50:57:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603:610 -> a
    50:57:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    1:4:java.lang.String toString():672:675 -> toString
    5:5:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    143:143:java.lang.String toString():675 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    144:144:java.lang.String toString():675 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    145:145:java.lang.String toString():675 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    146:146:java.lang.String toString():675 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    147:147:java.lang.String toString():675 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    148:148:java.lang.String toString():675 -> toString
    6:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    6:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629 -> toString
    6:8:java.lang.String toString():675 -> toString
    9:9:java.lang.String toString():677:677 -> toString
    10:10:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> toString
    10:10:java.lang.String toString():677 -> toString
    11:15:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    11:15:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> toString
    11:15:java.lang.String toString():677 -> toString
    16:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    16:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> toString
    16:20:java.lang.String toString():677 -> toString
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> toString
    21:21:java.lang.String toString():677 -> toString
    22:22:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    143:143:java.lang.String toString():677 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    144:144:java.lang.String toString():677 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    145:145:java.lang.String toString():677 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    146:146:java.lang.String toString():677 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    147:147:java.lang.String toString():677 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    148:148:java.lang.String toString():677 -> toString
    23:25:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    23:25:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629 -> toString
    23:25:java.lang.String toString():677 -> toString
    26:33:java.lang.String toString():678:685 -> toString
    34:37:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):495:498 -> toString
    34:37:java.lang.String toString():685 -> toString
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> toString
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    38:38:java.lang.String toString():685 -> toString
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> toString
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    39:43:java.lang.String toString():685 -> toString
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> toString
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    44:48:java.lang.String toString():685 -> toString
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> toString
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    49:49:java.lang.String toString():685 -> toString
    50:52:java.lang.String toString():685:687 -> toString
    53:53:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    143:143:java.lang.String toString():682 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    144:144:java.lang.String toString():682 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    145:145:java.lang.String toString():682 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    146:146:java.lang.String toString():682 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    147:147:java.lang.String toString():682 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    148:148:java.lang.String toString():682 -> toString
    54:56:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    54:56:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639 -> toString
    54:56:java.lang.String toString():682 -> toString
    57:60:java.lang.String toString():690:693 -> toString
    61:61:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> toString
    61:61:java.lang.String toString():695 -> toString
    62:66:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    62:66:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> toString
    62:66:java.lang.String toString():695 -> toString
    67:71:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    67:71:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> toString
    67:71:java.lang.String toString():695 -> toString
    72:72:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> toString
    72:72:java.lang.String toString():695 -> toString
    73:74:java.lang.String toString():695:696 -> toString
    75:75:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    143:143:java.lang.String toString():692 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    144:144:java.lang.String toString():692 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    145:145:java.lang.String toString():692 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    146:146:java.lang.String toString():692 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    147:147:java.lang.String toString():692 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    148:148:java.lang.String toString():692 -> toString
    76:78:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    76:78:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639 -> toString
    76:78:java.lang.String toString():692 -> toString
    79:85:java.lang.String toString():699:705 -> toString
    86:89:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):495:498 -> toString
    86:89:java.lang.String toString():705 -> toString
    90:90:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> toString
    90:90:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    90:90:java.lang.String toString():705 -> toString
    91:95:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    91:95:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> toString
    91:95:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    91:95:java.lang.String toString():705 -> toString
    96:100:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    96:100:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> toString
    96:100:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    96:100:java.lang.String toString():705 -> toString
    101:101:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> toString
    101:101:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    101:101:java.lang.String toString():705 -> toString
    102:105:java.lang.String toString():705:708 -> toString
    106:106:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    143:143:java.lang.String toString():702 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    144:144:java.lang.String toString():702 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    145:145:java.lang.String toString():702 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    146:146:java.lang.String toString():702 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    147:147:java.lang.String toString():702 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    148:148:java.lang.String toString():702 -> toString
    107:109:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    107:109:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639 -> toString
    107:109:java.lang.String toString():702 -> toString
    110:136:java.lang.String toString():709:735 -> toString
    137:137:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    143:143:java.lang.String toString():735 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    144:144:java.lang.String toString():735 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    145:145:java.lang.String toString():735 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    146:146:java.lang.String toString():735 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    147:147:java.lang.String toString():735 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    148:148:java.lang.String toString():735 -> toString
    138:140:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    138:140:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634 -> toString
    138:140:java.lang.String toString():735 -> toString
    141:141:java.lang.String toString():736:736 -> toString
    142:142:java.lang.String com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.toString():433:433 -> toString
    142:142:java.lang.String toString():737 -> toString
com.android.tools.r8.GenerateLintFiles$SourceBuilder -> com.android.tools.r8.D:
    java.util.List fields -> b
    java.lang.String packageName -> f
    java.util.List methods -> d
    java.util.List constructors -> c
    boolean $assertionsDisabled -> g
    boolean newClass -> a
    java.lang.String className -> e
    1:1:void <clinit>():437:437 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexClass,boolean,com.android.tools.r8.GenerateLintFiles$1):437:437 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexClass,boolean):448:448 -> <init>
    3:15:void <init>(com.android.tools.r8.graph.DexClass,boolean):441:453 -> <init>
    1:10:java.lang.String accessFlags(com.android.tools.r8.graph.FieldAccessFlags):530:539 -> a
    11:16:java.lang.String accessFlags(com.android.tools.r8.graph.FieldAccessFlags):538:543 -> a
    17:26:java.lang.String accessFlags(com.android.tools.r8.graph.FieldAccessFlags):542:551 -> a
    27:36:java.lang.String accessFlags(com.android.tools.r8.graph.MethodAccessFlags):555:564 -> a
    37:42:java.lang.String accessFlags(com.android.tools.r8.graph.MethodAccessFlags):563:568 -> a
    43:55:java.lang.String accessFlags(com.android.tools.r8.graph.MethodAccessFlags):567:579 -> a
com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent -> com.android.tools.r8.E:
    java.lang.StringBuilder builder -> b
    java.lang.String NL -> a
    java.lang.String indent -> c
    1:1:void <init>():412:412 -> <init>
    2:4:void <init>():408:410 -> <init>
    1:1:java.lang.String toString():433:433 -> toString
com.android.tools.r8.GenerateLintFiles$SupportedMethods -> com.android.tools.r8.internal.Al:
    java.util.Map supportedMethods -> b
    java.util.Set classesWithAllMethodsSupported -> a
    1:3:void <init>(java.util.Set,java.util.Map):209:211 -> <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
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):41:41 -> <init>
    2:6:void <init>(com.android.tools.r8.utils.InternalOptions):38:42 -> <init>
    1:4:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.SortingStringConsumer):48:51 -> a
    5:5:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    5:5:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.SortingStringConsumer):53 -> a
    6:6:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.SortingStringConsumer):53:53 -> a
    7:7:void lambda$run$0(com.android.tools.r8.utils.SortingStringConsumer,com.android.tools.r8.graph.DexType):50:50 -> a
    8:10:java.lang.Iterable lambda$traceMainDex$2(com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.graph.AppView):86:88 -> a
    11:13:void lambda$traceMainDex$1(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):90:92 -> a
    14:16:java.util.List runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):151:153 -> a
    17:17:void com.android.tools.r8.utils.ExceptionUtils.withMainDexListHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):74:74 -> a
    17:17:java.util.List runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):153 -> a
    18:19:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):168:169 -> a
    18:19:void lambda$run$3(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):145 -> a
    1:2:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):168:169 -> b
    1:2:void lambda$runForTesting$4(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):157 -> b
    3:3:void lambda$runForTesting$4(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):159:159 -> b
    1:13:void main(java.lang.String[]):183:195 -> main
    1:3:java.util.List run(com.android.tools.r8.GenerateMainDexListCommand):121:123 -> run
    4:8:java.util.List run(com.android.tools.r8.GenerateMainDexListCommand,java.util.concurrent.ExecutorService):141:145 -> run
    9:9:void com.android.tools.r8.utils.ExceptionUtils.withMainDexListHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):74:74 -> run
    9:9:java.util.List run(com.android.tools.r8.GenerateMainDexListCommand,java.util.concurrent.ExecutorService):144 -> run
    1:4:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):61:64 -> traceMainDex
    5:10:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):35:40 -> traceMainDex
    5:10:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    11:28:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):66:83 -> traceMainDex
    29:29:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42:42 -> traceMainDex
    29:29:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    30:30:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> traceMainDex
    30:30:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42 -> traceMainDex
    30:30:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    31:31:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42:42 -> traceMainDex
    31:31:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    32:32:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> traceMainDex
    32:32:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    33:33:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> traceMainDex
    33:33:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37 -> traceMainDex
    33:33:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    34:34:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> traceMainDex
    34:34:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
com.android.tools.r8.GenerateMainDexList$1 -> com.android.tools.r8.G:
    java.util.List val$result -> b
    1:1:void <init>(com.android.tools.r8.StringConsumer,java.util.List):173:173 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):176:177 -> accept
com.android.tools.r8.GenerateMainDexListCommand -> com.android.tools.r8.GenerateMainDexListCommand:
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> g
    java.util.List mainDexKeepRules -> e
    com.android.tools.r8.utils.Reporter reporter -> i
    java.lang.String USAGE_MESSAGE -> j
    com.android.tools.r8.graph.DexItemFactory factory -> h
    boolean $assertionsDisabled -> k
    com.android.tools.r8.StringConsumer mainDexListConsumer -> f
    1:106:void <clinit>():26:131 -> <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):27:27 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.GenerateMainDexListCommand$1):27:27 -> <init>
    3:8: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):200:205 -> <init>
    9:14:void <init>(boolean,boolean):209:214 -> <init>
    1:10:com.android.tools.r8.utils.InternalOptions getInternalOptions():219:228 -> b
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder builder():145:145 -> builder
    2:2:com.android.tools.r8.GenerateMainDexListCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):149:149 -> builder
    1:1:com.android.tools.r8.utils.Reporter getReporter():163:163 -> c
    1:1:com.android.tools.r8.StringConsumer getMainDexListConsumer():159:159 -> getMainDexListConsumer
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):153:153 -> parse
    2:20:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):167:185 -> parse
    2:20:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    21:21:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
    26:26:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    26:26:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    27:27:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    27:27:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    28:28:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    28:28:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    29:29:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    29:29:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    30:30:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    30:30:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    22:25:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:188 -> parse
    22:25:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
com.android.tools.r8.GenerateMainDexListCommand$Builder -> com.android.tools.r8.GenerateMainDexListCommand$Builder:
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> i
    com.android.tools.r8.graph.DexItemFactory factory -> f
    com.android.tools.r8.StringConsumer mainDexListConsumer -> h
    java.util.List mainDexRules -> g
    1:1:void <init>(com.android.tools.r8.GenerateMainDexListCommand$1):36:36 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.GenerateMainDexListCommand$1):36:36 -> <init>
    3:3:void <init>():43:43 -> <init>
    4:7:void <init>():38:41 -> <init>
    8:8:void <init>(com.android.tools.r8.DiagnosticsHandler):47:47 -> <init>
    9:12:void <init>(com.android.tools.r8.DiagnosticsHandler):38:41 -> <init>
    1:2:void lambda$addMainDexRulesFiles$1(java.util.List):73:74 -> a
    3:5:void lambda$addMainDexRules$2(java.util.List,com.android.tools.r8.origin.Origin):84:84 -> a
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder addMainDexRules(java.util.List,com.android.tools.r8.origin.Origin):84:84 -> addMainDexRules
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder addMainDexRulesFiles(java.nio.file.Path[]):60:60 -> addMainDexRulesFiles
    2:2:com.android.tools.r8.GenerateMainDexListCommand$Builder addMainDexRulesFiles(java.util.List):72:72 -> addMainDexRulesFiles
    1:2:void lambda$addMainDexRulesFiles$0(java.nio.file.Path[]):61:62 -> c
    3:8:com.android.tools.r8.GenerateMainDexListCommand makeCommand():108:113 -> c
    3:8:com.android.tools.r8.BaseCommand makeCommand():35 -> c
    9:14:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.shaking.ProguardConfigurationParser.parse(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):113:118 -> c
    9:14:com.android.tools.r8.GenerateMainDexListCommand makeCommand():113 -> c
    9:14:com.android.tools.r8.BaseCommand makeCommand():35 -> c
    15:21:com.android.tools.r8.GenerateMainDexListCommand makeCommand():115:121 -> c
    15:21:com.android.tools.r8.BaseCommand makeCommand():35 -> c
    22:22:com.android.tools.r8.GenerateMainDexListCommand makeCommand():109:109 -> c
    22:22:com.android.tools.r8.BaseCommand makeCommand():35 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder setMainDexKeptGraphConsumer(com.android.tools.r8.experimental.graphinfo.GraphConsumer):126:126 -> setMainDexKeptGraphConsumer
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder setMainDexListConsumer(com.android.tools.r8.StringConsumer):101:101 -> setMainDexListConsumer
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder setMainDexListOutputPath(java.nio.file.Path):95:95 -> setMainDexListOutputPath
com.android.tools.r8.InternalProgramOutputPathConsumer -> com.android.tools.r8.H:
com.android.tools.r8.JdkClassFileProvider -> com.android.tools.r8.JdkClassFileProvider:
    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 -> g
    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>
    65:65:void <init>(java.nio.file.Path):111:111 -> <init>
    66:144:void <init>(java.nio.file.Path):40:118 -> <init>
    1:3:void collectDescriptors(java.nio.file.FileSystem):122:124 -> a
    4:8:void lambda$collectDescriptors$0(java.nio.file.Path):126:130 -> a
    9:11:void lambda$collectDescriptors$0(java.nio.file.Path):129:131 -> a
    1:3:void close():169:171 -> close
    1:2:void finalize():163:164 -> finalize
    1:1:com.android.tools.r8.ClassFileResourceProvider fromJavaRuntimeJar(java.nio.file.Path):97:97 -> fromJavaRuntimeJar
    1:15:com.android.tools.r8.ClassFileResourceProvider fromJdkHome(java.nio.file.Path):79:93 -> fromJdkHome
    1:1:com.android.tools.r8.ClassFileResourceProvider fromSystemJdk():52:52 -> fromSystemJdk
    1:5:com.android.tools.r8.ClassFileResourceProvider fromSystemModulesJdk(java.nio.file.Path):62:66 -> fromSystemModulesJdk
    6:6:com.android.tools.r8.ClassFileResourceProvider fromSystemModulesJdk(java.nio.file.Path):64:64 -> fromSystemModulesJdk
    1:1:java.util.Set getClassDescriptors():138:138 -> getClassDescriptors
    1:12:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):143:154 -> getProgramResource
    13:13:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):151:151 -> getProgramResource
    14:19:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):150:155 -> getProgramResource
    20:30:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):147:157 -> getProgramResource
    31:31:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):0:0 -> getProgramResource
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":191,"2":192,"3":193,"4":194,"5":195}}
    191:191:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    192:192:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    193:193:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    194:194:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    195:195:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    188:188:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    189:189:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> getProgramResource
    189:189:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> getProgramResource
    189:189:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157 -> getProgramResource
    190:190:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
com.android.tools.r8.L8 -> com.android.tools.r8.L8:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():40:40 -> <clinit>
    1:1:void <init>():41:41 -> <init>
    1:2:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,boolean,com.android.tools.r8.D8Command,com.android.tools.r8.R8Command):81:82 -> a
    3:31:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,boolean,com.android.tools.r8.D8Command,com.android.tools.r8.R8Command,java.util.concurrent.ExecutorService):94:122 -> a
    32:38:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):100:106 -> a
    39:48:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):128:137 -> a
    39:48:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    49:49:void com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender.run(com.android.tools.r8.graph.AppView):24:24 -> a
    49:49:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):138 -> a
    49:49:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    50:54:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):140:144 -> a
    50:54:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    55:55:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):315:315 -> a
    55:55:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):144 -> a
    55:55:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    56:60:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):144:148 -> a
    56:60:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    61:61:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.PrefixRewritingNamingLens.createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView):24:24 -> a
    61:61:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):148 -> a
    61:61:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    62:65:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.PrefixRewritingNamingLens.createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):29:32 -> a
    62:65:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.PrefixRewritingNamingLens.createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView):24 -> a
    62:65:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):148 -> a
    62:65:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    66:66:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):149:149 -> a
    66:66:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    67:67:void com.android.tools.r8.naming.signature.GenericSignatureRewriter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):31:31 -> a
    67:67:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):149 -> a
    67:67:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    68:70:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):149:151 -> a
    68:70:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    71:71:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():496:496 -> a
    71:71:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):152 -> a
    71:71:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    72:80:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):152:160 -> a
    72:80:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    81:84:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):110:113 -> a
    85:85:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    85:85:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):155 -> a
    85:85:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    86:91:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):155:160 -> a
    86:91:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    92:98:com.android.tools.r8.graph.AppView readApp(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):168:174 -> a
    99:100:void run(java.lang.String[]):178:179 -> a
    99:100:void lambda$main$1(java.lang.String[]):200 -> a
    101:101:void com.android.tools.r8.utils.SelfRetraceTest.test():25:25 -> a
    101:101:void run(java.lang.String[]):180 -> a
    101:101:void lambda$main$1(java.lang.String[]):200 -> a
    102:102:void run(java.lang.String[]):181:181 -> a
    102:102:void lambda$main$1(java.lang.String[]):200 -> a
    103:103:void com.android.tools.r8.utils.SelfRetraceTest.foo3():13:13 -> a
    103:103:void com.android.tools.r8.utils.SelfRetraceTest.foo2():17 -> a
    103:103:void com.android.tools.r8.utils.SelfRetraceTest.foo1():21 -> a
    103:103:void com.android.tools.r8.utils.SelfRetraceTest.test():26 -> a
    103:103:void run(java.lang.String[]):180 -> a
    103:103:void lambda$main$1(java.lang.String[]):200 -> a
    104:105:void run(java.lang.String[]):184:185 -> a
    104:105:void lambda$main$1(java.lang.String[]):200 -> a
    106:106:void lambda$main$1(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":111,"2":112,"3":113}}
    111:111:void run(java.lang.String[]):185:185 -> a
    111:111:void lambda$main$1(java.lang.String[]):200 -> a
    112:112:void run(java.lang.String[]):185:185 -> a
    112:112:void lambda$main$1(java.lang.String[]):200 -> a
    113:113:void run(java.lang.String[]):185:185 -> a
    113:113:void lambda$main$1(java.lang.String[]):200 -> a
    107:110:void run(java.lang.String[]):185:188 -> a
    107:110:void lambda$main$1(java.lang.String[]):200 -> a
    1:4:void main(java.lang.String[]):197:200 -> main
    5:5:void main(java.lang.String[]):198:198 -> main
    1:5:void run(com.android.tools.r8.L8Command):50:54 -> run
    6:6:void run(com.android.tools.r8.L8Command):49:49 -> run
    7:11:void run(com.android.tools.r8.L8Command,java.util.concurrent.ExecutorService):66:70 -> run
    12:12:void run(com.android.tools.r8.L8Command,java.util.concurrent.ExecutorService):65:65 -> run
com.android.tools.r8.L8Command -> com.android.tools.r8.L8Command:
    com.android.tools.r8.R8Command r8Command -> v
    java.lang.String USAGE_MESSAGE -> y
    boolean $assertionsDisabled -> z
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> w
    com.android.tools.r8.graph.DexItemFactory factory -> x
    com.android.tools.r8.D8Command d8Command -> u
    1:4:void <clinit>():38:41 -> <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,boolean,java.util.function.BiPredicate,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,java.util.List,java.util.List,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.L8Command$1):39:39 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.L8Command$1):39:39 -> <init>
    3:23: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,boolean,java.util.function.BiPredicate,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,java.util.List,java.util.List,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.graph.DexItemFactory):105:125 -> <init>
    24:28:void <init>(boolean,boolean):129:133 -> <init>
    1:36:com.android.tools.r8.utils.InternalOptions getInternalOptions():162:197 -> b
    37:43:void com.android.tools.r8.utils.InternalOptions.setDesugaredLibrarySpecification(com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp):894:900 -> b
    37:43:com.android.tools.r8.utils.InternalOptions getInternalOptions():197 -> b
    44:51:com.android.tools.r8.utils.InternalOptions getInternalOptions():198:205 -> b
    52:52:com.android.tools.r8.AssertionsConfiguration$Builder com.android.tools.r8.AssertionsConfiguration.builder(com.android.tools.r8.utils.Reporter):97:97 -> b
    52:52:com.android.tools.r8.utils.InternalOptions getInternalOptions():205 -> b
    53:64:com.android.tools.r8.utils.InternalOptions getInternalOptions():205:216 -> b
    65:65:com.android.tools.r8.DumpOptions dumpOptions():445:445 -> b
    65:65:com.android.tools.r8.utils.InternalOptions getInternalOptions():217 -> b
    66:70:void com.android.tools.r8.BaseCompilerCommand.dumpBaseCommandOptions(com.android.tools.r8.DumpOptions$Builder):128:132 -> b
    66:70:com.android.tools.r8.DumpOptions dumpOptions():446 -> b
    66:70:com.android.tools.r8.utils.InternalOptions getInternalOptions():217 -> b
    71:74:com.android.tools.r8.DumpOptions dumpOptions():447:450 -> b
    71:74:com.android.tools.r8.utils.InternalOptions getInternalOptions():217 -> b
    75:75:com.android.tools.r8.utils.InternalOptions getInternalOptions():217:217 -> b
    1:1:com.android.tools.r8.L8Command$Builder builder():153:153 -> builder
    2:2:com.android.tools.r8.L8Command$Builder builder(com.android.tools.r8.DiagnosticsHandler):157:157 -> builder
    1:1:com.android.tools.r8.D8Command getD8Command():53:53 -> f
    1:1:com.android.tools.r8.R8Command getR8Command():57:57 -> g
    1:1:boolean isShrinking():49:49 -> h
    1:1:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):70:70 -> parse
    2:2:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):84:84 -> parse
com.android.tools.r8.L8Command$Builder -> com.android.tools.r8.L8Command$Builder:
    java.util.List proguardConfigFiles -> z
    java.util.List proguardConfigStrings -> y
    boolean $assertionsDisabled -> A
    1:1:void <clinit>():227:227 -> <clinit>
    1:1:void <init>(com.android.tools.r8.L8Command$1):228:228 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.L8Command$1):228:228 -> <init>
    3:3:void <init>():234:234 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):238:238 -> <init>
    5:6:void <init>(com.android.tools.r8.DiagnosticsHandler):230:231 -> <init>
    1:1:com.android.tools.r8.L8Command$Builder addProguardConfiguration(java.util.List,com.android.tools.r8.origin.Origin):270:270 -> addProguardConfiguration
    1:1:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.nio.file.Path[]):258:258 -> addProguardConfigurationFiles
    2:2:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.util.List):264:264 -> addProguardConfigurationFiles
    1:5:com.android.tools.r8.L8Command makeCommand():329:333 -> c
    1:5:com.android.tools.r8.BaseCommand makeCommand():227 -> c
    6:6:com.android.tools.r8.CompilationMode defaultCompilationMode():253:253 -> c
    6:6:com.android.tools.r8.L8Command makeCommand():334 -> c
    6:6:com.android.tools.r8.BaseCommand makeCommand():227 -> c
    7:25:com.android.tools.r8.L8Command makeCommand():334:352 -> c
    7:25:com.android.tools.r8.BaseCommand makeCommand():227 -> c
    26:44:com.android.tools.r8.L8Command makeCommand():351:369 -> c
    26:44:com.android.tools.r8.BaseCommand makeCommand():227 -> c
    45:49:com.android.tools.r8.L8Command makeCommand():368:372 -> c
    45:49:com.android.tools.r8.BaseCommand makeCommand():227 -> c
    50:62:com.android.tools.r8.L8Command makeCommand():371:383 -> c
    50:62:com.android.tools.r8.BaseCommand makeCommand():227 -> c
    63:98:com.android.tools.r8.L8Command makeCommand():382:417 -> c
    63:98:com.android.tools.r8.BaseCommand makeCommand():227 -> c
    99:99:com.android.tools.r8.L8Command makeCommand():330:330 -> c
    99:99:com.android.tools.r8.BaseCommand makeCommand():227 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:22:void validate():303:324 -> f
    1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():253:253 -> g
    1:1:boolean isShrinking():243:243 -> isShrinking
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):227:227 -> setProguardMapConsumer
    2:2:com.android.tools.r8.L8Command$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):298:298 -> setProguardMapConsumer
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapOutputPath(java.nio.file.Path):227:227 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.BaseCompilerCommand$Builder com.android.tools.r8.BaseCompilerCommand$Builder.setProguardMapOutputPath(java.nio.file.Path):320:321 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.L8Command$Builder setProguardMapOutputPath(java.nio.file.Path):285 -> setProguardMapOutputPath
    4:4:com.android.tools.r8.L8Command$Builder setProguardMapOutputPath(java.nio.file.Path):285:285 -> setProguardMapOutputPath
com.android.tools.r8.L8Command$DefaultL8DiagnosticsHandler -> com.android.tools.r8.I:
    1:1:void <init>():136:136 -> <init>
    1:5:void error(com.android.tools.r8.Diagnostic):140:144 -> error
    6:12:void error(com.android.tools.r8.Diagnostic):142:148 -> error
com.android.tools.r8.L8Command$InMemoryJarContent -> com.android.tools.r8.J:
    java.util.List resources -> a
    1:3:void <init>():422:424 -> <init>
    1:3:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):430:432 -> accept
    4:4:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):431:431 -> accept
    5:5:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):430:430 -> accept
    1:1:java.util.Collection getProgramResources():437:437 -> getProgramResources
com.android.tools.r8.L8CommandParser -> com.android.tools.r8.K:
    java.lang.String USAGE_MESSAGE -> g
    java.util.Set OPTIONS_WITH_PARAMETER -> f
    1:20:void <clinit>():21:40 -> <clinit>
    21:21:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":106,"2":107,"3":108}}
    106:106:void <clinit>():40:40 -> <clinit>
    107:107:void <clinit>():40:40 -> <clinit>
    108:108:void <clinit>():40:40 -> <clinit>
    78:78:void <clinit>():57:57 -> <clinit>
    79:103:void <clinit>():44:68 -> <clinit>
    104:104:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> <clinit>
    104:104:void <clinit>():43 -> <clinit>
    105:105:void <clinit>():41:41 -> <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):82:82 -> a
    2:2:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):96:96 -> a
    3:15:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):102:114 -> a
    16:16:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":658,"2":659,"3":660}}
    658:658:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    659:659:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    660:660:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    130:130:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    131:131:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":661,"2":662,"3":663}}
    661:661:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    662:662:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    663:663:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    245:272:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:141 -> a
    273:273:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":690,"2":691,"3":692}}
    690:690:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):141:141 -> a
    691:691:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):141:141 -> a
    692:692:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):141:141 -> a
    416:416:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):143:143 -> a
    417:460:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):141:184 -> a
    461:461:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":735,"2":736,"3":737,"4":738,"5":739}}
    735:735:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    736:736:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    737:737:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    738:738:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    739:739:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    645:647:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:186 -> a
    648:648:boolean com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder.isEmpty():68:68 -> a
    648:648:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):189 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    649:657:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):190:198 -> a
com.android.tools.r8.OutputMode -> com.android.tools.r8.OutputMode:
    com.android.tools.r8.OutputMode[] $VALUES -> b
    1:16:void <clinit>():11:26 -> <clinit>
    17:17:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:com.android.tools.r8.OutputMode valueOf(java.lang.String):7:7 -> valueOf
    1:1:com.android.tools.r8.OutputMode[] values():7:7 -> values
com.android.tools.r8.ProgramResource -> com.android.tools.r8.ProgramResource:
    1:1:com.android.tools.r8.ProgramResource fromBytes(com.android.tools.r8.origin.Origin,com.android.tools.r8.ProgramResource$Kind,byte[],java.util.Set):53:53 -> fromBytes
    1:1:com.android.tools.r8.ProgramResource fromFile(com.android.tools.r8.ProgramResource$Kind,java.nio.file.Path):42:42 -> fromFile
    1:3:byte[] getBytes():65:67 -> getBytes
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
    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>
    1:1:java.io.InputStream getByteStream():157:157 -> getByteStream
    1:1:byte[] getBytes():162:162 -> getBytes
    1:1:java.util.Set getClassDescriptors():167:167 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource$Kind getKind():152:152 -> getKind
    1:1:com.android.tools.r8.origin.Origin getOrigin():147:147 -> getOrigin
com.android.tools.r8.ProgramResource$FileResource -> com.android.tools.r8.ProgramResource$FileResource:
    com.android.tools.r8.origin.Origin origin -> a
    java.nio.file.Path file -> c
    java.util.Set classDescriptors -> d
    com.android.tools.r8.ProgramResource$Kind kind -> b
    1:1:void <init>(com.android.tools.r8.ProgramResource$Kind,java.nio.file.Path,java.util.Set,com.android.tools.r8.ProgramResource$1):82:82 -> <init>
    2:6:void <init>(com.android.tools.r8.ProgramResource$Kind,java.nio.file.Path,java.util.Set):88:92 -> <init>
    1:3:java.io.InputStream getByteStream():108:110 -> getByteStream
    1:3:byte[] getBytes():117:119 -> getBytes
    1:1:java.util.Set getClassDescriptors():125:125 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource$Kind getKind():102:102 -> getKind
    1:1:com.android.tools.r8.origin.Origin getOrigin():97:97 -> getOrigin
com.android.tools.r8.ProgramResource$Kind -> com.android.tools.r8.ProgramResource$Kind:
    com.android.tools.r8.ProgramResource$Kind[] $VALUES -> b
    1:3:void <clinit>():31:33 -> <clinit>
    4:4:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(java.lang.String,int):29:29 -> <init>
    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
    1:1:void <clinit>():164:164 -> <clinit>
    1:6:void <init>(com.android.tools.r8.utils.InternalOptions):170:175 -> <init>
    boolean lambda$run$3(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexApplication lambda$run$8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexApplication) -> a
    1:8:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):221:228 -> a
    9:9:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    9:9:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):229 -> a
    10:10:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):230:230 -> a
    11:11:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():496:496 -> a
    11:11:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):231 -> a
    12:24:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):231:243 -> a
    25:26:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):249:250 -> a
    27:27:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):69:69 -> a
    27:27:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):250 -> a
    28:28:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):263:263 -> a
    28:28:void lambda$run$0(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):208 -> a
    29:39:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):271:281 -> a
    40:40:boolean com.android.tools.r8.utils.AssertionUtils.forTesting(com.android.tools.r8.utils.InternalOptions,java.util.function.Supplier):17:17 -> a
    40:40:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):281 -> a
    41:47:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):281:287 -> a
    48:48:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2074,"2":2075,"3":2076}}
    2074:2074:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:287 -> a
    2075:2075:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:287 -> a
    2076:2076:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:287 -> a
    335:336:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:288 -> a
    337:337:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2077,"2":2078,"3":2079}}
    2077:2077:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:288 -> a
    2078:2078:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:288 -> a
    2079:2079:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:288 -> a
    625:626:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:289 -> a
    627:627:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2080,"2":2081,"3":2082}}
    2080:2080:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):289:289 -> a
    2081:2081:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):289:289 -> a
    2082:2082:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):289:289 -> a
    916:939:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):289:312 -> a
    940:947:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):35:42 -> a
    940:947:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):312 -> a
    948:948:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    948:948:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42 -> a
    948:948:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):312 -> a
    949:949:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42:42 -> a
    949:949:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):312 -> a
    950:950:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> a
    950:950:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):312 -> a
    951:951:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    951:951:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37 -> a
    951:951:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):312 -> a
    952:952:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> a
    952:952:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):312 -> a
    953:963:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):314:324 -> a
    964:977:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):323:336 -> a
    978:978:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):335:335 -> a
    979:994:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):332:347 -> a
    995:999:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):346:350 -> a
    1000:1000:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):349:349 -> a
    1001:1012:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):348:359 -> a
    1013:1013:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):358:358 -> a
    1014:1019:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):355:360 -> a
    1020:1062:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):354:396 -> a
    1063:1093:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):395:425 -> a
    1094:1144:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):420:470 -> a
    1145:1264:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):467:586 -> a
    1265:1290:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):583:608 -> a
    1291:1312:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):606:627 -> a
    1313:1331:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):622:640 -> a
    1332:1381:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):639:688 -> a
    1382:1452:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):669:739 -> a
    1453:1480:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):738:765 -> a
    1481:1578:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):762:859 -> a
    1579:1593:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):795:809 -> a
    1594:1606:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):806:818 -> a
    1607:1612:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.RecordRewritingNamingLens.createRecordRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):25:30 -> a
    1607:1612:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):818 -> a
    1613:1638:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):820:845 -> a
    1639:1657:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):841:859 -> a
    1658:1658:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):544:544 -> a
    1659:2073:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):445:859 -> a
    2083:2083:java.lang.Boolean lambda$run$2():281:281 -> a
    2084:2084:void lambda$run$4(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):404:404 -> a
    2085:2085:void lambda$run$9(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):599:599 -> a
    2086:2086:com.android.tools.r8.shaking.TreePrunerConfiguration lambda$run$10(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):607:607 -> a
    2087:2087:void lambda$run$13(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):683:683 -> a
    2088:2088:void lambda$run$14(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):690:690 -> a
    2089:2089:void lambda$run$15(java.lang.String):790:790 -> a
    2090:2090:boolean lambda$run$16(com.android.tools.r8.graph.DexProgramClass):796:796 -> a
    2091:2097:boolean allReferencesAssignedApiLevel(com.android.tools.r8.graph.AppView):866:872 -> a
    2098:2101:void lambda$allReferencesAssignedApiLevel$18(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMember):874:877 -> a
    2102:2102:void lambda$allReferencesAssignedApiLevel$18(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMember):876:876 -> a
    2103:2117:void performFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):904:918 -> a
    2118:2125:void performFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):917:924 -> a
    2126:2126:void performFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):923:923 -> a
    2127:2129:java.lang.Iterable lambda$performFinalMainDexTracing$20(com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.graph.AppView):926:928 -> a
    2130:2132:void lambda$performFinalMainDexTracing$19(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):930:932 -> a
    2133:2134:boolean verifyMovedMethodsHaveOriginalMethodPosition(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication):948:949 -> a
    2135:2135:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$22(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):951:951 -> a
    2136:2136:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):954:954 -> a
    2137:2137:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    2137:2137:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):954 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2138:2145:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):955:962 -> a
    2146:2147:boolean verifyOriginalMethodInPosition(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):974:975 -> a
    2146:2147:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):962 -> a
    2148:2148:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    2148:2148:boolean verifyOriginalMethodInPosition(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):975 -> a
    2148:2148:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):962 -> a
    2149:2150:boolean verifyOriginalMethodInPosition(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):978:979 -> a
    2149:2150:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):962 -> a
    2151:2152:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):963:964 -> a
    2153:2157:boolean verifyOriginalMethodInDebugInfo(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):985:989 -> a
    2153:2157:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):964 -> a
    2158:2158:boolean com.android.tools.r8.graph.DexDebugEvent.isSetInlineFrame():0:0 -> a
    2158:2158:boolean verifyOriginalMethodInDebugInfo(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):989 -> a
    2158:2158:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):964 -> a
    2159:2159:boolean verifyOriginalMethodInDebugInfo(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):989:989 -> a
    2159:2159:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):964 -> a
    2160:2160:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):966:966 -> a
    2161:2161:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    2161:2161:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):966 -> a
    2162:2162:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> a
    2162:2162:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):966 -> a
    2163:2163:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):966:966 -> a
    2164:2177: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,com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder):1002:1015 -> a
    2178:2180:void com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder.attach(com.android.tools.r8.shaking.Enqueuer):87:89 -> a
    2178:2180: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,com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder):1016 -> a
    2181:2191: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,com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder):1020:1030 -> a
    2192:2192:void lambda$runEnqueuer$23(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):1028:1028 -> a
    2193:2195:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetUtils$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):1049:1051 -> a
    2196:2231:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetUtils$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):1050:1085 -> a
    2232:2236:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetUtils$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):1082:1086 -> a
    2237:2240:boolean verifyNoJarApplicationReaders(java.util.Collection):1090:1093 -> a
    2241:2241:void lambda$run$25(com.android.tools.r8.R8Command,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):1115:1115 -> a
    2242:2242:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):263:263 -> a
    2242:2242:void lambda$run$25(com.android.tools.r8.R8Command,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):1115 -> a
    2243:2243:void lambda$main$26(java.lang.String[]):1130:1130 -> a
    1:1:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):263:263 -> b
    1:1:void lambda$runForTesting$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):254 -> b
    2:2:void lambda$runForTesting$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):256:256 -> b
    3:3:com.android.tools.r8.graph.DirectMappedDexApplication getDirectApp(com.android.tools.r8.graph.AppView):267:267 -> b
    4:13:void performInitialMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):887:896 -> b
    14:17:void performInitialMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):895:898 -> b
    18:18:void lambda$runEnqueuer$24(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):1032:1032 -> b
    19:20:void run(java.lang.String[]):1101:1102 -> b
    21:21:void com.android.tools.r8.utils.SelfRetraceTest.test():25:25 -> b
    21:21:void run(java.lang.String[]):1103 -> b
    22:22:void run(java.lang.String[]):1104:1104 -> b
    23:23:void com.android.tools.r8.utils.SelfRetraceTest.foo3():13:13 -> b
    23:23:void com.android.tools.r8.utils.SelfRetraceTest.foo2():17 -> b
    23:23:void com.android.tools.r8.utils.SelfRetraceTest.foo1():21 -> b
    23:23:void com.android.tools.r8.utils.SelfRetraceTest.test():26 -> b
    23:23:void run(java.lang.String[]):1103 -> b
    24:25:void run(java.lang.String[]):1107:1108 -> b
    26:26:void run(java.lang.String[]):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1143,"2":1144,"3":1145}}
    1143:1143:void run(java.lang.String[]):1108:1108 -> b
    1144:1144:void run(java.lang.String[]):1108:1108 -> b
    1145:1145:void run(java.lang.String[]):1108:1108 -> b
    1134:1140:void run(java.lang.String[]):1108:1114 -> b
    1141:1141:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):69:69 -> b
    1141:1141:void run(java.lang.String[]):1114 -> b
    1142:1142:void run(java.lang.String[]):1117:1117 -> b
    1:1:java.lang.Iterable lambda$run$11(com.android.tools.r8.graph.AppView):641:641 -> c
    1:1:java.lang.Boolean lambda$run$12(com.android.tools.r8.graph.AppView):660:660 -> d
    2:5:java.lang.Boolean lambda$run$12(com.android.tools.r8.graph.AppView):659:662 -> d
    6:6:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> d
    6:6:java.lang.Boolean lambda$run$12(com.android.tools.r8.graph.AppView):662 -> d
    7:7:java.lang.Boolean lambda$run$12(com.android.tools.r8.graph.AppView):659:659 -> d
    1:3:java.lang.Boolean lambda$run$17(com.android.tools.r8.graph.AppView):831:833 -> e
    4:7:java.lang.Boolean lambda$run$17(com.android.tools.r8.graph.AppView):832:835 -> e
    8:8:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> e
    8:8:java.lang.Boolean lambda$run$17(com.android.tools.r8.graph.AppView):835 -> e
    9:9:java.lang.Boolean lambda$run$17(com.android.tools.r8.graph.AppView):831:831 -> e
    1:1:java.lang.Boolean lambda$run$5(com.android.tools.r8.graph.AppView):442:442 -> f
    1:1:java.lang.Boolean lambda$run$6(com.android.tools.r8.graph.AppView):452:452 -> g
    1:1:java.lang.Boolean lambda$run$7(com.android.tools.r8.graph.AppView):525:525 -> h
    1:4:void main(java.lang.String[]):1127:1130 -> main
    5:5:void main(java.lang.String[]):1128:1128 -> main
    1:3:void run(com.android.tools.r8.R8Command):187:189 -> run
    4:7:void run(com.android.tools.r8.R8Command,java.util.concurrent.ExecutorService):203:206 -> run
    8:8:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):69:69 -> run
    8:8:void run(com.android.tools.r8.R8Command,java.util.concurrent.ExecutorService):205 -> run
com.android.tools.r8.R8Command -> com.android.tools.r8.R8Command:
    boolean $assertionsDisabled -> N
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> F
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> G
    java.util.List mainDexKeepRules -> u
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> J
    java.util.Optional includeDataResources -> A
    java.lang.String USAGE_MESSAGE -> M
    boolean skipDump -> L
    boolean enableTreeShaking -> w
    boolean enableMinification -> x
    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> K
    boolean disableVerticalClassMerging -> y
    boolean forceProguardCompatibility -> z
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> I
    java.util.function.Consumer syntheticProguardRulesConsumer -> H
    com.android.tools.r8.StringConsumer proguardConfigurationConsumer -> E
    com.android.tools.r8.StringConsumer proguardUsageConsumer -> C
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> v
    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> D
    com.android.tools.r8.StringConsumer proguardMapConsumer -> B
    1:584:void <clinit>():69:652 -> <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,java.util.Optional,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.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.features.FeatureSplitConfiguration,java.util.List,java.util.List,java.lang.String,boolean,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.SourceFileProvider,com.android.tools.r8.R8Command$1):70:70 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.R8Command$1):70:70 -> <init>
    3:40: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,java.util.Optional,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.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.features.FeatureSplitConfiguration,java.util.List,java.util.List,java.lang.String,boolean,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.SourceFileProvider):757:794 -> <init>
    41:60:void <init>(boolean,boolean):798:817 -> <init>
    1:1:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.utils.AndroidApp):686:686 -> a
    2:2:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):691:691 -> a
    1:23:com.android.tools.r8.utils.InternalOptions getInternalOptions():836:858 -> b
    24:46:com.android.tools.r8.utils.InternalOptions getInternalOptions():857:879 -> b
    47:49:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):972:974 -> b
    47:49:com.android.tools.r8.utils.InternalOptions getInternalOptions():876 -> b
    50:60:com.android.tools.r8.utils.InternalOptions getInternalOptions():876:886 -> b
    61:63:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):972:974 -> b
    61:63:com.android.tools.r8.utils.InternalOptions getInternalOptions():883 -> b
    64:74:com.android.tools.r8.utils.InternalOptions getInternalOptions():883:893 -> b
    75:77:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):972:974 -> b
    75:77:com.android.tools.r8.utils.InternalOptions getInternalOptions():890 -> b
    78:88:com.android.tools.r8.utils.InternalOptions getInternalOptions():890:900 -> b
    89:91:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):972:974 -> b
    89:91:com.android.tools.r8.utils.InternalOptions getInternalOptions():897 -> b
    92:116:com.android.tools.r8.utils.InternalOptions getInternalOptions():897:921 -> b
    117:117:com.android.tools.r8.AssertionsConfiguration$Builder com.android.tools.r8.AssertionsConfiguration.builder(com.android.tools.r8.utils.Reporter):97:97 -> b
    117:117:com.android.tools.r8.utils.InternalOptions getInternalOptions():921 -> b
    118:120:com.android.tools.r8.utils.InternalOptions getInternalOptions():923:925 -> b
    121:127:com.android.tools.r8.utils.InternalOptions getInternalOptions():922:928 -> b
    128:128:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    128:128:com.android.tools.r8.utils.InternalOptions getInternalOptions():933 -> b
    129:141:com.android.tools.r8.utils.InternalOptions getInternalOptions():934:946 -> b
    142:148:void com.android.tools.r8.utils.InternalOptions.setDesugaredLibrarySpecification(com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp):894:900 -> b
    142:148:com.android.tools.r8.utils.InternalOptions getInternalOptions():946 -> b
    149:156:com.android.tools.r8.utils.InternalOptions getInternalOptions():948:955 -> b
    157:165:com.android.tools.r8.utils.InternalOptions getInternalOptions():954:962 -> b
    166:166:com.android.tools.r8.DumpOptions dumpOptions():994:994 -> b
    166:166:com.android.tools.r8.utils.InternalOptions getInternalOptions():963 -> b
    167:171:void com.android.tools.r8.BaseCompilerCommand.dumpBaseCommandOptions(com.android.tools.r8.DumpOptions$Builder):128:132 -> b
    167:171:com.android.tools.r8.DumpOptions dumpOptions():995 -> b
    167:171:com.android.tools.r8.utils.InternalOptions getInternalOptions():963 -> b
    172:181:com.android.tools.r8.DumpOptions dumpOptions():996:1005 -> b
    172:181:com.android.tools.r8.utils.InternalOptions getInternalOptions():963 -> b
    182:182:com.android.tools.r8.utils.InternalOptions getInternalOptions():963:963 -> b
    1:1:com.android.tools.r8.R8Command$Builder builder():676:676 -> builder
    2:2:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.DiagnosticsHandler):681:681 -> builder
    1:1:com.android.tools.r8.graph.DexItemFactory getDexItemFactory():821:821 -> getDexItemFactory
    1:1:boolean getEnableMinification():831:831 -> getEnableMinification
    1:1:boolean getEnableTreeShaking():826:826 -> getEnableTreeShaking
    1:1:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):704:704 -> parse
    2:2:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):718:718 -> parse
com.android.tools.r8.R8Command$Builder -> com.android.tools.r8.R8Command$Builder:
    java.util.Optional includeDataResources -> H
    boolean skipDump -> P
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> L
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> M
    java.lang.String synthesizedClassPrefix -> O
    java.util.List mainDexRules -> y
    boolean allowTestProguardOptions -> Q
    boolean $assertionsDisabled -> R
    java.util.function.Consumer proguardConfigurationConsumerForTesting -> z
    com.android.tools.r8.StringConsumer proguardConfigurationConsumer -> K
    com.android.tools.r8.StringConsumer proguardUsageConsumer -> I
    java.util.function.Consumer syntheticProguardRulesConsumer -> A
    java.util.List proguardConfigs -> C
    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> J
    boolean disableMinification -> E
    boolean disableVerticalClassMerging -> F
    boolean forceProguardCompatibility -> G
    java.util.List featureSplits -> N
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> B
    boolean disableTreeShaking -> D
    1:1:void <clinit>():77:77 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.R8Command$1):78:78 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.R8Command$1):78:78 -> <init>
    3:3:void <init>():122:122 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):126:126 -> <init>
    5:25:void <init>(com.android.tools.r8.DiagnosticsHandler):98:118 -> <init>
    26:26:void <init>(com.android.tools.r8.utils.AndroidApp):130:130 -> <init>
    27:47:void <init>(com.android.tools.r8.utils.AndroidApp):98:118 -> <init>
    48:48:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):134:134 -> <init>
    49:69:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):98:118 -> <init>
    1:1:com.android.tools.r8.R8Command$Builder setSynthesizedClassesPrefix(java.lang.String):158:158 -> a
    2:4:void lambda$addMainDexRules$2(java.util.List,com.android.tools.r8.origin.Origin):199:199 -> a
    5:6:void lambda$addProguardConfigurationFiles$4(java.util.List):217:218 -> a
    7:7:com.android.tools.r8.InternalProgramOutputPathConsumer createProgramOutputConsumer(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):412:412 -> a
    8:10:void lambda$makeR8Command$6(com.android.tools.r8.DataResourceProvider$Visitor,com.android.tools.r8.utils.Reporter,com.android.tools.r8.DataResourceProvider):524:526 -> a
    11:12:void addProguardConfigurationConsumerForTesting(java.util.function.Consumer):600:601 -> a
    13:15:void lambda$addProguardConfigurationConsumerForTesting$7(java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.shaking.ProguardConfiguration$Builder):604:606 -> a
    1:1:com.android.tools.r8.R8Command$Builder addFeatureSplit(java.util.function.Function):386:386 -> addFeatureSplit
    2:2:com.android.tools.r8.FeatureSplit$Builder com.android.tools.r8.FeatureSplit.builder(com.android.tools.r8.DiagnosticsHandler):71:71 -> addFeatureSplit
    2:2:com.android.tools.r8.R8Command$Builder addFeatureSplit(java.util.function.Function):386 -> addFeatureSplit
    3:6:com.android.tools.r8.R8Command$Builder addFeatureSplit(java.util.function.Function):386:389 -> addFeatureSplit
    7:21:com.android.tools.r8.R8Command$Builder addFeatureSplit(java.util.function.Function):388:402 -> addFeatureSplit
    1:1:com.android.tools.r8.R8Command$Builder addMainDexRules(java.util.List,com.android.tools.r8.origin.Origin):197:197 -> addMainDexRules
    1:1:com.android.tools.r8.R8Command$Builder addMainDexRulesFiles(java.nio.file.Path[]):186:186 -> addMainDexRulesFiles
    2:2:com.android.tools.r8.R8Command$Builder addMainDexRulesFiles(java.util.Collection):191:191 -> addMainDexRulesFiles
    1:1:com.android.tools.r8.BaseCommand$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):77:77 -> addProgramResourceProvider
    2:2:com.android.tools.r8.R8Command$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):373:373 -> addProgramResourceProvider
    1:1:com.android.tools.r8.R8Command$Builder addProguardConfiguration(java.util.List,com.android.tools.r8.origin.Origin):226:226 -> addProguardConfiguration
    1:1:com.android.tools.r8.R8Command$Builder addProguardConfigurationFiles(java.nio.file.Path[]):206:206 -> addProguardConfigurationFiles
    2:2:com.android.tools.r8.R8Command$Builder addProguardConfigurationFiles(java.util.List):216:216 -> addProguardConfigurationFiles
    1:1:void setDisableVerticalClassMerging(boolean):144:144 -> b
    2:4:void lambda$addProguardConfiguration$5(java.util.List,com.android.tools.r8.origin.Origin):226:226 -> b
    5:7:void addSyntheticProguardRulesConsumerForTesting(java.util.function.Consumer):613:615 -> b
    1:1:com.android.tools.r8.BaseCommand makeCommand():77:77 -> c
    2:3:void lambda$addProguardConfigurationFiles$3(java.nio.file.Path[]):207:208 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:1:void lambda$addMainDexRulesFiles$0(java.nio.file.Path):191:191 -> e
    1:1:void lambda$addMainDexRulesFiles$1(java.util.Collection):191:191 -> f
    2:19:void validate():417:434 -> f
    20:20:void validate():0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":484,"2":485,"3":486}}
    484:484:void validate():435:435 -> f
    485:485:void validate():435:435 -> f
    486:486:void validate():435:435 -> f
    457:457:void validate():437:437 -> f
    458:483:void validate():435:460 -> f
    1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():154:154 -> g
    1:1:void allowTestProguardOptions():621:621 -> o
    1:1:void internalForceProguardCompatibility():140:140 -> p
    1:4:com.android.tools.r8.R8Command makeCommand():466:469 -> q
    5:5:com.android.tools.r8.R8Command makeCommand():467:467 -> q
    1:4:com.android.tools.r8.R8Command makeR8Command():473:476 -> r
    5:10:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.shaking.ProguardConfigurationParser.parse(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):113:118 -> r
    5:10:com.android.tools.r8.R8Command makeR8Command():476 -> r
    11:84:com.android.tools.r8.R8Command makeR8Command():479:552 -> r
    85:85:com.android.tools.r8.utils.InternalOptions$DesugarState com.android.tools.r8.BaseCompilerCommand$Builder.getDesugaringState():535:535 -> r
    85:85:com.android.tools.r8.R8Command makeR8Command():553 -> r
    86:124:com.android.tools.r8.R8Command makeR8Command():556:594 -> r
    1:1:com.android.tools.r8.R8Command$Builder skipDump():274:274 -> s
    1:1:com.android.tools.r8.R8Command$Builder setDesugaredLibraryKeepRuleConsumer(com.android.tools.r8.StringConsumer):265:265 -> setDesugaredLibraryKeepRuleConsumer
    1:1:com.android.tools.r8.R8Command$Builder setDisableMinification(boolean):180:180 -> setDisableMinification
    1:1:com.android.tools.r8.R8Command$Builder setDisableTreeShaking(boolean):169:169 -> setDisableTreeShaking
    1:1:com.android.tools.r8.R8Command$Builder setKeptGraphConsumer(com.android.tools.r8.experimental.graphinfo.GraphConsumer):317:317 -> setKeptGraphConsumer
    1:1:com.android.tools.r8.R8Command$Builder setMainDexKeptGraphConsumer(com.android.tools.r8.experimental.graphinfo.GraphConsumer):325:325 -> setMainDexKeptGraphConsumer
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode):77:77 -> setOutput
    2:2:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):77:77 -> setOutput
    3:3:com.android.tools.r8.R8Command$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode):344:344 -> setOutput
    4:5:com.android.tools.r8.R8Command$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):367:368 -> setOutput
    1:1:com.android.tools.r8.R8Command$Builder setProguardConfigurationConsumer(com.android.tools.r8.StringConsumer):309:309 -> setProguardConfigurationConsumer
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):77:77 -> setProguardMapConsumer
    2:2:com.android.tools.r8.R8Command$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):255:255 -> setProguardMapConsumer
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapOutputPath(java.nio.file.Path):77:77 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.BaseCompilerCommand$Builder com.android.tools.r8.BaseCompilerCommand$Builder.setProguardMapOutputPath(java.nio.file.Path):320:321 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.R8Command$Builder setProguardMapOutputPath(java.nio.file.Path):242 -> setProguardMapOutputPath
    4:4:com.android.tools.r8.R8Command$Builder setProguardMapOutputPath(java.nio.file.Path):242:242 -> setProguardMapOutputPath
    1:1:com.android.tools.r8.R8Command$Builder setProguardSeedsConsumer(com.android.tools.r8.StringConsumer):298:298 -> setProguardSeedsConsumer
    1:1:com.android.tools.r8.R8Command$Builder setProguardUsageConsumer(com.android.tools.r8.StringConsumer):286:286 -> setProguardUsageConsumer
com.android.tools.r8.R8Command$Builder$1 -> com.android.tools.r8.L:
    com.android.tools.r8.ProgramResourceProvider val$programResourceProvider -> a
    1:1:void <init>(com.android.tools.r8.R8Command$Builder,com.android.tools.r8.ProgramResourceProvider):391:391 -> <init>
    1:1:java.util.Collection getProgramResources():394:394 -> getProgramResources
com.android.tools.r8.R8Command$Builder$2 -> com.android.tools.r8.M:
    com.android.tools.r8.shaking.ProguardConfigurationParser val$parser -> a
    com.android.tools.r8.utils.Reporter val$reporter -> b
    1:1:void <init>(com.android.tools.r8.R8Command$Builder,com.android.tools.r8.shaking.ProguardConfigurationParser,com.android.tools.r8.utils.Reporter):495:495 -> <init>
    1:4:void visit(com.android.tools.r8.DataEntryResource):503:506 -> visit
    5:5:void com.android.tools.r8.shaking.ProguardConfigurationSourceBytes.<init>(java.io.InputStream,com.android.tools.r8.origin.Origin):24:24 -> visit
    5:5:void visit(com.android.tools.r8.DataEntryResource):506 -> visit
    6:7:void visit(com.android.tools.r8.DataEntryResource):507:508 -> visit
    8:16:void visit(com.android.tools.r8.DataEntryResource):504:512 -> visit
    17:17:void visit(com.android.tools.r8.DataEntryResource):509:509 -> visit
    18:18:void visit(com.android.tools.r8.DataEntryResource):0:0 -> visit
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":530,"2":531,"3":532}}
    530:530:void visit(com.android.tools.r8.DataEntryResource):509:509 -> visit
    531:531:void visit(com.android.tools.r8.DataEntryResource):509:509 -> visit
    532:532:void visit(com.android.tools.r8.DataEntryResource):509:509 -> visit
    527:529:void visit(com.android.tools.r8.DataEntryResource):509:509 -> visit
com.android.tools.r8.R8Command$Builder$DefaultR8DiagnosticsHandler -> com.android.tools.r8.N:
    1:1:void <init>():80:80 -> <init>
    2:2:void <init>(com.android.tools.r8.R8Command$1):80:80 -> <init>
    1:6:void error(com.android.tools.r8.Diagnostic):84:89 -> error
    7:14:void error(com.android.tools.r8.Diagnostic):87:94 -> error
com.android.tools.r8.R8Command$EnsureNonDexProgramResourceProvider -> com.android.tools.r8.O:
    com.android.tools.r8.ProgramResourceProvider provider -> a
    1:2:void <init>(com.android.tools.r8.ProgramResourceProvider):630:631 -> <init>
    1:1:com.android.tools.r8.DataResourceProvider getDataResourceProvider():648:648 -> getDataResourceProvider
    1:4:java.util.Collection getProgramResources():636:639 -> getProgramResources
com.android.tools.r8.R8Command$StandardOutConsumer -> com.android.tools.r8.P:
    1:1:void <init>(com.android.tools.r8.StringConsumer):983:983 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):988:989 -> accept
com.android.tools.r8.R8CommandParser -> com.android.tools.r8.S:
    java.util.Set OPTIONS_WITH_TWO_PARAMETERS -> g
    java.lang.String USAGE_MESSAGE -> h
    java.util.Set OPTIONS_WITH_PARAMETER -> f
    1:39:void <clinit>():25:63 -> <clinit>
    40:40:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":169,"2":170,"3":171}}
    169:169:void <clinit>():63:63 -> <clinit>
    170:170:void <clinit>():63:63 -> <clinit>
    171:171:void <clinit>():63:63 -> <clinit>
    124:124:void <clinit>():84:84 -> <clinit>
    125:166:void <clinit>():67:108 -> <clinit>
    167:167:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> <clinit>
    167:167:void <clinit>():66 -> <clinit>
    168:168:void <clinit>():64:64 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    1:1:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):121:121 -> a
    2:9:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder):139:146 -> a
    2:9:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):121 -> a
    10:10:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):135:135 -> a
    11:18:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder):139:146 -> a
    11:18:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):135 -> a
    19:38:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):152:171 -> a
    39:39:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1353,"2":1354,"3":1355}}
    1353:1353:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    1354:1354:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    1355:1355:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    210:210:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    211:211:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1356,"2":1357,"3":1358}}
    1356:1356:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    1357:1357:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    1358:1358:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    382:382:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    383:383:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    384:384:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1359,"2":1360,"3":1361}}
    1359:1359:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    1360:1360:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    1361:1361:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    546:546:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    547:547:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1362,"2":1363,"3":1364}}
    1362:1362:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    1363:1363:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    1364:1364:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    709:761:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:214 -> a
    762:762:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1416,"2":1417,"3":1418}}
    1416:1416:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):214:214 -> a
    1417:1417:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):214:214 -> a
    1418:1418:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):214:214 -> a
    976:980:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):214:214 -> a
    989:1039:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):223:273 -> a
    1040:1056:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):272:288 -> a
    1057:1057:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1492,"2":1493,"3":1494,"4":1495,"5":1496}}
    1492:1492:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1493:1493:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1494:1494:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1495:1495:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1496:1496:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1345:1352:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:295 -> a
    1497:1497:java.util.List lambda$parse$0(java.nio.file.Path):250:250 -> a
    1498:1498:void addFeatureJar(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List):300:300 -> a
    1499:1501: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):302:302 -> a
    1503:1505: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):304:306 -> a
    1506:1509: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):305:308 -> a
    1:1:void lambda$parse$1(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List):296:296 -> b
com.android.tools.r8.R8CommandParser$ParseState -> com.android.tools.r8.Q:
    java.nio.file.Path outputPath -> c
    com.android.tools.r8.OutputMode outputMode -> b
    boolean includeDataResources -> e
    com.android.tools.r8.CompilationMode mode -> a
    boolean hasDefinedApiLevel -> d
    1:6:void <init>():55:60 -> <init>
    7:7:void <init>(com.android.tools.r8.R8CommandParser$1):55:55 -> <init>
    1:1:boolean access$100(com.android.tools.r8.R8CommandParser$ParseState):55:55 -> a
    1:1:boolean access$102(com.android.tools.r8.R8CommandParser$ParseState,boolean):55:55 -> b
com.android.tools.r8.ResourceException -> com.android.tools.r8.ResourceException:
    com.android.tools.r8.origin.Origin origin -> b
    1:2:void <init>(com.android.tools.r8.origin.Origin,java.lang.String):20:21 -> <init>
    3:4:void <init>(com.android.tools.r8.origin.Origin,java.lang.Throwable):25:26 -> <init>
    5:6:void <init>(com.android.tools.r8.origin.Origin,java.lang.String,java.lang.Throwable):30:31 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():35:35 -> getOrigin
com.android.tools.r8.ResourceShrinker -> com.android.tools.r8.ResourceShrinker:
    1:1:void <init>():96:96 -> <init>
    1:3:void run(com.android.tools.r8.ResourceShrinker$Command,com.android.tools.r8.ResourceShrinker$ReferenceChecker):478:480 -> run
    4:4:com.android.tools.r8.utils.InternalOptions com.android.tools.r8.ResourceShrinker$Command.getInternalOptions():107:107 -> run
    4:4:void run(com.android.tools.r8.ResourceShrinker$Command,com.android.tools.r8.ResourceShrinker$ReferenceChecker):481 -> run
    5:7:void run(com.android.tools.r8.ResourceShrinker$Command,com.android.tools.r8.ResourceShrinker$ReferenceChecker):481:483 -> run
com.android.tools.r8.ResourceShrinker$Builder -> com.android.tools.r8.ResourceShrinker$Builder:
    1:1:void <init>():112:112 -> <init>
    1:1:com.android.tools.r8.ResourceShrinker$Command makeCommand():121:121 -> c
    1:1:com.android.tools.r8.BaseCommand makeCommand():111 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
com.android.tools.r8.ResourceShrinker$Command -> com.android.tools.r8.ResourceShrinker$Command:
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp):102:102 -> <init>
    1:1:com.android.tools.r8.utils.InternalOptions getInternalOptions():107:107 -> b
com.android.tools.r8.ResourceShrinker$DexClassUsageVisitor -> com.android.tools.r8.T:
    com.android.tools.r8.graph.DexProgramClass classDef -> a
    com.android.tools.r8.ResourceShrinker$ReferenceChecker callback -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():155:155 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ResourceShrinker$ReferenceChecker):160:162 -> <init>
    1:7:void visit():166:172 -> a
    8:22:void processFieldValue(com.android.tools.r8.graph.DexValue):192:206 -> a
    8:22:void visit():174 -> a
    23:23:void processFieldValue(com.android.tools.r8.graph.DexValue):202:202 -> a
    23:23:void visit():174 -> a
    24:26:void visit():178:180 -> a
    27:27:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):215:215 -> a
    27:27:void visit():181 -> a
    28:28:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> a
    28:28:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):219 -> a
    28:28:void visit():181 -> a
    29:29:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList():83:83 -> a
    29:29:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):222 -> a
    29:29:void visit():181 -> a
    30:33:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):224:227 -> a
    30:33:void visit():181 -> a
    34:34:boolean isIntConstInstruction(com.android.tools.r8.code.Instruction):338:338 -> a
    34:34:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):228 -> a
    34:34:void visit():181 -> a
    35:35:void processIntConstInstruction(com.android.tools.r8.code.Instruction):348:348 -> a
    35:35:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):229 -> a
    35:35:void visit():181 -> a
    36:36:boolean isIntConstInstruction(com.android.tools.r8.code.Instruction):338:338 -> a
    36:36:void processIntConstInstruction(com.android.tools.r8.code.Instruction):348 -> a
    36:36:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):229 -> a
    36:36:void visit():181 -> a
    37:54:void processIntConstInstruction(com.android.tools.r8.code.Instruction):348:365 -> a
    37:54:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):229 -> a
    37:54:void visit():181 -> a
    55:55:void processIntConstInstruction(com.android.tools.r8.code.Instruction):362:362 -> a
    55:55:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):229 -> a
    55:55:void visit():181 -> a
    56:56:boolean isStringConstInstruction(com.android.tools.r8.code.Instruction):369:369 -> a
    56:56:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):230 -> a
    56:56:void visit():181 -> a
    57:57:void processStringConstantInstruction(com.android.tools.r8.code.Instruction):374:374 -> a
    57:57:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    57:57:void visit():181 -> a
    58:58:boolean isStringConstInstruction(com.android.tools.r8.code.Instruction):369:369 -> a
    58:58:void processStringConstantInstruction(com.android.tools.r8.code.Instruction):374 -> a
    58:58:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    58:58:void visit():181 -> a
    59:72:void processStringConstantInstruction(com.android.tools.r8.code.Instruction):374:387 -> a
    59:72:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    59:72:void visit():181 -> a
    73:73:void processStringConstantInstruction(com.android.tools.r8.code.Instruction):384:384 -> a
    73:73:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    73:73:void visit():181 -> a
    74:74:boolean isGetStatic(com.android.tools.r8.code.Instruction):391:391 -> a
    74:74:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):232 -> a
    74:74:void visit():181 -> a
    75:75:void processGetStatic(com.android.tools.r8.code.Instruction):402:402 -> a
    75:75:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):233 -> a
    75:75:void visit():181 -> a
    76:76:boolean isGetStatic(com.android.tools.r8.code.Instruction):391:391 -> a
    76:76:void processGetStatic(com.android.tools.r8.code.Instruction):402 -> a
    76:76:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):233 -> a
    76:76:void visit():181 -> a
    77:105:void processGetStatic(com.android.tools.r8.code.Instruction):402:430 -> a
    77:105:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):233 -> a
    77:105:void visit():181 -> a
    106:106:void processGetStatic(com.android.tools.r8.code.Instruction):427:427 -> a
    106:106:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):233 -> a
    106:106:void visit():181 -> a
    107:107:boolean isInvokeInstruction(com.android.tools.r8.code.Instruction):434:434 -> a
    107:107:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):234 -> a
    107:107:void visit():181 -> a
    108:108:void processInvokeInstruction(com.android.tools.r8.code.Instruction):443:443 -> a
    108:108:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    108:108:void visit():181 -> a
    109:109:boolean isInvokeInstruction(com.android.tools.r8.code.Instruction):434:434 -> a
    109:109:void processInvokeInstruction(com.android.tools.r8.code.Instruction):443 -> a
    109:109:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    109:109:void visit():181 -> a
    110:118:void processInvokeInstruction(com.android.tools.r8.code.Instruction):443:451 -> a
    110:118:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    110:118:void visit():181 -> a
    119:119:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    119:119:void processInvokeInstruction(com.android.tools.r8.code.Instruction):451 -> a
    119:119:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    119:119:void visit():181 -> a
    120:120:void processInvokeInstruction(com.android.tools.r8.code.Instruction):448:448 -> a
    120:120:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    120:120:void visit():181 -> a
    121:121:boolean isInvokeRangeInstruction(com.android.tools.r8.code.Instruction):455:455 -> a
    121:121:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):236 -> a
    121:121:void visit():181 -> a
    122:122:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):464:464 -> a
    122:122:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    122:122:void visit():181 -> a
    123:123:boolean isInvokeRangeInstruction(com.android.tools.r8.code.Instruction):455:455 -> a
    123:123:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):464 -> a
    123:123:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    123:123:void visit():181 -> a
    124:132:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):464:472 -> a
    124:132:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    124:132:void visit():181 -> a
    133:133:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    133:133:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):472 -> a
    133:133:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    133:133:void visit():181 -> a
    134:134:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):469:469 -> a
    134:134:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    134:134:void visit():181 -> a
    135:135:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):238:238 -> a
    135:135:void visit():181 -> a
    136:138:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):296:298 -> a
    136:138:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    136:138:void visit():181 -> a
    139:139:com.android.tools.r8.graph.DexType com.android.tools.r8.code.NewArray.getType():62:62 -> a
    139:139:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):299 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    139:139:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    139:139:void visit():181 -> a
    140:140:com.android.tools.r8.graph.DexType com.android.tools.r8.code.NewArray.getType():62:62 -> a
    140:140:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):299 -> a
    140:140:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    140:140:void visit():181 -> a
    141:149:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):299:307 -> a
    141:149:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    141:149:void visit():181 -> a
    150:150:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):306:306 -> a
    150:150:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    150:150:void visit():181 -> a
    151:157:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):240:246 -> a
    151:157:void visit():181 -> a
    158:163:boolean isIntArrayPayload(com.android.tools.r8.code.Instruction,java.util.Set):286:291 -> a
    158:163:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):247 -> a
    158:163:void visit():181 -> a
    164:166:void processIntArrayPayload(com.android.tools.r8.code.Instruction):278:280 -> a
    164:166:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):248 -> a
    164:166:void visit():181 -> a
    167:173:void visit():182:188 -> a
    174:174:void processAnnotations(com.android.tools.r8.graph.DexProgramClass):255:255 -> a
    175:175:java.util.stream.Stream com.android.tools.r8.graph.DexAnnotationSet.stream():98:98 -> a
    175:175:void processAnnotations(com.android.tools.r8.graph.DexProgramClass):255 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    176:176:java.util.stream.Stream com.android.tools.r8.graph.DexAnnotationSet.stream():98:98 -> a
    176:176:void processAnnotations(com.android.tools.r8.graph.DexProgramClass):255 -> a
    177:186:void processAnnotations(com.android.tools.r8.graph.DexProgramClass):257:266 -> a
    187:187:java.util.stream.Stream lambda$processAnnotations$0(com.android.tools.r8.graph.DexEncodedField):259:259 -> a
    188:188:java.util.stream.Stream lambda$processAnnotations$1(com.android.tools.r8.graph.DexEncodedMethod):263:263 -> a
    189:191:void lambda$processAnnotations$2(com.android.tools.r8.graph.DexAnnotation):268:270 -> a
    192:210:void processAnnotationValue(com.android.tools.r8.graph.DexValue):311:329 -> a
    211:211:void processAnnotationValue(com.android.tools.r8.graph.DexValue):325:325 -> a
com.android.tools.r8.StringConsumer -> com.android.tools.r8.StringConsumer:
    1:1:com.android.tools.r8.StringConsumer$EmptyConsumer emptyConsumer():47:47 -> emptyConsumer
com.android.tools.r8.StringConsumer$EmptyConsumer -> com.android.tools.r8.StringConsumer$EmptyConsumer:
    com.android.tools.r8.StringConsumer$EmptyConsumer EMPTY_CONSUMER -> a
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>():52:52 -> <init>
    1:1:com.android.tools.r8.StringConsumer$EmptyConsumer access$000():52:52 -> 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
    com.android.tools.r8.StringConsumer$WriterConsumer delegate -> d
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():94:94 -> <clinit>
    1:1:void <init>(java.nio.file.Path):104:104 -> <init>
    2:2:void <init>(java.nio.file.Path,com.android.tools.r8.StringConsumer):109:109 -> <init>
    3:15:void <init>(java.nio.file.Path,com.android.tools.r8.StringConsumer):98:110 -> <init>
    1:10:void ensureDelegate(com.android.tools.r8.DiagnosticsHandler):158:167 -> a
    11:11:void com.android.tools.r8.StringConsumer$WriterConsumer.<init>(com.android.tools.r8.origin.Origin,java.io.Writer):187:187 -> a
    11:11:void ensureDelegate(com.android.tools.r8.DiagnosticsHandler):167 -> a
    12:15:void ensureDelegate(com.android.tools.r8.DiagnosticsHandler):167:170 -> a
    1:7:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):134:140 -> accept
    1:8:void finished(com.android.tools.r8.DiagnosticsHandler):146:153 -> finished
    1:1:java.nio.charset.Charset getEncoding():129:129 -> getEncoding
    1:1:java.nio.file.Path getOutputPath():115:115 -> getOutputPath
    1:5:void setEncoding(java.nio.charset.Charset):120:124 -> setEncoding
    6:6:void setEncoding(java.nio.charset.Charset):122:122 -> setEncoding
com.android.tools.r8.StringConsumer$ForwardingConsumer -> com.android.tools.r8.StringConsumer$ForwardingConsumer:
    com.android.tools.r8.StringConsumer consumer -> a
    1:2:void <init>(com.android.tools.r8.StringConsumer):74:75 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):80:81 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):87:88 -> finished
com.android.tools.r8.StringConsumer$WriterConsumer -> com.android.tools.r8.U:
    com.android.tools.r8.origin.Origin origin -> b
    java.io.Writer writer -> c
    1:3:void <init>(com.android.tools.r8.origin.Origin,java.io.Writer,com.android.tools.r8.StringConsumer):192:194 -> <init>
    1:5:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):199:203 -> accept
    1:5:void finished(com.android.tools.r8.DiagnosticsHandler):209:213 -> finished
com.android.tools.r8.StringResource -> com.android.tools.r8.internal.CW:
    java.lang.String getString() -> a
    1:1:com.android.tools.r8.StringResource fromString(java.lang.String,com.android.tools.r8.origin.Origin):26:26 -> a
    2:2:com.android.tools.r8.StringResource fromFile(java.nio.file.Path):37:37 -> a
    3:3:com.android.tools.r8.StringResource com.android.tools.r8.StringResource.fromFile(java.nio.file.Path,java.nio.charset.Charset):49:49 -> a
    3:3:com.android.tools.r8.StringResource fromFile(java.nio.file.Path):37 -> a
com.android.tools.r8.StringResource$FileResource -> com.android.tools.r8.internal.AW:
    java.nio.charset.Charset charset -> b
    com.android.tools.r8.origin.Origin origin -> c
    java.nio.file.Path file -> a
    boolean $assertionsDisabled -> d
    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.internal.BW:
    com.android.tools.r8.origin.Origin origin -> a
    java.lang.String content -> b
    boolean $assertionsDisabled -> 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>
    1:1:java.lang.String getString():78:78 -> a
    1:1:com.android.tools.r8.origin.Origin getOrigin():73:73 -> getOrigin
com.android.tools.r8.Version -> com.android.tools.r8.Version:
    1:6:int getMajorVersion(java.lang.String):34:39 -> a
    7:7:boolean isDevelopmentVersion(java.lang.String,boolean):110:110 -> a
    1:6:int getMinorVersion(java.lang.String):52:57 -> b
    1:7:int getPatchVersion(java.lang.String):70:76 -> c
    1:8:java.lang.String getPreReleaseString(java.lang.String):90:97 -> d
    1:1:int getMajorVersion():30:30 -> getMajorVersion
    1:1:int getMinorVersion():48:48 -> getMinorVersion
    1:1:int getPatchVersion():66:66 -> getPatchVersion
    1:1:java.lang.String getPreReleaseString():86:86 -> getPreReleaseString
    1:1:java.lang.String getVersionString():0:0 -> getVersionString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":23,"2":24,"3":25}}
    23:23:java.lang.String getVersionString():21:21 -> getVersionString
    24:24:java.lang.String getVersionString():21:21 -> getVersionString
    25:25:java.lang.String getVersionString():21:21 -> getVersionString
    22:22:java.lang.String getVersionString():21:21 -> getVersionString
    1:1:boolean isDevelopmentVersion():106:106 -> isDevelopmentVersion
com.android.tools.r8.algorithms.scc.SCC -> com.android.tools.r8.internal.FT:
    java.util.Deque unassignedStack -> d
    java.util.Set unassignedSet -> c
    java.util.List components -> f
    java.util.function.Function successors -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap discoverTime -> b
    java.util.Deque preorderStack -> e
    boolean $assertionsDisabled -> h
    int currentTime -> a
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(java.util.function.Function):28:28 -> <init>
    2:12:void <init>(java.util.function.Function):19:29 -> <init>
    1:3:java.util.List computeSCC(java.lang.Object):33:35 -> a
    1:33:void dfs(java.lang.Object):39:71 -> b
com.android.tools.r8.androidapi.AndroidApiForHashingReference -> com.android.tools.r8.internal.P1:
    com.android.tools.r8.graph.DexReference reference -> a
    com.android.tools.r8.utils.AndroidApiLevel apiLevel -> b
    1:3:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.utils.AndroidApiLevel):17:19 -> <init>
    1:1:com.android.tools.r8.androidapi.AndroidApiForHashingReference create(com.android.tools.r8.graph.DexReference,com.android.tools.r8.utils.AndroidApiLevel):23:23 -> a
    2:2:com.android.tools.r8.utils.AndroidApiLevel getApiLevel():31:31 -> a
    1:1:com.android.tools.r8.graph.DexReference getReference():27:27 -> b
com.android.tools.r8.androidapi.AndroidApiLevelCompute -> com.android.tools.r8.internal.U1:
    com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel[] knownApiLevelCache -> a
    1:5:void <init>():20:24 -> <init>
    com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForLibraryReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    1:2:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel of(com.android.tools.r8.utils.AndroidApiLevel):30:31 -> a
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.platform():26:26 -> a
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel of(com.android.tools.r8.utils.AndroidApiLevel):31 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel of(com.android.tools.r8.utils.AndroidApiLevel):33:33 -> a
    5:6:com.android.tools.r8.androidapi.AndroidApiLevelCompute create(com.android.tools.r8.graph.AppView):48:49 -> a
    7:7:com.android.tools.r8.androidapi.AndroidApiLevelCompute com.android.tools.r8.androidapi.AndroidApiLevelCompute.noAndroidApiLevelCompute():54:54 -> a
    7:7:com.android.tools.r8.androidapi.AndroidApiLevelCompute create(com.android.tools.r8.graph.AppView):50 -> a
    8:9:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):58:59 -> a
    10:10:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.platform():26:26 -> a
    10:10:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):59 -> a
    11:11:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):60:60 -> a
    1:2:com.android.tools.r8.androidapi.ComputedApiLevel getPlatformApiLevelOrUnknown(com.android.tools.r8.graph.AppView):64:65 -> b
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.platform():26:26 -> b
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel getPlatformApiLevelOrUnknown(com.android.tools.r8.graph.AppView):65 -> b
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel getPlatformApiLevelOrUnknown(com.android.tools.r8.graph.AppView):67:67 -> b
    5:5:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> b
    5:5:com.android.tools.r8.androidapi.ComputedApiLevel getPlatformApiLevelOrUnknown(com.android.tools.r8.graph.AppView):67 -> b
com.android.tools.r8.androidapi.AndroidApiLevelCompute$DefaultAndroidApiLevelCompute -> com.android.tools.r8.internal.S1:
    com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache cache -> b
    com.android.tools.r8.androidapi.ComputedApiLevel minApiLevel -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView):95:97 -> <init>
    1:3:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):103:105 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache.lookupMax(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):53:53 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105 -> a
    5:5:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105:105 -> a
    6:6:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache.lookupMax(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):53:53 -> a
    6:6:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105 -> a
    7:7:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache.lookupMax(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):54:54 -> a
    7:7:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache.lookupMax(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):54:54 -> a
    8:8:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105 -> a
    9:9:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForLibraryReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):113:113 -> a
com.android.tools.r8.androidapi.AndroidApiLevelCompute$NoAndroidApiLevelCompute -> com.android.tools.r8.internal.T1:
    1:1:void <init>():70:70 -> <init>
    com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForLibraryReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):86:86 -> a
    2:2:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    2:2:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):86 -> a
com.android.tools.r8.androidapi.AndroidApiLevelDatabase -> com.android.tools.r8.internal.V1:
    com.android.tools.r8.utils.AndroidApiLevel getFieldApiLevel(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.utils.AndroidApiLevel getMethodApiLevel(com.android.tools.r8.graph.DexMethod) -> a
    com.android.tools.r8.utils.AndroidApiLevel getTypeApiLevel(com.android.tools.r8.graph.DexType) -> a
com.android.tools.r8.androidapi.AndroidApiLevelDatabaseHelper -> com.android.tools.r8.internal.W1:
    1:3:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):19:21 -> a
    4:9:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):20:25 -> a
    10:10:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):24:24 -> a
    11:17:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):23:29 -> a
    18:18:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):28:28 -> a
    19:26:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):27:34 -> a
    27:27:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):32:32 -> a
    28:36:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):31:39 -> a
    37:37:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):38:38 -> a
    38:45:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):37:44 -> a
    46:46:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):42:42 -> a
    47:60:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):41:54 -> a
    61:61:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):53:53 -> a
    62:69:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):52:59 -> a
    70:70:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):57:57 -> a
    71:79:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):56:64 -> a
    80:80:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):63:63 -> a
    81:88:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):62:69 -> a
    89:89:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):67:67 -> a
    90:99:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):66:75 -> a
    100:100:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):73:73 -> a
    101:110:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):72:81 -> a
    111:111:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):79:79 -> a
    112:120:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):78:86 -> a
    121:121:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):85:85 -> a
    122:128:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):84:90 -> a
    129:129:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):89:89 -> a
    130:137:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):88:95 -> a
    138:138:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):93:93 -> a
    139:146:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):92:99 -> a
    147:147:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):98:98 -> a
com.android.tools.r8.androidapi.AndroidApiLevelHashingDatabaseImpl -> com.android.tools.r8.internal.X1:
    java.util.Map ambiguousHashesWithApiLevel -> b
    java.util.Map ambiguousCache -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap lookupNonAmbiguousCache -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.util.List):44:44 -> <init>
    2:22:void <init>(java.util.List):38:58 -> <init>
    23:23:void <init>(java.util.List):57:57 -> <init>
    1:1:com.android.tools.r8.utils.structural.HasherWrapper com.android.tools.r8.utils.structural.HasherWrapper.murmur3128Hasher():37:37 -> a
    1:1:com.android.tools.r8.utils.structural.HasherWrapper getDefaultHasher():35 -> a
    2:8:void lambda$new$0(com.android.tools.r8.androidapi.AndroidApiForHashingReference):48:54 -> a
    9:9:void lambda$new$0(com.android.tools.r8.androidapi.AndroidApiForHashingReference):53:53 -> a
    10:10:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):85:85 -> a
    11:16:void parseAmbiguous(java.lang.String):102:107 -> a
    17:17:void parseAmbiguous(java.lang.String):106:106 -> a
    18:18:void parseAmbiguous(java.lang.String):104:104 -> a
    19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    19:19:void parseAmbiguous(java.lang.String):104 -> a
    20:20:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    20:20:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    20:20:void parseAmbiguous(java.lang.String):104 -> a
    21:21:void parseAmbiguous(java.lang.String):104:104 -> a
    22:22:com.android.tools.r8.utils.AndroidApiLevel getTypeApiLevel(com.android.tools.r8.graph.DexType):112:112 -> a
    23:23:com.android.tools.r8.utils.AndroidApiLevel getMethodApiLevel(com.android.tools.r8.graph.DexMethod):117:117 -> a
    24:24:com.android.tools.r8.utils.AndroidApiLevel getFieldApiLevel(com.android.tools.r8.graph.DexField):122:122 -> a
    25:30:com.android.tools.r8.utils.AndroidApiLevel lookupApiLevel(com.android.tools.r8.graph.DexReference):128:133 -> a
    31:41:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):136:146 -> a
    42:42:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":194,"2":195,"3":196}}
    194:194:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):146:146 -> a
    195:195:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):146:146 -> a
    196:196:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):146:146 -> a
    190:190:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):148:148 -> a
    191:191:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    191:191:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):148 -> a
    192:192:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    192:192:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    192:192:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):148 -> a
    193:193:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):148:148 -> a
    197:197:void lambda$lookupApiLevel$2(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.graph.DexType):138:138 -> a
    198:198:void lambda$lookupApiLevel$3(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.graph.DexField):140:140 -> a
    199:199:void lambda$lookupApiLevel$4(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.graph.DexMethod):142:142 -> a
    1:1:boolean lambda$new$1(com.android.tools.r8.androidapi.AndroidApiForHashingReference):58:58 -> b
    2:28:void loadData():66:92 -> b
    29:32:void loadData():91:94 -> b
    33:54:void loadData():65:65 -> b
    74:74:void loadData():85:85 -> b
    75:96:void loadData():65:65 -> b
    116:116:void loadData():85:85 -> b
    117:138:void loadData():65:86 -> b
com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache -> com.android.tools.r8.internal.Z1:
    com.android.tools.r8.graph.DexItemFactory factory -> d
    com.android.tools.r8.graph.AppView appView -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.androidapi.AndroidApiLevelDatabase androidApiLevelDatabase -> b
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,java.util.List):28:32 -> <init>
    1:6:com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):38:43 -> a
    7:13:com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):42:48 -> a
    14:50:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):58:94 -> a
    51:51:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    51:51:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):94 -> a
    52:61:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):94:103 -> a
    62:62:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):66:66 -> a
com.android.tools.r8.androidapi.ApiReferenceStubber -> com.android.tools.r8.internal.m2:
    java.util.Map libraryClassesToMock -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set seenTypes -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):115:115 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView):110:117 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.androidapi.ApiReferenceStubber):37:37 -> a
    2:2:void access$100(com.android.tools.r8.androidapi.ApiReferenceStubber,com.android.tools.r8.graph.DexType):37:37 -> a
    3:3:void access$200(com.android.tools.r8.androidapi.ApiReferenceStubber,com.android.tools.r8.graph.DexMethod):37:37 -> a
    4:4:void run(java.util.concurrent.ExecutorService):121:121 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    5:5:void run(java.util.concurrent.ExecutorService):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    6:6:void run(java.util.concurrent.ExecutorService):121 -> a
    7:23:void run(java.util.concurrent.ExecutorService):121:137 -> a
    24:24:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    24:24:void run(java.util.concurrent.ExecutorService):137 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    25:25:void run(java.util.concurrent.ExecutorService):137 -> a
    26:28:void run(java.util.concurrent.ExecutorService):138:140 -> a
    29:34:void run(java.util.concurrent.ExecutorService):139:144 -> a
    35:39:void lambda$run$0(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):131:131 -> a
    40:46:void processClass(com.android.tools.r8.graph.DexProgramClass):149:155 -> a
    47:47:void lambda$processClass$1(com.android.tools.r8.graph.ProgramMethod):157:157 -> a
    48:52:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):161:165 -> a
    53:53:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":238,"2":239,"3":240}}
    238:238:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):165:165 -> a
    239:239:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    239:239:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):165 -> a
    240:240:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    240:240:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):165 -> a
    219:219:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):166:166 -> a
    220:220:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    220:220:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):167 -> a
    221:222:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):170:171 -> a
    223:223:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    223:223:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):171 -> a
    224:226:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):171:173 -> a
    227:227:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    227:227:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):175 -> a
    228:237:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):174:183 -> a
    241:246:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):189:194 -> a
    247:247:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    247:247:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):198 -> a
    248:250:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):199:201 -> a
    251:251:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    251:251:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):201 -> a
    252:257:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):200:205 -> a
    258:262:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):204:208 -> a
    263:263:java.util.Set lambda$findReferencedLibraryClasses$3(com.android.tools.r8.graph.DexLibraryClass):205:205 -> a
    264:281:void mockMissingLibraryClass(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode):216:233 -> a
    282:282:void mockMissingLibraryClass(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode):229:229 -> a
    283:287:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):236:240 -> a
    288:288:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):239:239 -> a
    289:294:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):238:243 -> a
    295:295:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    295:295:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):245 -> a
    296:303:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):246:253 -> a
    304:304:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):252:252 -> a
    305:312:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):251:258 -> a
    313:313:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    313:313:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    314:314:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    314:314:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    315:315:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):257:257 -> a
    316:316:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.graph.MethodAccessFlags.createForClassInitializer():79:79 -> a
    316:316:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):259 -> a
    317:319:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):259:261 -> a
    320:327:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):255:262 -> a
    328:329:java.util.List buildLibraryMethodsForProgram(com.android.tools.r8.graph.DexLibraryClass,java.lang.Iterable,java.util.Set):268:269 -> a
    330:333:void lambda$buildLibraryMethodsForProgram$5(java.util.Set,com.android.tools.r8.graph.DexLibraryClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):271:274 -> a
    334:337:com.android.tools.r8.graph.DexEncodedMethod buildLibraryMethodForProgram(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedMethod):283:283 -> a
    340:355:com.android.tools.r8.graph.DexEncodedMethod buildLibraryMethodForProgram(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedMethod):286:301 -> a
    1:1:java.util.Set lambda$findReferencedLibraryMethod$2(com.android.tools.r8.graph.DexLibraryClass):182:182 -> b
com.android.tools.r8.androidapi.ApiReferenceStubber$ReferencesToApiLevelUseRegistry -> com.android.tools.r8.internal.l2:
    com.android.tools.r8.androidapi.ApiReferenceStubber this$0 -> e
    1:2:void <init>(com.android.tools.r8.androidapi.ApiReferenceStubber,com.android.tools.r8.graph.ProgramMethod):41:42 -> <init>
    1:1:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):57:57 -> a
    2:2:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):77:77 -> a
    3:3:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):101:101 -> a
    4:4:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111}}
    109:109:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):101:101 -> a
    110:110:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    110:110:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):101 -> a
    111:111:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    111:111:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):101 -> a
    106:108:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):102:104 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):47:47 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):67:67 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):82:82 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):62:62 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):87:87 -> e
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):72:72 -> f
    2:2:void registerTypeReference(com.android.tools.r8.graph.DexType):97:97 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):52:52 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):92:92 -> g
com.android.tools.r8.androidapi.AvailableApiExceptions -> com.android.tools.r8.internal.Y3:
    java.util.Set exceptions -> a
    boolean $assertionsDisabled -> b
    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
    2:3:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):39:40 -> a
    4:4:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2990,"2":2991,"3":2992,"4":2993,"5":2994,"6":2995}}
    2990:2990:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):41:41 -> a
    2991:2991:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):41:41 -> a
    2992:2992:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):42:42 -> a
    2993:2993:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):42:42 -> a
    2994:2994:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):43:43 -> a
    2995:2995:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):43:43 -> a
    5:5:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2996,"2":2997,"3":2998,"4":2999,"5":3000,"6":3001}}
    2996:2996:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):44:44 -> a
    2997:2997:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):44:44 -> a
    2998:2998:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):45:45 -> a
    2999:2999:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):45:45 -> a
    3000:3000:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):46:46 -> a
    3001:3001:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):46:46 -> a
    6:6:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3002,"2":3003,"3":3004,"4":3005,"5":3006,"6":3007}}
    3002:3002:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):47:47 -> a
    3003:3003:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):47:47 -> a
    3004:3004:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):48:48 -> a
    3005:3005:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):48:48 -> a
    3006:3006:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):49:49 -> a
    3007:3007:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):49:49 -> a
    7:7:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3008,"2":3009,"3":3010,"4":3011,"5":3012,"6":3013}}
    3008:3008:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):50:50 -> a
    3009:3009:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):50:50 -> a
    3010:3010:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):51:51 -> a
    3011:3011:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):51:51 -> a
    3012:3012:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):52:52 -> a
    3013:3013:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):52:52 -> a
    8:8:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3014,"2":3015,"3":3016,"4":3017,"5":3018,"6":3019}}
    3014:3014:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):53:53 -> a
    3015:3015:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):53:53 -> a
    3016:3016:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):54:54 -> a
    3017:3017:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):54:54 -> a
    3018:3018:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):55:55 -> a
    3019:3019:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):55:55 -> a
    9:9:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3020,"2":3021,"3":3022,"4":3023,"5":3024,"6":3025}}
    3020:3020:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):56:56 -> a
    3021:3021:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):56:56 -> a
    3022:3022:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):57:57 -> a
    3023:3023:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):57:57 -> a
    3024:3024:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):58:58 -> a
    3025:3025:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):58:58 -> a
    10:10:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3026,"2":3027,"3":3028,"4":3029,"5":3030,"6":3031}}
    3026:3026:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):59:59 -> a
    3027:3027:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):59:59 -> a
    3028:3028:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):60:60 -> a
    3029:3029:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):60:60 -> a
    3030:3030:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):61:61 -> a
    3031:3031:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):61:61 -> a
    11:11:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3032,"2":3033,"3":3034,"4":3035,"5":3036,"6":3037}}
    3032:3032:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):62:62 -> a
    3033:3033:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):62:62 -> a
    3034:3034:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):63:63 -> a
    3035:3035:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):63:63 -> a
    3036:3036:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):64:64 -> a
    3037:3037:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):64:64 -> a
    12:12:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3038,"2":3039,"3":3040,"4":3041,"5":3042,"6":3043}}
    3038:3038:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):65:65 -> a
    3039:3039:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):65:65 -> a
    3040:3040:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):66:66 -> a
    3041:3041:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):66:66 -> a
    3042:3042:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):67:67 -> a
    3043:3043:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):67:67 -> a
    13:13:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3044,"2":3045,"3":3046,"4":3047,"5":3048,"6":3049}}
    3044:3044:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):68:68 -> a
    3045:3045:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):68:68 -> a
    3046:3046:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):69:69 -> a
    3047:3047:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):69:69 -> a
    3048:3048:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):70:70 -> a
    3049:3049:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):70:70 -> a
    14:14:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3050,"2":3051,"3":3052,"4":3053,"5":3054,"6":3055}}
    3050:3050:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):71:71 -> a
    3051:3051:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):71:71 -> a
    3052:3052:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):72:72 -> a
    3053:3053:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):72:72 -> a
    3054:3054:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):73:73 -> a
    3055:3055:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):73:73 -> a
    15:15:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3056,"2":3057,"3":3058,"4":3059,"5":3060,"6":3061}}
    3056:3056:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):74:74 -> a
    3057:3057:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):74:74 -> a
    3058:3058:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):75:75 -> a
    3059:3059:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):75:75 -> a
    3060:3060:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):76:76 -> a
    3061:3061:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):76:76 -> a
    16:16:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3062,"2":3063,"3":3064,"4":3065,"5":3066,"6":3067}}
    3062:3062:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):77:77 -> a
    3063:3063:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):77:77 -> a
    3064:3064:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):78:78 -> a
    3065:3065:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):78:78 -> a
    3066:3066:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):79:79 -> a
    3067:3067:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):79:79 -> a
    17:17:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3068,"2":3069,"3":3070,"4":3071,"5":3072,"6":3073}}
    3068:3068:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):80:80 -> a
    3069:3069:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):80:80 -> a
    3070:3070:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):81:81 -> a
    3071:3071:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):81:81 -> a
    3072:3072:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):82:82 -> a
    3073:3073:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):82:82 -> a
    18:18:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3074,"2":3075,"3":3076,"4":3077,"5":3078,"6":3079}}
    3074:3074:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):83:83 -> a
    3075:3075:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):83:83 -> a
    3076:3076:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):84:84 -> a
    3077:3077:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):84:84 -> a
    3078:3078:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):85:85 -> a
    3079:3079:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):85:85 -> a
    19:19:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3080,"2":3081,"3":3082,"4":3083,"5":3084,"6":3085}}
    3080:3080:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):86:86 -> a
    3081:3081:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):86:86 -> a
    3082:3082:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):87:87 -> a
    3083:3083:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):87:87 -> a
    3084:3084:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):88:88 -> a
    3085:3085:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):88:88 -> a
    20:20:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3086,"2":3087,"3":3088,"4":3089,"5":3090,"6":3091}}
    3086:3086:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):89:89 -> a
    3087:3087:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):89:89 -> a
    3088:3088:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):90:90 -> a
    3089:3089:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):90:90 -> a
    3090:3090:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):91:91 -> a
    3091:3091:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):91:91 -> a
    21:21:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3092,"2":3093,"3":3094,"4":3095,"5":3096,"6":3097}}
    3092:3092:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):92:92 -> a
    3093:3093:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):92:92 -> a
    3094:3094:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):93:93 -> a
    3095:3095:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):93:93 -> a
    3096:3096:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):94:94 -> a
    3097:3097:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):94:94 -> a
    22:22:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3098,"2":3099,"3":3100,"4":3101,"5":3102,"6":3103}}
    3098:3098:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):95:95 -> a
    3099:3099:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):95:95 -> a
    3100:3100:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):96:96 -> a
    3101:3101:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):96:96 -> a
    3102:3102:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):97:97 -> a
    3103:3103:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):97:97 -> a
    23:23:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3104,"2":3105,"3":3106,"4":3107,"5":3108,"6":3109}}
    3104:3104:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):98:98 -> a
    3105:3105:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):98:98 -> a
    3106:3106:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):99:99 -> a
    3107:3107:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):99:99 -> a
    3108:3108:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):100:100 -> a
    3109:3109:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):100:100 -> a
    24:24:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3110,"2":3111,"3":3112,"4":3113,"5":3114,"6":3115}}
    3110:3110:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):101:101 -> a
    3111:3111:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):101:101 -> a
    3112:3112:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):102:102 -> a
    3113:3113:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):102:102 -> a
    3114:3114:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):103:103 -> a
    3115:3115:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):103:103 -> a
    25:25:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3116,"2":3117,"3":3118,"4":3119,"5":3120,"6":3121}}
    3116:3116:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):104:104 -> a
    3117:3117:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):104:104 -> a
    3118:3118:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):105:105 -> a
    3119:3119:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):105:105 -> a
    3120:3120:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):106:106 -> a
    3121:3121:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):106:106 -> a
    26:26:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3122,"2":3123,"3":3124,"4":3125,"5":3126,"6":3127}}
    3122:3122:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):107:107 -> a
    3123:3123:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):107:107 -> a
    3124:3124:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):108:108 -> a
    3125:3125:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):108:108 -> a
    3126:3126:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):109:109 -> a
    3127:3127:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):109:109 -> a
    27:27:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3128,"2":3129,"3":3130,"4":3131,"5":3132,"6":3133}}
    3128:3128:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):110:110 -> a
    3129:3129:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):110:110 -> a
    3130:3130:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):111:111 -> a
    3131:3131:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):111:111 -> a
    3132:3132:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):112:112 -> a
    3133:3133:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):112:112 -> a
    28:28:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3134,"2":3135,"3":3136,"4":3137,"5":3138,"6":3139}}
    3134:3134:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):113:113 -> a
    3135:3135:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):113:113 -> a
    3136:3136:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):114:114 -> a
    3137:3137:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):114:114 -> a
    3138:3138:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):115:115 -> a
    3139:3139:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):115:115 -> a
    29:29:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3140,"2":3141,"3":3142,"4":3143,"5":3144,"6":3145}}
    3140:3140:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):116:116 -> a
    3141:3141:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):116:116 -> a
    3142:3142:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):117:117 -> a
    3143:3143:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):117:117 -> a
    3144:3144:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):118:118 -> a
    3145:3145:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):118:118 -> a
    30:30:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3146,"2":3147,"3":3148,"4":3149,"5":3150,"6":3151}}
    3146:3146:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):119:119 -> a
    3147:3147:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):119:119 -> a
    3148:3148:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):120:120 -> a
    3149:3149:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):120:120 -> a
    3150:3150:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):121:121 -> a
    3151:3151:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):121:121 -> a
    31:31:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3152,"2":3153,"3":3154,"4":3155,"5":3156,"6":3157}}
    3152:3152:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):122:122 -> a
    3153:3153:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):122:122 -> a
    3154:3154:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):123:123 -> a
    3155:3155:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):123:123 -> a
    3156:3156:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):124:124 -> a
    3157:3157:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):124:124 -> a
    32:32:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3158,"2":3159,"3":3160,"4":3161,"5":3162,"6":3163}}
    3158:3158:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):125:125 -> a
    3159:3159:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):125:125 -> a
    3160:3160:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):126:126 -> a
    3161:3161:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):126:126 -> a
    3162:3162:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):127:127 -> a
    3163:3163:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):127:127 -> a
    33:33:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3164,"2":3165,"3":3166,"4":3167,"5":3168,"6":3169}}
    3164:3164:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):128:128 -> a
    3165:3165:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):128:128 -> a
    3166:3166:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):129:129 -> a
    3167:3167:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):129:129 -> a
    3168:3168:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):130:130 -> a
    3169:3169:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):130:130 -> a
    34:34:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3170,"2":3171,"3":3172,"4":3173,"5":3174,"6":3175}}
    3170:3170:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):131:131 -> a
    3171:3171:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):131:131 -> a
    3172:3172:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):132:132 -> a
    3173:3173:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):132:132 -> a
    3174:3174:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):133:133 -> a
    3175:3175:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):133:133 -> a
    35:35:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3176,"2":3177,"3":3178,"4":3179,"5":3180,"6":3181}}
    3176:3176:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):134:134 -> a
    3177:3177:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):134:134 -> a
    3178:3178:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):135:135 -> a
    3179:3179:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):135:135 -> a
    3180:3180:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):136:136 -> a
    3181:3181:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):136:136 -> a
    36:36:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3182,"2":3183,"3":3184,"4":3185,"5":3186,"6":3187}}
    3182:3182:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):137:137 -> a
    3183:3183:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):137:137 -> a
    3184:3184:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):138:138 -> a
    3185:3185:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):138:138 -> a
    3186:3186:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):139:139 -> a
    3187:3187:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):139:139 -> a
    37:37:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3188,"2":3189,"3":3190,"4":3191,"5":3192,"6":3193}}
    3188:3188:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):140:140 -> a
    3189:3189:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):140:140 -> a
    3190:3190:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):141:141 -> a
    3191:3191:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):141:141 -> a
    3192:3192:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):142:142 -> a
    3193:3193:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):142:142 -> a
    38:38:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3194,"2":3195,"3":3196,"4":3197,"5":3198,"6":3199}}
    3194:3194:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):143:143 -> a
    3195:3195:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):143:143 -> a
    3196:3196:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):144:144 -> a
    3197:3197:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):144:144 -> a
    3198:3198:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):145:145 -> a
    3199:3199:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):145:145 -> a
    39:39:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3200,"2":3201,"3":3202,"4":3203,"5":3204,"6":3205}}
    3200:3200:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):146:146 -> a
    3201:3201:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):146:146 -> a
    3202:3202:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):147:147 -> a
    3203:3203:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):147:147 -> a
    3204:3204:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):148:148 -> a
    3205:3205:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):148:148 -> a
    40:40:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3206,"2":3207,"3":3208,"4":3209,"5":3210,"6":3211}}
    3206:3206:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):149:149 -> a
    3207:3207:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):149:149 -> a
    3208:3208:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):150:150 -> a
    3209:3209:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):150:150 -> a
    3210:3210:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):151:151 -> a
    3211:3211:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):151:151 -> a
    41:41:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3212,"2":3213,"3":3214,"4":3215,"5":3216,"6":3217}}
    3212:3212:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):152:152 -> a
    3213:3213:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):152:152 -> a
    3214:3214:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):153:153 -> a
    3215:3215:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):153:153 -> a
    3216:3216:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):154:154 -> a
    3217:3217:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):154:154 -> a
    42:42:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3218,"2":3219,"3":3220,"4":3221,"5":3222,"6":3223}}
    3218:3218:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):155:155 -> a
    3219:3219:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):155:155 -> a
    3220:3220:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):156:156 -> a
    3221:3221:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):156:156 -> a
    3222:3222:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):157:157 -> a
    3223:3223:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):157:157 -> a
    43:43:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3224,"2":3225,"3":3226,"4":3227,"5":3228,"6":3229}}
    3224:3224:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):158:158 -> a
    3225:3225:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):158:158 -> a
    3226:3226:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):159:159 -> a
    3227:3227:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):159:159 -> a
    3228:3228:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):160:160 -> a
    3229:3229:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):160:160 -> a
    44:44:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3230,"2":3231,"3":3232,"4":3233,"5":3234,"6":3235}}
    3230:3230:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):161:161 -> a
    3231:3231:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):161:161 -> a
    3232:3232:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):162:162 -> a
    3233:3233:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):162:162 -> a
    3234:3234:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):163:163 -> a
    3235:3235:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):163:163 -> a
    45:45:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3236,"2":3237,"3":3238,"4":3239,"5":3240,"6":3241}}
    3236:3236:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):164:164 -> a
    3237:3237:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):164:164 -> a
    3238:3238:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):165:165 -> a
    3239:3239:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):165:165 -> a
    3240:3240:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):166:166 -> a
    3241:3241:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):166:166 -> a
    46:46:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3242,"2":3243,"3":3244,"4":3245,"5":3246,"6":3247}}
    3242:3242:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):167:167 -> a
    3243:3243:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):167:167 -> a
    3244:3244:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):168:168 -> a
    3245:3245:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):168:168 -> a
    3246:3246:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):169:169 -> a
    3247:3247:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):169:169 -> a
    47:47:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3248,"2":3249,"3":3250,"4":3251,"5":3252,"6":3253}}
    3248:3248:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):170:170 -> a
    3249:3249:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):170:170 -> a
    3250:3250:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):171:171 -> a
    3251:3251:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):171:171 -> a
    3252:3252:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):172:172 -> a
    3253:3253:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):172:172 -> a
    48:48:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3254,"2":3255,"3":3256,"4":3257,"5":3258,"6":3259}}
    3254:3254:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):173:173 -> a
    3255:3255:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):173:173 -> a
    3256:3256:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):174:174 -> a
    3257:3257:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):174:174 -> a
    3258:3258:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):175:175 -> a
    3259:3259:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):175:175 -> a
    49:49:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3260,"2":3261,"3":3262,"4":3263,"5":3264,"6":3265}}
    3260:3260:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):176:176 -> a
    3261:3261:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):176:176 -> a
    3262:3262:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):177:177 -> a
    3263:3263:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):177:177 -> a
    3264:3264:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):178:178 -> a
    3265:3265:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):178:178 -> a
    50:50:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3266,"2":3267,"3":3268,"4":3269,"5":3270,"6":3271}}
    3266:3266:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):179:179 -> a
    3267:3267:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):179:179 -> a
    3268:3268:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):180:180 -> a
    3269:3269:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):180:180 -> a
    3270:3270:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):181:181 -> a
    3271:3271:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):181:181 -> a
    51:51:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3272,"2":3273,"3":3274,"4":3275,"5":3276,"6":3277}}
    3272:3272:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):182:182 -> a
    3273:3273:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):182:182 -> a
    3274:3274:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):183:183 -> a
    3275:3275:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):183:183 -> a
    3276:3276:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):184:184 -> a
    3277:3277:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):184:184 -> a
    52:52:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3278,"2":3279,"3":3280,"4":3281,"5":3282,"6":3283}}
    3278:3278:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):185:185 -> a
    3279:3279:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):185:185 -> a
    3280:3280:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):186:186 -> a
    3281:3281:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):186:186 -> a
    3282:3282:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):187:187 -> a
    3283:3283:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):187:187 -> a
    53:53:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3284,"2":3285,"3":3286,"4":3287,"5":3288,"6":3289}}
    3284:3284:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):188:188 -> a
    3285:3285:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):188:188 -> a
    3286:3286:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):189:189 -> a
    3287:3287:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):189:189 -> a
    3288:3288:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):190:190 -> a
    3289:3289:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):190:190 -> a
    54:54:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3290,"2":3291,"3":3292,"4":3293,"5":3294,"6":3295}}
    3290:3290:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):191:191 -> a
    3291:3291:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):191:191 -> a
    3292:3292:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):192:192 -> a
    3293:3293:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):192:192 -> a
    3294:3294:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):193:193 -> a
    3295:3295:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):193:193 -> a
    55:55:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3296,"2":3297,"3":3298,"4":3299,"5":3300,"6":3301}}
    3296:3296:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):194:194 -> a
    3297:3297:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):194:194 -> a
    3298:3298:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):195:195 -> a
    3299:3299:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):195:195 -> a
    3300:3300:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):196:196 -> a
    3301:3301:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):196:196 -> a
    56:56:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3302,"2":3303,"3":3304,"4":3305,"5":3306,"6":3307}}
    3302:3302:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):197:197 -> a
    3303:3303:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):197:197 -> a
    3304:3304:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):198:198 -> a
    3305:3305:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):198:198 -> a
    3306:3306:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):199:199 -> a
    3307:3307:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):199:199 -> a
    57:57:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3308,"2":3309,"3":3310,"4":3311,"5":3312,"6":3313}}
    3308:3308:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):200:200 -> a
    3309:3309:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):200:200 -> a
    3310:3310:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):201:201 -> a
    3311:3311:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):201:201 -> a
    3312:3312:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):202:202 -> a
    3313:3313:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):202:202 -> a
    58:58:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3314,"2":3315,"3":3316,"4":3317,"5":3318,"6":3319}}
    3314:3314:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):203:203 -> a
    3315:3315:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):203:203 -> a
    3316:3316:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):204:204 -> a
    3317:3317:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):204:204 -> a
    3318:3318:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):205:205 -> a
    3319:3319:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):205:205 -> a
    59:59:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3320,"2":3321,"3":3322,"4":3323,"5":3324,"6":3325}}
    3320:3320:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):206:206 -> a
    3321:3321:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):206:206 -> a
    3322:3322:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):207:207 -> a
    3323:3323:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):207:207 -> a
    3324:3324:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):208:208 -> a
    3325:3325:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):208:208 -> a
    60:60:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3326,"2":3327,"3":3328,"4":3329,"5":3330,"6":3331}}
    3326:3326:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):209:209 -> a
    3327:3327:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):209:209 -> a
    3328:3328:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):210:210 -> a
    3329:3329:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):210:210 -> a
    3330:3330:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):211:211 -> a
    3331:3331:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):211:211 -> a
    61:61:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3332,"2":3333,"3":3334,"4":3335,"5":3336,"6":3337}}
    3332:3332:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):212:212 -> a
    3333:3333:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):212:212 -> a
    3334:3334:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):213:213 -> a
    3335:3335:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):213:213 -> a
    3336:3336:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):214:214 -> a
    3337:3337:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):214:214 -> a
    62:62:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3338,"2":3339,"3":3340,"4":3341,"5":3342,"6":3343}}
    3338:3338:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):215:215 -> a
    3339:3339:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):215:215 -> a
    3340:3340:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):216:216 -> a
    3341:3341:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):216:216 -> a
    3342:3342:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):217:217 -> a
    3343:3343:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):217:217 -> a
    63:63:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3344,"2":3345,"3":3346,"4":3347,"5":3348,"6":3349}}
    3344:3344:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):218:218 -> a
    3345:3345:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):218:218 -> a
    3346:3346:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):219:219 -> a
    3347:3347:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):219:219 -> a
    3348:3348:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):220:220 -> a
    3349:3349:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):220:220 -> a
    64:64:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3350,"2":3351,"3":3352,"4":3353,"5":3354,"6":3355}}
    3350:3350:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):221:221 -> a
    3351:3351:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):221:221 -> a
    3352:3352:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):222:222 -> a
    3353:3353:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):222:222 -> a
    3354:3354:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):223:223 -> a
    3355:3355:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):223:223 -> a
    65:65:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3356,"2":3357,"3":3358,"4":3359,"5":3360,"6":3361}}
    3356:3356:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):224:224 -> a
    3357:3357:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):224:224 -> a
    3358:3358:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):225:225 -> a
    3359:3359:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):225:225 -> a
    3360:3360:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):226:226 -> a
    3361:3361:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):226:226 -> a
    66:66:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3362,"2":3363,"3":3364,"4":3365,"5":3366,"6":3367}}
    3362:3362:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):227:227 -> a
    3363:3363:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):227:227 -> a
    3364:3364:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):228:228 -> a
    3365:3365:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):228:228 -> a
    3366:3366:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):229:229 -> a
    3367:3367:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):229:229 -> a
    67:67:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3368,"2":3369,"3":3370,"4":3371,"5":3372,"6":3373}}
    3368:3368:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):230:230 -> a
    3369:3369:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):230:230 -> a
    3370:3370:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):231:231 -> a
    3371:3371:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):231:231 -> a
    3372:3372:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):232:232 -> a
    3373:3373:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):232:232 -> a
    68:68:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3374,"2":3375,"3":3376,"4":3377,"5":3378,"6":3379}}
    3374:3374:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):233:233 -> a
    3375:3375:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):233:233 -> a
    3376:3376:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):234:234 -> a
    3377:3377:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):234:234 -> a
    3378:3378:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):235:235 -> a
    3379:3379:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):235:235 -> a
    69:69:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3380,"2":3381,"3":3382,"4":3383,"5":3384,"6":3385}}
    3380:3380:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):236:236 -> a
    3381:3381:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):236:236 -> a
    3382:3382:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):237:237 -> a
    3383:3383:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):237:237 -> a
    3384:3384:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):238:238 -> a
    3385:3385:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):238:238 -> a
    70:70:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3386,"2":3387,"3":3388,"4":3389,"5":3390,"6":3391}}
    3386:3386:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):239:239 -> a
    3387:3387:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):239:239 -> a
    3388:3388:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):240:240 -> a
    3389:3389:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):240:240 -> a
    3390:3390:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):241:241 -> a
    3391:3391:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):241:241 -> a
    71:71:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3392,"2":3393,"3":3394,"4":3395,"5":3396,"6":3397}}
    3392:3392:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):242:242 -> a
    3393:3393:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):242:242 -> a
    3394:3394:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):243:243 -> a
    3395:3395:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):243:243 -> a
    3396:3396:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):244:244 -> a
    3397:3397:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):244:244 -> a
    72:72:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3398,"2":3399,"3":3400,"4":3401,"5":3402,"6":3403}}
    3398:3398:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):245:245 -> a
    3399:3399:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):245:245 -> a
    3400:3400:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):246:246 -> a
    3401:3401:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):246:246 -> a
    3402:3402:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):247:247 -> a
    3403:3403:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):247:247 -> a
    73:73:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3404,"2":3405,"3":3406,"4":3407,"5":3408,"6":3409}}
    3404:3404:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):248:248 -> a
    3405:3405:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):248:248 -> a
    3406:3406:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):249:249 -> a
    3407:3407:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):249:249 -> a
    3408:3408:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):250:250 -> a
    3409:3409:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):250:250 -> a
    74:74:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3410,"2":3411,"3":3412,"4":3413,"5":3414,"6":3415}}
    3410:3410:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):251:251 -> a
    3411:3411:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):251:251 -> a
    3412:3412:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):252:252 -> a
    3413:3413:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):252:252 -> a
    3414:3414:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):253:253 -> a
    3415:3415:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):253:253 -> a
    75:75:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3416,"2":3417,"3":3418,"4":3419,"5":3420,"6":3421}}
    3416:3416:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):254:254 -> a
    3417:3417:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):254:254 -> a
    3418:3418:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):255:255 -> a
    3419:3419:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):255:255 -> a
    3420:3420:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):256:256 -> a
    3421:3421:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):256:256 -> a
    76:76:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3422,"2":3423,"3":3424,"4":3425,"5":3426,"6":3427}}
    3422:3422:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):257:257 -> a
    3423:3423:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):257:257 -> a
    3424:3424:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):258:258 -> a
    3425:3425:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):258:258 -> a
    3426:3426:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):259:259 -> a
    3427:3427:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):259:259 -> a
    77:77:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3428,"2":3429,"3":3430,"4":3431,"5":3432,"6":3433}}
    3428:3428:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):260:260 -> a
    3429:3429:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):260:260 -> a
    3430:3430:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):261:261 -> a
    3431:3431:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):261:261 -> a
    3432:3432:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):262:262 -> a
    3433:3433:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):262:262 -> a
    78:78:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3434,"2":3435,"3":3436,"4":3437,"5":3438,"6":3439}}
    3434:3434:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):263:263 -> a
    3435:3435:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):263:263 -> a
    3436:3436:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):264:264 -> a
    3437:3437:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):264:264 -> a
    3438:3438:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):265:265 -> a
    3439:3439:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):265:265 -> a
    79:79:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3440,"2":3441,"3":3442,"4":3443,"5":3444,"6":3445}}
    3440:3440:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):266:266 -> a
    3441:3441:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):266:266 -> a
    3442:3442:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):267:267 -> a
    3443:3443:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):267:267 -> a
    3444:3444:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):268:268 -> a
    3445:3445:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):268:268 -> a
    80:80:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3446,"2":3447,"3":3448,"4":3449,"5":3450,"6":3451}}
    3446:3446:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):269:269 -> a
    3447:3447:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):269:269 -> a
    3448:3448:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):270:270 -> a
    3449:3449:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):270:270 -> a
    3450:3450:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):271:271 -> a
    3451:3451:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):271:271 -> a
    81:81:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3452,"2":3453,"3":3454,"4":3455,"5":3456,"6":3457}}
    3452:3452:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):272:272 -> a
    3453:3453:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):272:272 -> a
    3454:3454:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):273:273 -> a
    3455:3455:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):273:273 -> a
    3456:3456:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):274:274 -> a
    3457:3457:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):274:274 -> a
    82:82:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3458,"2":3459,"3":3460,"4":3461,"5":3462,"6":3463}}
    3458:3458:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):275:275 -> a
    3459:3459:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):275:275 -> a
    3460:3460:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):276:276 -> a
    3461:3461:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):276:276 -> a
    3462:3462:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):277:277 -> a
    3463:3463:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):277:277 -> a
    83:83:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3464,"2":3465,"3":3466,"4":3467,"5":3468,"6":3469}}
    3464:3464:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):278:278 -> a
    3465:3465:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):278:278 -> a
    3466:3466:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):279:279 -> a
    3467:3467:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):279:279 -> a
    3468:3468:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):280:280 -> a
    3469:3469:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):280:280 -> a
    84:84:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3470,"2":3471,"3":3472,"4":3473,"5":3474,"6":3475}}
    3470:3470:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):281:281 -> a
    3471:3471:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):281:281 -> a
    3472:3472:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):282:282 -> a
    3473:3473:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):282:282 -> a
    3474:3474:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):283:283 -> a
    3475:3475:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):283:283 -> a
    85:85:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3476,"2":3477,"3":3478,"4":3479,"5":3480,"6":3481}}
    3476:3476:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):284:284 -> a
    3477:3477:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):284:284 -> a
    3478:3478:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):285:285 -> a
    3479:3479:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):285:285 -> a
    3480:3480:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):286:286 -> a
    3481:3481:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):286:286 -> a
    86:86:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3482,"2":3483,"3":3484,"4":3485,"5":3486,"6":3487}}
    3482:3482:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):287:287 -> a
    3483:3483:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):287:287 -> a
    3484:3484:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):288:288 -> a
    3485:3485:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):288:288 -> a
    3486:3486:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):289:289 -> a
    3487:3487:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):289:289 -> a
    87:87:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3488,"2":3489,"3":3490,"4":3491,"5":3492,"6":3493}}
    3488:3488:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):290:290 -> a
    3489:3489:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):290:290 -> a
    3490:3490:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):291:291 -> a
    3491:3491:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):291:291 -> a
    3492:3492:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):292:292 -> a
    3493:3493:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):292:292 -> a
    88:88:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3494,"2":3495,"3":3496,"4":3497,"5":3498,"6":3499}}
    3494:3494:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):293:293 -> a
    3495:3495:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):293:293 -> a
    3496:3496:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    3497:3497:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    3498:3498:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):295:295 -> a
    3499:3499:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):295:295 -> a
    89:89:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3501,"2":3502,"3":3504,"4":3505,"5":3506,"6":3507}}
    3501:3501:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):297:297 -> a
    3502:3502:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):296:296 -> a
    3504:3504:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):298:298 -> a
    3505:3505:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):298:298 -> a
    3506:3506:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):299:299 -> a
    3507:3507:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):299:299 -> a
    90:90:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3508,"2":3509,"3":3510,"4":3511,"5":3512,"6":3513}}
    3508:3508:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):300:300 -> a
    3509:3509:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):300:300 -> a
    3510:3510:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):301:301 -> a
    3511:3511:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):301:301 -> a
    3512:3512:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):302:302 -> a
    3513:3513:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):302:302 -> a
    91:91:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3514,"2":3515,"3":3516,"4":3517,"5":3518,"6":3519}}
    3514:3514:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):303:303 -> a
    3515:3515:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):303:303 -> a
    3516:3516:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):304:304 -> a
    3517:3517:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):304:304 -> a
    3518:3518:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):305:305 -> a
    3519:3519:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):305:305 -> a
    397:402:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):306:311 -> a
    403:403:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3526,"2":3527,"3":3528,"4":3529,"5":3530,"6":3531}}
    3526:3526:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):312:312 -> a
    3527:3527:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):312:312 -> a
    3528:3528:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):313:313 -> a
    3529:3529:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):313:313 -> a
    3530:3530:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):314:314 -> a
    3531:3531:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):314:314 -> a
    718:721:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):315:318 -> a
    722:722:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3536,"2":3537,"3":3538,"4":3539,"5":3540,"6":3541}}
    3536:3536:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):319:319 -> a
    3537:3537:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):319:319 -> a
    3538:3538:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):320:320 -> a
    3539:3539:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):320:320 -> a
    3540:3540:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):321:321 -> a
    3541:3541:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):321:321 -> a
    723:723:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3542,"2":3543,"3":3544,"4":3545,"5":3546,"6":3547}}
    3542:3542:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):322:322 -> a
    3543:3543:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):322:322 -> a
    3544:3544:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):323:323 -> a
    3545:3545:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):323:323 -> a
    3546:3546:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):324:324 -> a
    3547:3547:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):324:324 -> a
    724:724:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3548,"2":3549,"3":3550,"4":3551,"5":3552,"6":3553}}
    3548:3548:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):325:325 -> a
    3549:3549:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):325:325 -> a
    3550:3550:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):326:326 -> a
    3551:3551:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):326:326 -> a
    3552:3552:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):327:327 -> a
    3553:3553:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):327:327 -> a
    1053:1053:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):329:329 -> a
    1054:1054:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3556,"2":3557,"3":3558,"4":3559,"5":3560,"6":3561}}
    3556:3556:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):330:330 -> a
    3557:3557:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):330:330 -> a
    3558:3558:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):331:331 -> a
    3559:3559:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):331:331 -> a
    3560:3560:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):332:332 -> a
    3561:3561:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):332:332 -> a
    1055:1055:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3562,"2":3563,"3":3564,"4":3565,"5":3566,"6":3567}}
    3562:3562:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):333:333 -> a
    3563:3563:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):333:333 -> a
    3564:3564:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):334:334 -> a
    3565:3565:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):334:334 -> a
    3566:3566:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):335:335 -> a
    3567:3567:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):335:335 -> a
    1056:1056:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3568,"2":3569,"3":3570,"4":3571,"5":3572,"6":3573}}
    3568:3568:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):336:336 -> a
    3569:3569:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):336:336 -> a
    3570:3570:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):337:337 -> a
    3571:3571:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):337:337 -> a
    3572:3572:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):338:338 -> a
    3573:3573:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):338:338 -> a
    1057:1057:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3574,"2":3575,"3":3576,"4":3577,"5":3578,"6":3579}}
    3574:3574:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):339:339 -> a
    3575:3575:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):339:339 -> a
    3576:3576:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):340:340 -> a
    3577:3577:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):340:340 -> a
    3578:3578:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):341:341 -> a
    3579:3579:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):341:341 -> a
    1058:1058:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3580,"2":3581,"3":3582,"4":3583,"5":3584,"6":3585}}
    3580:3580:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):342:342 -> a
    3581:3581:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):342:342 -> a
    3582:3582:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):343:343 -> a
    3583:3583:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):343:343 -> a
    3584:3584:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):344:344 -> a
    3585:3585:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):344:344 -> a
    1059:1059:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3586,"2":3587,"3":3588,"4":3589,"5":3590,"6":3591}}
    3586:3586:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):345:345 -> a
    3587:3587:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):345:345 -> a
    3588:3588:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):346:346 -> a
    3589:3589:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):346:346 -> a
    3590:3590:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):347:347 -> a
    3591:3591:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):347:347 -> a
    1408:1411:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):349:352 -> a
    1412:1412:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3597,"2":3598,"3":3599,"4":3600,"5":3602,"6":3603}}
    3597:3597:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):353:353 -> a
    3598:3598:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):353:353 -> a
    3599:3599:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):354:354 -> a
    3600:3600:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):354:354 -> a
    3602:3602:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):356:356 -> a
    3603:3603:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):355:355 -> a
    1413:1413:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3606,"2":3607,"3":3608,"4":3609,"5":3610,"6":3611}}
    3606:3606:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):358:358 -> a
    3607:3607:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):358:358 -> a
    3608:3608:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):359:359 -> a
    3609:3609:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):359:359 -> a
    3610:3610:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):360:360 -> a
    3611:3611:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):360:360 -> a
    1414:1414:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3612,"2":3613,"3":3614,"4":3615,"5":3616,"6":3617}}
    3612:3612:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):361:361 -> a
    3613:3613:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):361:361 -> a
    3614:3614:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):362:362 -> a
    3615:3615:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):362:362 -> a
    3616:3616:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):363:363 -> a
    3617:3617:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):363:363 -> a
    1415:1415:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3618,"2":3619,"3":3620,"4":3621,"5":3622,"6":3623}}
    3618:3618:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):364:364 -> a
    3619:3619:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):364:364 -> a
    3620:3620:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):365:365 -> a
    3621:3621:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):365:365 -> a
    3622:3622:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):366:366 -> a
    3623:3623:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):366:366 -> a
    1416:1416:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3624,"2":3625,"3":3626,"4":3627,"5":3628,"6":3629}}
    3624:3624:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):367:367 -> a
    3625:3625:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):367:367 -> a
    3626:3626:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):368:368 -> a
    3627:3627:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):368:368 -> a
    3628:3628:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):369:369 -> a
    3629:3629:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):369:369 -> a
    1417:1417:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3630,"2":3631,"3":3632,"4":3633,"5":3634,"6":3635}}
    3630:3630:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):370:370 -> a
    3631:3631:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):370:370 -> a
    3632:3632:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):371:371 -> a
    3633:3633:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):371:371 -> a
    3634:3634:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):372:372 -> a
    3635:3635:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):372:372 -> a
    1790:1799:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):373:382 -> a
    1800:1800:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3646,"2":3647,"3":3648,"4":3649,"5":3650,"6":3651}}
    3646:3646:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):383:383 -> a
    3647:3647:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):383:383 -> a
    3648:3648:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):384:384 -> a
    3649:3649:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):384:384 -> a
    3650:3650:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):385:385 -> a
    3651:3651:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):385:385 -> a
    2187:2190:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):387:390 -> a
    2191:2191:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3657,"2":3658,"3":3659,"4":3660,"5":3661,"6":3662}}
    3657:3657:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):391:391 -> a
    3658:3658:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):391:391 -> a
    3659:3659:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):392:392 -> a
    3660:3660:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):392:392 -> a
    3661:3661:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):393:393 -> a
    3662:3662:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):393:393 -> a
    2585:2587:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):394:396 -> a
    2588:2588:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3666,"2":3667,"3":3669,"4":3670,"5":3672,"6":3673}}
    3666:3666:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):397:397 -> a
    3667:3667:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):397:397 -> a
    3669:3669:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):399:399 -> a
    3670:3670:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):398:398 -> a
    3672:3672:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):400:400 -> a
    3673:3673:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):400:400 -> a
    2989:2989:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):401:401 -> a
com.android.tools.r8.androidapi.ComputedApiLevel -> com.android.tools.r8.internal.Cc:
    int $r8$clinit -> a
    1:1:void <clinit>():15:15 -> <clinit>
    com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel asKnownApiLevel() -> F
    boolean isUnknownApiLevel() -> V
    1:1:boolean isEqualTo(java.lang.Object):15:15 -> a
    2:11:boolean isGreaterThan(com.android.tools.r8.androidapi.ComputedApiLevel):42:51 -> a
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel max(com.android.tools.r8.androidapi.ComputedApiLevel):38:38 -> b
    1:3:boolean isGreaterThanOrEqualTo(com.android.tools.r8.androidapi.ComputedApiLevel):55:57 -> c
    1:1:boolean isEqualTo(com.android.tools.r8.androidapi.ComputedApiLevel):70:70 -> d
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel unknown():22:22 -> j
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel notSet():18:18 -> q
    boolean isKnownApiLevel() -> r
    boolean isNotSetApiLevel() -> y
com.android.tools.r8.androidapi.ComputedApiLevel$1 -> com.android.tools.r8.internal.Bc:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():42:42 -> <clinit>
com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel -> com.android.tools.r8.internal.Cc$a:
    com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel PLATFORM_INSTANCE -> c
    com.android.tools.r8.utils.AndroidApiLevel apiLevel -> b
    1:1:void <clinit>():124:124 -> <clinit>
    1:2:void <init>(com.android.tools.r8.utils.AndroidApiLevel):129:130 -> <init>
    com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel asKnownApiLevel() -> F
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel access$200():122:122 -> a
    1:1:com.android.tools.r8.utils.AndroidApiLevel getApiLevel():134:134 -> b
    1:5:boolean equals(java.lang.Object):157:161 -> equals
    1:1:int hashCode():166:166 -> hashCode
    boolean isKnownApiLevel() -> r
    1:1:java.lang.String toString():149:149 -> toString
com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel -> com.android.tools.r8.internal.Dc:
    com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel INSTANCE -> b
    1:1:void <clinit>():75:75 -> <clinit>
    1:1:void <init>():77:77 -> <init>
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel access$000():73:73 -> a
    1:1:int hashCode():91:91 -> hashCode
    boolean isNotSetApiLevel() -> y
com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel -> com.android.tools.r8.internal.Ec:
    com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel INSTANCE -> b
    1:1:void <clinit>():97:97 -> <clinit>
    1:1:void <init>():99:99 -> <init>
    boolean isUnknownApiLevel() -> V
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel access$100():95:95 -> a
    1:1:int hashCode():118:118 -> hashCode
    1:1:java.lang.String toString():108:108 -> toString
com.android.tools.r8.bisect.Bisect -> com.android.tools.r8.internal.Z4:
    1:4:com.android.tools.r8.graph.DexProgramClass run(com.android.tools.r8.bisect.BisectState,com.android.tools.r8.bisect.Bisect$Command,java.nio.file.Path,java.util.concurrent.ExecutorService):80:83 -> a
    5:22:void com.android.tools.r8.bisect.Bisect.writeApp(com.android.tools.r8.graph.DexApplication,java.nio.file.Path,java.util.concurrent.ExecutorService):186:203 -> a
    5:22:com.android.tools.r8.graph.DexProgramClass run(com.android.tools.r8.bisect.BisectState,com.android.tools.r8.bisect.Bisect$Command,java.nio.file.Path,java.util.concurrent.ExecutorService):86 -> a
    23:29:com.android.tools.r8.graph.DexProgramClass run(com.android.tools.r8.bisect.BisectState,com.android.tools.r8.bisect.Bisect$Command,java.nio.file.Path,java.util.concurrent.ExecutorService):87:93 -> a
com.android.tools.r8.bisect.Bisect$Command -> com.android.tools.r8.internal.Z4$a:
    com.android.tools.r8.bisect.BisectOptions$Result apply(com.android.tools.r8.graph.DexApplication) -> a
com.android.tools.r8.bisect.BisectOptions$Result -> com.android.tools.r8.internal.a5:
    com.android.tools.r8.bisect.BisectOptions$Result UNKNOWN -> b
    com.android.tools.r8.bisect.BisectOptions$Result GOOD -> c
    com.android.tools.r8.bisect.BisectOptions$Result BAD -> d
    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.internal.e5:
    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
    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>
    21:21:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexApplication,java.nio.file.Path):160:160 -> <init>
    1:8:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):201:208 -> a
    9:9:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    9:9:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):208 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    10:10:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):208 -> a
    11:18:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):208:215 -> a
    19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    19:19:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):215 -> a
    20:20:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    20:20:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    20:20:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):215 -> a
    21:26:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):215:220 -> a
    27:27:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":270,"2":271,"3":272}}
    270:270:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):220:220 -> a
    271:271:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):220:220 -> a
    272:272:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):220:220 -> a
    247:248:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):220:221 -> a
    249:249:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):202:202 -> a
    250:250:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    250:250:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):202 -> a
    251:251:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    251:251:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    251:251:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):202 -> a
    252:252:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):202:202 -> a
    273:279:com.android.tools.r8.graph.DexApplication bisect():240:246 -> a
    280:282:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():288:290 -> a
    280:282:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    283:283:boolean com.android.tools.r8.bisect.BisectState$Run.isBad():140:140 -> a
    283:283:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():291 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    283:283:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    284:284:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292:292 -> a
    284:284:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    285:285:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    285:285:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.sub(com.android.tools.r8.bisect.BisectState$Range):72 -> a
    285:285:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292 -> a
    285:285:com.android.tools.r8.graph.DexApplication bisect():249 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    286:286:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    286:286:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.sub(com.android.tools.r8.bisect.BisectState$Range):72 -> a
    286:286:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292 -> a
    286:286:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    287:292:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.sub(com.android.tools.r8.bisect.BisectState$Range):75:80 -> a
    287:292:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292 -> a
    287:292:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    293:293:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    293:293:com.android.tools.r8.graph.DexApplication bisect():250 -> a
    294:297:com.android.tools.r8.graph.DexApplication bisect():254:257 -> a
    298:298:int com.android.tools.r8.bisect.BisectState$Range.size():57:57 -> a
    298:298:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.split():84 -> a
    298:298:com.android.tools.r8.graph.DexApplication bisect():258 -> a
    299:300:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.split():84:85 -> a
    299:300:com.android.tools.r8.graph.DexApplication bisect():258 -> a
    301:303:com.android.tools.r8.graph.DexApplication bisect():258:260 -> a
    304:304:com.android.tools.r8.graph.DexApplication bisect():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":594,"2":595,"3":596}}
    594:594:com.android.tools.r8.graph.DexApplication bisect():260:260 -> a
    595:595:com.android.tools.r8.graph.DexApplication bisect():260:260 -> a
    596:596:com.android.tools.r8.graph.DexApplication bisect():260:260 -> a
    564:568:com.android.tools.r8.graph.DexApplication bisect():260:264 -> a
    569:570:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.bisect.BisectState.getGoodClass(com.android.tools.r8.graph.DexProgramClass):280:281 -> a
    569:570:com.android.tools.r8.graph.DexApplication bisect():265 -> a
    571:571:boolean com.android.tools.r8.bisect.BisectState$Range.contains(int):89:89 -> a
    571:571:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.bisect.BisectState.getGoodClass(com.android.tools.r8.graph.DexProgramClass):281 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    571:571:com.android.tools.r8.graph.DexApplication bisect():265 -> a
    572:572:boolean com.android.tools.r8.bisect.BisectState$Range.contains(int):89:89 -> a
    572:572:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.bisect.BisectState.getGoodClass(com.android.tools.r8.graph.DexProgramClass):281 -> a
    572:572:com.android.tools.r8.graph.DexApplication bisect():265 -> a
    573:573:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.bisect.BisectState.getGoodClass(com.android.tools.r8.graph.DexProgramClass):282:282 -> a
    573:573:com.android.tools.r8.graph.DexApplication bisect():265 -> a
    574:578:com.android.tools.r8.graph.DexApplication bisect():267:271 -> a
    579:579:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    579:579:com.android.tools.r8.graph.DexApplication bisect():271 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    580:580:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    580:580:com.android.tools.r8.graph.DexApplication bisect():271 -> a
    581:586:com.android.tools.r8.graph.DexApplication bisect():271:276 -> a
    587:587:com.android.tools.r8.graph.DexApplication bisect():251:251 -> a
    588:588:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    588:588:com.android.tools.r8.graph.DexApplication bisect():251 -> a
    589:589:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    589:589:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    589:589:com.android.tools.r8.graph.DexApplication bisect():251 -> a
    590:590:com.android.tools.r8.graph.DexApplication bisect():251:251 -> a
    591:593:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():294:296 -> a
    591:593:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    597:598:java.util.List getSortedClasses(com.android.tools.r8.graph.DexApplication):325:326 -> a
    599:599:int lambda$getSortedClasses$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):326:326 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getFinalClass():232:232 -> b
    2:2:int com.android.tools.r8.bisect.BisectState$Range.size():57:57 -> b
    2:2:com.android.tools.r8.graph.DexProgramClass getFinalClass():232 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.bisect.BisectState$Range.size():57:57 -> b
    3:3:com.android.tools.r8.graph.DexProgramClass getFinalClass():232 -> b
    4:4:com.android.tools.r8.graph.DexProgramClass getFinalClass():234:234 -> b
    5:10:java.lang.String makeSignature(com.android.tools.r8.graph.DexApplication):332:337 -> b
    1:5:void read():172:176 -> c
    6:6:void read():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":212,"2":213,"3":214}}
    212:212:void read():176:176 -> c
    213:213:void read():176:176 -> c
    214:214:void read():176:176 -> c
    182:187:void read():176:181 -> c
    188:188:java.lang.String com.android.tools.r8.bisect.BisectState.readSignature(java.io.BufferedReader):304:304 -> c
    188:188:void read():181 -> c
    189:195:void read():181:187 -> c
    196:196:void com.android.tools.r8.bisect.BisectState.$closeResource(java.lang.Throwable,java.lang.AutoCloseable):189:189 -> c
    196:196:void read():189 -> c
    197:204:void read():190:197 -> c
    205:205:void read():182:182 -> c
    206:206:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> c
    206:206:void read():182 -> c
    207:207:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> c
    207:207:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> c
    207:207:void read():182 -> c
    208:208:void read():182:182 -> c
    209:209:void read():180:180 -> c
    210:210:void com.android.tools.r8.bisect.BisectState.$closeResource(java.lang.Throwable,java.lang.AutoCloseable):189:189 -> c
    210:210:void read():189 -> c
    211:211:void read():189:189 -> c
    1:7:void write():308:314 -> d
    8:8:void com.android.tools.r8.bisect.BisectState$Run.write(java.io.Writer):134:134 -> d
    8:8:void write():315 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:11:void com.android.tools.r8.bisect.BisectState$Run.write(java.io.Writer):134:136 -> d
    9:11:void write():315 -> d
    12:14:void com.android.tools.r8.bisect.BisectState$Range.write(java.io.Writer):47:49 -> d
    12:14:void com.android.tools.r8.bisect.BisectState$Run.write(java.io.Writer):136 -> d
    12:14:void write():315 -> d
    15:17:void write():316:318 -> d
    18:20:void com.android.tools.r8.bisect.BisectState$Range.write(java.io.Writer):47:49 -> d
    18:20:void write():318 -> d
    21:22:void write():319:320 -> d
    23:23:void com.android.tools.r8.bisect.BisectState.$closeResource(java.lang.Throwable,java.lang.AutoCloseable):189:189 -> d
    23:23:void write():321 -> d
    24:24:void write():311:311 -> d
    25:25:void com.android.tools.r8.bisect.BisectState.$closeResource(java.lang.Throwable,java.lang.AutoCloseable):189:189 -> d
    25:25:void write():321 -> d
    26:26:void write():321:321 -> d
com.android.tools.r8.bisect.BisectState$Range -> com.android.tools.r8.internal.c5:
    int end -> b
    boolean $assertionsDisabled -> c
    int start -> a
    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>
    1:1:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    1:1:com.android.tools.r8.bisect.BisectState$Range add(com.android.tools.r8.bisect.BisectState$Range):61 -> a
    2:2:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    2:2:com.android.tools.r8.bisect.BisectState$Range add(com.android.tools.r8.bisect.BisectState$Range):64 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    3:3:com.android.tools.r8.bisect.BisectState$Range add(com.android.tools.r8.bisect.BisectState$Range):64 -> a
    4:5:com.android.tools.r8.bisect.BisectState$Range add(com.android.tools.r8.bisect.BisectState$Range):67:68 -> a
    6:6:boolean verify():112:112 -> a
    1:5:boolean equals(java.lang.Object):99:103 -> equals
    1:1:int hashCode():108:108 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99}}
    97:97:java.lang.String toString():94:94 -> toString
    98:98:java.lang.String toString():94:94 -> toString
    99:99:java.lang.String toString():94:94 -> toString
    95:95:java.lang.String toString():94:94 -> toString
    96:96:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99}}
    97:97:java.lang.String toString():94:94 -> toString
    98:98:java.lang.String toString():94:94 -> toString
    99:99:java.lang.String toString():94:94 -> toString
com.android.tools.r8.bisect.BisectState$Run -> com.android.tools.r8.internal.d5:
    boolean good -> a
    com.android.tools.r8.bisect.BisectState$Range range -> b
    boolean $assertionsDisabled -> 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.internal.R6:
    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
    java.util.Set synthesizedTypes -> m
    boolean $assertionsDisabled -> s
    java.util.List methods -> k
    1:1:void <clinit>():85:85 -> <clinit>
    1:1:void <init>():101:101 -> <init>
    2:213:void <init>():87:298 -> <init>
    void print(com.android.tools.r8.cf.code.CfPosition) -> a
    1:7:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):114:120 -> a
    8:8:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":343,"2":344,"3":346}}
    343:343:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):121:121 -> a
    344:344:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):121:121 -> a
    346:346:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):123:123 -> a
    9:9:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    9:9:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):124 -> a
    10:13:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):124:127 -> a
    14:14:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    14:14:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):128 -> a
    15:16:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):128:129 -> a
    17:17:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    17:17:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):130 -> a
    18:28:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):130:140 -> a
    29:29:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":363,"2":364,"3":365}}
    363:363:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):140:140 -> a
    364:364:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):140:140 -> a
    365:365:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):140:140 -> a
    170:174:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):141:145 -> a
    175:175:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":370,"2":371,"3":372}}
    370:370:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):145:145 -> a
    371:371:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):145:145 -> a
    372:372:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):145:145 -> a
    176:176:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    176:176:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):146 -> a
    177:182:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):146:151 -> a
    183:183:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    183:183:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):152 -> a
    184:191:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):152:159 -> a
    192:192:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    192:192:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):159 -> a
    193:203:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):159:169 -> a
    204:204:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    204:204:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):170 -> a
    205:205:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):170:170 -> a
    206:206:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    206:206:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):171 -> a
    207:207:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):171:171 -> a
    208:216:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):166:174 -> a
    217:217:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    217:217:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):174 -> a
    218:220:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):174:176 -> a
    221:221:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    222:222:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":373,"2":374,"3":375,"4":376,"5":377}}
    373:373:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    374:374:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    375:375:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    376:376:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    377:377:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    337:337:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    378:380:java.lang.String type(java.lang.String,java.util.List):190:192 -> a
    381:384:java.lang.String r8Type(java.lang.String,java.util.List):234:234 -> a
    385:385:java.lang.String numericType(com.android.tools.r8.ir.code.NumericType):256:256 -> a
    386:386:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    386:386:java.lang.String numericType(com.android.tools.r8.ir.code.NumericType):256 -> a
    387:387:java.lang.String numericType(com.android.tools.r8.ir.code.NumericType):256:256 -> a
    388:391:void com.android.tools.r8.cf.CfCodePrinter.ensureComma():342:345 -> a
    388:391:void printNewInstruction(java.lang.String,java.lang.String[]):349 -> a
    392:393:void printNewInstruction(java.lang.String,java.lang.String[]):350:351 -> a
    394:397:void print(com.android.tools.r8.cf.code.CfStackInstruction):369:369 -> a
    398:399:void print(com.android.tools.r8.cf.code.CfConstNumber):386:387 -> a
    400:400:java.lang.String com.android.tools.r8.cf.CfCodePrinter.longValue(long):184:184 -> a
    400:400:void print(com.android.tools.r8.cf.code.CfConstNumber):387 -> a
    401:401:void print(com.android.tools.r8.cf.code.CfConstNumber):387:387 -> a
    402:402:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    402:402:void print(com.android.tools.r8.cf.code.CfConstNumber):387 -> a
    403:403:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    403:403:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    403:403:void print(com.android.tools.r8.cf.code.CfConstNumber):387 -> a
    404:404:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    404:404:void print(com.android.tools.r8.cf.code.CfConstNumber):387 -> a
    405:405:void print(com.android.tools.r8.cf.code.CfConstNumber):387:387 -> a
    406:406:void print(com.android.tools.r8.cf.code.CfConstNumber):386:386 -> a
    407:407:void print(com.android.tools.r8.cf.code.CfConstClass):392:392 -> a
    408:408:void print(com.android.tools.r8.cf.code.CfConstDynamic):398:398 -> a
    409:409:void print(com.android.tools.r8.cf.code.CfReturn):408:408 -> a
    410:410:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    410:410:void print(com.android.tools.r8.cf.code.CfReturn):408 -> a
    411:411:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    411:411:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    411:411:void print(com.android.tools.r8.cf.code.CfReturn):408 -> a
    412:412:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    412:412:void print(com.android.tools.r8.cf.code.CfReturn):408 -> a
    413:413:void print(com.android.tools.r8.cf.code.CfReturn):408:408 -> a
    414:417:void print(com.android.tools.r8.cf.code.CfMonitor):413:416 -> a
    418:418:java.lang.String com.android.tools.r8.cf.CfCodePrinter.monitorType():210:210 -> a
    418:418:void print(com.android.tools.r8.cf.code.CfMonitor):416 -> a
    419:419:void print(com.android.tools.r8.cf.code.CfMonitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1259,"2":1260,"3":1261}}
    1259:1259:void print(com.android.tools.r8.cf.code.CfMonitor):416:416 -> a
    1260:1260:void print(com.android.tools.r8.cf.code.CfMonitor):416:416 -> a
    1261:1261:void print(com.android.tools.r8.cf.code.CfMonitor):416:416 -> a
    836:836:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    837:837:java.lang.String com.android.tools.r8.cf.CfCodePrinter.monitorType():210:210 -> a
    837:837:void print(com.android.tools.r8.cf.code.CfMonitor):417 -> a
    838:838:void print(com.android.tools.r8.cf.code.CfMonitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1262,"2":1263,"3":1264}}
    1262:1262:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    1263:1263:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    1264:1264:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    1255:1255:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    1256:1256:void print(com.android.tools.r8.cf.code.CfMonitor):413:413 -> a
    1265:1269:void print(com.android.tools.r8.cf.code.CfArithmeticBinop):422:422 -> a
    1270:1271:void print(com.android.tools.r8.cf.code.CfCmp):430:431 -> a
    1272:1272:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    1272:1272:void print(com.android.tools.r8.cf.code.CfCmp):431 -> a
    1273:1273:void print(com.android.tools.r8.cf.code.CfCmp):431:431 -> a
    1274:1274:void print(com.android.tools.r8.cf.code.CfCmp):430:430 -> a
    1275:1279:void print(com.android.tools.r8.cf.code.CfLogicalBinop):436:436 -> a
    1280:1280:void print(com.android.tools.r8.cf.code.CfNeg):444:444 -> a
    1281:1285:void print(com.android.tools.r8.cf.code.CfNumberConversion):449:449 -> a
    1286:1286:void print(com.android.tools.r8.cf.code.CfConstString):457:457 -> a
    1287:1287:void print(com.android.tools.r8.cf.code.CfConstString):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1292,"2":1293,"3":1294}}
    1292:1292:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1292:1292:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1293:1293:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1293:1293:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1294:1294:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1294:1294:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1288:1288:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1288:1288:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1289:1289:java.lang.String com.android.tools.r8.cf.CfCodePrinter.quote(java.lang.String):180:180 -> a
    1289:1289:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268 -> a
    1289:1289:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1290:1290:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1290:1290:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1291:1291:void print(com.android.tools.r8.cf.code.CfConstString):457:457 -> a
    1295:1295:void print(com.android.tools.r8.cf.code.CfDexItemBasedConstString):462:462 -> a
    1296:1296:void print(com.android.tools.r8.cf.code.CfArrayLoad):467:467 -> a
    1297:1297:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260:260 -> a
    1297:1297:void print(com.android.tools.r8.cf.code.CfArrayLoad):467 -> a
    1298:1298:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    1298:1298:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260 -> a
    1298:1298:void print(com.android.tools.r8.cf.code.CfArrayLoad):467 -> a
    1299:1299:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260:260 -> a
    1299:1299:void print(com.android.tools.r8.cf.code.CfArrayLoad):467 -> a
    1300:1300:void print(com.android.tools.r8.cf.code.CfArrayLoad):467:467 -> a
    1301:1301:void print(com.android.tools.r8.cf.code.CfArrayStore):472:472 -> a
    1302:1302:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260:260 -> a
    1302:1302:void print(com.android.tools.r8.cf.code.CfArrayStore):472 -> a
    1303:1303:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    1303:1303:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260 -> a
    1303:1303:void print(com.android.tools.r8.cf.code.CfArrayStore):472 -> a
    1304:1304:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260:260 -> a
    1304:1304:void print(com.android.tools.r8.cf.code.CfArrayStore):472 -> a
    1305:1305:void print(com.android.tools.r8.cf.code.CfArrayStore):472:472 -> a
    1306:1309:void print(com.android.tools.r8.cf.code.CfInvoke):477:480 -> a
    1310:1310:void print(com.android.tools.r8.cf.code.CfInvoke):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1808,"2":1809,"3":1810}}
    1808:1808:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):322:322 -> a
    1808:1808:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1809:1809:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):322:322 -> a
    1809:1809:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1810:1810:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):322:322 -> a
    1810:1810:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1311:1312:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):322:323 -> a
    1311:1312:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1313:1313:void print(com.android.tools.r8.cf.code.CfInvoke):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1811,"2":1812,"3":1814}}
    1811:1811:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexProto(com.android.tools.r8.graph.DexProto):311:311 -> a
    1811:1811:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325 -> a
    1811:1811:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1812:1812:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexProto(com.android.tools.r8.graph.DexProto):311:311 -> a
    1812:1812:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325 -> a
    1812:1812:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1814:1814:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexProto(com.android.tools.r8.graph.DexProto):313:313 -> a
    1814:1814:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325 -> a
    1814:1814:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1314:1319:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexProto(com.android.tools.r8.graph.DexProto):313:318 -> a
    1314:1319:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325 -> a
    1314:1319:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1320:1320:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325:325 -> a
    1320:1320:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1321:1321:void print(com.android.tools.r8.cf.code.CfInvoke):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1815,"2":1816,"3":1817}}
    1815:1815:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1815:1815:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1815:1815:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1816:1816:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1816:1816:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1816:1816:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1817:1817:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1817:1817:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1817:1817:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1322:1322:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1322:1322:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1322:1322:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1323:1323:java.lang.String com.android.tools.r8.cf.CfCodePrinter.quote(java.lang.String):180:180 -> a
    1323:1323:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268 -> a
    1323:1323:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1323:1323:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1324:1324:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1324:1324:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1324:1324:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1325:1325:void print(com.android.tools.r8.cf.code.CfInvoke):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1818,"2":1819,"3":1820}}
    1818:1818:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327:327 -> a
    1818:1818:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1819:1819:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327:327 -> a
    1819:1819:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1820:1820:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327:327 -> a
    1820:1820:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1805:1806:void print(com.android.tools.r8.cf.code.CfInvoke):480:481 -> a
    1807:1807:void print(com.android.tools.r8.cf.code.CfInvoke):477:477 -> a
    1821:1821:void print(com.android.tools.r8.cf.code.CfInvokeDynamic):486:486 -> a
    1822:1825:void print(com.android.tools.r8.cf.code.CfFrame):491:494 -> a
    1826:1826:void print(com.android.tools.r8.cf.code.CfFrame):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1842,"2":1843,"3":1844}}
    1842:1842:void print(com.android.tools.r8.cf.code.CfFrame):494:494 -> a
    1843:1843:void print(com.android.tools.r8.cf.code.CfFrame):494:494 -> a
    1844:1844:void print(com.android.tools.r8.cf.code.CfFrame):494:494 -> a
    1827:1827:java.lang.String com.android.tools.r8.cf.CfCodePrinter.int2ReferenceAVLTreeMapType():202:202 -> a
    1827:1827:void print(com.android.tools.r8.cf.code.CfFrame):497 -> a
    1828:1828:java.lang.String com.android.tools.r8.cf.CfCodePrinter.int2ReferenceAVLTreeMapType():201:201 -> a
    1828:1828:void print(com.android.tools.r8.cf.code.CfFrame):497 -> a
    1829:1835:void print(com.android.tools.r8.cf.code.CfFrame):497:503 -> a
    1836:1836:void print(com.android.tools.r8.cf.code.CfFrame):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1853,"2":1854,"3":1855}}
    1853:1853:void print(com.android.tools.r8.cf.code.CfFrame):503:503 -> a
    1854:1854:void print(com.android.tools.r8.cf.code.CfFrame):503:503 -> a
    1855:1855:void print(com.android.tools.r8.cf.code.CfFrame):503:503 -> a
    1837:1837:java.lang.String com.android.tools.r8.cf.CfCodePrinter.arrayDequeType():222:222 -> a
    1837:1837:void print(com.android.tools.r8.cf.code.CfFrame):507 -> a
    1838:1838:void print(com.android.tools.r8.cf.code.CfFrame):507:507 -> a
    1839:1839:java.lang.String com.android.tools.r8.cf.CfCodePrinter.arraysType():226:226 -> a
    1839:1839:void print(com.android.tools.r8.cf.code.CfFrame):507 -> a
    1840:1840:void print(com.android.tools.r8.cf.code.CfFrame):507:507 -> a
    1841:1841:void print(com.android.tools.r8.cf.code.CfFrame):494:494 -> a
    1856:1857:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):511:512 -> a
    1858:1858:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4447,"2":4448,"3":4449}}
    4447:4447:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):512:512 -> a
    4448:4448:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):512:512 -> a
    4449:4449:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):512:512 -> a
    2371:2372:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):513:514 -> a
    2373:2373:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4451,"2":4452,"3":4453}}
    4451:4451:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):514:514 -> a
    4452:4452:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):514:514 -> a
    4453:4453:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):514:514 -> a
    2888:2889:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):515:516 -> a
    2890:2890:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4455,"2":4456,"3":4457}}
    4455:4455:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):516:516 -> a
    4456:4456:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):516:516 -> a
    4457:4457:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):516:516 -> a
    3408:3410:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):518:520 -> a
    3411:3411:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    3411:3411:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexItemFactoryType():218 -> a
    3411:3411:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):520 -> a
    3412:3412:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4461,"2":4462,"3":4463}}
    4461:4461:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):520:520 -> a
    4462:4462:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):520:520 -> a
    4463:4463:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):520:520 -> a
    3934:3934:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):522:522 -> a
    3935:3935:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467}}
    4465:4465:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):522:522 -> a
    4466:4466:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):522:522 -> a
    4467:4467:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):522:522 -> a
    4468:4468:void print(com.android.tools.r8.cf.code.CfInstanceOf):529:529 -> a
    4469:4469:void print(com.android.tools.r8.cf.code.CfCheckCast):534:534 -> a
    4470:4470:void print(com.android.tools.r8.cf.code.CfFieldInstruction):559:559 -> a
    4471:4471:void print(com.android.tools.r8.cf.code.CfNew):564:564 -> a
    4472:4472:void print(com.android.tools.r8.cf.code.CfNewArray):569:569 -> a
    4473:4473:void print(com.android.tools.r8.cf.code.CfMultiANewArray):574:574 -> a
    4474:4474:void print(com.android.tools.r8.cf.code.CfGoto):595:595 -> a
    4475:4475:void print(com.android.tools.r8.cf.code.CfIf):601:601 -> a
    4476:4476:void print(com.android.tools.r8.cf.code.CfIf):600:600 -> a
    4477:4477:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4477:4477:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4478:4478:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264:264 -> a
    4478:4478:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4478:4478:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4479:4479:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4479:4479:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264 -> a
    4479:4479:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4479:4479:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4480:4480:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264:264 -> a
    4480:4480:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4480:4480:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4481:4481:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4481:4481:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4482:4482:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4482:4482:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4482:4482:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4483:4483:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4483:4483:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    4483:4483:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4483:4483:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4484:4484:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4484:4484:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4484:4484:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4485:4485:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4485:4485:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4486:4486:void print(com.android.tools.r8.cf.code.CfIfCmp):607:607 -> a
    4487:4487:void print(com.android.tools.r8.cf.code.CfIfCmp):606:606 -> a
    4488:4488:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4488:4488:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4489:4489:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264:264 -> a
    4489:4489:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4489:4489:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4490:4490:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4490:4490:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264 -> a
    4490:4490:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4490:4490:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4491:4491:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264:264 -> a
    4491:4491:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4491:4491:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4492:4492:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4492:4492:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4493:4493:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4493:4493:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4493:4493:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4494:4494:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4494:4494:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    4494:4494:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4494:4494:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4495:4495:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4495:4495:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4495:4495:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4496:4496:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4496:4496:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4497:4497:void print(com.android.tools.r8.cf.code.CfSwitch):612:612 -> a
    4498:4498:void print(com.android.tools.r8.cf.code.CfLoad):617:617 -> a
    4499:4499:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4499:4499:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4500:4500:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4500:4500:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4500:4500:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4501:4501:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4501:4501:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    4501:4501:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4501:4501:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4502:4502:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4502:4502:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4502:4502:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4503:4503:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4503:4503:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4504:4504:void print(com.android.tools.r8.cf.code.CfLoad):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4506,"2":4507,"3":4508,"4":4509,"5":4510}}
    4506:4506:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4506:4506:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4507:4507:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4507:4507:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4508:4508:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4508:4508:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4509:4509:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4509:4509:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4510:4510:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4510:4510:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4505:4505:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4505:4505:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4511:4511:void print(com.android.tools.r8.cf.code.CfStore):622:622 -> a
    4512:4512:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4512:4512:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4513:4513:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4513:4513:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4513:4513:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4514:4514:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4514:4514:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    4514:4514:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4514:4514:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4515:4515:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4515:4515:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4515:4515:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4516:4516:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4516:4516:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4517:4517:void print(com.android.tools.r8.cf.code.CfStore):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4519,"2":4520,"3":4521,"4":4522,"5":4523}}
    4519:4519:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4519:4519:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4520:4520:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4520:4520:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4521:4521:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4521:4521:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4522:4522:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4522:4522:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4523:4523:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4523:4523:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4518:4518:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4518:4518:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4524:4528:void print(com.android.tools.r8.cf.code.CfIinc):627:627 -> a
    4529:4529:void print(com.android.tools.r8.cf.code.CfConstMethodHandle):635:635 -> a
    4530:4530:void print(com.android.tools.r8.cf.code.CfConstMethodType):640:640 -> a
    1:2:java.lang.String dexType(com.android.tools.r8.graph.DexType):301:302 -> b
    3:3:java.lang.String dexType(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":313,"2":314,"3":315,"4":316,"5":317}}
    313:313:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    314:314:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    315:315:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    316:316:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    317:317:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    309:310:java.lang.String dexType(com.android.tools.r8.graph.DexType):306:307 -> b
    311:311:java.lang.String com.android.tools.r8.cf.CfCodePrinter.quote(java.lang.String):180:180 -> b
    311:311:java.lang.String dexType(com.android.tools.r8.graph.DexType):307 -> b
    312:312:java.lang.String dexType(com.android.tools.r8.graph.DexType):307:307 -> b
    318:321:void com.android.tools.r8.cf.CfCodePrinter.ensureComma():342:345 -> b
    318:321:void print(com.android.tools.r8.cf.code.CfLabel):584 -> b
    322:322:void print(com.android.tools.r8.cf.code.CfLabel):585:585 -> b
    1:1:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
    250:250:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):248:248 -> c
    251:251:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):248:248 -> c
    252:252:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):248:248 -> c
    249:249:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):248:248 -> c
    void print(com.android.tools.r8.cf.code.CfNop) -> c
    253:253:java.lang.String cfType(java.lang.String):244:244 -> c
    1:1:boolean lambda$type$0(java.lang.String):191:191 -> d
    2:2:void print(com.android.tools.r8.cf.code.CfThrow):376:376 -> d
    1:1:void print(com.android.tools.r8.cf.code.CfConstNull):381:381 -> e
    1:1:void print(com.android.tools.r8.cf.code.CfReturnVoid):403:403 -> f
    1:1:void print(com.android.tools.r8.cf.code.CfArrayLength):579:579 -> g
    1:1:java.lang.String frameTypeType():206:206 -> h
    1:2:java.util.List getImports():104:105 -> i
    1:1:java.util.List getMethods():110:110 -> j
    1:1:java.util.Set getSynthesizedTypes():644:644 -> k
com.android.tools.r8.cf.CfPrinter -> com.android.tools.r8.internal.k8:
    java.util.List sortedLabels -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelToIndex -> c
    com.android.tools.r8.naming.ClassNameMapper mapper -> f
    boolean $assertionsDisabled -> i
    java.util.List localsAtLabel -> d
    int instructionIndexSpace -> h
    int nextInstructionIndex -> g
    java.lang.String indent -> a
    java.lang.StringBuilder builder -> e
    1:1:void <clinit>():99:99 -> <clinit>
    1:1:void <init>():120:120 -> <init>
    2:16:void <init>():113:127 -> <init>
    17:17:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):136:136 -> <init>
    18:43:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):113:138 -> <init>
    44:44:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":245,"2":246,"3":247}}
    245:245:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):139:139 -> <init>
    246:246:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):139:139 -> <init>
    247:247:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):139:139 -> <init>
    183:244:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):139:200 -> <init>
    1:22:java.util.List computeLocalsAtLabels(java.util.List):209:230 -> a
    23:23:boolean lambda$computeLocalsAtLabels$0(int,com.android.tools.r8.graph.CfCode$LocalVariableInfo):214:214 -> a
    24:24:int lambda$computeLocalsAtLabels$1(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.graph.CfCode$LocalVariableInfo):229:229 -> a
    25:26:java.util.List getSortedLocalVariables(com.android.tools.r8.graph.CfCode):236:237 -> a
    27:29:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):264:266 -> a
    30:30:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":298,"2":299,"3":300,"4":301,"5":302,"6":303}}
    298:298:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    299:299:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    300:300:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    301:301:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    302:302:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    303:303:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    297:297:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    304:333:void print(com.android.tools.r8.cf.code.CfStackInstruction):275:304 -> a
    334:334:void print(com.android.tools.r8.cf.code.CfStackInstruction):301:301 -> a
    335:335:void print(com.android.tools.r8.cf.code.CfStackInstruction):298:298 -> a
    336:336:void print(com.android.tools.r8.cf.code.CfStackInstruction):295:295 -> a
    337:337:void print(com.android.tools.r8.cf.code.CfStackInstruction):292:292 -> a
    338:338:void print(com.android.tools.r8.cf.code.CfStackInstruction):289:289 -> a
    339:339:void print(com.android.tools.r8.cf.code.CfStackInstruction):286:286 -> a
    340:340:void print(com.android.tools.r8.cf.code.CfStackInstruction):283:283 -> a
    341:341:void print(com.android.tools.r8.cf.code.CfStackInstruction):280:280 -> a
    342:342:void print(com.android.tools.r8.cf.code.CfStackInstruction):277:277 -> a
    343:359:void print(com.android.tools.r8.cf.code.CfConstNumber):317:333 -> a
    360:360:void print(com.android.tools.r8.cf.code.CfConstNumber):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":709,"2":710,"3":711}}
    709:709:void print(com.android.tools.r8.cf.code.CfConstNumber):333:333 -> a
    710:710:void print(com.android.tools.r8.cf.code.CfConstNumber):333:333 -> a
    711:711:void print(com.android.tools.r8.cf.code.CfConstNumber):333:333 -> a
    693:693:void print(com.android.tools.r8.cf.code.CfConstNumber):333:333 -> a
    694:694:void print(com.android.tools.r8.cf.code.CfConstNumber):330:330 -> a
    695:695:void print(com.android.tools.r8.cf.code.CfConstNumber):327:327 -> a
    696:696:void print(com.android.tools.r8.cf.code.CfConstNumber):324:324 -> a
    697:697:void print(com.android.tools.r8.cf.code.CfConstNumber):321:321 -> a
    712:714:void print(com.android.tools.r8.cf.code.CfConstClass):338:340 -> a
    715:718:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    715:718:void print(com.android.tools.r8.cf.code.CfConstClass):340 -> a
    719:719:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    719:719:void print(com.android.tools.r8.cf.code.CfConstClass):340 -> a
    720:722:void print(com.android.tools.r8.cf.code.CfConstDynamic):344:346 -> a
    723:726:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    723:726:void print(com.android.tools.r8.cf.code.CfConstDynamic):346 -> a
    727:727:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    727:727:void print(com.android.tools.r8.cf.code.CfConstDynamic):346 -> a
    728:730:void print(com.android.tools.r8.cf.code.CfInitClass):350:352 -> a
    731:734:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    731:734:void print(com.android.tools.r8.cf.code.CfInitClass):352 -> a
    735:735:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    735:735:void print(com.android.tools.r8.cf.code.CfInitClass):352 -> a
    736:736:void print(com.android.tools.r8.cf.code.CfReturn):360:360 -> a
    737:749:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.ValueType):656:668 -> a
    737:749:void print(com.android.tools.r8.cf.code.CfReturn):360 -> a
    750:750:void print(com.android.tools.r8.cf.code.CfReturn):360:360 -> a
    751:751:void print(com.android.tools.r8.cf.code.CfMonitor):364:364 -> a
    752:752:void print(com.android.tools.r8.cf.code.CfArithmeticBinop):368:368 -> a
    753:753:void print(com.android.tools.r8.cf.code.CfCmp):372:372 -> a
    754:754:void print(com.android.tools.r8.cf.code.CfLogicalBinop):376:376 -> a
    755:755:void print(com.android.tools.r8.cf.code.CfNeg):380:380 -> a
    756:756:void print(com.android.tools.r8.cf.code.CfNumberConversion):384:384 -> a
    757:758:void print(com.android.tools.r8.cf.code.CfConstString):388:389 -> a
    759:760:void print(com.android.tools.r8.cf.code.CfDexItemBasedConstString):393:394 -> a
    761:762:void print(com.android.tools.r8.cf.code.CfArrayLoad):398:399 -> a
    763:781:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.MemberType):673:691 -> a
    763:781:void print(com.android.tools.r8.cf.code.CfArrayLoad):399 -> a
    782:782:void print(com.android.tools.r8.cf.code.CfArrayLoad):399:399 -> a
    783:784:void print(com.android.tools.r8.cf.code.CfArrayStore):403:404 -> a
    785:803:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.MemberType):673:691 -> a
    785:803:void print(com.android.tools.r8.cf.code.CfArrayStore):404 -> a
    804:804:void print(com.android.tools.r8.cf.code.CfArrayStore):404:404 -> a
    805:807:void print(com.android.tools.r8.cf.code.CfInvoke):408:410 -> a
    808:813:void print(com.android.tools.r8.cf.code.CfInvokeDynamic):414:419 -> a
    814:814:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    814:814:void print(com.android.tools.r8.cf.code.CfInvokeDynamic):419 -> a
    815:827:void print(com.android.tools.r8.cf.code.CfInvokeDynamic):419:431 -> a
    828:834:void print(com.android.tools.r8.cf.code.CfFrame):435:441 -> a
    835:838:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):458:461 -> a
    835:838:void print(com.android.tools.r8.cf.code.CfFrame):441 -> a
    839:842:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    839:842:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):461 -> a
    839:842:void print(com.android.tools.r8.cf.code.CfFrame):441 -> a
    843:843:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    843:843:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):461 -> a
    843:843:void print(com.android.tools.r8.cf.code.CfFrame):441 -> a
    844:844:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):463:463 -> a
    844:844:void print(com.android.tools.r8.cf.code.CfFrame):441 -> a
    845:852:void print(com.android.tools.r8.cf.code.CfFrame):442:449 -> a
    853:856:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):458:461 -> a
    853:856:void print(com.android.tools.r8.cf.code.CfFrame):450 -> a
    857:860:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    857:860:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):461 -> a
    857:860:void print(com.android.tools.r8.cf.code.CfFrame):450 -> a
    861:861:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    861:861:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):461 -> a
    861:861:void print(com.android.tools.r8.cf.code.CfFrame):450 -> a
    862:862:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):463:463 -> a
    862:862:void print(com.android.tools.r8.cf.code.CfFrame):450 -> a
    863:866:void print(com.android.tools.r8.cf.code.CfFrame):451:454 -> a
    867:869:void print(com.android.tools.r8.cf.code.CfInstanceOf):468:470 -> a
    870:872:void print(com.android.tools.r8.cf.code.CfCheckCast):474:476 -> a
    873:888:void print(com.android.tools.r8.cf.code.CfFieldInstruction):496:511 -> a
    889:889:void print(com.android.tools.r8.cf.code.CfFieldInstruction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1434,"2":1435,"3":1436}}
    1434:1434:void print(com.android.tools.r8.cf.code.CfFieldInstruction):511:511 -> a
    1435:1435:void print(com.android.tools.r8.cf.code.CfFieldInstruction):511:511 -> a
    1436:1436:void print(com.android.tools.r8.cf.code.CfFieldInstruction):511:511 -> a
    1400:1400:void print(com.android.tools.r8.cf.code.CfFieldInstruction):511:511 -> a
    1401:1401:void print(com.android.tools.r8.cf.code.CfFieldInstruction):502:502 -> a
    1402:1411:void print(com.android.tools.r8.cf.code.CfFieldInstruction):499:508 -> a
    1412:1420:void print(com.android.tools.r8.cf.code.CfFieldInstruction):505:513 -> a
    1421:1426:void com.android.tools.r8.cf.CfPrinter.appendField(com.android.tools.r8.graph.DexField):791:796 -> a
    1421:1426:void print(com.android.tools.r8.cf.code.CfFieldInstruction):513 -> a
    1427:1428:void print(com.android.tools.r8.cf.code.CfFieldInstruction):514:515 -> a
    1429:1433:void com.android.tools.r8.cf.CfPrinter.appendDescriptor(com.android.tools.r8.graph.DexType):762:766 -> a
    1429:1433:void print(com.android.tools.r8.cf.code.CfFieldInstruction):515 -> a
    1437:1439:void print(com.android.tools.r8.cf.code.CfNew):519:521 -> a
    1440:1453:void print(com.android.tools.r8.cf.code.CfNewArray):525:538 -> a
    1454:1456:void print(com.android.tools.r8.cf.code.CfNewUnboxedEnum):544:546 -> a
    1457:1460:void print(com.android.tools.r8.cf.code.CfMultiANewArray):550:553 -> a
    1461:1465:void print(com.android.tools.r8.cf.code.CfPosition):576:580 -> a
    1466:1467:void print(com.android.tools.r8.cf.code.CfGoto):585:586 -> a
    1468:1472:void print(com.android.tools.r8.cf.code.CfIf):594:598 -> a
    1473:1473:java.lang.String com.android.tools.r8.cf.CfPrinter.ifPostfix(com.android.tools.r8.ir.code.If$Type):590:590 -> a
    1473:1473:void print(com.android.tools.r8.cf.code.CfIf):598 -> a
    1474:1476:void print(com.android.tools.r8.cf.code.CfIf):598:600 -> a
    1477:1480:void print(com.android.tools.r8.cf.code.CfIfCmp):604:607 -> a
    1481:1481:java.lang.String com.android.tools.r8.cf.CfPrinter.ifPostfix(com.android.tools.r8.ir.code.If$Type):590:590 -> a
    1481:1481:void print(com.android.tools.r8.cf.code.CfIfCmp):607 -> a
    1482:1484:void print(com.android.tools.r8.cf.code.CfIfCmp):607:609 -> a
    1485:1502:void print(com.android.tools.r8.cf.code.CfSwitch):613:630 -> a
    1503:1503:void print(com.android.tools.r8.cf.code.CfLoad):634:634 -> a
    1504:1505:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):651:652 -> a
    1504:1505:void print(com.android.tools.r8.cf.code.CfLoad):634 -> a
    1506:1518:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.ValueType):656:668 -> a
    1506:1518:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):652 -> a
    1506:1518:void print(com.android.tools.r8.cf.code.CfLoad):634 -> a
    1519:1519:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):652:652 -> a
    1519:1519:void print(com.android.tools.r8.cf.code.CfLoad):634 -> a
    1520:1520:void print(com.android.tools.r8.cf.code.CfStore):638:638 -> a
    1521:1522:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):651:652 -> a
    1521:1522:void print(com.android.tools.r8.cf.code.CfStore):638 -> a
    1523:1535:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.ValueType):656:668 -> a
    1523:1535:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):652 -> a
    1523:1535:void print(com.android.tools.r8.cf.code.CfStore):638 -> a
    1536:1536:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):652:652 -> a
    1536:1536:void print(com.android.tools.r8.cf.code.CfStore):638 -> a
    1537:1542:void print(com.android.tools.r8.cf.code.CfIinc):642:647 -> a
    1543:1545:void print(com.android.tools.r8.cf.code.CfConstMethodHandle):714:716 -> a
    1546:1548:void print(com.android.tools.r8.cf.code.CfConstMethodType):720:722 -> a
    1549:1550:void print(com.android.tools.r8.cf.code.CfJsrRet):726:727 -> a
    1551:1551:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    1552:1552:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2284,"2":2285,"3":2286}}
    2284:2284:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    2285:2285:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    2286:2286:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    2283:2283:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    2287:2287:void indent():747:747 -> a
    2288:2289:void com.android.tools.r8.cf.CfPrinter.instructionIndex():741:742 -> a
    2288:2289:void indent():748 -> a
    2290:2290:void indent():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2295,"2":2296,"3":2297}}
    2295:2295:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2295:2295:void indent():748 -> a
    2296:2296:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2296:2296:void indent():748 -> a
    2297:2297:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2297:2297:void indent():748 -> a
    2291:2291:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2291:2291:void indent():748 -> a
    2292:2292:void indent():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2298,"2":2299,"3":2300}}
    2298:2298:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2298:2298:void indent():748 -> a
    2299:2299:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2299:2299:void indent():748 -> a
    2300:2300:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2300:2300:void indent():748 -> a
    2293:2293:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2293:2293:void indent():748 -> a
    2294:2294:void indent():749:749 -> a
    2301:2301:void appendComment(java.lang.String):758:758 -> a
    2302:2310:void appendClass(com.android.tools.r8.graph.DexType):778:786 -> a
    2311:2311:void appendClass(com.android.tools.r8.graph.DexType):785:785 -> a
    2312:2312:void appendClass(com.android.tools.r8.graph.DexType):784:784 -> a
    2313:2320:void appendMethod(com.android.tools.r8.graph.DexMethod):800:807 -> a
    2321:2321:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    2321:2321:void appendMethod(com.android.tools.r8.graph.DexMethod):807 -> a
    2322:2322:void appendMethod(com.android.tools.r8.graph.DexMethod):807:807 -> a
    2323:2323:java.lang.String opcodeName(int):811:811 -> a
    1:13:int lambda$getSortedLocalVariables$2(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.graph.CfCode$LocalVariableInfo):240:252 -> b
    14:15:void print(java.lang.String):258:259 -> b
    16:16:void print(com.android.tools.r8.cf.code.CfLabel):561:561 -> b
    17:18:void com.android.tools.r8.cf.CfPrinter.instructionIndex():741:742 -> b
    17:18:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    19:19:void print(com.android.tools.r8.cf.code.CfLabel):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":601,"2":602,"3":603}}
    601:601:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    601:601:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    602:602:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    602:602:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    603:603:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    603:603:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    20:20:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    20:20:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    21:21:void print(com.android.tools.r8.cf.code.CfLabel):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":604,"2":605,"3":606}}
    604:604:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    604:604:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    605:605:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    605:605:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    606:606:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    606:606:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    22:22:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    22:22:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    23:26:void print(com.android.tools.r8.cf.code.CfLabel):563:566 -> b
    27:27:void print(com.android.tools.r8.cf.code.CfLabel):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":607,"2":608,"3":609}}
    607:607:void print(com.android.tools.r8.cf.code.CfLabel):567:567 -> b
    608:608:void print(com.android.tools.r8.cf.code.CfLabel):567:567 -> b
    609:609:void print(com.android.tools.r8.cf.code.CfLabel):567:567 -> b
    598:598:void print(com.android.tools.r8.cf.code.CfLabel):571:571 -> b
    599:599:void print(com.android.tools.r8.cf.code.CfLabel):569:569 -> b
    600:600:void print(com.android.tools.r8.cf.code.CfLabel):567:567 -> b
    610:611:void newline():735:736 -> b
    1:1:void print(com.android.tools.r8.cf.code.CfNop):271:271 -> c
    1:1:void print(com.android.tools.r8.cf.code.CfThrow):309:309 -> d
    1:1:void print(com.android.tools.r8.cf.code.CfConstNull):313:313 -> e
    1:1:void print(com.android.tools.r8.cf.code.CfReturnVoid):356:356 -> f
    1:1:void print(com.android.tools.r8.cf.code.CfArrayLength):557:557 -> g
    1:1:java.lang.String toString():816:816 -> toString
com.android.tools.r8.cf.CfPrinter$1 -> com.android.tools.r8.internal.j8:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> b
    int[] $SwitchMap$com$android$tools$r8$ir$code$MemberType -> c
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> d
    int[] $SwitchMap$com$android$tools$r8$cf$code$CfStackInstruction$Opcode -> a
    1:1:void <clinit>():696:696 -> <clinit>
    2:2:void <clinit>():673:673 -> <clinit>
    3:3:void <clinit>():319:319 -> <clinit>
    4:4:void <clinit>():275:275 -> <clinit>
com.android.tools.r8.cf.CfRegisterAllocator -> com.android.tools.r8.internal.n8:
    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
    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>
    1:5:int getRegisterForValue(com.android.tools.r8.ir.code.Value):132:136 -> a
    6:6:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):141:141 -> a
    7:12:void com.android.tools.r8.cf.CfRegisterAllocator.computeNeedsRegister():165:170 -> a
    7:12:void allocateRegisters():151 -> a
    13:16:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.cf.CfRegisterAllocator.computeLivenessInformation():176:179 -> a
    13:16:void allocateRegisters():152 -> a
    17:17:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.cf.CfRegisterAllocator.computeLivenessInformation():178:178 -> a
    17:17:void allocateRegisters():152 -> a
    18:37:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():184:203 -> a
    18:37:void allocateRegisters():153 -> a
    38:41:void com.android.tools.r8.cf.CfRegisterAllocator.freeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):288:291 -> a
    38:41:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():204 -> a
    38:41:void allocateRegisters():153 -> a
    42:45:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():205:208 -> a
    42:45:void allocateRegisters():153 -> a
    46:49:void com.android.tools.r8.cf.CfRegisterAllocator.freeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):288:291 -> a
    46:49:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():209 -> a
    46:49:void allocateRegisters():153 -> a
    50:58:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():215:223 -> a
    50:58:void allocateRegisters():153 -> a
    59:62:void com.android.tools.r8.cf.CfRegisterAllocator.takeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):296:299 -> a
    59:62:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():224 -> a
    59:62:void allocateRegisters():153 -> a
    63:71:boolean com.android.tools.r8.cf.CfRegisterAllocator.tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals):315:323 -> a
    63:71:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():231 -> a
    63:71:void allocateRegisters():153 -> a
    72:72:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    72:72:boolean com.android.tools.r8.cf.CfRegisterAllocator.tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals):323 -> a
    72:72:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():231 -> a
    72:72:void allocateRegisters():153 -> a
    73:82:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():232:241 -> a
    73:82:void allocateRegisters():153 -> a
    83:83:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    83:83:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():242 -> a
    83:83:void allocateRegisters():153 -> a
    84:85:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():255:256 -> a
    84:85:void allocateRegisters():153 -> a
    86:86:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():251:251 -> a
    86:86:void allocateRegisters():153 -> a
    87:88:void allocateRegisters():158:159 -> a
    89:110:int getNextFreeRegister(boolean):263:284 -> a
    111:111:void com.android.tools.r8.cf.CfRegisterAllocator.assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):349:349 -> a
    111:111:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):333 -> a
    112:115:void com.android.tools.r8.cf.CfRegisterAllocator.takeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):296:299 -> a
    112:115:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):334 -> a
    116:116:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):335:335 -> a
    117:120:void com.android.tools.r8.cf.CfRegisterAllocator.updateRegisterState(int,boolean):342:345 -> a
    117:120:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):335 -> a
    121:125:void com.android.tools.r8.cf.CfRegisterAllocator.updateHints(com.android.tools.r8.ir.regalloc.LiveIntervals):304:308 -> a
    121:125:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):336 -> a
    126:126:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):337:337 -> a
    127:131:void addToLiveAtEntrySet(com.android.tools.r8.ir.code.BasicBlock,java.util.Collection):353:357 -> a
    132:132:com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry getTypesAtBlockEntry(com.android.tools.r8.ir.code.BasicBlock):363:363 -> a
    133:149:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):399:415 -> a
    150:150:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    150:150:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):415 -> a
    151:151:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):415:415 -> a
    152:152:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    152:152:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):415 -> a
    153:153:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):419:419 -> a
    154:154:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    154:154:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):419 -> a
    155:157:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):419:421 -> a
    158:158:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):528:528 -> a
    159:159:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    159:159:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):528 -> a
    160:166:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):529:535 -> a
    167:167:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap) -> a
    167:167:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):535 -> a
    168:170:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):537:539 -> a
    171:174:void com.android.tools.r8.cf.CfRegisterAllocator.applyInstructionsToTypes(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.Deque,int):471:474 -> a
    171:174:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):538 -> a
    175:202:boolean com.android.tools.r8.cf.CfRegisterAllocator.tryApplyInstructionWithDependentOutType(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.Deque):432:459 -> a
    175:202:void com.android.tools.r8.cf.CfRegisterAllocator.applyInstructionsToTypes(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.Deque,int):476 -> a
    175:202:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):538 -> a
    203:223:void com.android.tools.r8.cf.CfRegisterAllocator.applyInstructionsToTypes(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.Deque,int):479:499 -> a
    203:223:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):538 -> a
    224:225:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):544:545 -> a
    226:226:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    226:226:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):545 -> a
    227:230:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):547:550 -> a
    231:231:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>(int):95:95 -> a
    231:231:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):550 -> a
    232:232:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):551:551 -> a
    233:246:void com.android.tools.r8.cf.CfRegisterAllocator.applyInstructionsBackwardsToRegisterLiveness(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,int):506:519 -> a
    233:246:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):552 -> a
    247:248:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):558:559 -> a
    249:249:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
    249:249:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):559 -> a
    250:250:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):560:560 -> a
    251:251:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    251:251:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    251:251:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):560 -> a
    252:259:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):560:567 -> a
    260:267:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):596:603 -> a
    260:267:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):566 -> a
    268:278:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo com.android.tools.r8.cf.TypeVerificationHelper.join(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):205:215 -> a
    268:278:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):603 -> a
    268:278:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):566 -> a
    279:279:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):605:605 -> a
    279:279:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):566 -> a
    280:281:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):570:571 -> a
    282:291:void updateFirstRegisterMapByJoiningTheSecond(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):578:587 -> a
    292:302:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo com.android.tools.r8.cf.TypeVerificationHelper.join(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):205:215 -> a
    292:302:void updateFirstRegisterMapByJoiningTheSecond(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):587 -> a
    303:303:void updateFirstRegisterMapByJoiningTheSecond(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):589:589 -> a
    1:1:int registersUsed():123:123 -> b
    2:2:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):128:128 -> b
    3:4:com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry lambda$getTypesAtBlockEntry$0(com.android.tools.r8.ir.code.BasicBlock):366:367 -> b
    5:5:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> b
    5:5:com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry lambda$getTypesAtBlockEntry$0(com.android.tools.r8.ir.code.BasicBlock):367 -> b
    6:15:com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry lambda$getTypesAtBlockEntry$0(com.android.tools.r8.ir.code.BasicBlock):368:377 -> b
    16:27:void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):383:394 -> b
    28:35:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):596:603 -> b
    28:35:void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):394 -> b
    36:46:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo com.android.tools.r8.cf.TypeVerificationHelper.join(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):205:215 -> b
    36:46:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):603 -> b
    36:46:void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):394 -> b
    47:47:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):605:605 -> b
    47:47:void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):394 -> b
    1:1:com.android.tools.r8.utils.InternalOptions options():146:146 -> c
com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry -> com.android.tools.r8.internal.m8:
    java.util.List stack -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap registers -> a
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List):71:73 -> <init>
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":90,"2":91,"3":92}}
    90:90:java.lang.String toString():78:78 -> toString
    91:91:java.lang.String toString():78:78 -> toString
    92:92:java.lang.String toString():79:79 -> toString
    81:89:java.lang.String toString():80:88 -> toString
com.android.tools.r8.cf.CfVersion -> com.android.tools.r8.internal.U8:
    com.android.tools.r8.cf.CfVersion V17 -> n
    com.android.tools.r8.cf.CfVersion V12 -> l
    com.android.tools.r8.cf.CfVersion V15 -> m
    boolean $assertionsDisabled -> p
    com.android.tools.r8.cf.CfVersion V1_5 -> f
    com.android.tools.r8.cf.CfVersion V1_6 -> g
    com.android.tools.r8.cf.CfVersion V1_2 -> d
    com.android.tools.r8.cf.CfVersion V1_4 -> e
    int version -> b
    com.android.tools.r8.cf.CfVersion V9 -> j
    com.android.tools.r8.cf.CfVersion V11 -> k
    com.android.tools.r8.cf.CfVersion V1_7 -> h
    com.android.tools.r8.cf.CfVersion V1_8 -> i
    com.android.tools.r8.cf.CfVersion V1_1 -> c
    com.android.tools.r8.cf.CfVersion[] versions -> o
    1:32:void <clinit>():15:46 -> <clinit>
    1:2:void <init>(int):68:69 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.cf.CfVersion fromRaw(int):73:73 -> a
    2:2:int major():77:77 -> a
    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):93:93 -> a
    4:4:boolean lambda$rangeInclusive$0(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):101:101 -> a
    1:1:int minor():81:81 -> b
    2:2:boolean lambda$rangeInclusive$1(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):102:102 -> b
    1:1:int raw():85:85 -> c
    2:2:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):97:97 -> c
    3:3:boolean com.android.tools.r8.cf.CfVersion.isPreview():89:89 -> c
    3:3:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):98 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):98:98 -> c
    5:5:boolean com.android.tools.r8.cf.CfVersion.isPreview():89:89 -> c
    5:5:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):99 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:10:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):99:103 -> c
    1:1:boolean equals(java.lang.Object):118:118 -> equals
    1:1:int hashCode():123:123 -> hashCode
    2:2:int com.android.tools.r8.utils.structural.HashCodeVisitor.run(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> hashCode
    2:2:int hashCode():123 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():113:113 -> n
    1:1:java.lang.String toString():128:128 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":260,"2":261,"3":262}}
    260:260:java.lang.String toString():128:128 -> toString
    261:261:java.lang.String toString():128:128 -> toString
    262:262:java.lang.String toString():128:128 -> toString
    130:130:java.lang.String toString():128:128 -> toString
    131:131:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":260,"2":261,"3":262}}
    260:260:java.lang.String toString():128:128 -> toString
    261:261:java.lang.String toString():128:128 -> toString
    262:262:java.lang.String toString():128:128 -> toString
    259:259:java.lang.String toString():128:128 -> toString
com.android.tools.r8.cf.FixedLocalValue -> com.android.tools.r8.internal.qk:
    com.android.tools.r8.ir.code.Phi phi -> r
    1:2:void <init>(com.android.tools.r8.ir.code.Phi):21:22 -> <init>
    boolean isConstant() -> K
    boolean needsRegister() -> V
    1:1:int getRegister(com.android.tools.r8.cf.CfRegisterAllocator):26:26 -> a
    2:2:int com.android.tools.r8.cf.CfRegisterAllocator.getRegisterForValue(com.android.tools.r8.ir.code.Value,int):128:128 -> a
    2:2:int getRegister(com.android.tools.r8.cf.CfRegisterAllocator):26 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.ir.code.Phi getPhi():30:30 -> g0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
    47:47:java.lang.String toString():45:45 -> toString
    48:48:java.lang.String toString():45:45 -> toString
    49:49:java.lang.String toString():45:45 -> toString
    46:46:java.lang.String toString():45:45 -> toString
com.android.tools.r8.cf.LoadStoreHelper -> com.android.tools.r8.internal.kC:
    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
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):40:40 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):37:43 -> <init>
    1:11:void insertLoadsAndStores():98:108 -> a
    12:15:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):113:116 -> a
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    16:16:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):116 -> a
    17:34:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):116:133 -> a
    35:37:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):244:246 -> a
    35:37:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    38:38:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.ir.code.Value,int):142:142 -> a
    38:38:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):246 -> a
    38:38:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    39:39:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):247:247 -> a
    39:39:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    40:42:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    40:42:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):247 -> a
    40:42:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    43:50:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):248:255 -> a
    43:50:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    51:53:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    51:53:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):255 -> a
    51:53:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    54:54:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):256:256 -> a
    54:54:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    55:58:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):135:138 -> a
    59:59:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.graph.DexType,int):146:146 -> a
    59:59:void popOutType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):213 -> a
    60:66:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):222:228 -> a
    60:66:void popOutType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):213 -> a
    67:69:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    67:69:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):228 -> a
    67:69:void popOutType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):213 -> a
    70:72:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):151:153 -> a
    73:73:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.ir.code.Value,int):142:142 -> a
    73:73:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):154 -> a
    74:78:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):155:159 -> a
    79:79:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    79:79:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):15 -> a
    79:79:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    80:80:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):16:16 -> a
    80:80:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    81:81:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> a
    81:81:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):17 -> a
    81:81:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    82:82:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):18:18 -> a
    82:82:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    83:83:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> a
    83:83:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):19 -> a
    83:83:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    84:86:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):20:22 -> a
    84:86:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    87:87:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    87:87:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):23 -> a
    87:87:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    88:88:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):24:24 -> a
    88:88:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    89:89:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    89:89:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):25 -> a
    89:89:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    90:90:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):26:26 -> a
    90:90:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    91:91:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):282:282 -> a
    91:91:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):160 -> a
    92:94:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    92:94:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):282 -> a
    92:94:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):160 -> a
    95:95:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):28:28 -> a
    95:95:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    96:96:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):162:162 -> a
    97:97:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):282:282 -> a
    97:97:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):162 -> a
    98:100:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    98:100:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):282 -> a
    98:100:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):162 -> a
    101:103:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):164:166 -> a
    104:107:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):261:264 -> a
    108:108:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    108:108:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):265 -> a
    109:109:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):266:266 -> a
    110:110:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    110:110:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):267 -> a
    111:113:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):268:270 -> a
    114:114:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    114:114:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):271 -> a
    115:115:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):272:272 -> a
    116:116:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    116:116:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):272 -> a
    117:120:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):274:277 -> a
    1:7:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):170:176 -> b
    8:8:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):92:92 -> b
    8:8:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    9:16:boolean com.android.tools.r8.cf.LoadStoreHelper.hasLocalInfoOrUsersOutsideThisBlock(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock):47:54 -> b
    9:16:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):93 -> b
    9:16:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    17:17:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94:94 -> b
    17:17:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    18:36:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):62:80 -> b
    18:36:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    18:36:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    37:37:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):76:76 -> b
    37:37:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    37:37:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    38:50:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):71:83 -> b
    38:50:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    38:50:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    51:51:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> b
    51:51:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):83 -> b
    51:51:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    51:51:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    52:52:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> b
    52:52:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):84 -> b
    52:52:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    52:52:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    53:53:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> b
    53:53:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):85 -> b
    53:53:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    53:53:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    54:54:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> b
    54:54:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):86 -> b
    54:54:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    54:54:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    55:55:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> b
    55:55:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):87 -> b
    55:55:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    55:55:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    56:56:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):83:83 -> b
    56:56:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    56:56:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    57:57:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):177:177 -> b
    58:58:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> b
    58:58:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):177 -> b
    59:59:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):178:178 -> b
    60:70:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):177:187 -> b
    71:71:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.ir.code.Value,int):142:142 -> b
    71:71:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):217 -> b
    71:71:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):187 -> b
    72:78:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):222:228 -> b
    72:78:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):217 -> b
    72:78:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):187 -> b
    79:81:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> b
    79:81:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):228 -> b
    79:81:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):217 -> b
    79:81:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):187 -> b
    82:82:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):190:190 -> b
    83:83:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.ir.code.Value,int):142:142 -> b
    83:83:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):190 -> b
    84:98:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):191:205 -> b
    99:101:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> b
    99:101:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):205 -> b
    102:104:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):206:208 -> b
com.android.tools.r8.cf.LoadStoreHelper$1 -> com.android.tools.r8.internal.iC:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():64:64 -> <clinit>
com.android.tools.r8.cf.LoadStoreHelper$PhiMove -> com.android.tools.r8.internal.jC:
    com.android.tools.r8.ir.code.Phi phi -> a
    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):235:237 -> <init>
com.android.tools.r8.cf.TypeVerificationHelper -> com.android.tools.r8.internal.i00:
    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
    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():284:284 -> a
    14:14:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):140 -> a
    15:15:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):143:143 -> a
    16:21:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):139:144 -> a
    22:25:com.android.tools.r8.graph.DexType getDexType(com.android.tools.r8.ir.code.Value):148:151 -> a
    26:31:com.android.tools.r8.graph.DexType join(java.util.Set):180:185 -> a
    32:32:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.cf.TypeVerificationHelper.toTypeElement(com.android.tools.r8.graph.DexType):219:219 -> a
    32:32:com.android.tools.r8.graph.DexType join(java.util.Set):185 -> a
    33:34:com.android.tools.r8.graph.DexType join(java.util.Set):186:187 -> a
    35:35:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.cf.TypeVerificationHelper.toTypeElement(com.android.tools.r8.graph.DexType):219:219 -> a
    35:35:com.android.tools.r8.graph.DexType join(java.util.Set):187 -> a
    36:46:com.android.tools.r8.graph.DexType join(java.util.Set):187:197 -> a
    47:47:com.android.tools.r8.graph.DexType join(java.util.Set):196:196 -> a
    48:48:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    48:48:com.android.tools.r8.graph.DexType join(java.util.Set):196 -> a
    49:49:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    49:49:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    49:49:com.android.tools.r8.graph.DexType join(java.util.Set):196 -> a
    50:50:com.android.tools.r8.graph.DexType join(java.util.Set):196:196 -> a
    51:74:java.util.Map computeVerificationTypes():223:246 -> a
    75:118:java.util.Map computeVerificationTypes():245:288 -> a
    119:121:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper.computeVerificationType(com.android.tools.r8.ir.code.Value):314:316 -> a
    119:121:java.util.Map computeVerificationTypes():289 -> a
    122:138:java.util.Map computeVerificationTypes():291:307 -> a
    139:144:void addUsers(com.android.tools.r8.ir.code.Value,java.util.Set):320:325 -> a
    1:19:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):155:173 -> b
    20:20:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":199,"2":200,"3":201}}
    199:199:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
    200:200:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
    201:201:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
    193:193:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
    194:194:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):171:171 -> b
    195:195:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):169:169 -> b
    196:196:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):167:167 -> b
    197:197:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):165:165 -> b
    198:198: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.internal.d00:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():161:161 -> <clinit>
com.android.tools.r8.cf.TypeVerificationHelper$InitializedTypeInfo -> com.android.tools.r8.internal.e00:
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> b
    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.internal.f00:
    com.android.tools.r8.ir.code.NewInstance newInstance -> a
    boolean $assertionsDisabled -> b
    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
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():75:75 -> toString
    5:5:java.lang.String toString():75:75 -> toString
    6:6:java.lang.String toString():75:75 -> toString
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo.getDexType():70:70 -> toString
    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.internal.g00:
    com.android.tools.r8.ir.code.Argument thisArgument -> b
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> 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
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():97:97 -> toString
    5:5:java.lang.String toString():97:97 -> toString
    6:6:java.lang.String toString():97:97 -> toString
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper$ThisInstanceInfo.getDexType():92:92 -> toString
    2:2:java.lang.String toString():97 -> toString
    3:3:java.lang.String toString():97:97 -> toString
com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo -> com.android.tools.r8.internal.h00:
    com.android.tools.r8.graph.DexType getDexType() -> a
com.android.tools.r8.cf.code.CfArithmeticBinop -> com.android.tools.r8.internal.C6:
    com.android.tools.r8.ir.code.NumericType type -> c
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode opcode -> b
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:5:void <init>(com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode,com.android.tools.r8.ir.code.NumericType):43:47 -> <init>
    1:13:int getAsmOpcode():117:129 -> F
    14:14:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":149,"2":150,"3":151}}
    149:149:int getAsmOpcode():129:129 -> F
    150:150:int getAsmOpcode():129:129 -> F
    151:151:int getAsmOpcode():129:129 -> F
    143:143:int getAsmOpcode():129:129 -> F
    144:144:int getAsmOpcode():127:127 -> F
    145:145:int getAsmOpcode():125:125 -> F
    146:146:int getAsmOpcode():123:123 -> F
    147:147:int getAsmOpcode():121:121 -> F
    148:148:int getAsmOpcode():119:119 -> F
    1:1:int getAsmOpcodeTypeOffset():134:134 -> G
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getOpcode():62:62 -> H
    1:1:com.android.tools.r8.ir.code.NumericType getType():66:66 -> I
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):58:58 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():90:90 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):199 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):148:148 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):161:161 -> a
    5:25:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):172:192 -> a
    26:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":238,"2":239,"3":240}}
    238:238:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):192:192 -> a
    239:239:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):192:192 -> a
    240:240:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):192:192 -> a
    218:218:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):192:192 -> a
    219:219:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):189:189 -> a
    220:220:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):186:186 -> a
    221:221:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):183:183 -> a
    222:222:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):180:180 -> a
    223:223:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):177:177 -> a
    241:241:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):211:211 -> a
    242:242:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
    242:242:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):211 -> a
    243:243:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):212:212 -> a
    1:1:boolean canThrow():166:166 -> q
    1:1:int getCompareToId():52:52 -> s
com.android.tools.r8.cf.code.CfArithmeticBinop$1 -> com.android.tools.r8.internal.B6:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> b
    int[] $SwitchMap$com$android$tools$r8$cf$code$CfArithmeticBinop$Opcode -> a
    1:1:void <clinit>():134:134 -> <clinit>
    2:2:void <clinit>():117:117 -> <clinit>
com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode -> com.android.tools.r8.internal.C6$a:
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode[] $VALUES -> g
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Add -> b
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Rem -> f
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Div -> e
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Mul -> d
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Sub -> c
    1:5:void <clinit>():33:37 -> <clinit>
    6:6:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.lang.String,int):32:32 -> <init>
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode[] values():32:32 -> a
com.android.tools.r8.cf.code.CfArrayLength -> com.android.tools.r8.internal.D6:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():27:27 -> <init>
    1:1:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):39:39 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):55:55 -> a
    4:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):65:68 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):67:67 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayLength():82:82 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):74 -> a
    10:10:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):86:86 -> a
    11:11:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    11:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):86 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfArrayLoad -> com.android.tools.r8.internal.E6:
    com.android.tools.r8.ir.code.MemberType type -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():31:31 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.MemberType):35:37 -> <init>
    1:19:int getLoadType():56:74 -> F
    20:20:int getLoadType():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97}}
    95:95:int getLoadType():74:74 -> F
    96:96:int getLoadType():74:74 -> F
    97:97:int getLoadType():74:74 -> F
    94:94:int getLoadType():74:74 -> F
    1:1:com.android.tools.r8.ir.code.MemberType getType():52:52 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48:48 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayGet():78:78 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):120 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):88:88 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):93:93 -> a
    5:9:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):103:107 -> a
    10:28:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):54:72 -> a
    10:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    29:29:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):70:70 -> a
    29:29:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    30:30:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):65:65 -> a
    30:30:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    31:31:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):63:63 -> a
    31:31:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    32:32:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):61:61 -> a
    32:32:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    33:41:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):59:67 -> a
    33:41:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    42:48:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):108:114 -> a
    49:50:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):132:133 -> a
    boolean canThrow() -> q
    1:1:int getCompareToId():42:42 -> s
com.android.tools.r8.cf.code.CfArrayStore -> com.android.tools.r8.internal.F6:
    com.android.tools.r8.ir.code.MemberType type -> b
    1:2:void <init>(com.android.tools.r8.ir.code.MemberType):34:35 -> <init>
    1:19:int getStoreType():54:72 -> F
    20:20:int getStoreType():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:int getStoreType():72:72 -> F
    94:94:int getStoreType():72:72 -> F
    95:95:int getStoreType():72:72 -> F
    92:92:int getStoreType():72:72 -> F
    1:1:com.android.tools.r8.ir.code.MemberType getType():39:39 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayPut():86:86 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):110 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86:86 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):91:91 -> a
    5:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):101:104 -> a
    9:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):122:124 -> a
    boolean canThrow() -> q
    1:1:int getCompareToId():44:44 -> s
com.android.tools.r8.cf.code.CfCheckCast -> com.android.tools.r8.internal.I6:
    com.android.tools.r8.graph.DexType type -> b
    boolean ignoreCompatRules -> c
    1:1:void <init>(com.android.tools.r8.graph.DexType):36:36 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexType,boolean):39:41 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):76:76 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):76 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> a
    6:6:void print(com.android.tools.r8.cf.CfPrinter):95:95 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):101:101 -> a
    8:8:boolean com.android.tools.r8.cf.code.CfCheckCast.ignoreCompatRules():45:45 -> a
    8:8:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):101 -> a
    9:9:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):101:101 -> a
    10:12:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):112:114 -> a
    13:13:void addCheckCast(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState$Slot):118:118 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):124:124 -> a
    15:15:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):136:136 -> a
    16:16:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    16:16:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):136 -> a
    1:1:com.android.tools.r8.graph.DexType getType():60:60 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfCmp -> com.android.tools.r8.internal.P6:
    com.android.tools.r8.ir.code.Cmp$Bias bias -> b
    com.android.tools.r8.ir.code.NumericType type -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():32:32 -> <clinit>
    1:8:void <init>(com.android.tools.r8.ir.code.Cmp$Bias,com.android.tools.r8.ir.code.NumericType):37:44 -> <init>
    1:9:int getAsmOpcode():84:92 -> F
    10:10:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":104,"2":105,"3":106}}
    104:104:int getAsmOpcode():92:92 -> F
    105:105:int getAsmOpcode():92:92 -> F
    106:106:int getAsmOpcode():92:92 -> F
    102:102:int getAsmOpcode():92:92 -> F
    103:103:int getAsmOpcode():88:88 -> F
    1:1:com.android.tools.r8.ir.code.Cmp$Bias getBias():59:59 -> G
    1:1:com.android.tools.r8.ir.code.NumericType getType():63:63 -> H
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):55:55 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():90:90 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):124 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):98:98 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111:111 -> a
    5:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):116:118 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):136:136 -> a
    9:9:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
    9:9:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):136 -> a
    10:10:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):137:137 -> a
    11:11:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    11:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):137 -> a
    1:1:int getCompareToId():49:49 -> s
com.android.tools.r8.cf.code.CfCmp$1 -> com.android.tools.r8.internal.O6:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():84:84 -> <clinit>
com.android.tools.r8.cf.code.CfConstClass -> com.android.tools.r8.internal.U6:
    com.android.tools.r8.graph.DexType type -> b
    boolean ignoreCompatRules -> c
    1:3:void <init>(com.android.tools.r8.graph.DexType,boolean):39:41 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):56:56 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):56 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):94:94 -> a
    4:4:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):103:103 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":60,"2":61,"3":62}}
    60:60:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):103:103 -> a
    60:60:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    61:61:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    61:61:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):103 -> a
    61:61:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    62:62:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    62:62:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):103 -> a
    62:62:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    6:27:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):104:125 -> a
    6:27:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    28:28:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65,"4":66,"5":67}}
    63:63:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):125:125 -> a
    63:63:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    64:64:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):125:125 -> a
    64:64:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    65:65:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):125:125 -> a
    65:65:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    66:66:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):125:125 -> a
    66:66:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    67:67:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):125:125 -> a
    67:67:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    29:29:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):125:125 -> a
    29:29:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    30:34:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):109:113 -> a
    30:34:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    35:49:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):107:121 -> a
    35:49:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    50:56:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):117:123 -> a
    50:56:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    57:57:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):115:115 -> a
    57:57:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    58:58:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):111:111 -> a
    58:58:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    59:59:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
    68:68:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):132:132 -> a
    69:69:boolean com.android.tools.r8.cf.code.CfConstClass.ignoreCompatRules():45:45 -> a
    69:69:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):132 -> a
    70:70:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):132:132 -> a
    71:71:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):137:137 -> a
    72:72:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):143:143 -> a
    73:73:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):155:155 -> a
    74:74:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    74:74:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):155 -> a
    1:1:com.android.tools.r8.graph.DexType getType():71:71 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstDynamic -> com.android.tools.r8.internal.V6:
    com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference reference -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():40:40 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethodHandle,java.lang.Object[]):48:55 -> <init>
    boolean isTypeInstruction() -> E
    1:1:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference getReference():69:69 -> F
    com.android.tools.r8.cf.code.CfConstDynamic asConstDynamic() -> a
    1:1:com.android.tools.r8.graph.DexString com.android.tools.r8.cf.code.CfConstDynamic.getName():73:73 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145:145 -> a
    3:3:com.android.tools.r8.graph.DexString com.android.tools.r8.cf.code.CfConstDynamic.getName():73:73 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexString com.android.tools.r8.cf.code.CfConstDynamic.getName():73:73 -> a
    4:4:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145:145 -> a
    6:6:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    6:6:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145 -> a
    7:7:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.code.CfConstDynamic.getType():169:169 -> a
    7:7:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149 -> a
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.code.CfConstDynamic.getType():169:169 -> a
    8:8:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.code.CfConstDynamic.getType():169:169 -> a
    9:9:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149 -> a
    10:10:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149:149 -> a
    11:11:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    11:11:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149 -> a
    12:12:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.cf.code.CfConstDynamic.getBootstrapMethod():77:77 -> a
    12:12:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):153 -> a
    13:13:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.cf.code.CfConstDynamic.getBootstrapMethod():77:77 -> a
    13:13:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):154 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.cf.code.CfConstDynamic.getBootstrapMethod():77:77 -> a
    14:14:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):154 -> a
    15:15:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):154:154 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):188:188 -> a
    17:17:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    17:17:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):188 -> a
    18:18:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):188:188 -> a
    19:19:void print(com.android.tools.r8.cf.CfPrinter):193:193 -> a
    20:22:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):204:206 -> a
    23:25:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):205:207 -> a
    26:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):212:212 -> a
    27:27:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    27:27:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):212 -> a
    28:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):212:212 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):218:218 -> a
    30:30:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):230:230 -> a
    31:31:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    31:31:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):230 -> a
    1:1:com.android.tools.r8.graph.DexType getType():169:169 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstMethodHandle -> com.android.tools.r8.internal.W6:
    com.android.tools.r8.graph.DexMethodHandle handle -> b
    1:2:void <init>(com.android.tools.r8.graph.DexMethodHandle):34:35 -> <init>
    1:1:com.android.tools.r8.graph.DexMethodHandle getHandle():39:39 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    2:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63:66 -> a
    6:6:void print(com.android.tools.r8.cf.CfPrinter):71:71 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):77:77 -> a
    8:9:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88:89 -> a
    10:18:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1223:1231 -> a
    10:18:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88 -> a
    19:23:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1230:1234 -> a
    19:23:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88 -> a
    24:24:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1224:1224 -> a
    24:24:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88 -> a
    25:25:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):107:107 -> a
    26:26:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    26:26:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):107 -> a
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstMethodHandle():343:343 -> a
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):95 -> a
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstMethodType -> com.android.tools.r8.internal.X6:
    com.android.tools.r8.graph.DexProto type -> b
    1:2:void <init>(com.android.tools.r8.graph.DexProto):34:35 -> <init>
    1:1:com.android.tools.r8.graph.DexProto getType():39:39 -> F
    1:1:com.android.tools.r8.graph.DexProto com.android.tools.r8.cf.code.CfConstMethodType.getType():39:39 -> a
    1:1:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63 -> a
    2:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63:64 -> a
    4:4:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    5:5:void print(com.android.tools.r8.cf.CfPrinter):69:69 -> a
    6:6:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):75:75 -> a
    7:9:void com.android.tools.r8.graph.UseRegistry.registerProto(com.android.tools.r8.graph.DexProto):254:256 -> a
    7:9:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):75 -> a
    10:11:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):86:87 -> a
    12:20:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1238:1246 -> a
    12:20:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):86 -> a
    21:25:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1245:1249 -> a
    21:25:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):86 -> a
    26:26:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1239:1239 -> a
    26:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):86 -> a
    27:27:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):105:105 -> a
    28:28:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    28:28:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):105 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstMethodType():347:347 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):93 -> a
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstNull -> com.android.tools.r8.internal.Y6:
    1:1:void <init>():27:27 -> <init>
    1:1:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):39:39 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):55:55 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):60:60 -> a
    5:5:void com.android.tools.r8.ir.conversion.IRBuilder.addNullConst(int):1211:1211 -> a
    5:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):60 -> a
    6:6:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):78:78 -> a
    7:7:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    7:7:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):78 -> a
    8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():106:106 -> a
    8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):66 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstNumber -> com.android.tools.r8.internal.a7:
    com.android.tools.r8.ir.code.ValueType type -> c
    long value -> b
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():29:29 -> <clinit>
    1:3:void <init>(long,com.android.tools.r8.ir.code.ValueType):38:40 -> <init>
    1:2:double getDoubleValue():78:79 -> F
    1:2:float getFloatValue():73:74 -> G
    1:2:int getIntValue():63:64 -> H
    1:2:long getLongValue():68:69 -> I
    1:1:long getRawValue():59:59 -> J
    1:1:com.android.tools.r8.ir.code.ValueType getType():55:55 -> K
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):35:35 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):51:51 -> a
    3:55:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):92:144 -> a
    56:56:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":278,"2":279,"3":280}}
    278:278:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):144:144 -> a
    279:279:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):144:144 -> a
    280:280:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):144:144 -> a
    200:200:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):144:144 -> a
    201:208:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):132:139 -> a
    209:209:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):134:134 -> a
    210:210:boolean com.android.tools.r8.cf.code.CfConstNumber.isNegativeZeroDouble(double):149:149 -> a
    210:210:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):135 -> a
    211:211:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):136:136 -> a
    212:219:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):119:126 -> a
    220:220:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):121:121 -> a
    221:221:boolean com.android.tools.r8.cf.code.CfConstNumber.isNegativeZeroFloat(float):153:153 -> a
    221:221:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):122 -> a
    222:222:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):123:123 -> a
    223:227:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):109:113 -> a
    228:228:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111:111 -> a
    229:237:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):95:103 -> a
    281:281:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():106:106 -> a
    281:281:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):169 -> a
    282:282:void print(com.android.tools.r8.cf.CfPrinter):158:158 -> a
    283:283:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163:163 -> a
    284:284:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):181:181 -> a
    285:285:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    285:285:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):181 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstNumber$1 -> com.android.tools.r8.internal.Z6:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():92:92 -> <clinit>
com.android.tools.r8.cf.code.CfConstString -> com.android.tools.r8.internal.b7:
    com.android.tools.r8.graph.DexString string -> b
    1:2:void <init>(com.android.tools.r8.graph.DexString):30:31 -> <init>
    1:1:com.android.tools.r8.graph.DexString getString():46:46 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42:42 -> a
    2:2:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42 -> a
    3:3:void setString(com.android.tools.r8.graph.DexString):50:50 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):73:73 -> a
    5:5:void print(com.android.tools.r8.cf.CfPrinter):78:78 -> a
    6:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):89:90 -> a
    8:10:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1259 -> a
    8:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):89 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():106:106 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):96 -> a
    12:12:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):108:108 -> a
    13:13:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    13:13:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):108 -> a
    com.android.tools.r8.cf.code.CfConstString asConstString() -> d
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfDexItemBasedConstString -> com.android.tools.r8.internal.c7:
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> c
    com.android.tools.r8.graph.DexReference item -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():31:31 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):36:38 -> <init>
    1:1:com.android.tools.r8.graph.DexReference getItem():53:53 -> F
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():57:57 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):49:49 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):80:80 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):86:86 -> a
    4:4: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.ProgramMethod):94:94 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):115 -> a
    5:6:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):98:99 -> a
    7:7:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):99 -> a
    8:9:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):99:100 -> a
    10:11:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):106:107 -> a
    12:15:void com.android.tools.r8.ir.conversion.IRBuilder.addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1264:1267 -> a
    12:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):106 -> a
    16:16:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):127:127 -> a
    17:17:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    17:17:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):127 -> a
    com.android.tools.r8.cf.code.CfDexItemBasedConstString asDexItemBasedConstString() -> e
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfFieldInstruction -> com.android.tools.r8.internal.d7:
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.graph.DexField declaringField -> d
    com.android.tools.r8.graph.DexField field -> c
    int opcode -> b
    1:1:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexField):43:43 -> <init>
    2:6:void <init>(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):46:50 -> <init>
    1:1:int getOpcode():73:73 -> F
    1:1:boolean isFieldGet():88:88 -> G
    1:1:int lambda$specify$0(com.android.tools.r8.cf.code.CfFieldInstruction):39:39 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):39:39 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):84:84 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):115:115 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):115 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):116:116 -> a
    7:7:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    7:7:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):116 -> a
    8:11:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):117:120 -> a
    12:12:void print(com.android.tools.r8.cf.CfPrinter):125:125 -> a
    13:40:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):135:162 -> a
    41:41:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":234,"2":235,"3":236}}
    234:234:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):162:162 -> a
    235:235:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):162:162 -> a
    236:236:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):162:162 -> a
    203:203:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):162:162 -> a
    204:206:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):156:158 -> a
    207:208:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):150:151 -> a
    209:210:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):144:145 -> a
    211:211:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):139:139 -> a
    237:247:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):169:179 -> a
    248:248:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":439,"2":440,"3":441}}
    439:439:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):179:179 -> a
    440:440:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):179:179 -> a
    441:441:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):179:179 -> a
    427:427:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):179:179 -> a
    428:428:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):177:177 -> a
    429:429:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):175:175 -> a
    430:430:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):173:173 -> a
    431:431:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):171:171 -> a
    442:470:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):190:218 -> a
    471:471:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":702,"2":703,"3":704}}
    702:702:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):218:218 -> a
    703:703:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):218:218 -> a
    704:704:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):218:218 -> a
    689:689:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):218:218 -> a
    690:694:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):204:208 -> a
    695:696:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):111:112 -> a
    695:696:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):206 -> a
    697:697:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):194:194 -> a
    698:698:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    698:698:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):194 -> a
    699:699:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):215:215 -> a
    700:700:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):199:199 -> a
    701:701:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    701:701:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):199 -> a
    1:1:com.android.tools.r8.graph.DexField lambda$specify$1(com.android.tools.r8.cf.code.CfFieldInstruction):39:39 -> b
    1:1:com.android.tools.r8.graph.DexField lambda$specify$2(com.android.tools.r8.cf.code.CfFieldInstruction):39:39 -> c
    com.android.tools.r8.cf.code.CfFieldInstruction asFieldInstruction() -> f
    1:1:com.android.tools.r8.graph.DexField getField():69:69 -> getField
    boolean canThrow() -> q
    1:1:int getCompareToId():78:78 -> s
    boolean isFieldInstruction() -> v
com.android.tools.r8.cf.code.CfFrame -> com.android.tools.r8.internal.l7:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap locals -> b
    java.util.Deque stack -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():38:38 -> <clinit>
    1:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):358:362 -> <init>
    1:2:int computeStackSize():412:413 -> F
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getLocals():376:376 -> G
    1:1:java.util.Deque getStack():386:386 -> H
    1:1:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):503 -> a
    2:10:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):507:515 -> a
    11:11:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):504:504 -> a
    12:12:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):180:180 -> a
    13:13:int com.android.tools.r8.cf.code.CfFrame.computeStackCount():407:407 -> a
    13:13:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):399 -> a
    14:21:java.lang.Object[] com.android.tools.r8.cf.code.CfFrame.computeStackTypes(int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):419:426 -> a
    14:21:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):400 -> a
    22:31:int com.android.tools.r8.cf.code.CfFrame.computeLocalsCount():432:441 -> a
    22:31:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):401 -> a
    32:39:java.lang.Object[] com.android.tools.r8.cf.code.CfFrame.computeLocalsTypes(int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):452:459 -> a
    32:39:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):402 -> a
    40:40:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):403:403 -> a
    41:41:void print(com.android.tools.r8.cf.CfPrinter):473:473 -> a
    42:42:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):478:478 -> a
    43:43:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):489:489 -> a
    44:44:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):499:499 -> a
    45:45:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):519:519 -> a
    46:46:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    46:46:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):519 -> a
    47:48:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):519:520 -> a
    49:49:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    49:49:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):520 -> a
    50:50:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedThis():0:0 -> a
    50:50:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):523 -> a
    51:51:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):524:524 -> a
    52:52:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    52:52:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):526 -> a
    53:53:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    53:53:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):527 -> a
    54:55:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):528:529 -> a
    56:84:com.android.tools.r8.cf.code.CfFrame map(java.util.function.Function):536:564 -> a
    com.android.tools.r8.cf.code.CfFrame asFrame() -> g
    int getCompareToId() -> s
    1:1:java.lang.String toString():468:468 -> toString
    boolean isFrame() -> w
com.android.tools.r8.cf.code.CfFrame$FrameType -> com.android.tools.r8.internal.e7:
    1:1:void <init>(com.android.tools.r8.cf.code.CfFrame$1):40:40 -> <init>
    2:2:void <init>():126:126 -> <init>
    com.android.tools.r8.graph.DexType getInitializedType() -> a
    java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens) -> a
    1:1:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):109 -> a
    2:5:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):110:113 -> a
    6:6:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    6:6:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):116 -> a
    7:10:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):117:120 -> a
    11:11:com.android.tools.r8.cf.code.CfFrame$FrameType initialized(com.android.tools.r8.graph.DexType):43:43 -> a
    12:12:com.android.tools.r8.cf.code.CfFrame$FrameType uninitializedNew(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType):47:47 -> a
    13:35:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):129:151 -> a
    36:36:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.twoWord():63:63 -> a
    36:36:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):149 -> a
    37:37:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    37:37:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):147 -> a
    38:38:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):145:145 -> a
    39:39:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):143:143 -> a
    40:40:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):141:141 -> a
    41:41:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):139:139 -> a
    42:42:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):137:137 -> a
    43:43:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):135:135 -> a
    44:44:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):133:133 -> a
    45:45:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):131:131 -> a
    com.android.tools.r8.cf.code.CfLabel getUninitializedLabel() -> b
    com.android.tools.r8.graph.DexType getUninitializedNewType() -> c
    boolean isInitialized() -> d
    boolean isTop() -> e
    boolean isUninitializedNew() -> f
    boolean isUninitializedThis() -> g
    boolean isWide() -> h
    1:1:com.android.tools.r8.cf.code.CfFrame$FrameType top():55:55 -> i
    1:1:com.android.tools.r8.cf.code.CfFrame$FrameType uninitializedThis():51:51 -> j
com.android.tools.r8.cf.code.CfFrame$InitializedType -> com.android.tools.r8.internal.f7:
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():183:183 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfFrame$1):183:183 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexType):187:189 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):199:199 -> a
    2:2:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":444,"2":445,"3":446}}
    444:444:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):199:199 -> a
    445:445:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    445:445:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):199 -> a
    446:446:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    446:446:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):199 -> a
    202:217:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):200:215 -> a
    218:218:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":447,"2":448,"3":449,"4":450,"5":451}}
    447:447:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
    448:448:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
    449:449:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
    450:450:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
    451:451:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
    433:433:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):215:215 -> a
    434:434:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):207:207 -> a
    435:443:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):205:213 -> a
    452:452:com.android.tools.r8.graph.DexType getInitializedType():231:231 -> a
    1:1:boolean isWide():221:221 -> h
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":196,"2":197,"3":198}}
    196:196:java.lang.String toString():194:194 -> toString
    197:197:java.lang.String toString():194:194 -> toString
    198:198:java.lang.String toString():194:194 -> toString
    195:195:java.lang.String toString():194:194 -> toString
com.android.tools.r8.cf.code.CfFrame$OneWord -> com.android.tools.r8.internal.g7:
    com.android.tools.r8.cf.code.CfFrame$OneWord SINGLETON -> a
    1:1:void <clinit>():312:312 -> <clinit>
    1:1:void <init>():310:310 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):316:316 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame$OneWord access$400():310:310 -> k
    1:1:java.lang.String toString():326:326 -> toString
com.android.tools.r8.cf.code.CfFrame$Top -> com.android.tools.r8.internal.h7:
    com.android.tools.r8.cf.code.CfFrame$Top SINGLETON -> a
    1:1:void <clinit>():237:237 -> <clinit>
    1:1:void <init>():235:235 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):246:246 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame$Top access$300():235:235 -> k
    1:1:java.lang.String toString():241:241 -> toString
com.android.tools.r8.cf.code.CfFrame$TwoWord -> com.android.tools.r8.internal.i7:
    com.android.tools.r8.cf.code.CfFrame$TwoWord SINGLETON -> a
    1:1:void <clinit>():332:332 -> <clinit>
    1:1:void <init>():330:330 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):336:336 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame$TwoWord access$500():330:330 -> k
    1:1:java.lang.String toString():351:351 -> toString
com.android.tools.r8.cf.code.CfFrame$UninitializedNew -> com.android.tools.r8.internal.j7:
    com.android.tools.r8.cf.code.CfLabel label -> a
    com.android.tools.r8.graph.DexType type -> b
    1:1:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfFrame$1):255:255 -> <init>
    2:4:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType):259:261 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):271:271 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel getUninitializedLabel():281:281 -> b
    1:1:com.android.tools.r8.graph.DexType getUninitializedNewType():286:286 -> c
    1:1:java.lang.String toString():266:266 -> toString
com.android.tools.r8.cf.code.CfFrame$UninitializedThis -> com.android.tools.r8.internal.k7:
    1:1:void <init>(com.android.tools.r8.cf.code.CfFrame$1):290:290 -> <init>
    2:2:void <init>():292:292 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):296:296 -> a
    1:1:java.lang.String toString():301:301 -> toString
com.android.tools.r8.cf.code.CfFrameVerificationHelper -> com.android.tools.r8.internal.m7:
    java.util.Map stateMap -> d
    com.android.tools.r8.graph.GraphLens graphLens -> g
    java.util.Set tryCatchRangeLabels -> j
    com.android.tools.r8.graph.DexItemFactory factory -> f
    int maxStackHeight -> h
    boolean $assertionsDisabled -> k
    com.android.tools.r8.graph.DexType context -> c
    java.util.Deque currentCatchRanges -> i
    com.android.tools.r8.cf.code.CfFrame NO_FRAME -> a
    java.util.function.BiPredicate isJavaAssignable -> e
    com.android.tools.r8.cf.code.CfFrame currentFrame -> b
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,java.util.Map,java.util.List,java.util.function.BiPredicate,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,int):56:56 -> <init>
    2:40:void <init>(com.android.tools.r8.graph.DexType,java.util.Map,java.util.List,java.util.function.BiPredicate,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,int):31:69 -> <init>
    1:9:com.android.tools.r8.cf.code.CfFrame$FrameType readLocal(int,com.android.tools.r8.graph.DexType):78:86 -> a
    10:10:com.android.tools.r8.cf.code.CfFrame$FrameType readLocal(int,com.android.tools.r8.graph.DexType):83:83 -> a
    11:11:com.android.tools.r8.cf.code.CfFrame$FrameType readLocal(int,com.android.tools.r8.graph.DexType):81:81 -> a
    12:13:void storeLocal(int,com.android.tools.r8.cf.code.CfFrame$FrameType):94:95 -> a
    14:14:com.android.tools.r8.cf.code.CfFrame$FrameType popInitialized(com.android.tools.r8.graph.DexType):107:107 -> a
    15:16:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):111:112 -> a
    15:16:com.android.tools.r8.cf.code.CfFrame$FrameType popInitialized(com.android.tools.r8.graph.DexType):107 -> a
    17:19:com.android.tools.r8.cf.code.CfFrameVerificationHelper popAndDiscardInitialized(com.android.tools.r8.graph.DexType[]):117:119 -> a
    20:22:com.android.tools.r8.cf.code.CfFrameVerificationHelper popAndDiscard(com.android.tools.r8.cf.code.CfFrame$FrameType[]):131:133 -> a
    23:24:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    23:24:com.android.tools.r8.cf.code.CfFrameVerificationHelper popAndDiscard(com.android.tools.r8.cf.code.CfFrame$FrameType[]):133 -> a
    25:29:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):139:143 -> a
    30:31:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):111:112 -> a
    30:31:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):141 -> a
    32:34:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):144:146 -> a
    35:35:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    35:35:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):146 -> a
    36:36:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):145:145 -> a
    37:37:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.setNoFrame():254:254 -> a
    37:37:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):147 -> a
    38:38:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):148:148 -> a
    39:41:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):152:154 -> a
    42:42:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":205,"2":206,"3":207}}
    205:205:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):155:155 -> a
    206:206:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):155:155 -> a
    207:207:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):155:155 -> a
    197:204:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):155:155 -> a
    208:218:void checkExceptionEdges():213:223 -> a
    219:219:void checkExceptionEdges():222:222 -> a
    220:220:void checkExceptionEdges():217:217 -> a
    221:221:void checkTarget(com.android.tools.r8.cf.code.CfLabel):233:233 -> a
    222:222:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240:240 -> a
    223:225:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244:246 -> a
    223:225:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    226:226:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):302:302 -> a
    226:226:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    226:226:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    227:239:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):347:359 -> a
    227:239:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    227:239:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    227:239:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    240:240:void checkFrame(com.android.tools.r8.cf.code.CfFrame):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":251,"2":252,"3":253}}
    251:251:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):360:360 -> a
    251:251:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    251:251:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    251:251:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    252:252:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):360:360 -> a
    252:252:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    252:252:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    252:252:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    253:253:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):360:360 -> a
    253:253:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    253:253:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    253:253:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    241:243:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):362:364 -> a
    241:243:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    241:243:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    241:243:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    244:244:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):360:360 -> a
    244:244:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    244:244:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    244:244:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    245:245:void checkFrame(com.android.tools.r8.cf.code.CfFrame):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":254,"2":255,"3":256}}
    254:254:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):348:348 -> a
    254:254:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    254:254:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    254:254:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    255:255:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):348:348 -> a
    255:255:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    255:255:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    255:255:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    256:256:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):348:348 -> a
    256:256:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    256:256:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    256:256:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    246:248:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):350:352 -> a
    246:248:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    246:248:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    246:248:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    249:249:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):348:348 -> a
    249:249:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):303 -> a
    249:249:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):244 -> a
    249:249:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240 -> a
    250:250:void checkFrame(com.android.tools.r8.cf.code.CfFrame):238:238 -> a
    257:257:boolean isAssignableAndInitialized(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):272:272 -> a
    258:258:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    258:258:boolean isAssignableAndInitialized(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):272 -> a
    259:259:boolean isAssignableAndInitialized(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):275:275 -> a
    260:264:void checkIsAssignable(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):280:284 -> a
    265:265:void checkIsAssignable(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):283:283 -> a
    266:267:void checkIsAssignable(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType):288:289 -> a
    268:279:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):311:322 -> a
    280:280:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.top():55:55 -> a
    280:280:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):322 -> a
    281:281:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):324:324 -> a
    282:282:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.top():55:55 -> a
    282:282:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):324 -> a
    283:283:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):325:325 -> a
    284:284:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":947,"2":948,"3":949}}
    947:947:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):326:326 -> a
    948:948:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):326:326 -> a
    949:949:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):326:326 -> a
    612:614:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):328:330 -> a
    615:615:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):326:326 -> a
    616:616:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":950,"2":951,"3":952}}
    950:950:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):314:314 -> a
    951:951:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):314:314 -> a
    952:952:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):314:314 -> a
    932:934:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):316:318 -> a
    935:935:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):314:314 -> a
    953:953:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):383:383 -> a
    954:954:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isTop():0:0 -> a
    954:954:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):383 -> a
    955:955:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):386:386 -> a
    956:956:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isTop():0:0 -> a
    956:956:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):386 -> a
    957:957:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):389:389 -> a
    958:958:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isOneWord():0:0 -> a
    958:958:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):392 -> a
    959:959:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isTwoWord():0:0 -> a
    959:959:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):392 -> a
    960:961:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedThis():0:0 -> a
    960:961:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):395 -> a
    962:963:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    962:963:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):398 -> a
    964:965:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):400:401 -> a
    966:966:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    966:966:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):407 -> a
    967:967:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    967:967:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):408 -> a
    968:968:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):409:409 -> a
    969:969:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    969:969:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):412 -> a
    970:970:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):414:414 -> a
    1:2:void checkFrameIsSet():193:194 -> b
    3:4:void checkFrameAndSet(com.android.tools.r8.cf.code.CfFrame):199:200 -> b
    5:8:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.setFrame(com.android.tools.r8.cf.code.CfFrame):206:209 -> b
    5:8:void checkFrameAndSet(com.android.tools.r8.cf.code.CfFrame):202 -> b
    9:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap):167:168 -> b
    9:10:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.setFrame(com.android.tools.r8.cf.code.CfFrame):209 -> b
    9:10:void checkFrameAndSet(com.android.tools.r8.cf.code.CfFrame):202 -> b
    11:11:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.setFrame(com.android.tools.r8.cf.code.CfFrame):209:209 -> b
    11:11:void checkFrameAndSet(com.android.tools.r8.cf.code.CfFrame):202 -> b
    12:12:boolean isUninitializedNewAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):265:265 -> b
    13:13:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> b
    13:13:boolean isUninitializedNewAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):265 -> b
    14:14:boolean isUninitializedNewAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):268:268 -> b
    15:15:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> b
    15:15:boolean isUninitializedNewAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):268 -> b
    16:16:boolean isUninitializedNewAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):268:268 -> b
    1:5:com.android.tools.r8.cf.code.CfFrame$FrameType pop():99:103 -> c
    6:6:com.android.tools.r8.cf.code.CfFrame$FrameType pop():101:101 -> c
    7:7:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):258:258 -> c
    8:8:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedThis():0:0 -> c
    8:8:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):258 -> c
    9:9:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):261:261 -> c
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> c
    10:10:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):261 -> c
    11:11:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):261:261 -> c
    1:1:void setNoFrame():254:254 -> d
com.android.tools.r8.cf.code.CfGoto -> com.android.tools.r8.internal.n7:
    com.android.tools.r8.cf.code.CfLabel target -> b
    1:2:void <init>(com.android.tools.r8.cf.code.CfLabel):30:31 -> <init>
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42:42 -> a
    2:2:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):75:75 -> a
    5:5:void print(com.android.tools.r8.cf.CfPrinter):80:80 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):85:85 -> a
    7:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):101:102 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):91 -> a
    int getCompareToId() -> s
    1:1:com.android.tools.r8.cf.code.CfLabel getTarget():62:62 -> t
com.android.tools.r8.cf.code.CfIf -> com.android.tools.r8.internal.p7:
    com.android.tools.r8.ir.code.ValueType type -> c
    com.android.tools.r8.ir.code.If$Type kind -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.cf.code.CfLabel target -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):36:39 -> <init>
    boolean isJump() -> C
    1:1:com.android.tools.r8.ir.code.If$Type getKind():61:61 -> F
    1:15:int getOpcode():70:84 -> G
    16:16:int getOpcode():0:0 -> G
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105}}
    103:103:int getOpcode():84:84 -> G
    104:104:int getOpcode():84:84 -> G
    105:105:int getOpcode():84:84 -> G
    100:100:int getOpcode():84:84 -> G
    101:101:int getOpcode():82:82 -> G
    102:102:int getOpcode():72:72 -> G
    1:1:com.android.tools.r8.ir.code.ValueType getType():57:57 -> H
    1:4:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:53 -> a
    5:5:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):53 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    6:6:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):53 -> a
    7:7:void print(com.android.tools.r8.cf.CfPrinter):90:90 -> a
    8:8:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):103:103 -> a
    9:12:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):118:121 -> a
    13:13:void com.android.tools.r8.ir.conversion.IRBuilder.addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,int,int,int):1440:1440 -> a
    13:13:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):121 -> a
    14:14:void com.android.tools.r8.ir.conversion.IRBuilder.addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,int,int,int):1438:1438 -> a
    14:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):121 -> a
    15:17:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):139:139 -> a
    19:19:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):141:141 -> a
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):127 -> a
    1:1:int getCompareToId():44:44 -> s
    1:1:com.android.tools.r8.cf.code.CfLabel getTarget():66:66 -> t
com.android.tools.r8.cf.code.CfIf$1 -> com.android.tools.r8.internal.o7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():70:70 -> <clinit>
com.android.tools.r8.cf.code.CfIfCmp -> com.android.tools.r8.internal.r7:
    com.android.tools.r8.ir.code.ValueType type -> c
    com.android.tools.r8.ir.code.If$Type kind -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.cf.code.CfLabel target -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):36:39 -> <init>
    boolean isJump() -> C
    1:1:com.android.tools.r8.ir.code.If$Type getKind():57:57 -> F
    1:15:int getOpcode():70:84 -> G
    16:16:int getOpcode():0:0 -> G
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105}}
    103:103:int getOpcode():84:84 -> G
    104:104:int getOpcode():84:84 -> G
    105:105:int getOpcode():84:84 -> G
    100:100:int getOpcode():84:84 -> G
    101:101:int getOpcode():82:82 -> G
    102:102:int getOpcode():72:72 -> G
    1:1:com.android.tools.r8.ir.code.ValueType getType():61:61 -> H
    1:4:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:53 -> a
    5:5:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):53 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    6:6:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):53 -> a
    7:7:void print(com.android.tools.r8.cf.CfPrinter):90:90 -> a
    8:8:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):103:103 -> a
    9:13:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):118:122 -> a
    14:14:void com.android.tools.r8.ir.conversion.IRBuilder.addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,int,int,int,int):1411:1411 -> a
    14:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):122 -> a
    15:15:void com.android.tools.r8.ir.conversion.IRBuilder.addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,int,int,int,int):1409:1409 -> a
    15:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):122 -> a
    16:18:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):141:143 -> a
    19:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    19:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):128 -> a
    1:1:int getCompareToId():44:44 -> s
    1:1:com.android.tools.r8.cf.code.CfLabel getTarget():66:66 -> t
    boolean isConditionalJump() -> u
com.android.tools.r8.cf.code.CfIfCmp$1 -> com.android.tools.r8.internal.q7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():70:70 -> <clinit>
com.android.tools.r8.cf.code.CfIinc -> com.android.tools.r8.internal.s7:
    int var -> b
    int increment -> c
    1:3:void <init>(int,int):37:39 -> <init>
    1:1:int getIncrement():76:76 -> F
    1:1:int getLocalIndex():72:72 -> G
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):34:34 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63:63 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):68:68 -> a
    5:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):81:82 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):88:88 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):98:98 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfInitClass -> com.android.tools.r8.internal.t7:
    com.android.tools.r8.graph.DexType clazz -> b
    1:2:void <init>(com.android.tools.r8.graph.DexType):35:36 -> <init>
    1:1:com.android.tools.r8.graph.DexType getClassValue():40:40 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):55:55 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):55 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):75:75 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):75 -> a
    5:9:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):76:80 -> a
    10:10:void print(com.android.tools.r8.cf.CfPrinter):85:85 -> a
    11:11:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):91:91 -> a
    12:13:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):101:102 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):108:108 -> a
    15:15:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):120:120 -> a
    16:16:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    16:16:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):120 -> a
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfInstanceFieldRead -> com.android.tools.r8.internal.u7:
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):21:21 -> <init>
    1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):27:27 -> a
com.android.tools.r8.cf.code.CfInstanceFieldWrite -> com.android.tools.r8.internal.v7:
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):20:20 -> <init>
    1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):26:26 -> a
com.android.tools.r8.cf.code.CfInstanceOf -> com.android.tools.r8.internal.w7:
    com.android.tools.r8.graph.DexType type -> b
    1:2:void <init>(com.android.tools.r8.graph.DexType):33:34 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):65:65 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):65 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):88:88 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):88 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
    6:6:void print(com.android.tools.r8.cf.CfPrinter):94:94 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):100:100 -> a
    8:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):110:112 -> a
    11:11:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):111:111 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):118:118 -> a
    13:13:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):130:130 -> a
    14:14:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    14:14:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):130 -> a
    1:1:com.android.tools.r8.graph.DexType getType():49:49 -> getType
    com.android.tools.r8.cf.code.CfInstanceOf asInstanceOf() -> h
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfInstruction -> com.android.tools.r8.internal.x7:
    1:1:void <init>():31:31 -> <init>
    boolean isInvokeStatic() -> A
    boolean isInvokeVirtual() -> B
    boolean isJump() -> C
    boolean isReturn() -> D
    boolean isTypeInstruction() -> E
    com.android.tools.r8.cf.code.CfConstDynamic asConstDynamic() -> a
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode) -> a
    void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens) -> a
    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod) -> a
    int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper) -> a
    void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator) -> a
    void print(com.android.tools.r8.cf.CfPrinter) -> a
    void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor) -> a
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):87:87 -> a
    2:2:void registerUseForDesugaring(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.ClasspathMethod,java.util.ListIterator):92:92 -> a
    com.android.tools.r8.cf.code.CfInstruction asCfInstruction() -> b
    com.android.tools.r8.code.Instruction asDexInstruction() -> c
    com.android.tools.r8.cf.code.CfConstString asConstString() -> d
    com.android.tools.r8.cf.code.CfDexItemBasedConstString asDexItemBasedConstString() -> e
    com.android.tools.r8.cf.code.CfFieldInstruction asFieldInstruction() -> f
    com.android.tools.r8.cf.code.CfFrame asFrame() -> g
    com.android.tools.r8.cf.code.CfInstanceOf asInstanceOf() -> h
    com.android.tools.r8.cf.code.CfInvoke asInvoke() -> i
    com.android.tools.r8.cf.code.CfInvokeDynamic asInvokeDynamic() -> j
    com.android.tools.r8.cf.code.CfLabel asLabel() -> k
    com.android.tools.r8.cf.code.CfLoad asLoad() -> l
    com.android.tools.r8.cf.code.CfPosition asPosition() -> m
    com.android.tools.r8.cf.code.CfRecordFieldValues asRecordFieldValues() -> n
    com.android.tools.r8.cf.code.CfStore asStore() -> o
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    boolean emitsIR() -> r
    int getCompareToId() -> s
    com.android.tools.r8.cf.code.CfLabel getTarget() -> t
    1:3:java.lang.String toString():80:82 -> toString
    boolean isConditionalJump() -> u
    boolean isFieldInstruction() -> v
    boolean isFrame() -> w
    boolean isInvoke() -> x
    boolean isInvokeInterface() -> y
    boolean isInvokeSpecial() -> z
com.android.tools.r8.cf.code.CfInvoke -> com.android.tools.r8.internal.D7:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexMethod method -> b
    int opcode -> c
    boolean itf -> d
    1:1:void <clinit>():42:42 -> <clinit>
    1:7:void <init>(int,com.android.tools.r8.graph.DexMethod,boolean):52:58 -> <init>
    1:1:boolean isInvokeStatic():159:159 -> A
    1:1:boolean isInvokeVirtual():164:164 -> B
    1:1:com.android.tools.r8.graph.DexMethod getMethod():74:74 -> F
    1:1:int getOpcode():78:78 -> G
    1:1:boolean isInterface():82:82 -> H
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):49:49 -> a
    2:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):69:70 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105:105 -> a
    5:5:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62:62 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    6:6:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    6:6:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    6:6:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    7:7:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48,"4":49,"5":50}}
    46:46:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    46:46:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    46:46:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    47:47:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    47:47:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    47:47:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    48:48:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    48:48:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    48:48:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    49:49:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    49:49:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    49:49:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    50:50:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    50:50:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    50:50:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    8:8:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    8:8:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    8:8:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    9:13:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):73:77 -> a
    9:13:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    9:13:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    14:20:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):75:81 -> a
    14:20:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    14:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    21:21:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):106:106 -> a
    22:22:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    22:22:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:27:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):107:111 -> a
    28:28:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():150:150 -> a
    28:28:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():166:166 -> a
    44:44:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111 -> a
    45:45:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111:111 -> a
    51:51:void print(com.android.tools.r8.cf.CfPrinter):116:116 -> a
    52:66:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):122:136 -> a
    67:67:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":216,"2":217,"3":218}}
    216:216:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):136:136 -> a
    217:217:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):136:136 -> a
    218:218:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):136:136 -> a
    203:203:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):136:136 -> a
    204:210:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):124:130 -> a
    211:211:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):127:127 -> a
    212:212:void com.android.tools.r8.graph.UseRegistry.registerInvokeSpecial(com.android.tools.r8.graph.DexMethod,boolean):72:72 -> a
    212:212:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):127 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    213:213:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):133:133 -> a
    219:221:boolean isInvokeSuper(com.android.tools.r8.graph.DexType):147:149 -> a
    222:267:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):182:227 -> a
    268:268:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":617,"2":618,"3":619}}
    617:617:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):227:227 -> a
    618:618:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):227:227 -> a
    619:619:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):227:227 -> a
    495:495:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):227:227 -> a
    496:534:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):185:223 -> a
    535:538:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214:217 -> a
    539:539:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> a
    539:539:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):191 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    540:540:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> a
    540:540:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):191 -> a
    541:592:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):191:242 -> a
    593:600:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):241:248 -> a
    601:601:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    601:601:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    602:602:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":620,"2":621,"3":622,"4":623,"5":624}}
    620:620:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    620:620:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    621:621:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    621:621:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    622:622:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    622:622:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    623:623:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    623:623:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    624:624:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    624:624:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    603:603:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    603:603:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    604:608:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):73:77 -> a
    604:608:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    609:615:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):75:81 -> a
    609:615:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    616:616:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):246:246 -> a
    625:676:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):254:305 -> a
    677:677:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1090,"2":1091,"3":1092}}
    1090:1090:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    1091:1091:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    1092:1092:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    982:982:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    983:983:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):263:263 -> a
    984:984:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    984:984:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):263 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    985:1001:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):263:279 -> a
    1002:1002:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    1002:1002:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):279 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1003:1004:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):280:281 -> a
    1005:1005:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270:270 -> a
    1006:1006:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):336:336 -> a
    1006:1006:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1007:1007:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2854:2854 -> a
    1007:1007:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):336 -> a
    1007:1007:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1008:1013:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):337:342 -> a
    1008:1013:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1014:1015:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.invokeTypeForInvokeSpecialToNonInitMethodOnHolder(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):347:348 -> a
    1014:1015:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):342 -> a
    1014:1015:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1016:1016:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    1016:1016:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.invokeTypeForInvokeSpecialToNonInitMethodOnHolder(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):348 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1016:1016:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):342 -> a
    1016:1016:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1017:1032:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.invokeTypeForInvokeSpecialToNonInitMethodOnHolder(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):349:364 -> a
    1017:1032:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):342 -> a
    1017:1032:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1033:1033:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):271:271 -> a
    1034:1034:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    1034:1034:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):271 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1035:1062:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):271:298 -> a
    1063:1063:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    1063:1063:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):298 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1064:1065:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):299:300 -> a
    1066:1082:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):146:162 -> a
    1066:1082:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1083:1083:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokePolymorphic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> a
    1083:1083:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):160 -> a
    1083:1083:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1084:1084:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokeCustom():168:168 -> a
    1084:1084:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):158 -> a
    1084:1084:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1085:1085:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):156:156 -> a
    1085:1085:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1086:1086:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):154:154 -> a
    1086:1086:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1087:1087:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):152:152 -> a
    1087:1087:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1088:1088:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):150:150 -> a
    1088:1088:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1089:1089:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):148:148 -> a
    1089:1089:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1093:1099:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):323:329 -> a
    1100:1100:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    1100:1100:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):330 -> a
    com.android.tools.r8.cf.code.CfInvoke asInvoke() -> i
    boolean canThrow() -> q
    1:1:int getCompareToId():63:63 -> s
    boolean isInvoke() -> x
    1:1:boolean isInvokeInterface():169:169 -> y
    1:1:boolean isInvokeSpecial():154:154 -> z
com.android.tools.r8.cf.code.CfInvokeDynamic -> com.android.tools.r8.internal.E7:
    com.android.tools.r8.graph.DexCallSite callSite -> b
    1:2:void <init>(com.android.tools.r8.graph.DexCallSite):43:44 -> <init>
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():125:125 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):65:65 -> a
    2:7:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):78:83 -> a
    8:27:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):95:114 -> a
    8:27:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    28:28:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):114:114 -> a
    52:52:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    53:53:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):114:114 -> a
    53:53:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    54:54:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):114:114 -> a
    54:54:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    29:29:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):115:115 -> a
    29:29:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    30:30:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):112:112 -> a
    30:30:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    31:32:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):109:110 -> a
    31:32:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    33:35:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):105:107 -> a
    33:35:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    36:42:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):97:103 -> a
    36:42:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    43:43:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):101:101 -> a
    43:43:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83 -> a
    44:50:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83:89 -> a
    51:51:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87:87 -> a
    55:55:void print(com.android.tools.r8.cf.CfPrinter):121:121 -> a
    56:56:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):131:131 -> a
    57:59:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):141:143 -> a
    60:62:int[] com.android.tools.r8.ir.conversion.CfState.popReverse(int):193:195 -> a
    60:62:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):143 -> a
    63:72:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):143:152 -> a
    73:73:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokeCustom():168:168 -> a
    73:73:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):159 -> a
    74:75:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):171:172 -> a
    76:76:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    76:76:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):173 -> a
    com.android.tools.r8.cf.code.CfInvokeDynamic asInvokeDynamic() -> j
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfJsrRet -> com.android.tools.r8.internal.F7:
    int local -> b
    1:2:void <init>(int):36:37 -> <init>
    1:1:int getLocal():93:93 -> F
    1:1:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):71 -> a
    2:2:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2:2:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):71 -> a
    3:3:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    3:3:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    3:3:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    3:3:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):71 -> a
    4:4:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):71 -> a
    5:5:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):77 -> a
    6:6:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6:6:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):77 -> a
    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    7:7:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):77 -> a
    8:8:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):77 -> a
    9:9:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    9:9:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    10:10:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    10:10:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48 -> a
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    11:11:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    11:11:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48 -> a
    12:12:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    12:12:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48 -> a
    13:13:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    13:13:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):61 -> a
    14:14:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    14:14:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    14:14:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):61 -> a
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    15:15:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    15:15:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):61 -> a
    16:16:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):61 -> a
    17:17:void print(com.android.tools.r8.cf.CfPrinter):66:66 -> a
    18:18:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):89:89 -> a
    1:1:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> s
    1:1:int getCompareToId():42 -> s
    2:2:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> s
    2:2:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> s
    2:2:int getCompareToId():42 -> s
    3:3:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> s
    3:3:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> s
    3:3:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> s
    3:3:int getCompareToId():42 -> s
    4:4:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> s
    4:4:int getCompareToId():42 -> s
com.android.tools.r8.cf.code.CfLabel -> com.android.tools.r8.internal.G7:
    com.android.tools.r8.org.objectweb.asm.Label label -> b
    1:3:void <init>():26:28 -> <init>
    1:4:com.android.tools.r8.org.objectweb.asm.Label getLabel():31:34 -> F
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode) -> a
    void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens) -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):45:45 -> a
    2:2:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):45 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):45 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):60:60 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):73:73 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):89:89 -> a
    com.android.tools.r8.cf.code.CfLabel asLabel() -> k
    boolean emitsIR() -> r
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfLoad -> com.android.tools.r8.internal.L7:
    com.android.tools.r8.ir.code.ValueType type -> c
    int var -> b
    1:3:void <init>(com.android.tools.r8.ir.code.ValueType,int):34:36 -> <init>
    1:1:int getLocalIndex():100:100 -> F
    1:1:com.android.tools.r8.ir.code.ValueType getType():96:96 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):47:47 -> a
    2:14:int com.android.tools.r8.cf.code.CfLoad.getLoadType():51:63 -> a
    2:14:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    15:15:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> a
    18:18:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    19:19:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> a
    19:19:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    20:20:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> a
    20:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    16:16:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    17:17:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87:87 -> a
    21:21:void print(com.android.tools.r8.cf.CfPrinter):92:92 -> a
    22:22:int com.android.tools.r8.cf.code.CfLoad.getLocalIndex():100:100 -> a
    22:22:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):132 -> a
    23:23:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):133:133 -> a
    24:24:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):131:131 -> a
    25:25:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):130:130 -> a
    26:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):105:107 -> a
    29:29:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    29:29:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    30:30:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forLoad():271:271 -> a
    30:30:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):118 -> a
    com.android.tools.r8.cf.code.CfLoad asLoad() -> l
    boolean emitsIR() -> r
    1:13:int com.android.tools.r8.cf.code.CfLoad.getLoadType():51:63 -> s
    1:13:int getCompareToId():41 -> s
    14:14:int getCompareToId():0:0 -> s
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18}}
    16:16:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> s
    16:16:int getCompareToId():41 -> s
    17:17:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> s
    17:17:int getCompareToId():41 -> s
    18:18:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> s
    18:18:int getCompareToId():41 -> s
    15:15:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> s
    15:15:int getCompareToId():41 -> s
com.android.tools.r8.cf.code.CfLoad$1 -> com.android.tools.r8.internal.K7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():51:51 -> <clinit>
com.android.tools.r8.cf.code.CfLogicalBinop -> com.android.tools.r8.internal.N7:
    com.android.tools.r8.ir.code.NumericType type -> c
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode opcode -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:6:void <init>(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode,com.android.tools.r8.ir.code.NumericType):44:49 -> <init>
    1:15:int getAsmOpcode():103:117 -> F
    16:16:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":140,"2":141,"3":142}}
    140:140:int getAsmOpcode():117:117 -> F
    141:141:int getAsmOpcode():117:117 -> F
    142:142:int getAsmOpcode():117:117 -> F
    133:133:int getAsmOpcode():117:117 -> F
    134:134:int getAsmOpcode():115:115 -> F
    135:135:int getAsmOpcode():113:113 -> F
    136:136:int getAsmOpcode():111:111 -> F
    137:137:int getAsmOpcode():109:109 -> F
    138:138:int getAsmOpcode():107:107 -> F
    139:139:int getAsmOpcode():105:105 -> F
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getOpcode():68:68 -> G
    1:1:com.android.tools.r8.ir.code.NumericType getType():64:64 -> H
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):60:60 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():90:90 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):171 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):123:123 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):136:136 -> a
    5:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):141:164 -> a
    29:29:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":217,"2":218,"3":219}}
    217:217:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):164:164 -> a
    218:218:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):164:164 -> a
    219:219:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):164:164 -> a
    193:193:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):164:164 -> a
    194:194:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):161:161 -> a
    195:195:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):158:158 -> a
    196:196:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):155:155 -> a
    197:197:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):152:152 -> a
    198:198:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):149:149 -> a
    199:199:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):146:146 -> a
    220:220:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):183:183 -> a
    221:221:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
    221:221:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):183 -> a
    222:231:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):185:194 -> a
    1:1:int getCompareToId():54:54 -> s
com.android.tools.r8.cf.code.CfLogicalBinop$Opcode -> com.android.tools.r8.internal.M7:
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode[] $VALUES -> h
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Ushr -> d
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode And -> e
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Shl -> b
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Shr -> c
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Or -> f
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Xor -> g
    1:6:void <clinit>():33:38 -> <clinit>
    7:7:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.lang.String,int):32:32 -> <init>
com.android.tools.r8.cf.code.CfMonitor -> com.android.tools.r8.internal.O7:
    com.android.tools.r8.ir.code.Monitor$Type type -> b
    1:2:void <init>(com.android.tools.r8.ir.code.Monitor$Type):33:34 -> <init>
    1:1:com.android.tools.r8.ir.code.Monitor$Type getType():38:38 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):49:49 -> a
    2:2:int com.android.tools.r8.cf.code.CfMonitor.getAsmOpcode():66:66 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):62 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):62:62 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):71:71 -> a
    5:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):81:82 -> a
    7:7:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):82 -> a
    8:8:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):82 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:10:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1295:1296 -> a
    9:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):82 -> a
    11:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):100:100 -> a
    12:12:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:125 -> a
    12:12:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):100 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):126:126 -> a
    13:13:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):100 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMonitor():275:275 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):88 -> a
    boolean canThrow() -> q
    1:1:int com.android.tools.r8.cf.code.CfMonitor.getAsmOpcode():66:66 -> s
    1:1:int getCompareToId():43 -> s
com.android.tools.r8.cf.code.CfMultiANewArray -> com.android.tools.r8.internal.P7:
    com.android.tools.r8.graph.DexType type -> b
    int dimensions -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():31:31 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexType,int):40:42 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int getDimensions():66:66 -> F
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):37:37 -> a
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.code.CfMultiANewArray.getType():57:57 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):91:91 -> a
    6:6:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):77:77 -> a
    7:7:void print(com.android.tools.r8.cf.CfPrinter):96:96 -> a
    8:8:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):102:102 -> a
    9:11:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):112:114 -> a
    12:14:int[] com.android.tools.r8.ir.conversion.CfState.popReverse(int):193:195 -> a
    12:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):114 -> a
    15:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):115:115 -> a
    16:16:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):121:121 -> a
    17:20:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):133:136 -> a
    21:21:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    21:21:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):136 -> a
    1:1:com.android.tools.r8.graph.DexType getType():57:57 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfNeg -> com.android.tools.r8.internal.R7:
    com.android.tools.r8.ir.code.NumericType type -> b
    1:2:void <init>(com.android.tools.r8.ir.code.NumericType):34:35 -> <init>
    1:14:int getAsmOpcode():72:85 -> F
    15:15:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
    101:101:int getAsmOpcode():85:85 -> F
    102:102:int getAsmOpcode():85:85 -> F
    103:103:int getAsmOpcode():85:85 -> F
    100:100:int getAsmOpcode():85:85 -> F
    1:1:com.android.tools.r8.ir.code.NumericType getType():39:39 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63:63 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):68:68 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):106:107 -> a
    6:6:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):125:125 -> a
    7:7:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
    7:7:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):125 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):126:126 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forUnop():339:339 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):113 -> a
    1:1:int getCompareToId():44:44 -> s
com.android.tools.r8.cf.code.CfNeg$1 -> com.android.tools.r8.internal.Q7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():72:72 -> <clinit>
com.android.tools.r8.cf.code.CfNew -> com.android.tools.r8.internal.S7:
    com.android.tools.r8.graph.DexType type -> b
    1:2:void <init>(com.android.tools.r8.graph.DexType):34:35 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):66:66 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):66 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):79:79 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):79 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):80:80 -> a
    6:6:void print(com.android.tools.r8.cf.CfPrinter):85:85 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):91:91 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):101:101 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):107:107 -> a
    10:10:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):119:119 -> a
    1:1:com.android.tools.r8.graph.DexType getType():50:50 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfNewArray -> com.android.tools.r8.internal.T7:
    com.android.tools.r8.graph.DexType type -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():32:32 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexType):36:38 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):69:69 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):69 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):121:121 -> a
    4:22:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():73:91 -> a
    4:22:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):122 -> a
    23:23:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"2":42,"3":43}}
    41:41:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():91:91 -> a
    41:41:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):122 -> a
    42:42:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():91:91 -> a
    42:42:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):122 -> a
    43:43:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():91:91 -> a
    43:43:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):122 -> a
    24:24:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():91:91 -> a
    24:24:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):122 -> a
    25:25:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):122:122 -> a
    26:34:java.lang.String com.android.tools.r8.cf.code.CfNewArray.getElementInternalName(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):97:105 -> a
    26:34:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):125 -> a
    35:35:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    35:35:java.lang.String com.android.tools.r8.cf.code.CfNewArray.getElementInternalName(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):105 -> a
    35:35:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):125 -> a
    36:36:java.lang.String com.android.tools.r8.cf.code.CfNewArray.getElementInternalName(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):107:107 -> a
    36:36:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):125 -> a
    37:39:java.lang.String com.android.tools.r8.cf.code.CfNewArray.getElementInternalName(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):106:108 -> a
    37:39:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):125 -> a
    40:40:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):124:124 -> a
    44:44:void print(com.android.tools.r8.cf.CfPrinter):131:131 -> a
    45:46:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):137:138 -> a
    47:49:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):149:151 -> a
    50:50:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):157:157 -> a
    51:52:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):169:170 -> a
    53:53:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    53:53:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):170 -> a
    1:1:com.android.tools.r8.graph.DexType getType():53:53 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    1:1:int getCompareToId():63:63 -> s
com.android.tools.r8.cf.code.CfNewUnboxedEnum -> com.android.tools.r8.internal.U7:
    com.android.tools.r8.graph.DexType type -> b
    int ordinal -> c
    1:3:void <init>(com.android.tools.r8.graph.DexType,int):37:39 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):70:70 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):70 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):83:83 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):88:88 -> a
    5:5:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):94:94 -> a
    6:6:void com.android.tools.r8.graph.UseRegistry.registerNewUnboxedEnumInstance(com.android.tools.r8.graph.DexType):117:117 -> a
    6:6:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):104:104 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):122:122 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forNewUnboxedEnumInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):303:303 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):110 -> a
    1:1:com.android.tools.r8.graph.DexType getType():54:54 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfNop -> com.android.tools.r8.internal.V7:
    1:1:void <init>():26:26 -> <init>
    void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens) -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):36:36 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):49:49 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):54:54 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):59:59 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):70:70 -> a
    boolean emitsIR() -> r
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfNumberConversion -> com.android.tools.r8.internal.X7:
    com.android.tools.r8.ir.code.NumericType to -> c
    com.android.tools.r8.ir.code.NumericType from -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:7:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType):35:41 -> <init>
    1:53:int getAsmOpcode():82:134 -> F
    54:54:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
    717:717:int getAsmOpcode():134:134 -> F
    718:718:int getAsmOpcode():134:134 -> F
    719:719:int getAsmOpcode():134:134 -> F
    188:188:int getAsmOpcode():134:134 -> F
    189:203:int getAsmOpcode():84:98 -> F
    204:204:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
    717:717:int getAsmOpcode():98:98 -> F
    718:718:int getAsmOpcode():98:98 -> F
    719:719:int getAsmOpcode():98:98 -> F
    302:335:int getAsmOpcode():98:131 -> F
    336:336:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
    717:717:int getAsmOpcode():131:131 -> F
    718:718:int getAsmOpcode():131:131 -> F
    719:719:int getAsmOpcode():131:131 -> F
    467:467:int getAsmOpcode():131:131 -> F
    468:476:int getAsmOpcode():112:120 -> F
    477:477:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
    717:717:int getAsmOpcode():120:120 -> F
    718:718:int getAsmOpcode():120:120 -> F
    719:719:int getAsmOpcode():120:120 -> F
    597:597:int getAsmOpcode():120:120 -> F
    598:606:int getAsmOpcode():101:109 -> F
    607:607:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":717,"2":718,"3":719}}
    717:717:int getAsmOpcode():109:109 -> F
    718:718:int getAsmOpcode():109:109 -> F
    719:719:int getAsmOpcode():109:109 -> F
    716:716:int getAsmOpcode():109:109 -> F
    1:1:com.android.tools.r8.ir.code.NumericType getFromType():56:56 -> G
    1:1:com.android.tools.r8.ir.code.NumericType getToType():60:60 -> H
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):52:52 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):73:73 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):78:78 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):177:178 -> a
    6:6:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):196:196 -> a
    7:7:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
    7:7:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):197 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):197:197 -> a
    9:9:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):156:156 -> a
    9:9:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):198 -> a
    10:10:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):198:198 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forUnop():339:339 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):184 -> a
    1:1:int getCompareToId():46:46 -> s
com.android.tools.r8.cf.code.CfNumberConversion$1 -> com.android.tools.r8.internal.W7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():84:84 -> <clinit>
com.android.tools.r8.cf.code.CfPosition -> com.android.tools.r8.internal.b8:
    com.android.tools.r8.cf.code.CfLabel label -> b
    com.android.tools.r8.ir.code.Position position -> c
    1:3:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.ir.code.Position):31:33 -> <init>
    1:1:com.android.tools.r8.cf.code.CfLabel getLabel():75:75 -> F
    1:1:com.android.tools.r8.ir.code.Position getPosition():71:71 -> G
    void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens) -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):44:44 -> a
    2:2:int lambda$internalAcceptCompareTo$0(com.android.tools.r8.cf.code.CfPosition):48:48 -> a
    3:4:void lambda$internalAcceptCompareTo$2(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):48:49 -> a
    5:5:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    5:5:void lambda$internalAcceptCompareTo$2(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):62:62 -> a
    7:7:void print(com.android.tools.r8.cf.CfPrinter):67:67 -> a
    8:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):95:97 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):103:103 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel lambda$internalAcceptCompareTo$1(com.android.tools.r8.cf.code.CfPosition):49:49 -> b
    com.android.tools.r8.cf.code.CfPosition asPosition() -> m
    boolean emitsIR() -> r
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfRecordFieldValues -> com.android.tools.r8.internal.l8:
    com.android.tools.r8.graph.DexField[] fields -> b
    1:2:void <init>(com.android.tools.r8.graph.DexField[]):35:36 -> <init>
    1:1:com.android.tools.r8.graph.DexField[] getFields():67:67 -> F
    1:1:com.android.tools.r8.graph.DexField[] lambda$specify$0(com.android.tools.r8.cf.code.CfRecordFieldValues):40:40 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):40:40 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):53:53 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):72:72 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):83:83 -> a
    6:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88:96 -> a
    15:15:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> a
    15:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):97 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> a
    16:16:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):97 -> a
    17:17:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):97:97 -> a
    18:18:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1488:1488 -> a
    18:18:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    19:19:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    19:19:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    19:19:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489 -> a
    19:19:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    20:20:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489:1489 -> a
    20:20:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    21:21:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    21:21:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    21:21:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489 -> a
    21:21:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    22:29:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489:1496 -> a
    22:29:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    30:30:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1495:1495 -> a
    30:30:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    31:36:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1493:1498 -> a
    31:36:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    37:40:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):113:116 -> a
    41:41:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    41:41:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):116 -> a
    42:42:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forRecordFieldValues():291:291 -> a
    42:42:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):103 -> a
    com.android.tools.r8.cf.code.CfRecordFieldValues asRecordFieldValues() -> n
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfReturn -> com.android.tools.r8.internal.p8:
    com.android.tools.r8.ir.code.ValueType type -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():29:29 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.ValueType):33:34 -> <init>
    boolean isJump() -> C
    1:1:com.android.tools.r8.ir.code.ValueType getType():38:38 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):49:49 -> a
    2:14:int com.android.tools.r8.cf.code.CfReturn.getOpcode():53:65 -> a
    2:14:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    15:15:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> a
    18:18:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    19:19:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> a
    19:19:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    20:20:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> a
    20:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    16:16:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    17:17:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84:84 -> a
    21:21:void print(com.android.tools.r8.cf.CfPrinter):89:89 -> a
    22:23:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):99:100 -> a
    24:26:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):116:118 -> a
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forReturn():315:315 -> a
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):106 -> a
    1:13:int com.android.tools.r8.cf.code.CfReturn.getOpcode():53:65 -> s
    1:13:int getCompareToId():43 -> s
    14:14:int getCompareToId():0:0 -> s
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18}}
    16:16:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> s
    16:16:int getCompareToId():43 -> s
    17:17:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> s
    17:17:int getCompareToId():43 -> s
    18:18:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> s
    18:18:int getCompareToId():43 -> s
    15:15:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> s
    15:15:int getCompareToId():43 -> s
com.android.tools.r8.cf.code.CfReturn$1 -> com.android.tools.r8.internal.o8:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():53:53 -> <clinit>
com.android.tools.r8.cf.code.CfReturnVoid -> com.android.tools.r8.internal.q8:
    1:1:void <init>():26:26 -> <init>
    boolean isJump() -> C
    boolean isReturn() -> D
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):41:41 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):54:54 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):59:59 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):74:74 -> a
    5:5:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):90:90 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forReturn():315:315 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):80 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfSafeCheckCast -> com.android.tools.r8.internal.r8:
    1:1:void <init>(com.android.tools.r8.graph.DexType):17:17 -> <init>
    1:1:void addCheckCast(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState$Slot):22:22 -> a
    2:2:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):28:28 -> a
com.android.tools.r8.cf.code.CfStackInstruction -> com.android.tools.r8.internal.z8:
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode opcode -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():31:31 -> <clinit>
    1:2:void <init>(com.android.tools.r8.cf.code.CfStackInstruction$Opcode):82:83 -> <init>
    1:1:com.android.tools.r8.cf.code.CfStackInstruction$Opcode getOpcode():116:116 -> F
    1:1:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):74:74 -> a
    2:2:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):72:72 -> a
    3:3:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):70:70 -> a
    4:4:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):68:68 -> a
    5:5:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):66:66 -> a
    6:6:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):64:64 -> a
    7:7:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):62:62 -> a
    8:8:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):60:60 -> a
    9:9:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):58:58 -> a
    10:10:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):56:56 -> a
    11:11:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):94:94 -> a
    12:12:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):107:107 -> a
    13:13:void print(com.android.tools.r8.cf.CfPrinter):112:112 -> a
    14:136:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):121:243 -> a
    137:151:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):195:209 -> a
    152:158:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):270:276 -> a
    152:158:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    159:159:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    159:159:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):276 -> a
    159:159:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    160:160:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):278:278 -> a
    160:160:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    161:161:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    161:161:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):278 -> a
    161:161:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    162:162:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):280:280 -> a
    162:162:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    163:163:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    163:163:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):280 -> a
    163:163:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    164:164:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):282:282 -> a
    164:164:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    165:165:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    165:165:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):282 -> a
    165:165:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    166:166:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):210:210 -> a
    167:167:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    167:167:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):210 -> a
    168:168:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    168:168:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    168:168:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):210 -> a
    169:184:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):210:225 -> a
    185:194:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):317:326 -> a
    185:194:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    195:195:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    195:195:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):326 -> a
    195:195:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    196:196:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):328:328 -> a
    196:196:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    197:197:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    197:197:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):328 -> a
    197:197:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    198:198:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):330:330 -> a
    198:198:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    199:199:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    199:199:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):330 -> a
    199:199:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    200:200:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):332:332 -> a
    200:200:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    201:201:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    201:201:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):332 -> a
    201:201:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    202:202:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):334:334 -> a
    202:202:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    203:203:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    203:203:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):334 -> a
    203:203:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    204:204:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):336:336 -> a
    204:204:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    205:205:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    205:205:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):336 -> a
    205:205:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    206:206:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):226:226 -> a
    207:207:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    207:207:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):226 -> a
    208:208:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    208:208:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    208:208:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):226 -> a
    209:209:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):226:226 -> a
    210:210:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):218:218 -> a
    211:211:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    211:211:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):218 -> a
    212:212:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    212:212:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    212:212:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):218 -> a
    213:213:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):218:218 -> a
    214:222:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):181:189 -> a
    223:225:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):169:171 -> a
    226:226:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    226:226:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):171 -> a
    227:228:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):173:174 -> a
    229:229:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    229:229:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):174 -> a
    230:230:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):175:175 -> a
    231:231:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    231:231:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):175 -> a
    232:239:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):155:162 -> a
    240:246:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):270:276 -> a
    240:246:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    247:247:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    247:247:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):276 -> a
    247:247:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    248:248:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):278:278 -> a
    248:248:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    249:249:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    249:249:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):278 -> a
    249:249:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    250:250:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):280:280 -> a
    250:250:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    251:251:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    251:251:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):280 -> a
    251:251:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    252:252:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):282:282 -> a
    252:252:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    253:253:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    253:253:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):282 -> a
    253:253:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    254:258:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):146:150 -> a
    259:261:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):139:141 -> a
    262:262:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    262:262:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):141 -> a
    263:266:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):130:133 -> a
    267:268:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):124:125 -> a
    269:274:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):253:258 -> a
    275:275:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    275:275:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):258 -> a
    276:276:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):260:260 -> a
    277:277:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    277:277:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):260 -> a
    278:278:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):262:262 -> a
    279:279:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    279:279:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):262 -> a
    280:287:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):289:296 -> a
    288:288:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    288:288:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):296 -> a
    289:289:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):298:298 -> a
    290:290:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    290:290:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):298 -> a
    291:291:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):300:300 -> a
    292:292:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    292:292:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):300 -> a
    293:293:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):302:302 -> a
    294:294:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    294:294:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):302 -> a
    295:295:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):304:304 -> a
    296:296:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    296:296:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):304 -> a
    297:297:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):347:347 -> a
    298:449:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):358:509 -> a
    450:450:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    450:450:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):503 -> a
    451:451:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:125 -> a
    451:451:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):503 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    452:452:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):126:126 -> a
    452:452:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):503 -> a
    453:453:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    453:453:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):504 -> a
    454:455:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    454:455:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):504 -> a
    456:456:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):505:505 -> a
    457:461:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):464:468 -> a
    462:462:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    462:462:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):470 -> a
    463:463:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):470:470 -> a
    464:464:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    464:464:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):471 -> a
    465:465:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):471:471 -> a
    466:466:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    466:466:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):472 -> a
    467:467:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):472:472 -> a
    468:468:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    468:468:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):473 -> a
    469:470:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    469:470:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):473 -> a
    471:476:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):475:480 -> a
    477:477:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    477:477:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):483 -> a
    478:478:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):483:483 -> a
    479:479:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    479:479:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):484 -> a
    480:483:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):484:487 -> a
    484:484:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    484:484:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):489 -> a
    485:485:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):489:489 -> a
    486:486:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    486:486:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):490 -> a
    487:488:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    487:488:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):490 -> a
    489:493:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):491:495 -> a
    494:494:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):437:437 -> a
    495:495:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    495:495:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):438 -> a
    496:497:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    496:497:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):438 -> a
    498:498:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):439:439 -> a
    499:499:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    499:499:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):440 -> a
    500:500:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):440:440 -> a
    501:501:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    501:501:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):441 -> a
    502:503:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    502:503:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):441 -> a
    504:509:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):442:447 -> a
    510:511:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):419:420 -> a
    512:512:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    512:512:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):421 -> a
    513:513:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):421:421 -> a
    514:514:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    514:514:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):422 -> a
    515:516:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    515:516:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):422 -> a
    517:521:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):423:427 -> a
    522:522:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    522:522:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):400 -> a
    523:523:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:125 -> a
    523:523:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):400 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    524:524:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):126:126 -> a
    524:524:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):400 -> a
    525:526:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):401:402 -> a
    527:527:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    527:527:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):403 -> a
    528:528:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):403:403 -> a
    529:529:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    529:529:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):404 -> a
    530:531:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    530:531:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):404 -> a
    532:536:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):405:409 -> a
    537:537:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    537:537:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):388 -> a
    538:538:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:125 -> a
    538:538:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):388 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    539:539:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):126:126 -> a
    539:539:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):388 -> a
    540:540:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    540:540:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):389 -> a
    541:542:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    541:542:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):389 -> a
    543:543:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):390:390 -> a
    544:544:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    544:544:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):380 -> a
    545:545:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:125 -> a
    545:545:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):380 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    546:546:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):126:126 -> a
    546:546:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):380 -> a
    547:547:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):381:381 -> a
    548:549:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):370:371 -> a
    550:550:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    550:550:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):372 -> a
    551:551:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):372:372 -> a
    552:552:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    552:552:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):373 -> a
    553:554:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:126 -> a
    553:554:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):373 -> a
    555:555:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():59:59 -> a
    555:555:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):362 -> a
    556:556:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):125:125 -> a
    556:556:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):362 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    557:557:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):126:126 -> a
    557:557:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):362 -> a
    boolean emitsIR() -> r
    1:1:int getCompareToId():88:88 -> s
com.android.tools.r8.cf.code.CfStackInstruction$1 -> com.android.tools.r8.internal.y8:
    int[] $SwitchMap$com$android$tools$r8$cf$code$CfStackInstruction$Opcode -> a
    1:1:void <clinit>():121:121 -> <clinit>
com.android.tools.r8.cf.code.CfStackInstruction$Opcode -> com.android.tools.r8.internal.z8$a:
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X2 -> j
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X1 -> i
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode[] $VALUES -> l
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2 -> h
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode DupX2 -> g
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode DupX1 -> f
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup -> e
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Pop2 -> d
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Pop -> c
    int opcode -> b
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Swap -> k
    1:9:void <clinit>():34:42 -> <clinit>
    10:10:void <clinit>():33:33 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):46:47 -> <init>
    1:1:int access$000(com.android.tools.r8.cf.code.CfStackInstruction$Opcode):33:33 -> a
    2:2:com.android.tools.r8.cf.code.CfStackInstruction$Opcode[] values():33:33 -> a
com.android.tools.r8.cf.code.CfStaticFieldRead -> com.android.tools.r8.internal.K8:
    1:1:void <init>(com.android.tools.r8.graph.DexField):17:17 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):21:21 -> <init>
    1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):27:27 -> a
com.android.tools.r8.cf.code.CfStaticFieldWrite -> com.android.tools.r8.internal.L8:
    1:1:void <init>(com.android.tools.r8.graph.DexField):16:16 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):20:20 -> <init>
    1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):26:26 -> a
com.android.tools.r8.cf.code.CfStore -> com.android.tools.r8.internal.N8:
    com.android.tools.r8.ir.code.ValueType type -> c
    int var -> b
    1:3:void <init>(com.android.tools.r8.ir.code.ValueType,int):37:39 -> <init>
    1:1:int getLocalIndex():103:103 -> F
    1:1:com.android.tools.r8.ir.code.ValueType getType():99:99 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    2:14:int com.android.tools.r8.cf.code.CfStore.getStoreType():54:66 -> a
    2:14:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    15:15:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> a
    18:18:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    19:19:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> a
    19:19:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    20:20:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> a
    20:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    16:16:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    17:17:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> a
    21:21:void print(com.android.tools.r8.cf.CfPrinter):95:95 -> a
    22:23:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):108:109 -> a
    24:24:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    24:24:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):109 -> a
    25:60:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):132:167 -> a
    61:61:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":279,"2":280,"3":281}}
    279:279:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):167:167 -> a
    280:280:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):167:167 -> a
    281:281:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):167:167 -> a
    228:228:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):167:167 -> a
    229:232:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):161:164 -> a
    233:236:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):155:158 -> a
    237:239:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):150:152 -> a
    240:242:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):145:147 -> a
    243:247:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):135:135 -> a
    254:254:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):142:142 -> a
    282:282:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forStore():327:327 -> a
    282:282:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):120 -> a
    com.android.tools.r8.cf.code.CfStore asStore() -> o
    boolean emitsIR() -> r
    1:13:int com.android.tools.r8.cf.code.CfStore.getStoreType():54:66 -> s
    1:13:int getCompareToId():44 -> s
    14:14:int getCompareToId():0:0 -> s
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18}}
    16:16:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> s
    16:16:int getCompareToId():44 -> s
    17:17:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> s
    17:17:int getCompareToId():44 -> s
    18:18:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> s
    18:18:int getCompareToId():44 -> s
    15:15:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> s
    15:15:int getCompareToId():44 -> s
com.android.tools.r8.cf.code.CfStore$1 -> com.android.tools.r8.internal.M8:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():54:54 -> <clinit>
com.android.tools.r8.cf.code.CfSwitch -> com.android.tools.r8.internal.P8:
    java.util.List targets -> e
    int[] keys -> d
    com.android.tools.r8.cf.code.CfSwitch$Kind kind -> b
    boolean $assertionsDisabled -> f
    com.android.tools.r8.cf.code.CfLabel defaultTarget -> c
    1:1:void <clinit>():30:30 -> <clinit>
    1:7:void <init>(com.android.tools.r8.cf.code.CfSwitch$Kind,com.android.tools.r8.cf.code.CfLabel,int[],java.util.List):39:45 -> <init>
    boolean isJump() -> C
    1:1:com.android.tools.r8.cf.code.CfLabel getDefaultTarget():71:71 -> F
    1:1:java.util.List getKeys():75:75 -> G
    1:1:com.android.tools.r8.cf.code.CfSwitch$Kind getKind():67:67 -> H
    1:1:java.util.List getSwitchTargets():79:79 -> I
    1:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):56:57 -> a
    3:3:void lambda$internalAcceptCompareTo$1(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):61:61 -> a
    4:4:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    4:4:void lambda$internalAcceptCompareTo$1(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):61 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:7:void lambda$internalAcceptCompareTo$1(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):61:63 -> a
    8:8:int[] lambda$internalAcceptCompareTo$0(com.android.tools.r8.cf.code.CfSwitch):62:62 -> a
    9:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):107:118 -> a
    21:21:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):113:113 -> a
    22:22:void print(com.android.tools.r8.cf.CfPrinter):125:125 -> a
    23:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):130:135 -> a
    29:34:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):153:158 -> a
    35:35:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    35:35:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):141 -> a
    1:1:int getCompareToId():50:50 -> s
com.android.tools.r8.cf.code.CfSwitch$1 -> com.android.tools.r8.internal.O8:
    int[] $SwitchMap$com$android$tools$r8$cf$code$CfSwitch$Kind -> a
    1:1:void <clinit>():111:111 -> <clinit>
com.android.tools.r8.cf.code.CfSwitch$Kind -> com.android.tools.r8.internal.P8$a:
    com.android.tools.r8.cf.code.CfSwitch$Kind TABLE -> c
    com.android.tools.r8.cf.code.CfSwitch$Kind[] $VALUES -> d
    com.android.tools.r8.cf.code.CfSwitch$Kind LOOKUP -> b
    1:1:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.lang.String,int):32:32 -> <init>
    1:1:com.android.tools.r8.cf.code.CfSwitch$Kind[] values():32:32 -> a
com.android.tools.r8.cf.code.CfThrow -> com.android.tools.r8.internal.Q8:
    1:1:void <init>():27:27 -> <init>
    boolean isJump() -> C
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42:42 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):65:65 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):70:70 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):80:81 -> a
    6:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.InitClassLens):99:101 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):87 -> a
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfTryCatch -> com.android.tools.r8.internal.R8:
    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
    1:1:void <clinit>():17:17 -> <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):23:28 -> <init>
    1:2:boolean verifyAllNonNull(java.util.List):32:33 -> a
    3:3:int acceptCompareTo(com.android.tools.r8.cf.code.CfTryCatch,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):52:52 -> a
    4:4:com.android.tools.r8.cf.code.CfLabel lambda$acceptCompareTo$0(com.android.tools.r8.cf.code.CfTryCatch):56:56 -> a
    5:5:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):56:56 -> a
    6:6:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    6:6:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:8:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):56:57 -> a
    9:9:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    9:9:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:12:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):57:59 -> a
    13:13:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod):63:63 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel lambda$acceptCompareTo$1(com.android.tools.r8.cf.code.CfTryCatch):57:57 -> b
    1:1:java.util.Collection lambda$acceptCompareTo$2(com.android.tools.r8.cf.code.CfTryCatch):58:58 -> c
    1:1:java.util.Collection lambda$acceptCompareTo$3(com.android.tools.r8.cf.code.CfTryCatch):59:59 -> d
com.android.tools.r8.cf.code.CfTypeInstruction -> com.android.tools.r8.internal.S8:
com.android.tools.r8.code.AddDouble -> com.android.tools.r8.code.b:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AddDouble2Addr -> com.android.tools.r8.code.a:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AddFloat -> com.android.tools.r8.code.d:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddFloat2Addr -> com.android.tools.r8.code.c:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddInt -> com.android.tools.r8.code.f:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddInt2Addr -> com.android.tools.r8.code.e:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddIntLit16 -> com.android.tools.r8.code.g:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddIntLit8 -> com.android.tools.r8.code.h:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddLong -> com.android.tools.r8.code.j:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AddLong2Addr -> com.android.tools.r8.code.i:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Aget -> com.android.tools.r8.code.k:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AgetBoolean -> com.android.tools.r8.code.l:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.AgetByte -> com.android.tools.r8.code.m:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AgetChar -> com.android.tools.r8.code.n:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AgetObject -> com.android.tools.r8.code.o:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AgetShort -> com.android.tools.r8.code.p:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AgetWide -> com.android.tools.r8.code.q:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndInt -> com.android.tools.r8.code.s:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndInt2Addr -> com.android.tools.r8.code.r:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndIntLit16 -> com.android.tools.r8.code.t:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndIntLit8 -> com.android.tools.r8.code.u:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AndLong -> com.android.tools.r8.code.w:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndLong2Addr -> com.android.tools.r8.code.v:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Aput -> com.android.tools.r8.code.x:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputBoolean -> com.android.tools.r8.code.y:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputByte -> com.android.tools.r8.code.z:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputChar -> com.android.tools.r8.code.A:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputObject -> com.android.tools.r8.code.B:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputShort -> com.android.tools.r8.code.C:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputWide -> com.android.tools.r8.code.D:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ArrayLength -> com.android.tools.r8.code.E:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Base1Format -> com.android.tools.r8.code.F:
    1:1:void <init>(com.android.tools.r8.code.BytecodeStream):11:11 -> <init>
    2:2:void <init>():14:14 -> <init>
    int getSize() -> x
com.android.tools.r8.code.Base2Format -> com.android.tools.r8.code.G:
    1:1:void <init>():10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.code.BytecodeStream):13:13 -> <init>
    int getSize() -> x
com.android.tools.r8.code.Base3Format -> com.android.tools.r8.code.H:
    1:1:void <init>():10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.code.BytecodeStream):13:13 -> <init>
    int getSize() -> x
com.android.tools.r8.code.Base4Format -> com.android.tools.r8.code.I:
    1:1:void <init>():10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.code.BytecodeStream):13:13 -> <init>
    int getSize() -> x
com.android.tools.r8.code.Base5Format -> com.android.tools.r8.code.J:
    1:1:void <init>():10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.code.BytecodeStream):13:13 -> <init>
    int getSize() -> x
com.android.tools.r8.code.BytecodeStream -> com.android.tools.r8.internal.l6:
com.android.tools.r8.code.CfOrDexInstanceFieldRead -> com.android.tools.r8.internal.Y7:
com.android.tools.r8.code.CfOrDexInstruction -> com.android.tools.r8.internal.Z7:
    com.android.tools.r8.cf.code.CfInstruction asCfInstruction() -> b
    com.android.tools.r8.code.Instruction asDexInstruction() -> c
com.android.tools.r8.code.CfOrDexStaticFieldRead -> com.android.tools.r8.internal.a8:
com.android.tools.r8.code.CheckCast -> com.android.tools.r8.code.K:
    boolean ignoreCompatRules -> i
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):27:28 -> <init>
    3:4:void <init>(int,com.android.tools.r8.graph.DexType,boolean):32:33 -> <init>
    boolean isCheckCast() -> D
    1:1:com.android.tools.r8.graph.DexType getType():99:99 -> M
    1:1:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):53:53 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67:67 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68:68 -> a
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    9:9:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:78 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:78 -> a
    94:94:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78 -> a
    95:95:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78 -> a
    90:90:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79:79 -> a
    91:91:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79 -> a
    92:92:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80:80 -> a
    96:96:void registerUse(com.android.tools.r8.graph.UseRegistry):95:95 -> a
    97:97:boolean ignoreCompatRules():58:58 -> a
    97:97:void registerUse(com.android.tools.r8.graph.UseRegistry):95 -> a
    98:98:void registerUse(com.android.tools.r8.graph.UseRegistry):95:95 -> a
    99:99:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):104:104 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):53:53 -> b
    com.android.tools.r8.code.CheckCast asCheckCast() -> d
    boolean canThrow() -> m
    1:1:java.lang.String getName():38:38 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():43:43 -> z
com.android.tools.r8.code.CmpLong -> com.android.tools.r8.code.L:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.CmpgDouble -> com.android.tools.r8.code.M:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.CmpgFloat -> com.android.tools.r8.code.N:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.CmplDouble -> com.android.tools.r8.code.O:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.CmplFloat -> com.android.tools.r8.code.P:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.Const -> com.android.tools.r8.code.T:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:int decodedValue():43:43 -> a
    62:62:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    62:62:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    64:64:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:67:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.Const16 -> com.android.tools.r8.code.Q:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:int decodedValue():43:43 -> a
    2:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):54:56 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.Const4 -> com.android.tools.r8.code.S:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:int decodedValue():43:43 -> a
    62:64:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstClass -> com.android.tools.r8.code.U:
    boolean ignoreCompatRules -> i
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):27:28 -> <init>
    3:4:void <init>(int,com.android.tools.r8.graph.DexType,boolean):32:33 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():89:89 -> M
    1:1:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):38:38 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67:67 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68:68 -> a
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    9:9:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:78 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:78 -> a
    94:94:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78 -> a
    95:95:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78 -> a
    90:90:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79:79 -> a
    91:91:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79 -> a
    92:92:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80:80 -> a
    96:96:void registerUse(com.android.tools.r8.graph.UseRegistry):85:85 -> a
    97:97:boolean ignoreCompatRules():43:43 -> a
    97:97:void registerUse(com.android.tools.r8.graph.UseRegistry):85 -> a
    98:98:void registerUse(com.android.tools.r8.graph.UseRegistry):85:85 -> a
    99:99:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):94:94 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):38:38 -> b
    com.android.tools.r8.code.ConstClass asConstClass() -> e
    boolean canThrow() -> m
    1:1:java.lang.String getName():48:48 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():53:53 -> z
com.android.tools.r8.code.ConstHigh16 -> com.android.tools.r8.code.V:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:int decodedValue():43:43 -> a
    62:62:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    62:62:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    64:64:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:65:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    65:65:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    65:65:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    66:68:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstMethodHandle -> com.android.tools.r8.code.W:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):28:28 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethodHandle):32:32 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70}}
    68:68:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> a
    69:69:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> a
    70:70:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> a
    67:67:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> a
    71:71:com.android.tools.r8.graph.DexMethodHandle getMethodHandle():36:36 -> a
    71:71:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):101 -> a
    72:72:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):101:101 -> a
    73:75:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):100:102 -> a
    76:76:com.android.tools.r8.graph.DexMethodHandle getMethodHandle():36:36 -> a
    76:76:void registerUse(com.android.tools.r8.graph.UseRegistry):72 -> a
    77:77:void registerUse(com.android.tools.r8.graph.UseRegistry):72:72 -> a
    78:78:void registerUse(com.android.tools.r8.graph.UseRegistry):71:71 -> a
    79:79:com.android.tools.r8.graph.DexMethodHandle getMethodHandle():36:36 -> a
    79:79:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84 -> a
    80:80:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84:84 -> a
    81:81:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:83 -> a
    82:82:int com.android.tools.r8.graph.DexMethodHandle.getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):280:280 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):89:89 -> a
    84:84:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):89 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):90:90 -> a
    86:86:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):87:87 -> a
    87:87:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):56:56 -> a
    88:88:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107:107 -> a
    89:89:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1223:1223 -> a
    89:89:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    90:98:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1223:1231 -> a
    90:98:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
    99:103:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1230:1234 -> a
    99:103:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
    104:104:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1224:1224 -> a
    104:104:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> b
    64:64:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> b
    65:65:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> b
    62:62:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> b
    66:66:com.android.tools.r8.graph.DexMethodHandle lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):56:56 -> b
    boolean canThrow() -> m
    1:1:java.lang.String getName():41:41 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():46:46 -> z
com.android.tools.r8.code.ConstMethodType -> com.android.tools.r8.code.X:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):27:27 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexProto):31:31 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":67,"2":68,"3":69}}
    67:67:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> a
    68:68:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> a
    69:69:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> a
    66:66:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> a
    70:70:com.android.tools.r8.graph.DexProto getMethodType():35:35 -> a
    70:70:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):95 -> a
    71:72:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):95:96 -> a
    73:73:com.android.tools.r8.graph.DexProto getMethodType():35:35 -> a
    73:73:void registerUse(com.android.tools.r8.graph.UseRegistry):70 -> a
    74:74:void registerUse(com.android.tools.r8.graph.UseRegistry):70:70 -> a
    75:77:void com.android.tools.r8.graph.UseRegistry.registerProto(com.android.tools.r8.graph.DexProto):254:256 -> a
    75:77:void registerUse(com.android.tools.r8.graph.UseRegistry):70 -> a
    78:78:com.android.tools.r8.graph.DexProto getMethodType():35:35 -> a
    78:78:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80 -> a
    79:80:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80:81 -> a
    81:81:int com.android.tools.r8.graph.DexProto.getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):109:109 -> a
    81:81:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):81 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85:85 -> a
    83:83:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85 -> a
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):86:86 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:83 -> a
    86:86:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):55:55 -> a
    87:87:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101:101 -> a
    88:88:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1238:1238 -> a
    88:88:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:97:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1238:1246 -> a
    89:97:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    98:102:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1245:1249 -> a
    98:102:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    103:103:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1239:1239 -> a
    103:103:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":62,"2":63,"3":64}}
    62:62:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):60:60 -> b
    63:63:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):60:60 -> b
    64:64:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):60:60 -> b
    61:61:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):60:60 -> b
    65:65:com.android.tools.r8.graph.DexProto lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):55:55 -> b
    boolean canThrow() -> m
    1:1:java.lang.String getName():40:40 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():45:45 -> z
com.android.tools.r8.code.ConstString -> com.android.tools.r8.code.Y:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):26:26 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexString):30:30 -> <init>
    boolean isConstString() -> G
    1:1:com.android.tools.r8.graph.DexString getString():34:34 -> M
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":85,"2":86,"3":87}}
    85:85:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:83 -> a
    86:86:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:83 -> a
    87:87:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:83 -> a
    84:84:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:83 -> a
    88:88:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):39:39 -> a
    89:89:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    90:90:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    90:90:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):93:93 -> a
    92:92:int com.android.tools.r8.graph.DexString.getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):278:278 -> a
    92:92:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):93 -> a
    93:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):97:97 -> a
    94:94:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):97 -> a
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):98:98 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):95:95 -> a
    97:97:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):103:103 -> a
    98:98:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1257 -> a
    98:98:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    99:101:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1259 -> a
    99:101:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):103 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
    80:80:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):78:78 -> b
    81:81:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):78:78 -> b
    82:82:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):78:78 -> b
    79:79:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):78:78 -> b
    83:83:com.android.tools.r8.graph.DexString lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):39:39 -> b
    com.android.tools.r8.code.ConstString asConstString() -> f
    boolean canThrow() -> m
    1:1:java.lang.String getName():53:53 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():58:58 -> z
com.android.tools.r8.code.ConstStringJumbo -> com.android.tools.r8.code.Z:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexString):22:22 -> <init>
    1:1:com.android.tools.r8.graph.DexString getString():26:26 -> M
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> a
    64:64:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> a
    65:65:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> a
    62:62:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> a
    66:66:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    67:67:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1257 -> a
    67:67:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    68:70:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1259 -> a
    68:70:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):66 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> b
    59:59:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> b
    60:60:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> b
    57:57:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> b
    com.android.tools.r8.code.ConstStringJumbo asConstStringJumbo() -> g
    boolean canThrow() -> m
    1:1:java.lang.String getName():31:31 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():36:36 -> z
com.android.tools.r8.code.ConstWide -> com.android.tools.r8.code.c0:
    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 -> h
    1:1:void com.android.tools.r8.code.Format51l.<clinit>():17:17 -> <clinit>
    1:2:void com.android.tools.r8.code.Format51l.<init>(int,com.android.tools.r8.code.BytecodeStream):28:29 -> <init>
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):19 -> <init>
    3:4:long com.android.tools.r8.code.Instruction.read64BitValue(com.android.tools.r8.code.BytecodeStream):80:81 -> <init>
    3:4:void com.android.tools.r8.code.Format51l.<init>(int,com.android.tools.r8.code.BytecodeStream):30 -> <init>
    3:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):19 -> <init>
    5:5:void com.android.tools.r8.code.Format51l.<init>(int,com.android.tools.r8.code.BytecodeStream):30:30 -> <init>
    5:5:void <init>(int,com.android.tools.r8.code.BytecodeStream):19 -> <init>
    6:9:void com.android.tools.r8.code.Format51l.<init>(int,long):33:36 -> <init>
    6:9:void <init>(int,long):23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    int com.android.tools.r8.code.Format51l.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:int com.android.tools.r8.code.Format51l.lambda$specify$0(com.android.tools.r8.code.Format51l):23:23 -> a
    62:62:void com.android.tools.r8.code.Format51l.specify(com.android.tools.r8.utils.structural.StructuralSpecification):23:23 -> a
    63:63:long decodedValue():43:43 -> a
    64:64:void com.android.tools.r8.code.Format51l.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:65:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    65:65:void com.android.tools.r8.code.Format51l.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    65:65:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    66:66:void com.android.tools.r8.code.Format51l.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    66:66:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    67:68:void com.android.tools.r8.code.Instruction.write64BitValue(long,java.nio.ShortBuffer):120:121 -> a
    67:68:void com.android.tools.r8.code.Format51l.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    67:68:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    69:69:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:60 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    55:55:long com.android.tools.r8.code.Format51l.lambda$specify$1(com.android.tools.r8.code.Format51l):23:23 -> b
    56:56:int com.android.tools.r8.code.Format51l.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):57:57 -> b
    1:1:int com.android.tools.r8.code.Format51l.hashCode():52:52 -> hashCode
    1:1:int com.android.tools.r8.code.Format51l.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstWide16 -> com.android.tools.r8.code.a0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:long decodedValue():43:43 -> a
    62:62:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:60 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstWide32 -> com.android.tools.r8.code.b0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:long decodedValue():43:43 -> a
    62:62:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    62:62:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    64:64:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:65:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:60 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstWideHigh16 -> com.android.tools.r8.code.d0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:long decodedValue():43:43 -> a
    62:62:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    62:62:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    64:64:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:65:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    65:65:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    65:65:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    66:66:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:60 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.DexCompareHelper -> com.android.tools.r8.code.e0:
    int DEX_ITEM_CONST_STRING_COMPARE_ID -> b
    int DEX_RECORD_FIELD_VALUES_COMPARE_ID -> c
    int INIT_CLASS_COMPARE_ID -> a
    boolean $assertionsDisabled -> d
    1:15:void <clinit>():6:20 -> <clinit>
com.android.tools.r8.code.DexInitClass -> com.android.tools.r8.code.f0:
    int dest -> f
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexType clazz -> g
    1:1:void <clinit>():23:23 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.graph.DexType):36:39 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145}}
    143:143:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):141:141 -> a
    144:144:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):141:141 -> a
    145:145:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):141:141 -> a
    142:142:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):141:141 -> a
    146:146:int lambda$specify$0(com.android.tools.r8.code.DexInitClass):33:33 -> a
    147:147:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):33:33 -> a
    148:148:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    149:149:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55:55 -> a
    150:150:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":208,"2":209,"3":210}}
    208:208:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55:55 -> a
    209:209:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    209:209:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    210:210:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    210:210:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    206:207:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):56:57 -> a
    211:211:void registerUse(com.android.tools.r8.graph.UseRegistry):111:111 -> a
    212:212:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123:123 -> a
    213:213:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    213:213:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123 -> a
    214:215:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):124:125 -> a
    216:235:int getOpcode(com.android.tools.r8.graph.DexField):86:105 -> a
    216:235:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    236:236:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":240,"2":241,"3":242}}
    240:240:int getOpcode(com.android.tools.r8.graph.DexField):105:105 -> a
    240:240:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    241:241:int getOpcode(com.android.tools.r8.graph.DexField):105:105 -> a
    241:241:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    242:242:int getOpcode(com.android.tools.r8.graph.DexField):105:105 -> a
    242:242:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    237:237:int getOpcode(com.android.tools.r8.graph.DexField):105:105 -> a
    237:237:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    238:239:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125:126 -> a
    243:243:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):136:136 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$specify$1(com.android.tools.r8.code.DexInitClass):33:33 -> b
    2:8:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):146:152 -> b
    1:1:int hashCode():131:131 -> hashCode
    boolean canThrow() -> m
    1:1:int getCompareToId():82:82 -> p
    1:1:java.lang.String getName():67:67 -> t
    1:1:int getOpcode():77:77 -> v
    1:1:java.lang.String getSmaliName():72:72 -> z
com.android.tools.r8.code.DexItemBasedConstString -> com.android.tools.r8.code.g0:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> i
    1:1:void <clinit>():20:20 -> <clinit>
    1:2:void <init>(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):29:30 -> <init>
    1:1:com.android.tools.r8.graph.DexReference getItem():34:34 -> M
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():38:38 -> N
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99}}
    97:97:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:95 -> a
    98:98:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:95 -> a
    99:99:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:95 -> a
    96:96:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:95 -> a
    100:100:com.android.tools.r8.graph.DexReference getItem():34:34 -> a
    100:100:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    101:101:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    102:102:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):73:73 -> a
    103:103:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):105:105 -> a
    104:105:void registerUse(com.android.tools.r8.graph.UseRegistry):111:112 -> a
    106:106:com.android.tools.r8.graph.DexReference getItem():34:34 -> a
    106:106:void registerUse(com.android.tools.r8.graph.UseRegistry):112 -> a
    107:107:void registerUse(com.android.tools.r8.graph.UseRegistry):112:112 -> a
    108:108:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    108:108:void registerUse(com.android.tools.r8.graph.UseRegistry):112 -> a
    109:109:void registerUse(com.android.tools.r8.graph.UseRegistry):112:112 -> a
    110:110:com.android.tools.r8.graph.DexReference getItem():34:34 -> a
    110:110:void registerUse(com.android.tools.r8.graph.UseRegistry):113 -> a
    111:111:void registerUse(com.android.tools.r8.graph.UseRegistry):113:113 -> a
    112:112:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):119:119 -> a
    113:113:void com.android.tools.r8.ir.conversion.IRBuilder.addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1264:1264 -> a
    113:113:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    114:117:void com.android.tools.r8.ir.conversion.IRBuilder.addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1264:1267 -> a
    114:117:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):119 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":91,"2":92,"3":93}}
    91:91:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    92:92:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    93:93:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    90:90:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    94:94:com.android.tools.r8.graph.DexReference lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):73:73 -> b
    com.android.tools.r8.code.DexItemBasedConstString asDexItemBasedConstString() -> h
    boolean canThrow() -> m
    1:1:int getCompareToId():68:68 -> p
    1:1:java.lang.String getName():52:52 -> t
    1:1:int getOpcode():62:62 -> v
    1:1:java.lang.String getSmaliName():57:57 -> z
com.android.tools.r8.code.DexNewUnboxedEnumInstance -> com.android.tools.r8.code.h0:
    int ordinal -> i
    1:2:void <init>(int,com.android.tools.r8.graph.DexType,int):28:29 -> <init>
    1:1:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):49:49 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):58:58 -> a
    3:3:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68:68 -> a
    4:4:com.android.tools.r8.graph.DexType getType():77:77 -> a
    4:4:void registerUse(com.android.tools.r8.graph.UseRegistry):73 -> a
    5:5:void com.android.tools.r8.graph.UseRegistry.registerNewUnboxedEnumInstance(com.android.tools.r8.graph.DexType):117:117 -> a
    5:5:void registerUse(com.android.tools.r8.graph.UseRegistry):73 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):82:82 -> a
    7:7:com.android.tools.r8.graph.DexType getType():77:77 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):82 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):82:82 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):49:49 -> b
    boolean canThrow() -> m
    1:1:java.lang.String getName():34:34 -> t
    1:1:int getOpcode():44:44 -> v
    1:1:java.lang.String getSmaliName():39:39 -> z
com.android.tools.r8.code.DexRecordFieldValues -> com.android.tools.r8.code.i0:
    int[] arguments -> g
    int outRegister -> f
    com.android.tools.r8.graph.DexField[] fields -> h
    1:4:void <init>(int,int[],com.android.tools.r8.graph.DexField[]):32:35 -> <init>
    1:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):44:45 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):77:77 -> a
    4:4:com.android.tools.r8.graph.DexField[] lambda$specify$0(com.android.tools.r8.code.DexRecordFieldValues):81:81 -> a
    5:5:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):81:81 -> a
    6:6:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):105:105 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):115:115 -> a
    8:8:void registerUse(com.android.tools.r8.graph.UseRegistry):126:126 -> a
    9:9:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):131:131 -> a
    10:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    10:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):131 -> a
    11:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):132:135 -> a
    15:15:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1488:1488 -> a
    15:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    16:16:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489 -> a
    16:16:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    17:17:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489:1489 -> a
    17:17:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    18:18:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    18:18:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    18:18:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489 -> a
    18:18:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    19:26:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489:1496 -> a
    19:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    27:27:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1495:1495 -> a
    27:27:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    28:33:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1493:1498 -> a
    28:33:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    1:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):97:98 -> b
    3:10:void appendArguments(java.lang.StringBuilder):85:92 -> b
    3:10:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):99 -> b
    11:11:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):100:100 -> b
    1:1:int hashCode():140:140 -> hashCode
    boolean canThrow() -> m
    1:1:int getCompareToId():72:72 -> p
    1:1:java.lang.String getName():51:51 -> t
    1:1:int getOpcode():61:61 -> v
    int getSize() -> x
    1:1:java.lang.String getSmaliName():56:56 -> z
com.android.tools.r8.code.DivDouble -> com.android.tools.r8.code.k0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DivDouble2Addr -> com.android.tools.r8.code.j0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DivFloat -> com.android.tools.r8.code.m0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DivFloat2Addr -> com.android.tools.r8.code.l0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DivInt -> com.android.tools.r8.code.o0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DivInt2Addr -> com.android.tools.r8.code.n0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.DivIntLit16 -> com.android.tools.r8.code.p0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DivIntLit8 -> com.android.tools.r8.code.q0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DivLong -> com.android.tools.r8.code.s0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DivLong2Addr -> com.android.tools.r8.code.r0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DoubleToFloat -> com.android.tools.r8.code.t0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DoubleToInt -> com.android.tools.r8.code.u0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DoubleToLong -> com.android.tools.r8.code.v0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.FillArrayData -> com.android.tools.r8.code.w0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int):20:20 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
    47:47:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):45:45 -> a
    48:48:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):45:45 -> a
    49:49:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):45:45 -> a
    46:46:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):45:45 -> a
    50:50:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    51:51:int com.android.tools.r8.code.Format31t.getPayloadOffset():58:58 -> a
    51:51:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40 -> a
    52:52:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.FillArrayDataPayload -> com.android.tools.r8.code.x0:
    short[] data -> i
    boolean $assertionsDisabled -> j
    long size -> h
    int element_width -> g
    1:1:void <clinit>():18:18 -> <clinit>
    1:10:void <init>(int,com.android.tools.r8.code.BytecodeStream):29:38 -> <init>
    11:14:void <init>(int,long,short[]):42:45 -> <init>
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    1:1:int lambda$specify$0(com.android.tools.r8.code.FillArrayDataPayload):25:25 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):25:25 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):70:70 -> a
    4:43:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:134 -> a
    44:44:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    44:44:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):60 -> a
    45:45:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:61 -> a
    46:46:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    46:46:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61 -> a
    47:48:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62:63 -> a
    49:49:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    49:49:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):64 -> a
    1:1:long lambda$specify$1(com.android.tools.r8.code.FillArrayDataPayload):25:25 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    3:3:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    3:3:java.lang.String com.android.tools.r8.code.Nop.toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    1:1:short[] lambda$specify$2(com.android.tools.r8.code.FillArrayDataPayload):25:25 -> c
    1:3:int hashCode():76:78 -> hashCode
    1:1:int getSize():84:84 -> x
com.android.tools.r8.code.FilledNewArray -> com.android.tools.r8.code.y0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23:23 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexType,int,int,int,int,int):27:27 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():56:56 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):61 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):61:61 -> a
    3:3:com.android.tools.r8.graph.DexType getType():56:56 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11}}
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    10:10:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    11:11:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    11:11:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    11:11:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    12:12:com.android.tools.r8.graph.DexType getType():56:56 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    13:13:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97}}
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76:76 -> a
    96:96:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    97:97:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    97:97:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    90:90:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):77:77 -> a
    91:91:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):77 -> a
    92:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:79 -> a
    94:94:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():32:32 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():37:37 -> z
com.android.tools.r8.code.FilledNewArrayRange -> com.android.tools.r8.code.z0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23:23 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexType):27:27 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():56:56 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):61 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):61:61 -> a
    3:3:com.android.tools.r8.graph.DexType getType():56:56 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11}}
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    10:10:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    11:11:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    11:11:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    11:11:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    12:12:com.android.tools.r8.graph.DexType getType():56:56 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    13:13:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97}}
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76:76 -> a
    96:96:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    97:97:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    97:97:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    90:90:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):77:77 -> a
    91:91:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):77 -> a
    92:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:79 -> a
    94:94:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():32:32 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():37:37 -> z
com.android.tools.r8.code.FloatToDouble -> com.android.tools.r8.code.A0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.FloatToInt -> com.android.tools.r8.code.B0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.FloatToLong -> com.android.tools.r8.code.C0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Format10x -> com.android.tools.r8.code.D0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>():22:22 -> <init>
com.android.tools.r8.code.Format11n -> com.android.tools.r8.code.E0:
    boolean $assertionsDisabled -> h
    byte A -> f
    byte B -> g
    1:1:void <clinit>():17:17 -> <clinit>
    1:8:void <init>(int,com.android.tools.r8.code.BytecodeStream):27:34 -> <init>
    9:13:void <init>(int,int):38:42 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format11n):22:22 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):22:22 -> a
    3:3:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):62:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":69,"2":70,"3":71}}
    69:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    68:68:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    72:72:int lambda$specify$1(com.android.tools.r8.code.Format11n):22:22 -> b
    1:1:int hashCode():57:57 -> hashCode
com.android.tools.r8.code.Format11x -> com.android.tools.r8.code.F0:
    short AA -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():16:16 -> <clinit>
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):22:23 -> <init>
    3:5:void <init>(int):26:28 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":60,"2":61,"3":62}}
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    61:61:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    62:62:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38:38 -> a
    64:64:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38 -> a
    65:65:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):48:48 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":55,"2":56,"3":57}}
    55:55:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    56:56:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    57:57:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    1:1:int hashCode():43:43 -> hashCode
com.android.tools.r8.code.Format12x -> com.android.tools.r8.code.G0:
    boolean $assertionsDisabled -> h
    byte A -> f
    byte B -> g
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):27:29 -> <init>
    4:8:void <init>(int,int):32:36 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":69,"2":70,"3":71}}
    69:69:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> a
    70:70:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> a
    71:71:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> a
    68:68:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> a
    72:72:int lambda$specify$0(com.android.tools.r8.code.Format12x):22:22 -> a
    73:73:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):22:22 -> a
    74:74:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    75:75:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    75:75:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    76:76:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):56:56 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":64,"2":65,"3":66}}
    64:64:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):62:62 -> b
    65:65:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):62:62 -> b
    66:66:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):62:62 -> b
    63:63:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):62:62 -> b
    67:67:int lambda$specify$1(com.android.tools.r8.code.Format12x):22:22 -> b
    1:1:int hashCode():51:51 -> hashCode
com.android.tools.r8.code.Format21c -> com.android.tools.r8.code.H0:
    short AA -> f
    com.android.tools.r8.graph.IndexedDexItem BBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():13:13 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):20:22 -> <init>
    4:7:void <init>(int,com.android.tools.r8.graph.IndexedDexItem):25:28 -> <init>
    void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> a
    57:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> a
    61:61:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):39:39 -> a
    62:62:int lambda$internalAcceptCompareTo$0(com.android.tools.r8.code.Format21c):42:42 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":53,"2":54,"3":55}}
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):49:49 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):49:49 -> b
    55:55:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):49:49 -> b
    50:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):49:49 -> b
    56:56:void lambda$internalAcceptCompareTo$1(com.android.tools.r8.utils.structural.StructuralSpecification):42:42 -> b
    1:1:int hashCode():33:33 -> hashCode
com.android.tools.r8.code.Format21h -> com.android.tools.r8.code.I0:
    char BBBB -> g
    short AA -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):27:29 -> <init>
    4:8:void <init>(int,int):32:36 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format21h):22:22 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):22:22 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):57:57 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format21h):22:22 -> b
    1:1:int hashCode():52:52 -> hashCode
com.android.tools.r8.code.Format21s -> com.android.tools.r8.code.J0:
    short BBBB -> g
    short AA -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):29:31 -> <init>
    4:8:void <init>(int,int):34:38 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":73}}
    71:71:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    72:72:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    73:73:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    70:70:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    74:74:int lambda$specify$0(com.android.tools.r8.code.Format21s):24:24 -> a
    75:75:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    76:76:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    77:77:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    77:77:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    78:78:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49:49 -> a
    79:79:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    79:79:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49 -> a
    80:80:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):59:59 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":66,"2":67,"3":68}}
    66:66:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    67:67:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    68:68:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    65:65:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    69:69:int lambda$specify$1(com.android.tools.r8.code.Format21s):24:24 -> b
    1:1:int hashCode():54:54 -> hashCode
com.android.tools.r8.code.Format21t -> com.android.tools.r8.code.K0:
    short BBBB -> g
    short AA -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():20:20 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):31:33 -> <init>
    4:8:void <init>(int,int):36:40 -> <init>
    1:1:int[] getTargets():70:70 -> A
    com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint() -> M
    com.android.tools.r8.ir.code.If$Type getType() -> N
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":89,"2":90,"3":91}}
    89:89:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):87:87 -> a
    90:90:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):87:87 -> a
    91:91:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):87:87 -> a
    88:88:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):87:87 -> a
    92:92:int lambda$specify$0(com.android.tools.r8.code.Format21t):26:26 -> a
    93:93:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):26:26 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    95:95:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer) -> a
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    97:97:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    97:97:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    98:98:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    99:101:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):75:77 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":84,"2":85,"3":86}}
    84:84:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):82:82 -> b
    85:85:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):82:82 -> b
    86:86:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):82:82 -> b
    83:83:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):82:82 -> b
    87:87:int lambda$specify$1(com.android.tools.r8.code.Format21t):26:26 -> b
    1:1:int hashCode():56:56 -> hashCode
com.android.tools.r8.code.Format22b -> com.android.tools.r8.code.L0:
    short BB -> g
    short AA -> f
    boolean $assertionsDisabled -> i
    byte CC -> h
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):30:33 -> <init>
    5:11:void <init>(int,int,int):36:42 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    78:78:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    79:79:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    74:76:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    80:80:int lambda$specify$0(com.android.tools.r8.code.Format22b):25:25 -> a
    81:81:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):25:25 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    83:83:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:53 -> a
    85:85:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    86:86:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):63:63 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":70,"2":71,"3":72}}
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    72:72:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    69:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    73:73:int lambda$specify$1(com.android.tools.r8.code.Format22b):25:25 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format22b):25:25 -> c
    1:1:int hashCode():58:58 -> hashCode
com.android.tools.r8.code.Format22c -> com.android.tools.r8.code.M0:
    com.android.tools.r8.graph.DexReference CCCC -> h
    boolean $assertionsDisabled -> i
    byte A -> f
    byte B -> g
    1:1:void <clinit>():14:14 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexReference[]):26:29 -> <init>
    5:10:void <init>(int,int,com.android.tools.r8.graph.DexReference):32:37 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":61,"2":62,"3":63}}
    61:61:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):59:59 -> a
    62:62:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):59:59 -> a
    63:63:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):59:59 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):59:59 -> a
    64:64:int lambda$specify$0(com.android.tools.r8.code.Format22c):21:21 -> a
    65:65:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):21:21 -> a
    66:66:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):47:47 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    57:57:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    58:58:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    53:55:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    59:59:int lambda$specify$1(com.android.tools.r8.code.Format22c):21:21 -> b
    1:1:com.android.tools.r8.graph.DexReference lambda$specify$2(com.android.tools.r8.code.Format22c):21:21 -> c
    1:1:int hashCode():42:42 -> hashCode
com.android.tools.r8.code.Format22s -> com.android.tools.r8.code.N0:
    short CCCC -> h
    boolean $assertionsDisabled -> i
    byte A -> f
    byte B -> g
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):30:33 -> <init>
    5:11:void <init>(int,int,int):36:42 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    78:78:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    79:79:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    74:76:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    80:80:int lambda$specify$0(com.android.tools.r8.code.Format22s):25:25 -> a
    81:81:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):25:25 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    83:83:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:53 -> a
    85:85:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    86:86:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):63:63 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":70,"2":71,"3":72}}
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    72:72:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    69:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    73:73:int lambda$specify$1(com.android.tools.r8.code.Format22s):25:25 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format22s):25:25 -> c
    1:1:int hashCode():58:58 -> hashCode
com.android.tools.r8.code.Format22t -> com.android.tools.r8.code.O0:
    short CCCC -> h
    boolean $assertionsDisabled -> i
    byte A -> f
    byte B -> g
    1:1:void <clinit>():20:20 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):32:35 -> <init>
    5:11:void <init>(int,int,int):38:44 -> <init>
    1:1:int[] getTargets():74:74 -> A
    com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint() -> M
    com.android.tools.r8.ir.code.If$Type getType() -> N
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):91:91 -> a
    94:94:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):91:91 -> a
    95:95:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):91:91 -> a
    92:92:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):91:91 -> a
    96:96:int lambda$specify$0(com.android.tools.r8.code.Format22t):27:27 -> a
    97:97:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):27:27 -> a
    98:98:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):54:54 -> a
    99:99:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    99:99:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):54 -> a
    100:100:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55:55 -> a
    101:101:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    101:101:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    102:102:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    103:105:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):79:81 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":90}}
    88:88:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):86:86 -> b
    89:89:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):86:86 -> b
    90:90:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):86:86 -> b
    87:87:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):86:86 -> b
    91:91:int lambda$specify$1(com.android.tools.r8.code.Format22t):27:27 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format22t):27:27 -> c
    1:1:int hashCode():60:60 -> hashCode
com.android.tools.r8.code.Format22x -> com.android.tools.r8.code.P0:
    char BBBB -> g
    short AA -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:30 -> <init>
    4:8:void <init>(int,int):33:37 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format22x):23:23 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):23:23 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):58:58 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format22x):23:23 -> b
    1:1:int hashCode():53:53 -> hashCode
com.android.tools.r8.code.Format23x -> com.android.tools.r8.code.Q0:
    short BB -> g
    short CC -> h
    short AA -> f
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():17:17 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):29:32 -> <init>
    5:11:void <init>(int,int,int):35:41 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":74,"2":75,"3":76}}
    74:74:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):72:72 -> a
    75:75:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):72:72 -> a
    76:76:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):72:72 -> a
    73:73:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):72:72 -> a
    77:77:int lambda$specify$0(com.android.tools.r8.code.Format23x):24:24 -> a
    78:78:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    79:79:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    80:80:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    80:80:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    81:81:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    82:82:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    83:83:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):62:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":69,"2":70,"3":71}}
    69:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    68:68:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    72:72:int lambda$specify$1(com.android.tools.r8.code.Format23x):24:24 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format23x):24:24 -> c
    1:1:int hashCode():57:57 -> hashCode
com.android.tools.r8.code.Format30t -> com.android.tools.r8.code.R0:
    int AAAAAAAA -> f
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):21:22 -> <init>
    3:4:void <init>(int):25:26 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):57:57 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):57:57 -> a
    61:61:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):57:57 -> a
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):57:57 -> a
    62:62:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):47:47 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):36 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):37:37 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    2:2:java.lang.String com.android.tools.r8.code.Instruction.formatOffset(int):264:264 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    1:1:int hashCode():42:42 -> hashCode
com.android.tools.r8.code.Format31c -> com.android.tools.r8.code.S0:
    short AA -> f
    com.android.tools.r8.graph.DexString BBBBBBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():21:21 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexString[]):32:34 -> <init>
    4:7:void <init>(int,com.android.tools.r8.graph.DexString):37:40 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format31c):27:27 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):27:27 -> a
    3:3:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    6:6:void com.android.tools.r8.code.Instruction.write32BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):133:133 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    7:7:int com.android.tools.r8.graph.DexString.getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):278:278 -> a
    7:7:void com.android.tools.r8.code.Instruction.write32BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):133 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    8:8:void com.android.tools.r8.code.Instruction.write32BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):133:133 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    9:9:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76:76 -> a
    11:11:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    11:11:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":70,"2":71,"3":72}}
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> b
    72:72:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> b
    67:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> b
    73:73:com.android.tools.r8.graph.DexString lambda$specify$1(com.android.tools.r8.code.Format31c):27:27 -> b
    1:1:int hashCode():56:56 -> hashCode
com.android.tools.r8.code.Format31i -> com.android.tools.r8.code.T0:
    short AA -> f
    int BBBBBBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:30 -> <init>
    4:7:void <init>(int,int):33:36 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format31i):23:23 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):23:23 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):57:57 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format31i):23:23 -> b
    1:1:int hashCode():52:52 -> hashCode
com.android.tools.r8.code.Format31t -> com.android.tools.r8.code.U0:
    short AA -> f
    int BBBBBBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:30 -> <init>
    4:7:void <init>(int,int):33:36 -> <init>
    boolean hasPayload() -> C
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format31t):23:23 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):23:23 -> a
    3:3:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    5:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:48 -> a
    7:7:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):72:72 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":79,"2":80,"3":81}}
    79:79:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):77:77 -> b
    80:80:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):77:77 -> b
    81:81:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):77:77 -> b
    78:78:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):77:77 -> b
    82:82:int lambda$specify$1(com.android.tools.r8.code.Format31t):23:23 -> b
    1:1:void setPayloadOffset(int):62:62 -> f
    1:1:int hashCode():67:67 -> hashCode
    1:1:int getPayloadOffset():58:58 -> w
com.android.tools.r8.code.Format32x -> com.android.tools.r8.code.V0:
    int AAAA -> f
    int BBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):29:31 -> <init>
    4:8:void <init>(int,int):34:38 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format32x):24:24 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):60:60 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format32x):24:24 -> b
    1:1:int hashCode():55:55 -> hashCode
com.android.tools.r8.code.Format35c -> com.android.tools.r8.code.W0:
    byte F -> j
    boolean $assertionsDisabled -> m
    byte E -> i
    byte G -> k
    com.android.tools.r8.graph.IndexedDexItem BBBB -> l
    byte A -> f
    byte D -> h
    byte C -> g
    1:1:void <clinit>():14:14 -> <clinit>
    1:10:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):37:46 -> <init>
    11:24:void <init>(int,com.android.tools.r8.graph.IndexedDexItem,int,int,int,int,int):49:62 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format35c):26:26 -> a
    2:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):26:32 -> a
    9:9:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):74:74 -> a
    10:18:void appendRegisterArguments(java.lang.StringBuilder,java.lang.String):78:86 -> a
    19:24:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):104:109 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format35c):27:27 -> b
    2:10:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):91:99 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format35c):28:28 -> c
    1:1:int lambda$specify$3(com.android.tools.r8.code.Format35c):29:29 -> d
    1:1:int lambda$specify$4(com.android.tools.r8.code.Format35c):30:30 -> e
    1:1:int lambda$specify$5(com.android.tools.r8.code.Format35c):31:31 -> f
    1:1:com.android.tools.r8.graph.IndexedDexItem lambda$specify$6(com.android.tools.r8.code.Format35c):32:32 -> g
    1:2:int hashCode():67:68 -> hashCode
com.android.tools.r8.code.Format3rc -> com.android.tools.r8.code.X0:
    char CCCC -> g
    short AA -> f
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.IndexedDexItem BBBB -> h
    1:1:void <clinit>():14:14 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):27:30 -> <init>
    5:10:void <init>(int,int,com.android.tools.r8.graph.IndexedDexItem):33:38 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format3rc):22:22 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):22:22 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):53:53 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):81:81 -> a
    5:11:void appendRegisterRange(java.lang.StringBuilder):57:63 -> a
    5:11:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):82 -> a
    12:15:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:86 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format3rc):22:22 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    3:9:void appendRegisterRange(java.lang.StringBuilder):57:63 -> b
    3:9:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):69 -> b
    10:16:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):70:76 -> b
    1:1:com.android.tools.r8.graph.IndexedDexItem lambda$specify$2(com.android.tools.r8.code.Format3rc):22:22 -> c
    1:1:int hashCode():47:47 -> hashCode
com.android.tools.r8.code.Goto -> com.android.tools.r8.code.a1:
    boolean com.android.tools.r8.code.Format10t.$assertionsDisabled -> g
    byte com.android.tools.r8.code.Format10t.AA -> f
    1:1:void com.android.tools.r8.code.Format10t.<clinit>():15:15 -> <clinit>
    1:3:void com.android.tools.r8.code.Format10t.<init>(int,com.android.tools.r8.code.BytecodeStream):21:23 -> <init>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):15 -> <init>
    4:6:void com.android.tools.r8.code.Format10t.<init>(int):26:28 -> <init>
    4:6:void <init>(int):19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format10t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format10t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format10t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format10t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    6:6:void com.android.tools.r8.code.Format10t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38:38 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    7:7:void com.android.tools.r8.code.Format10t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    9:9:int com.android.tools.r8.code.Format10t.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):48:48 -> a
    9:9:int com.android.tools.r8.code.Format10t.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String com.android.tools.r8.code.Format10t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    1:1:int com.android.tools.r8.code.Format10t.hashCode():43:43 -> hashCode
    1:1:int com.android.tools.r8.code.Format10t.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Goto16 -> com.android.tools.r8.code.Y0:
    short com.android.tools.r8.code.Format20t.AAAA -> f
    boolean com.android.tools.r8.code.Format20t.$assertionsDisabled -> g
    1:1:void com.android.tools.r8.code.Format20t.<clinit>():15:15 -> <clinit>
    1:2:void com.android.tools.r8.code.Format20t.<init>(int,com.android.tools.r8.code.BytecodeStream):21:22 -> <init>
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):15 -> <init>
    3:5:void com.android.tools.r8.code.Format20t.<init>(int):25:27 -> <init>
    3:5:void <init>(int):19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format20t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format20t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format20t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format20t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    7:7:int com.android.tools.r8.code.Format20t.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):48:48 -> a
    7:7:int com.android.tools.r8.code.Format20t.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:8:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    8:8:void com.android.tools.r8.code.Format20t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):37 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    9:9:void com.android.tools.r8.code.Format20t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38:38 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void com.android.tools.r8.code.Format20t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format20t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format20t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format20t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format20t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    1:1:int com.android.tools.r8.code.Format20t.hashCode():43:43 -> hashCode
    1:1:int com.android.tools.r8.code.Format20t.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Goto32 -> com.android.tools.r8.code.Z0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.IfEq -> com.android.tools.r8.code.b1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfEqz -> com.android.tools.r8.code.c1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfGe -> com.android.tools.r8.code.d1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfGez -> com.android.tools.r8.code.e1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfGt -> com.android.tools.r8.code.f1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfGtz -> com.android.tools.r8.code.g1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfLe -> com.android.tools.r8.code.h1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfLez -> com.android.tools.r8.code.i1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfLt -> com.android.tools.r8.code.j1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfLtz -> com.android.tools.r8.code.k1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfNe -> com.android.tools.r8.code.l1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfNez -> com.android.tools.r8.code.m1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.Iget -> com.android.tools.r8.code.n1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetBoolean -> com.android.tools.r8.code.o1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetByte -> com.android.tools.r8.code.p1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetChar -> com.android.tools.r8.code.q1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetObject -> com.android.tools.r8.code.r1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetOrIput -> com.android.tools.r8.code.s1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexField[]):17:17 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):21:21 -> <init>
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):30:30 -> a
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):30 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):31:31 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    1:1:com.android.tools.r8.graph.DexField getField():36:36 -> getField
com.android.tools.r8.code.IgetShort -> com.android.tools.r8.code.t1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetWide -> com.android.tools.r8.code.u1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.InstanceOf -> com.android.tools.r8.code.v1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexType):28:28 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():67:67 -> M
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62:62 -> a
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63:63 -> a
    4:4:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6,"2":7,"3":8}}
    6:6:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    8:8:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    9:9:void registerUse(com.android.tools.r8.graph.UseRegistry):72:72 -> a
    10:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):77:77 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):92:92 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110}}
    108:108:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):92:92 -> a
    109:109:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    109:109:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):92 -> a
    110:110:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    110:110:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):92 -> a
    105:105:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):93:93 -> a
    106:106:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    106:106:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):93 -> a
    107:107:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):94:94 -> a
    com.android.tools.r8.code.InstanceOf asInstanceOf() -> i
    boolean canThrow() -> m
    1:1:java.lang.String getName():43:43 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():48:48 -> z
com.android.tools.r8.code.Instruction -> com.android.tools.r8.code.w1:
    int[] EXIT_TARGET -> d
    boolean $assertionsDisabled -> e
    int offset -> b
    com.android.tools.r8.code.Instruction[] EMPTY_ARRAY -> c
    1:5:void <clinit>():31:35 -> <clinit>
    1:3:void <init>(com.android.tools.r8.code.BytecodeStream):39:41 -> <init>
    4:5:void <init>():44:45 -> <init>
    int[] getTargets() -> A
    1:1:boolean hasOffset():137:137 -> B
    boolean hasPayload() -> C
    boolean isCheckCast() -> D
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    boolean isConstString() -> G
    boolean isDexItemBasedConstString() -> H
    boolean isIntSwitch() -> I
    boolean isPayload() -> J
    1:1:boolean isSimpleNop():232:232 -> K
    boolean isSwitchPayload() -> L
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String formatSmaliString(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":295,"2":296,"3":297}}
    295:295:java.lang.String formatSmaliString(java.lang.String):285:285 -> a
    296:296:java.lang.String formatSmaliString(java.lang.String):285:285 -> a
    297:297:java.lang.String formatSmaliString(java.lang.String):286:286 -> a
    289:294:java.lang.String formatSmaliString(java.lang.String):288:293 -> a
    int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
    void registerUse(com.android.tools.r8.graph.UseRegistry) -> a
    java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper) -> a
    void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    298:298:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):31:31 -> a
    299:300:int acceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):345:346 -> a
    299:300:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):31 -> a
    301:301:char read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> a
    302:302:void writeFirst(int,java.nio.ShortBuffer,int):99:99 -> a
    303:303:void writeFirst(int,int,java.nio.ShortBuffer,int):107:107 -> a
    304:305:void write32BitValue(long,java.nio.ShortBuffer):115:116 -> a
    306:307:void write16BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):126:127 -> a
    308:308:void write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    308:308:void write16BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):128 -> a
    309:309:java.lang.String formatRelativeOffset(int):272:272 -> a
    310:310:java.lang.String formatOffset(int):264:264 -> a
    310:310:java.lang.String formatRelativeOffset(int):272 -> a
    311:311:java.lang.String formatRelativeOffset(int):272:272 -> a
    312:312:java.lang.String formatRelativeOffset(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":315,"2":316,"3":317,"4":318,"5":319}}
    315:315:java.lang.String formatDecimalOffset(int):268:268 -> a
    315:315:java.lang.String formatRelativeOffset(int):272 -> a
    316:316:java.lang.String formatDecimalOffset(int):268:268 -> a
    316:316:java.lang.String formatRelativeOffset(int):272 -> a
    317:317:java.lang.String formatDecimalOffset(int):268:268 -> a
    317:317:java.lang.String formatRelativeOffset(int):272 -> a
    318:318:java.lang.String formatDecimalOffset(int):268:268 -> a
    318:318:java.lang.String formatRelativeOffset(int):272 -> a
    319:319:java.lang.String formatDecimalOffset(int):268:268 -> a
    319:319:java.lang.String formatRelativeOffset(int):272 -> a
    313:313:java.lang.String formatDecimalOffset(int):268:268 -> a
    313:313:java.lang.String formatRelativeOffset(int):272 -> a
    314:314:java.lang.String formatRelativeOffset(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":320,"2":321,"3":322}}
    320:320:java.lang.String formatRelativeOffset(int):272:272 -> a
    321:321:java.lang.String formatRelativeOffset(int):272:272 -> a
    322:322:java.lang.String formatRelativeOffset(int):272:272 -> a
    323:323:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):355:355 -> a
    324:324:java.lang.String toSmaliString(com.android.tools.r8.code.Instruction):367:367 -> a
    com.android.tools.r8.cf.code.CfInstruction asCfInstruction() -> b
    java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper) -> b
    1:2:long read32BitValue(com.android.tools.r8.code.BytecodeStream):73:74 -> b
    3:4:java.lang.String formatString(java.lang.String):276:277 -> b
    5:5:java.lang.String formatOffset(int):264:264 -> b
    5:5:java.lang.String formatString(java.lang.String):277 -> b
    6:10:java.lang.String formatString(java.lang.String):277:281 -> b
    11:11:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):379:379 -> b
    com.android.tools.r8.code.Instruction asDexInstruction() -> c
    1:1:short read8BitValue(com.android.tools.r8.code.BytecodeStream):53:53 -> c
    com.android.tools.r8.code.CheckCast asCheckCast() -> d
    short combineBytes(int,int) -> d
    1:1:short readSigned16BitValue(com.android.tools.r8.code.BytecodeStream):58:58 -> d
    2:2:void setOffset(int):145:145 -> d
    com.android.tools.r8.code.ConstClass asConstClass() -> e
    int makeByte(int,int) -> e
    1:2:int readSigned32BitValue(com.android.tools.r8.code.BytecodeStream):66:67 -> e
    1:1:boolean equals(java.lang.Object):320:320 -> equals
    com.android.tools.r8.code.ConstString asConstString() -> f
    1:1:byte readSigned8BitValue(com.android.tools.r8.code.BytecodeStream):49:49 -> f
    com.android.tools.r8.code.ConstStringJumbo asConstStringJumbo() -> g
    com.android.tools.r8.code.DexItemBasedConstString asDexItemBasedConstString() -> h
    com.android.tools.r8.code.InstanceOf asInstanceOf() -> i
    com.android.tools.r8.code.InvokeVirtual asInvokeVirtual() -> k
    com.android.tools.r8.code.InvokeVirtualRange asInvokeVirtualRange() -> l
    boolean canThrow() -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():333:333 -> n
    com.android.tools.r8.graph.DexCallSite getCallSite() -> o
    1:1:int getCompareToId():337:337 -> p
    com.android.tools.r8.graph.DexMethod getMethod() -> s
    java.lang.String getName() -> t
    1:1:java.lang.String toString():384:384 -> toString
    1:1:int getOffset():141:141 -> u
    int getOpcode() -> v
    int getPayloadOffset() -> w
    int getSize() -> x
    java.lang.String getSmaliName() -> z
com.android.tools.r8.code.InstructionFactory -> com.android.tools.r8.code.y1:
    1:1:void com.android.tools.r8.code.BaseInstructionFactory.<init>():8:8 -> <init>
    1:1:void <init>():11 -> <init>
    1:4:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):22:25 -> a
    5:6:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):15:16 -> a
    5:6:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    7:7:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    7:7:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    7:7:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    8:8:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":774,"2":775,"3":776}}
    774:774:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    774:774:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    774:774:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    775:775:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    775:775:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    775:775:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    776:776:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    776:776:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    776:776:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    9:9:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    9:9:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    9:9:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    10:10:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):136:136 -> a
    10:10:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    10:10:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    11:11:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):134:134 -> a
    11:11:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    11:11:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    12:12:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):132:132 -> a
    12:12:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    12:12:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    13:13:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):130:130 -> a
    13:13:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    13:13:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    14:14:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):128:128 -> a
    14:14:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    14:14:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    15:15:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):126:126 -> a
    15:15:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    15:15:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    16:16:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):124:124 -> a
    16:16:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    16:16:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    17:17:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):122:122 -> a
    17:17:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    17:17:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    18:18:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):120:120 -> a
    18:18:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    18:18:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    19:19:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):118:118 -> a
    19:19:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    19:19:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    20:20:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):116:116 -> a
    20:20:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    20:20:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    21:21:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):114:114 -> a
    21:21:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    21:21:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    22:22:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):112:112 -> a
    22:22:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    22:22:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    23:23:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):110:110 -> a
    23:23:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    23:23:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    24:24:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):108:108 -> a
    24:24:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    24:24:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    25:25:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):106:106 -> a
    25:25:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    25:25:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    26:26:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):104:104 -> a
    26:26:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    26:26:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    27:27:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):102:102 -> a
    27:27:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    27:27:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    28:28:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):100:100 -> a
    28:28:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    28:28:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    29:29:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):98:98 -> a
    29:29:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    29:29:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    30:30:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):96:96 -> a
    30:30:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    30:30:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    31:31:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):94:94 -> a
    31:31:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    31:31:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    32:32:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):92:92 -> a
    32:32:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    32:32:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    33:33:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):90:90 -> a
    33:33:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    33:33:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    34:34:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):88:88 -> a
    34:34:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    34:34:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    35:35:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):86:86 -> a
    35:35:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    35:35:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    36:36:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):84:84 -> a
    36:36:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    36:36:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    37:37:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):82:82 -> a
    37:37:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    37:37:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    38:38:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):80:80 -> a
    38:38:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    38:38:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    39:39:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):78:78 -> a
    39:39:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    39:39:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    40:40:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):76:76 -> a
    40:40:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    40:40:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    41:41:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):74:74 -> a
    41:41:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    41:41:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    42:42:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):72:72 -> a
    42:42:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    42:42:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    43:43:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):70:70 -> a
    43:43:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    43:43:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    44:44:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):68:68 -> a
    44:44:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    44:44:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    45:45:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):66:66 -> a
    45:45:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    45:45:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    46:46:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):64:64 -> a
    46:46:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    46:46:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    47:47:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):62:62 -> a
    47:47:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    47:47:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    48:48:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):60:60 -> a
    48:48:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    48:48:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    49:49:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):58:58 -> a
    49:49:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    49:49:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    50:50:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):56:56 -> a
    50:50:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    50:50:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    51:51:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):54:54 -> a
    51:51:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    51:51:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    52:52:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping) -> a
    52:52:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    52:52:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    53:53:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):50:50 -> a
    53:53:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    53:53:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    54:54:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):48:48 -> a
    54:54:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    54:54:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    55:55:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):46:46 -> a
    55:55:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    55:55:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    56:56:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):44:44 -> a
    56:56:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    56:56:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    57:57:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):42:42 -> a
    57:57:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    57:57:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    58:58:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):40:40 -> a
    58:58:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    58:58:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    59:59:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):38:38 -> a
    59:59:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    59:59:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    60:60:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):36:36 -> a
    60:60:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    60:60:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    61:61:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):34:34 -> a
    61:61:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    61:61:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    62:62:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):32:32 -> a
    62:62:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    62:62:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    63:63:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):30:30 -> a
    63:63:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    63:63:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    64:64:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):28:28 -> a
    64:64:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    64:64:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    65:65:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):26:26 -> a
    65:65:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    65:65:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    66:66:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> a
    66:66:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    66:66:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    67:67:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):22:22 -> a
    67:67:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    67:67:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    68:68:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):20:20 -> a
    68:68:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    68:68:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    69:69:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> a
    69:69:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    69:69:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    70:70:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):16:16 -> a
    70:70:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    70:70:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    71:71:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14:14 -> a
    71:71:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    71:71:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    72:72:com.android.tools.r8.code.Nop com.android.tools.r8.code.Nop.create(int,com.android.tools.r8.code.BytecodeStream):31:31 -> a
    72:72:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14 -> a
    72:72:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    72:72:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    73:73:com.android.tools.r8.code.Nop com.android.tools.r8.code.Nop.create(int,com.android.tools.r8.code.BytecodeStream):29:29 -> a
    73:73:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14 -> a
    73:73:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    73:73:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    74:74:com.android.tools.r8.code.Nop com.android.tools.r8.code.Nop.create(int,com.android.tools.r8.code.BytecodeStream):27:27 -> a
    74:74:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14 -> a
    74:74:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    74:74:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    75:75:com.android.tools.r8.code.Nop com.android.tools.r8.code.Nop.create(int,com.android.tools.r8.code.BytecodeStream):25:25 -> a
    75:75:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14 -> a
    75:75:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    75:75:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    76:76:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):230:230 -> a
    76:76:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    76:76:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    77:77:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):228:228 -> a
    77:77:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    77:77:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    78:78:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):226:226 -> a
    78:78:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    78:78:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    79:79:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):224:224 -> a
    79:79:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    79:79:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    80:80:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):222:222 -> a
    80:80:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    80:80:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    81:81:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):220:220 -> a
    81:81:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    81:81:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    82:82:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):218:218 -> a
    82:82:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    82:82:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    83:83:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):216:216 -> a
    83:83:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    83:83:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    84:84:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):214:214 -> a
    84:84:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    84:84:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    85:85:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):212:212 -> a
    85:85:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    85:85:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    86:86:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):210:210 -> a
    86:86:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    86:86:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    87:87:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):208:208 -> a
    87:87:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    87:87:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    88:88:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):206:206 -> a
    88:88:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    88:88:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    89:89:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):204:204 -> a
    89:89:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    89:89:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    90:90:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):202:202 -> a
    90:90:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    90:90:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    91:91:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):200:200 -> a
    91:91:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    91:91:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    92:92:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):198:198 -> a
    92:92:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    92:92:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    93:93:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):196:196 -> a
    93:93:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    93:93:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    94:94:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):194:194 -> a
    94:94:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    94:94:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    95:95:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):192:192 -> a
    95:95:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    95:95:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    96:96:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):190:190 -> a
    96:96:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    96:96:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    97:97:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):188:188 -> a
    97:97:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    97:97:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    98:98:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):186:186 -> a
    98:98:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    98:98:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    99:99:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):184:184 -> a
    99:99:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    99:99:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    100:100:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):182:182 -> a
    100:100:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    100:100:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    101:101:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):180:180 -> a
    101:101:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    101:101:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    102:102:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):178:178 -> a
    102:102:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    102:102:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    103:103:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):176:176 -> a
    103:103:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    103:103:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    104:104:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):174:174 -> a
    104:104:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    104:104:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    105:105:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):172:172 -> a
    105:105:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    105:105:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    106:106:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):170:170 -> a
    106:106:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    106:106:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    107:107:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):168:168 -> a
    107:107:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    107:107:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    108:108:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):166:166 -> a
    108:108:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    108:108:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    109:109:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):164:164 -> a
    109:109:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    109:109:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    110:110:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):162:162 -> a
    110:110:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    110:110:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    111:111:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):160:160 -> a
    111:111:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    111:111:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    112:112:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):158:158 -> a
    112:112:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    112:112:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    113:113:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):156:156 -> a
    113:113:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    113:113:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    114:114:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):154:154 -> a
    114:114:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    114:114:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    115:115:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):152:152 -> a
    115:115:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    115:115:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    116:116:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):150:150 -> a
    116:116:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    116:116:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    117:117:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):148:148 -> a
    117:117:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    117:117:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    118:118:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):146:146 -> a
    118:118:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    118:118:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    119:119:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):144:144 -> a
    119:119:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    119:119:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    120:120:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):142:142 -> a
    120:120:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    120:120:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    121:121:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):140:140 -> a
    121:121:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    121:121:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    122:224:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):138:240 -> a
    122:224:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    122:224:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    225:225:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):238:238 -> a
    225:225:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    225:225:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    226:226:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):236:236 -> a
    226:226:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    226:226:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    227:227:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):234:234 -> a
    227:227:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    227:227:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    228:444:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):232:448 -> a
    228:444:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    228:444:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    445:445:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):446:446 -> a
    445:445:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    445:445:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    446:446:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):444:444 -> a
    446:446:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    446:446:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    447:447:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):442:442 -> a
    447:447:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    447:447:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    448:448:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):440:440 -> a
    448:448:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    448:448:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    449:449:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):438:438 -> a
    449:449:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    449:449:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    450:450:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):436:436 -> a
    450:450:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    450:450:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    451:451:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):434:434 -> a
    451:451:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    451:451:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    452:452:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):432:432 -> a
    452:452:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    452:452:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    453:453:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):430:430 -> a
    453:453:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    453:453:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    454:454:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):428:428 -> a
    454:454:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    454:454:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    455:455:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):426:426 -> a
    455:455:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    455:455:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    456:456:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):424:424 -> a
    456:456:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    456:456:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    457:457:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):422:422 -> a
    457:457:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    457:457:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    458:458:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):420:420 -> a
    458:458:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    458:458:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    459:459:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):418:418 -> a
    459:459:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    459:459:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    460:460:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):416:416 -> a
    460:460:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    460:460:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    461:461:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):414:414 -> a
    461:461:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    461:461:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    462:462:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):412:412 -> a
    462:462:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    462:462:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    463:463:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):410:410 -> a
    463:463:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    463:463:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    464:464:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):408:408 -> a
    464:464:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    464:464:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    465:465:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):406:406 -> a
    465:465:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    465:465:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    466:466:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):404:404 -> a
    466:466:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    466:466:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    467:467:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):402:402 -> a
    467:467:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    467:467:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    468:468:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):400:400 -> a
    468:468:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    468:468:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    469:469:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):398:398 -> a
    469:469:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    469:469:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    470:470:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):396:396 -> a
    470:470:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    470:470:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    471:471:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):394:394 -> a
    471:471:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    471:471:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    472:472:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):392:392 -> a
    472:472:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    472:472:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    473:473:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):390:390 -> a
    473:473:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    473:473:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    474:474:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):388:388 -> a
    474:474:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    474:474:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    475:475:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):386:386 -> a
    475:475:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    475:475:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    476:476:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):384:384 -> a
    476:476:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    476:476:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    477:477:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):382:382 -> a
    477:477:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    477:477:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    478:478:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):380:380 -> a
    478:478:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    478:478:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    479:479:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):378:378 -> a
    479:479:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    479:479:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    480:480:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):376:376 -> a
    480:480:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    480:480:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    481:481:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):374:374 -> a
    481:481:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    481:481:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    482:482:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):372:372 -> a
    482:482:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    482:482:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    483:483:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):370:370 -> a
    483:483:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    483:483:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    484:484:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):368:368 -> a
    484:484:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    484:484:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    485:485:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):366:366 -> a
    485:485:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    485:485:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    486:486:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):364:364 -> a
    486:486:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    486:486:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    487:487:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):362:362 -> a
    487:487:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    487:487:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    488:488:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):360:360 -> a
    488:488:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    488:488:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    489:489:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):358:358 -> a
    489:489:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    489:489:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    490:490:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):356:356 -> a
    490:490:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    490:490:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    491:491:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):354:354 -> a
    491:491:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    491:491:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    492:492:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):352:352 -> a
    492:492:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    492:492:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    493:493:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):350:350 -> a
    493:493:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    493:493:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    494:494:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):348:348 -> a
    494:494:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    494:494:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    495:495:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):346:346 -> a
    495:495:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    495:495:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    496:496:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):344:344 -> a
    496:496:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    496:496:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    497:497:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):342:342 -> a
    497:497:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    497:497:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    498:498:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):340:340 -> a
    498:498:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    498:498:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    499:499:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):338:338 -> a
    499:499:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    499:499:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    500:500:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):336:336 -> a
    500:500:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    500:500:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    501:501:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):334:334 -> a
    501:501:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    501:501:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    502:502:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):332:332 -> a
    502:502:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    502:502:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    503:503:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):330:330 -> a
    503:503:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    503:503:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    504:504:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):328:328 -> a
    504:504:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    504:504:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    505:505:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):326:326 -> a
    505:505:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    505:505:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    506:506:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):324:324 -> a
    506:506:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    506:506:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    507:507:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):322:322 -> a
    507:507:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    507:507:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    508:508:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):320:320 -> a
    508:508:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    508:508:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    509:509:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):318:318 -> a
    509:509:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    509:509:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    510:510:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):316:316 -> a
    510:510:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    510:510:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    511:511:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):314:314 -> a
    511:511:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    511:511:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    512:512:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):312:312 -> a
    512:512:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    512:512:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    513:513:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):310:310 -> a
    513:513:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    513:513:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    514:514:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):308:308 -> a
    514:514:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    514:514:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    515:515:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):306:306 -> a
    515:515:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    515:515:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    516:516:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):304:304 -> a
    516:516:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    516:516:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    517:517:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):302:302 -> a
    517:517:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    517:517:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    518:518:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):300:300 -> a
    518:518:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    518:518:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    519:519:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):298:298 -> a
    519:519:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    519:519:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    520:520:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):296:296 -> a
    520:520:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    520:520:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    521:521:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):294:294 -> a
    521:521:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    521:521:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    522:522:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):292:292 -> a
    522:522:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    522:522:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    523:523:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):290:290 -> a
    523:523:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    523:523:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    524:524:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):288:288 -> a
    524:524:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    524:524:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    525:525:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):286:286 -> a
    525:525:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    525:525:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    526:526:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):284:284 -> a
    526:526:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    526:526:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    527:527:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):282:282 -> a
    527:527:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    527:527:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    528:528:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):280:280 -> a
    528:528:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    528:528:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    529:529:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):278:278 -> a
    529:529:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    529:529:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    530:530:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):276:276 -> a
    530:530:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    530:530:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    531:531:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):274:274 -> a
    531:531:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    531:531:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    532:532:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):272:272 -> a
    532:532:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    532:532:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    533:533:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):270:270 -> a
    533:533:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    533:533:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    534:534:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):268:268 -> a
    534:534:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    534:534:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    535:535:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):266:266 -> a
    535:535:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    535:535:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    536:536:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):264:264 -> a
    536:536:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    536:536:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    537:537:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):262:262 -> a
    537:537:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    537:537:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    538:538:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):260:260 -> a
    538:538:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    538:538:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    539:539:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):258:258 -> a
    539:539:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    539:539:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    540:540:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):256:256 -> a
    540:540:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    540:540:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    541:541:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):254:254 -> a
    541:541:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    541:541:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    542:542:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):252:252 -> a
    542:542:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    542:542:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    543:543:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):250:250 -> a
    543:543:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    543:543:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    544:544:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):248:248 -> a
    544:544:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    544:544:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    545:545:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):246:246 -> a
    545:545:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    545:545:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    546:546:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):244:244 -> a
    546:546:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    546:546:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    547:765:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):242:460 -> a
    547:765:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    547:765:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    766:766:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):458:458 -> a
    766:766:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    766:766:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    767:767:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):456:456 -> a
    767:767:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    767:767:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    768:768:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):454:454 -> a
    768:768:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    768:768:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    769:769:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):452:452 -> a
    769:769:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    769:769:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    770:770:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):450:450 -> a
    770:770:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    770:770:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    771:773: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.x1:
    boolean cacheContainsValidByte -> f
    int offset -> d
    boolean $assertionsDisabled -> g
    int nextByte -> e
    int startIndex -> b
    java.nio.ShortBuffer source -> c
    int length -> a
    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>
    1:1:int getOffset():77:77 -> a
    1:1:boolean hasMore():72:72 -> b
    1:7:int nextByte():59:65 -> c
    1:4:int nextShort():50:53 -> d
com.android.tools.r8.code.IntToByte -> com.android.tools.r8.code.z1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.IntToChar -> com.android.tools.r8.code.A1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IntToDouble -> com.android.tools.r8.code.B1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IntToFloat -> com.android.tools.r8.code.C1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.IntToLong -> com.android.tools.r8.code.D1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IntToShort -> com.android.tools.r8.code.E1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.InvokeCustom -> com.android.tools.r8.code.F1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexCallSite,int,int,int,int,int):28:28 -> <init>
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68:68 -> a
    3:4:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1540:1541 -> a
    3:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    5:5:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    5:5:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    5:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    6:6:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    6:6:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    7:7:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticPut():129:129 -> a
    7:7:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    7:7:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    8:8:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    8:8:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    9:9:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticGet():133:133 -> a
    9:9:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    9:9:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    9:9:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    10:10:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    10:10:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    10:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    11:23:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1544:1556 -> a
    11:23:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    24:24:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    24:24:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    25:26:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:53 -> a
    27:28:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):164:165 -> a
    27:28:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    29:29:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    29:29:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):165 -> a
    29:29:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    30:33:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):166:169 -> a
    30:33:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    34:34:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    34:34:void registerUse(com.android.tools.r8.graph.UseRegistry):58 -> a
    35:35:void registerUse(com.android.tools.r8.graph.UseRegistry):58:58 -> a
    36:36:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:83 -> a
    37:37:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    37:37:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83 -> a
    38:38:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    38:38:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84 -> a
    39:40:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84:85 -> a
    41:41:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    41:41:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85 -> a
    boolean canThrow() -> m
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> o
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeCustomRange -> com.android.tools.r8.code.G1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexCallSite):28:28 -> <init>
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68:68 -> a
    3:3:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    4:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:53 -> a
    6:7:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):164:165 -> a
    6:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    8:8:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    8:8:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):165 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    9:12:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):166:169 -> a
    9:12:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    13:13:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> a
    13:13:void registerUse(com.android.tools.r8.graph.UseRegistry):63 -> a
    14:14:void registerUse(com.android.tools.r8.graph.UseRegistry):63:63 -> a
    15:15:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> a
    15:15:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83 -> a
    16:17:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:84 -> a
    18:18:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    18:18:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84 -> a
    19:20:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85:86 -> a
    21:21:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    21:21:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):86 -> a
    boolean canThrow() -> m
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> o
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeDirect -> com.android.tools.r8.code.H1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeDirectRange -> com.android.tools.r8.code.I1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeInterface -> com.android.tools.r8.code.J1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeInterfaceRange -> com.android.tools.r8.code.K1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeMethod -> com.android.tools.r8.code.L1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[]):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    com.android.tools.r8.ir.code.Invoke$Type getInvokeType() -> M
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33:33 -> a
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33:34 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    6:6:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:55 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    1:1:com.android.tools.r8.graph.DexMethod getMethod():39:39 -> s
com.android.tools.r8.code.InvokeMethodRange -> com.android.tools.r8.code.M1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[]):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    com.android.tools.r8.ir.code.Invoke$Type getInvokeType() -> M
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33:33 -> a
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33:34 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    6:6:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:55 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    1:1:com.android.tools.r8.graph.DexMethod getMethod():39:39 -> s
com.android.tools.r8.code.InvokePolymorphic -> com.android.tools.r8.code.N1:
    byte com.android.tools.r8.code.Format45cc.F -> j
    byte com.android.tools.r8.code.Format45cc.E -> i
    boolean com.android.tools.r8.code.Format45cc.$assertionsDisabled -> n
    byte com.android.tools.r8.code.Format45cc.G -> k
    com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.BBBB -> l
    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>():24:24 -> <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[]):47:57 -> <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):61:75 -> <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>
    int com.android.tools.r8.code.Format45cc.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    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():176:176 -> 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():181:181 -> a
    3:3:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):34 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):34:34 -> a
    5:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):33:33 -> a
    6:6:int com.android.tools.r8.code.Format45cc.lambda$specify$0(com.android.tools.r8.code.Format45cc):36:36 -> a
    7:14:void com.android.tools.r8.code.Format45cc.specify(com.android.tools.r8.utils.structural.StructuralSpecification):36:43 -> a
    15:21:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):131:137 -> a
    15:21:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    22:22:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    22:22:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> a
    22:22:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):137 -> a
    22:22:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    23:24:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):137:138 -> a
    23:24:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    25:33:void com.android.tools.r8.code.Format45cc.appendRegisterArguments(java.lang.StringBuilder,java.lang.String):163:171 -> a
    34:34:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():176:176 -> a
    34:34:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):103 -> a
    34:34:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    35:35:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):103:103 -> a
    35:35:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    36:36:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    36:36:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    37:38:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):104:105 -> a
    37:38:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    39:39:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.getProto():181:181 -> a
    39:39:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):107 -> a
    39:39:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    40:41:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):107:108 -> a
    40:41:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    42:42:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():176:176 -> a
    42:42:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119 -> a
    42:42:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    43:43:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119:119 -> a
    43:43:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    44:44:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    44:44:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    45:46:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):120:121 -> a
    45:46:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    47:47:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    47:47:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):121 -> a
    47:47:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    48:49:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):122:123 -> a
    48:49:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    50:50:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    50:50:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123 -> a
    50:50:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    51:51:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.getProto():181:181 -> a
    51:51:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    51:51:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    52:53:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125:126 -> a
    52:53:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$1(com.android.tools.r8.code.Format45cc):37:37 -> b
    2:2:int com.android.tools.r8.code.Format45cc.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):93:93 -> b
    3:6:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):143:146 -> b
    3:6:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    7:9:java.lang.String com.android.tools.r8.code.Format45cc.itemToString(com.android.tools.r8.graph.IndexedDexItem,com.android.tools.r8.naming.ClassNameMapper):155:157 -> b
    7:9:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):146 -> b
    7:9:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    10:12:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):146:148 -> b
    10:12:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    13:15:java.lang.String com.android.tools.r8.code.Format45cc.itemToString(com.android.tools.r8.graph.IndexedDexItem,com.android.tools.r8.naming.ClassNameMapper):155:157 -> b
    13:15:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):148 -> b
    13:15:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    16:17:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):148:149 -> b
    16:17:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$2(com.android.tools.r8.code.Format45cc):38:38 -> c
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$3(com.android.tools.r8.code.Format45cc):39:39 -> d
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$4(com.android.tools.r8.code.Format45cc):40:40 -> e
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$5(com.android.tools.r8.code.Format45cc):41:41 -> f
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.lambda$specify$6(com.android.tools.r8.code.Format45cc):42:42 -> g
    1:1:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.lambda$specify$7(com.android.tools.r8.code.Format45cc):43:43 -> h
    1:9:int com.android.tools.r8.code.Format45cc.hashCode():80:88 -> hashCode
    1:9:int com.android.tools.r8.code.Format45cc.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    boolean canThrow() -> m
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():176:176 -> s
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():0 -> s
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():39:39 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():44:44 -> z
com.android.tools.r8.code.InvokePolymorphicRange -> com.android.tools.r8.code.O1:
    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
    boolean com.android.tools.r8.code.Format4rcc.$assertionsDisabled -> j
    com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format4rcc.BBBB -> h
    1:1:void com.android.tools.r8.code.Format4rcc.<clinit>():24:24 -> <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[]):37:41 -> <init>
    2:6:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21 -> <init>
    7:13:void com.android.tools.r8.code.Format4rcc.<init>(int,int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto):44:50 -> <init>
    7:13:void <init>(int,int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto):26 -> <init>
    int com.android.tools.r8.code.Format4rcc.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.code.Format4rcc.lambda$specify$0(com.android.tools.r8.code.Format4rcc):32:32 -> a
    2:2:void com.android.tools.r8.code.Format4rcc.specify(com.android.tools.r8.utils.structural.StructuralSpecification):32:32 -> a
    3:3:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> a
    3:3:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119 -> a
    3:3:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119:119 -> a
    4:4:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    5:5:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    6:7:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):120:121 -> a
    6:7:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:8:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.getProto():156:156 -> a
    8:8:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123 -> a
    8:8:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    9:10:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123:124 -> a
    9:10:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    11:11:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> a
    11:11:void registerUse(com.android.tools.r8.graph.UseRegistry):51 -> a
    12:12:void registerUse(com.android.tools.r8.graph.UseRegistry):51:51 -> a
    13:13:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> a
    13:13:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61 -> a
    13:13:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    14:14:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:61 -> a
    14:14:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    15:15:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    15:15:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    16:17:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62:63 -> a
    16:17:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    18:18:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    18:18:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    18:18:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    19:20:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):64:65 -> a
    19:20:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    21:21:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    21:21:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):65 -> a
    21:21:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    22:22:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.getProto():156:156 -> a
    22:22:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67 -> a
    22:22:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    23:24:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67:68 -> a
    23:24:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    25:25:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):56:56 -> a
    26:26:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> a
    26:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):56 -> a
    27:27:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.getProto():156:156 -> a
    27:27:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):56 -> a
    28:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):56:56 -> a
    29:29:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):102:102 -> a
    29:29:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    30:36:void com.android.tools.r8.code.Format4rcc.appendRegisterRange(java.lang.StringBuilder):140:146 -> a
    30:36:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):103 -> a
    30:36:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    37:41:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):104:108 -> a
    37:41:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    42:42:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    42:42:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> a
    42:42:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):108 -> a
    42:42:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    43:44:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):108:109 -> a
    43:44:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.code.Format4rcc.lambda$specify$1(com.android.tools.r8.code.Format4rcc):32:32 -> b
    2:2:int com.android.tools.r8.code.Format4rcc.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):79:79 -> b
    3:3:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):84:84 -> b
    3:3:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    4:10:void com.android.tools.r8.code.Format4rcc.appendRegisterRange(java.lang.StringBuilder):140:146 -> b
    4:10:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):85 -> b
    4:10:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    11:18:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):86:93 -> b
    11:18:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    19:19:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> b
    19:19:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> b
    19:19:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):93 -> b
    19:19:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    20:24:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):93:97 -> b
    20:24:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format4rcc.lambda$specify$2(com.android.tools.r8.code.Format4rcc):32:32 -> c
    1:1:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.lambda$specify$3(com.android.tools.r8.code.Format4rcc):32:32 -> d
    1:2:int com.android.tools.r8.code.Format4rcc.hashCode():73:74 -> hashCode
    1:2:int com.android.tools.r8.code.Format4rcc.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    boolean canThrow() -> m
    1:1:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> s
    1:1:java.lang.String getName():31:31 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():36:36 -> z
com.android.tools.r8.code.InvokeStatic -> com.android.tools.r8.code.P1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeStaticRange -> com.android.tools.r8.code.Q1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeSuper -> com.android.tools.r8.code.R1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeSuperRange -> com.android.tools.r8.code.S1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeVirtual -> com.android.tools.r8.code.T1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):58:58 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):63:63 -> a
    com.android.tools.r8.code.InvokeVirtual asInvokeVirtual() -> k
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeVirtualRange -> com.android.tools.r8.code.U1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):58:58 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):63:63 -> a
    com.android.tools.r8.code.InvokeVirtualRange asInvokeVirtualRange() -> l
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.Iput -> com.android.tools.r8.code.V1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputBoolean -> com.android.tools.r8.code.W1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputByte -> com.android.tools.r8.code.X1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputChar -> com.android.tools.r8.code.Y1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputObject -> com.android.tools.r8.code.Z1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputShort -> com.android.tools.r8.code.a2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputWide -> com.android.tools.r8.code.b2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.LongToDouble -> com.android.tools.r8.code.c2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.LongToFloat -> com.android.tools.r8.code.d2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.LongToInt -> com.android.tools.r8.code.e2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MonitorEnter -> com.android.tools.r8.code.f2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    2:2:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    3:3:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    3:3:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1295:1296 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MonitorExit -> com.android.tools.r8.code.g2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    2:2:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    3:3:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    3:3:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1295:1296 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Move -> com.android.tools.r8.code.i2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.Move16 -> com.android.tools.r8.code.h2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    7:7:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    8:8:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49:49 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    9:9:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    11:11:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    11:11:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveException -> com.android.tools.r8.code.j2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MoveFrom16 -> com.android.tools.r8.code.k2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    8:8:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    8:8:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveObject -> com.android.tools.r8.code.m2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    2:2:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveObject16 -> com.android.tools.r8.code.l2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40 -> a
    8:8:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    8:8:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49:49 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    11:11:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    12:12:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    12:12:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveObjectFrom16 -> com.android.tools.r8.code.n2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    7:7:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    8:8:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    9:9:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    9:9:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    10:10:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    11:11:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    11:11:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MoveResult -> com.android.tools.r8.code.o2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):14:14 -> <init>
    2:2:void <init>(int):18:18 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):38:38 -> a
    1:1:java.lang.String getName():23:23 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():28:28 -> z
com.android.tools.r8.code.MoveResultObject -> com.android.tools.r8.code.p2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MoveResultWide -> com.android.tools.r8.code.q2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MoveWide -> com.android.tools.r8.code.s2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveWide16 -> com.android.tools.r8.code.r2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    7:7:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    8:8:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49:49 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    9:9:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    11:11:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    11:11:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveWideFrom16 -> com.android.tools.r8.code.t2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    8:8:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    8:8:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulDouble -> com.android.tools.r8.code.v2:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:7:void <init>(int,int,int):20:25 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):45:45 -> a
    1:1:java.lang.String getName():30:30 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.MulDouble2Addr -> com.android.tools.r8.code.u2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulFloat -> com.android.tools.r8.code.x2:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:7:void <init>(int,int,int):20:25 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):45:45 -> a
    1:1:java.lang.String getName():30:30 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.MulFloat2Addr -> com.android.tools.r8.code.w2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulInt -> com.android.tools.r8.code.z2:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:7:void <init>(int,int,int):19:24 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():29:29 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():34:34 -> z
com.android.tools.r8.code.MulInt2Addr -> com.android.tools.r8.code.y2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MulIntLit16 -> com.android.tools.r8.code.A2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulIntLit8 -> com.android.tools.r8.code.B2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulLong -> com.android.tools.r8.code.D2:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:7:void <init>(int,int,int):20:25 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):45:45 -> a
    1:1:java.lang.String getName():30:30 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.MulLong2Addr -> com.android.tools.r8.code.C2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.NegDouble -> com.android.tools.r8.code.E2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.NegFloat -> com.android.tools.r8.code.F2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.NegInt -> com.android.tools.r8.code.G2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.NegLong -> com.android.tools.r8.code.H2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.NewArray -> com.android.tools.r8.code.I2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexType):28:28 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():62:62 -> a
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:53 -> a
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    9:9:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    10:10:com.android.tools.r8.graph.DexType getType():62:62 -> a
    10:10:void registerUse(com.android.tools.r8.graph.UseRegistry):58 -> a
    11:11:void registerUse(com.android.tools.r8.graph.UseRegistry):58:58 -> a
    12:12:com.android.tools.r8.graph.DexType getType():62:62 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    13:13:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":99,"2":100,"3":101}}
    99:99:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82:82 -> a
    100:100:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    100:100:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    101:101:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    101:101:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:83 -> a
    97:97:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    97:97:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83 -> a
    98:98:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84:84 -> a
    102:102:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):67:67 -> a
    103:103:com.android.tools.r8.graph.DexType getType():62:62 -> a
    103:103:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):67 -> a
    104:104:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):67:67 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.NewInstance -> com.android.tools.r8.code.J2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):25:25 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexType):29:29 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():80:80 -> M
    1:1:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):49:49 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):58:58 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):58 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59:59 -> a
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59 -> a
    9:9:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69:69 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":84,"2":85,"3":86}}
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69:69 -> a
    85:85:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69 -> a
    86:86:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    86:86:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69 -> a
    81:81:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):70:70 -> a
    82:82:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):70 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):71:71 -> a
    87:87:void registerUse(com.android.tools.r8.graph.UseRegistry):76:76 -> a
    88:88:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):85:85 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):49:49 -> b
    boolean canThrow() -> m
    1:1:java.lang.String getName():34:34 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():39:39 -> z
com.android.tools.r8.code.Nop -> com.android.tools.r8.code.K2:
    int $r8$clinit -> f
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>():19:19 -> <init>
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:3:int com.android.tools.r8.code.DexCompareHelper.compareIdUniquelyDeterminesEquality(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):26:28 -> a
    1:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):38 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format10x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):42:42 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    5:5:void com.android.tools.r8.code.Format10x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):32 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():49:49 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():54:54 -> z
com.android.tools.r8.code.NotInt -> com.android.tools.r8.code.L2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.NotLong -> com.android.tools.r8.code.M2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.OrInt -> com.android.tools.r8.code.O2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.OrInt2Addr -> com.android.tools.r8.code.N2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.OrIntLit16 -> com.android.tools.r8.code.P2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.OrIntLit8 -> com.android.tools.r8.code.Q2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.OrLong -> com.android.tools.r8.code.S2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.OrLong2Addr -> com.android.tools.r8.code.R2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.PackedSwitch -> com.android.tools.r8.code.T2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int):21:21 -> <init>
    boolean isIntSwitch() -> I
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    57:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:55:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:62:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):46:49 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.PackedSwitchPayload -> com.android.tools.r8.code.U2:
    int[] targets -> i
    boolean $assertionsDisabled -> j
    int first_key -> h
    int size -> g
    1:1:void <clinit>():17:17 -> <clinit>
    1:6:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:33 -> <init>
    7:11:void <init>(int,int[]):37:41 -> <init>
    boolean isPayload() -> J
    1:1:int[] keys():95:95 -> M
    1:1:int numberOfKeys():85:85 -> N
    1:1:int[] switchTargetOffsets():90:90 -> O
    1:1:int lambda$specify$0(com.android.tools.r8.code.PackedSwitchPayload):24:24 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):66:66 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):56 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):57:57 -> a
    6:6:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):57 -> a
    7:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):58:60 -> a
    10:24:java.lang.String toSmaliString(com.android.tools.r8.code.Instruction):125:139 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.PackedSwitchPayload):24:24 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):100:100 -> b
    3:12:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):105:114 -> b
    13:13:java.lang.String com.android.tools.r8.code.Instruction.formatOffset(int):264:264 -> b
    13:13:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):114 -> b
    14:14:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116:116 -> b
    15:15:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24,"4":25,"5":26}}
    22:22:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    22:22:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    23:23:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    23:23:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    24:24:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    24:24:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    25:25:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    25:25:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    26:26:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    26:26:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    16:16:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    16:16:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    17:19:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):118:120 -> b
    20:20:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    20:20:java.lang.String com.android.tools.r8.code.Nop.toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    20:20:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):120 -> b
    21:21:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):120:120 -> b
    1:1:int[] lambda$specify$2(com.android.tools.r8.code.PackedSwitchPayload):24:24 -> c
    1:3:int hashCode():72:74 -> hashCode
    1:1:int getSize():80:80 -> x
com.android.tools.r8.code.RemDouble -> com.android.tools.r8.code.W2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemDouble2Addr -> com.android.tools.r8.code.V2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RemFloat -> com.android.tools.r8.code.Y2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RemFloat2Addr -> com.android.tools.r8.code.X2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RemInt -> com.android.tools.r8.code.a3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemInt2Addr -> com.android.tools.r8.code.Z2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemIntLit16 -> com.android.tools.r8.code.b3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemIntLit8 -> com.android.tools.r8.code.c3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RemLong -> com.android.tools.r8.code.e3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemLong2Addr -> com.android.tools.r8.code.d3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.Return -> com.android.tools.r8.code.f3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.ReturnObject -> com.android.tools.r8.code.g3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.ReturnVoid -> com.android.tools.r8.code.h3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>():19:19 -> <init>
    1:1:int[] getTargets():48:48 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:3:int com.android.tools.r8.code.DexCompareHelper.compareIdUniquelyDeterminesEquality(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):26:28 -> a
    1:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):38 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format10x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):42:42 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    6:6:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    6:6:void com.android.tools.r8.code.Format10x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):32 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():23:23 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():28:28 -> z
com.android.tools.r8.code.ReturnWide -> com.android.tools.r8.code.i3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RsubInt -> com.android.tools.r8.code.j3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RsubIntLit8 -> com.android.tools.r8.code.k3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.SafeCheckCast -> com.android.tools.r8.code.l3:
    1:1:void <init>(int,com.android.tools.r8.graph.DexType):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):24:24 -> a
    2:2:void registerUse(com.android.tools.r8.graph.UseRegistry):29:29 -> a
com.android.tools.r8.code.Sget -> com.android.tools.r8.code.m3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetBoolean -> com.android.tools.r8.code.n3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetByte -> com.android.tools.r8.code.o3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetChar -> com.android.tools.r8.code.p3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetObject -> com.android.tools.r8.code.q3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetOrSput -> com.android.tools.r8.code.r3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexField[]):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):31:31 -> a
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):31 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):32:32 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):42:42 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):42 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):43:43 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):43 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):44:44 -> a
    9:9:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):54:54 -> a
    1:1:com.android.tools.r8.graph.DexField lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):54:54 -> b
    1:1:com.android.tools.r8.graph.DexField getField():49:49 -> getField
com.android.tools.r8.code.SgetShort -> com.android.tools.r8.code.s3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetWide -> com.android.tools.r8.code.t3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.ShlInt -> com.android.tools.r8.code.v3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShlInt2Addr -> com.android.tools.r8.code.u3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShlIntLit8 -> com.android.tools.r8.code.w3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.ShlLong -> com.android.tools.r8.code.y3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShlLong2Addr -> com.android.tools.r8.code.x3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrInt -> com.android.tools.r8.code.A3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrInt2Addr -> com.android.tools.r8.code.z3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrIntLit8 -> com.android.tools.r8.code.B3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrLong -> com.android.tools.r8.code.D3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrLong2Addr -> com.android.tools.r8.code.C3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SparseSwitch -> com.android.tools.r8.code.E3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int):20:20 -> <init>
    boolean isIntSwitch() -> I
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":55,"2":56,"3":57}}
    55:55:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> a
    56:56:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> a
    57:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> a
    54:54:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> a
    58:61:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):45:48 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.SparseSwitchPayload -> com.android.tools.r8.code.F3:
    int[] keys -> h
    int[] targets -> i
    boolean $assertionsDisabled -> j
    int size -> g
    1:1:void <clinit>():17:17 -> <clinit>
    1:10:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:37 -> <init>
    11:15:void <init>(int[],int[]):41:45 -> <init>
    boolean isPayload() -> J
    1:1:int[] keys():96:96 -> M
    1:1:int numberOfKeys():91:91 -> N
    1:1:int[] switchTargetOffsets():101:101 -> O
    1:1:int lambda$specify$0(com.android.tools.r8.code.SparseSwitchPayload):24:24 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):72:72 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):60 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:61 -> a
    6:6:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61 -> a
    7:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62:66 -> a
    12:27:java.lang.String toSmaliString(com.android.tools.r8.code.Instruction):131:146 -> a
    1:1:int[] lambda$specify$1(com.android.tools.r8.code.SparseSwitchPayload):24:24 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):106:106 -> b
    3:14:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):111:122 -> b
    15:15:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146}}
    144:144:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):122:122 -> b
    145:145:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):122:122 -> b
    146:146:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):122:122 -> b
    137:141:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):122:126 -> b
    142:142:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    142:142:java.lang.String com.android.tools.r8.code.Nop.toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    142:142:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):126 -> b
    143:143:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):126:126 -> b
    1:1:int[] lambda$specify$2(com.android.tools.r8.code.SparseSwitchPayload):24:24 -> c
    1:3:int hashCode():78:80 -> hashCode
    1:1:int getSize():86:86 -> x
com.android.tools.r8.code.Sput -> com.android.tools.r8.code.G3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputBoolean -> com.android.tools.r8.code.H3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputByte -> com.android.tools.r8.code.I3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputChar -> com.android.tools.r8.code.J3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputObject -> com.android.tools.r8.code.K3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputShort -> com.android.tools.r8.code.L3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputWide -> com.android.tools.r8.code.M3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SubDouble -> com.android.tools.r8.code.O3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubDouble2Addr -> com.android.tools.r8.code.N3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubFloat -> com.android.tools.r8.code.Q3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubFloat2Addr -> com.android.tools.r8.code.P3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubInt -> com.android.tools.r8.code.S3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubInt2Addr -> com.android.tools.r8.code.R3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.SubLong -> com.android.tools.r8.code.U3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubLong2Addr -> com.android.tools.r8.code.T3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.SwitchPayload -> com.android.tools.r8.code.V3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):11:11 -> <init>
    2:2:void <init>():14:14 -> <init>
    boolean isSwitchPayload() -> L
    int[] keys() -> M
    int numberOfKeys() -> N
    int[] switchTargetOffsets() -> O
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
com.android.tools.r8.code.Throw -> com.android.tools.r8.code.W3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.UshrInt -> com.android.tools.r8.code.Y3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.UshrInt2Addr -> com.android.tools.r8.code.X3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.UshrIntLit8 -> com.android.tools.r8.code.Z3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.UshrLong -> com.android.tools.r8.code.b4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.UshrLong2Addr -> com.android.tools.r8.code.a4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorInt -> com.android.tools.r8.code.d4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorInt2Addr -> com.android.tools.r8.code.c4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.XorIntLit16 -> com.android.tools.r8.code.e4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorIntLit8 -> com.android.tools.r8.code.f4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorLong -> com.android.tools.r8.code.h4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorLong2Addr -> com.android.tools.r8.code.g4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.com.google.common.base.Absent -> com.android.tools.r8.internal.g:
    com.android.tools.r8.com.google.common.base.Absent INSTANCE -> b
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():34:34 -> <init>
    1:1:java.lang.Object or(java.lang.Object):48:48 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    2:2:java.lang.Object or(java.lang.Object):48 -> a
    1:1:java.lang.String toString():91:91 -> toString
com.android.tools.r8.com.google.common.base.CharMatcher -> com.android.tools.r8.internal.c9:
    1:1:void <init>():359:359 -> <init>
    boolean matches(char) -> a
com.android.tools.r8.com.google.common.base.CharMatcher$Any -> com.android.tools.r8.internal.Z8:
    com.android.tools.r8.com.google.common.base.CharMatcher$Any INSTANCE -> c
    1:1:void <clinit>():1011:1011 -> <clinit>
    1:1:void <init>():1014:1014 -> <init>
    boolean matches(char) -> a
    1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher.none():127:127 -> negate
    1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher$Any.negate():1101 -> negate
    1:1:java.util.function.Predicate negate():1009 -> negate
com.android.tools.r8.com.google.common.base.CharMatcher$NamedFastMatcher -> com.android.tools.r8.internal.a9:
    java.lang.String description -> b
    1:1:void com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.<init>():939:939 -> <init>
    1:1:void <init>(java.lang.String):957 -> <init>
    2:2:void <init>(java.lang.String):958:958 -> <init>
    1:1:boolean com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.apply(java.lang.Object):939:939 -> apply
    1:1:boolean com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.apply(java.lang.Object):0 -> apply
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.base.CharMatcher.apply(java.lang.Character):910:910 -> apply
    2:2:boolean com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.apply(java.lang.Object):939 -> apply
    2:2:boolean com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.apply(java.lang.Object):0 -> apply
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():963:963 -> toString
com.android.tools.r8.com.google.common.base.CharMatcher$None -> com.android.tools.r8.internal.b9:
    com.android.tools.r8.com.google.common.base.CharMatcher$None INSTANCE -> c
    1:1:void <clinit>():1108:1108 -> <clinit>
    1:1:void <init>():1111:1111 -> <init>
    boolean matches(char) -> a
    1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher.any():118:118 -> negate
    1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher$None.negate():1204 -> negate
    1:1:java.util.function.Predicate negate():1106 -> negate
com.android.tools.r8.com.google.common.base.Charsets -> com.android.tools.r8.internal.j9:
    java.nio.charset.Charset UTF_8 -> a
    1:50:void <clinit>():45:94 -> <clinit>
com.android.tools.r8.com.google.common.base.CommonPattern -> com.android.tools.r8.internal.hc:
    1:1:void <init>():25:25 -> <init>
com.android.tools.r8.com.google.common.base.Equivalence -> com.android.tools.r8.internal.Wi:
    1:1:void <init>():39:39 -> <init>
    boolean doEquivalent(java.lang.Object,java.lang.Object) -> a
    int doHash(java.lang.Object) -> a
    1:1:boolean equivalent(java.lang.Object,java.lang.Object):65:65 -> b
    2:2:int hash(java.lang.Object):112:112 -> b
    1:1:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(java.lang.Object):162:162 -> c
    1:1:boolean test(java.lang.Object,java.lang.Object):76:76 -> test
com.android.tools.r8.com.google.common.base.Equivalence$Wrapper -> com.android.tools.r8.internal.Vi:
    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
    java.lang.Object reference -> c
    1:1:void <init>(com.android.tools.r8.com.google.common.base.Equivalence,java.lang.Object,com.android.tools.r8.com.google.common.base.Equivalence$1):185:185 -> <init>
    2:4:void <init>(com.android.tools.r8.com.google.common.base.Equivalence,java.lang.Object):189:191 -> <init>
    1:1:java.lang.Object get():196:196 -> a
    1:11:boolean equals(java.lang.Object):209:219 -> equals
    1:1:int hashCode():228:228 -> hashCode
    1:1:java.lang.String toString():237:237 -> toString
com.android.tools.r8.com.google.common.base.Function -> com.android.tools.r8.internal.xl:
com.android.tools.r8.com.google.common.base.Java8Usage -> com.android.tools.r8.internal.iv:
    void lambda$performCheck$0() -> a
    1:2:java.lang.String performCheck():39:40 -> b
com.android.tools.r8.com.google.common.base.JdkPattern -> com.android.tools.r8.internal.qv:
    java.util.regex.Pattern pattern -> b
    1:2:void <init>(java.util.regex.Pattern):27:28 -> <init>
    1:1:com.android.tools.r8.com.google.common.base.CommonMatcher matcher(java.lang.CharSequence):33:33 -> a
    1:1:java.lang.String toString():48:48 -> toString
com.android.tools.r8.com.google.common.base.JdkPattern$JdkMatcher -> com.android.tools.r8.internal.pv:
    java.util.regex.Matcher matcher -> a
    1:1:void com.android.tools.r8.com.google.common.base.CommonMatcher.<init>():25:25 -> <init>
    1:1:void <init>(java.util.regex.Matcher):54 -> <init>
    2:2:void <init>(java.util.regex.Matcher):55:55 -> <init>
com.android.tools.r8.com.google.common.base.Objects -> com.android.tools.r8.internal.eK:
    1:1:boolean equal(java.lang.Object,java.lang.Object):52:52 -> a
com.android.tools.r8.com.google.common.base.Optional -> com.android.tools.r8.internal.uK:
    1:1:void <init>():161:161 -> <init>
    java.lang.Object or(java.lang.Object) -> a
    1:1:com.android.tools.r8.com.google.common.base.Optional absent():93:93 -> a
com.android.tools.r8.com.google.common.base.Platform -> com.android.tools.r8.internal.DL:
    com.android.tools.r8.com.google.common.base.PatternCompiler patternCompiler -> a
    1:1:void <clinit>():33:33 -> <clinit>
    2:2:com.android.tools.r8.com.google.common.base.PatternCompiler com.android.tools.r8.com.google.common.base.Platform.loadPatternCompiler():91:91 -> <clinit>
    2:2:void <clinit>():34 -> <clinit>
    3:3:void <clinit>():34:34 -> <clinit>
    1:2:com.android.tools.r8.com.google.common.base.CommonPattern compilePattern(java.lang.String):82:83 -> a
    3:3:com.android.tools.r8.com.google.common.base.CommonPattern com.android.tools.r8.com.google.common.base.Platform$JdkPatternCompiler.compile(java.lang.String):101:101 -> a
    3:3:com.android.tools.r8.com.google.common.base.CommonPattern compilePattern(java.lang.String):83 -> a
com.android.tools.r8.com.google.common.base.Platform$JdkPatternCompiler -> com.android.tools.r8.internal.BL:
    1:1:void <init>():98:98 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.base.Platform$1):98:98 -> <init>
com.android.tools.r8.com.google.common.base.Preconditions -> com.android.tools.r8.internal.QL:
    int $r8$clinit -> a
    1:9:void <clinit>():1439:1447 -> <clinit>
    1:1:void checkArgument(boolean):130:130 -> a
    2:2:void checkArgument(boolean,java.lang.Object):144:144 -> a
    3:3:void checkArgument(boolean,java.lang.String,char):179:179 -> a
    4:4:void checkArgument(boolean,java.lang.String,java.lang.Object):219:219 -> a
    5:5:java.lang.Object checkNotNull(java.lang.Object):880:880 -> a
    6:6:int checkElementIndex(int,int):1329:1329 -> a
    7:7:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347:1347 -> a
    7:7:int checkElementIndex(int,int):1329 -> a
    8:8:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badElementIndex(int,int,java.lang.String):1358:1358 -> a
    8:8:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347 -> a
    8:8:int checkElementIndex(int,int):1329 -> a
    9:9:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badElementIndex(int,int,java.lang.String):1356:1356 -> a
    9:9:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347 -> a
    9:9:int checkElementIndex(int,int):1329 -> a
    10:10:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badElementIndex(int,int,java.lang.String):1354:1354 -> a
    10:10:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347 -> a
    10:10:int checkElementIndex(int,int):1329 -> a
    11:11:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347:1347 -> a
    11:11:int checkElementIndex(int,int):1329 -> a
    12:16:java.lang.String badPositionIndex(int,int,java.lang.String):1399:1403 -> a
    17:17:java.lang.String badPositionIndex(int,int,java.lang.String):1401:1401 -> a
    18:18:void checkPositionIndexes(int,int,int):1422:1422 -> a
    19:19:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badPositionIndexes(int,int,int):1434:1434 -> a
    19:19:void checkPositionIndexes(int,int,int):1422 -> a
    20:20:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badPositionIndexes(int,int,int):1431:1431 -> a
    20:20:void checkPositionIndexes(int,int,int):1422 -> a
    21:21:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badPositionIndexes(int,int,int):1428:1428 -> a
    21:21:void checkPositionIndexes(int,int,int):1422 -> a
    22:22:void checkPositionIndexes(int,int,int):1422:1422 -> a
    1:1:void checkState(boolean,java.lang.Object):510:510 -> b
    2:2:int checkPositionIndex(int,int):1374:1374 -> b
    3:3:int com.android.tools.r8.com.google.common.base.Preconditions.checkPositionIndex(int,int,java.lang.String):1392:1392 -> b
    3:3:int checkPositionIndex(int,int):1374 -> b
com.android.tools.r8.com.google.common.base.Predicate -> com.android.tools.r8.internal.RL:
    1:1:boolean test(java.lang.Object):79:79 -> test
com.android.tools.r8.com.google.common.base.Predicates -> com.android.tools.r8.internal.bM:
    1:1:com.android.tools.r8.com.google.common.base.Predicate alwaysFalse():57:57 -> a
    2:2:com.android.tools.r8.com.google.common.base.Predicate not(com.android.tools.r8.com.google.common.base.Predicate):83:83 -> a
    3:3:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147:147 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147 -> a
    5:5:java.util.List com.android.tools.r8.com.google.common.base.Predicates.asList(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):689:689 -> a
    5:5:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147 -> a
    6:6:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147:147 -> a
    1:1:com.android.tools.r8.com.google.common.base.Predicate alwaysTrue():51:51 -> b
com.android.tools.r8.com.google.common.base.Predicates$NotPredicate -> com.android.tools.r8.internal.UL:
    com.android.tools.r8.com.google.common.base.Predicate predicate -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.base.Predicate):310:311 -> <init>
    1:1:boolean apply(java.lang.Object):316:316 -> apply
    1:3:boolean equals(java.lang.Object):326:328 -> equals
    1:1:int hashCode():321:321 -> hashCode
    1:1:java.lang.String toString():335:335 -> toString
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate -> com.android.tools.r8.internal.ZL:
    com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate IS_NULL -> d
    com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate NOT_NULL -> e
    com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate ALWAYS_TRUE -> b
    com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate ALWAYS_FALSE -> c
    1:37:void <clinit>():252:288 -> <clinit>
    1:1:void <init>(java.lang.String,int):250:250 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.com.google.common.base.Predicates$1):250:250 -> <init>
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$1 -> com.android.tools.r8.internal.VL:
    1:1:void <init>(java.lang.String,int):252:252 -> <init>
    1:1:java.lang.String toString():260:260 -> toString
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$2 -> com.android.tools.r8.internal.WL:
    1:1:void <init>(java.lang.String,int):264:264 -> <init>
    1:1:java.lang.String toString():272:272 -> toString
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$3 -> com.android.tools.r8.internal.XL:
    1:1:void <init>(java.lang.String,int):276:276 -> <init>
    1:1:java.lang.String toString():284:284 -> toString
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$4 -> com.android.tools.r8.internal.YL:
    1:1:void <init>(java.lang.String,int):288:288 -> <init>
    1:1:java.lang.String toString():296:296 -> toString
com.android.tools.r8.com.google.common.base.Predicates$OrPredicate -> com.android.tools.r8.internal.aM:
    java.util.List components -> b
    1:1:void <init>(java.util.List,com.android.tools.r8.com.google.common.base.Predicates$1):384:384 -> <init>
    2:3:void <init>(java.util.List):387:388 -> <init>
    1:2:boolean apply(java.lang.Object):394:395 -> apply
    1:3:boolean equals(java.lang.Object):410:412 -> equals
    1:1:int hashCode():405:405 -> hashCode
    1:1:java.lang.String toString():419:419 -> toString
    2:11:java.lang.String com.android.tools.r8.com.google.common.base.Predicates.toStringHelper(java.lang.String,java.lang.Iterable):426:435 -> toString
    2:11:java.lang.String com.android.tools.r8.com.google.common.base.Predicates.access$800(java.lang.String,java.lang.Iterable):42 -> toString
    2:11:java.lang.String toString():419 -> toString
com.android.tools.r8.com.google.common.base.Splitter -> com.android.tools.r8.internal.mV:
    1:1:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260:260 -> a
    2:2:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):222:222 -> a
    2:2:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
    3:3:boolean com.android.tools.r8.com.google.common.base.JdkPattern$JdkMatcher.matches():60:60 -> a
    3:3:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):222 -> a
    3:3:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
    4:4:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):221:221 -> a
    4:4:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
    5:5:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher.none():127:127 -> a
    5:5:void com.android.tools.r8.com.google.common.base.Splitter.<init>(com.android.tools.r8.com.google.common.base.Splitter$Strategy):109 -> a
    5:5:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):226 -> a
    5:5:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
com.android.tools.r8.com.google.common.base.Strings -> com.android.tools.r8.internal.SW:
    1:5:java.lang.String repeat(java.lang.String,int):144:148 -> a
    6:6:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int):192:192 -> a
    6:6:java.lang.String repeat(java.lang.String,int):147 -> a
    7:21:java.lang.String repeat(java.lang.String,int):152:166 -> a
    22:22:java.lang.String repeat(java.lang.String,int):156:156 -> a
    23:24:java.lang.String lenientFormat(java.lang.String,java.lang.Object[]):266:267 -> a
    25:36:java.lang.String com.android.tools.r8.com.google.common.base.Strings.lenientToString(java.lang.Object):302:313 -> a
    25:36:java.lang.String lenientFormat(java.lang.String,java.lang.Object[]):267 -> a
    37:67:java.lang.String lenientFormat(java.lang.String,java.lang.Object[]):267:297 -> a
com.android.tools.r8.com.google.common.base.Supplier -> com.android.tools.r8.internal.jX:
com.android.tools.r8.com.google.common.base.Suppliers -> com.android.tools.r8.internal.nX:
    1:7:com.android.tools.r8.com.google.common.base.Supplier memoize(com.android.tools.r8.com.google.common.base.Supplier):102:108 -> a
com.android.tools.r8.com.google.common.base.Suppliers$MemoizingSupplier -> com.android.tools.r8.internal.lX:
    java.lang.Object value -> d
    com.android.tools.r8.com.google.common.base.Supplier delegate -> b
    boolean initialized -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.base.Supplier):119:120 -> <init>
    1:11:java.lang.Object get():126:136 -> get
    1:1:java.lang.String toString():142:142 -> toString
com.android.tools.r8.com.google.common.base.Suppliers$NonSerializableMemoizingSupplier -> com.android.tools.r8.internal.mX:
    java.lang.Object value -> d
    com.android.tools.r8.com.google.common.base.Supplier delegate -> b
    boolean initialized -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.base.Supplier):157:158 -> <init>
    1:13:java.lang.Object get():164:176 -> get
    1:3:java.lang.String toString():181:183 -> toString
com.android.tools.r8.com.google.common.base.Throwables -> com.android.tools.r8.internal.SX:
    java.lang.Object jla -> a
    int $r8$clinit -> b
    1:3:java.lang.Object com.android.tools.r8.com.google.common.base.Throwables.getJLA():480:482 -> <clinit>
    1:3:void <clinit>():451 -> <clinit>
    4:4:void <clinit>():451:451 -> <clinit>
    5:5:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getGetMethod():500:500 -> <clinit>
    5:5:void <clinit>():459 -> <clinit>
    6:6:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getJlaMethod(java.lang.String,java.lang.Class[]):530:530 -> <clinit>
    6:6:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getGetMethod():500 -> <clinit>
    6:6:void <clinit>():459 -> <clinit>
    7:7:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():515:515 -> <clinit>
    7:7:void <clinit>():467 -> <clinit>
    8:8:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getJlaMethod(java.lang.String,java.lang.Class[]):530:530 -> <clinit>
    8:8:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():515 -> <clinit>
    8:8:void <clinit>():467 -> <clinit>
    9:11:java.lang.Object com.android.tools.r8.com.google.common.base.Throwables.getJLA():480:482 -> <clinit>
    9:11:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():519 -> <clinit>
    9:11:void <clinit>():467 -> <clinit>
    12:12:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():519:519 -> <clinit>
    12:12:void <clinit>():467 -> <clinit>
    13:13:java.lang.Object com.android.tools.r8.com.google.common.base.Throwables.getJLA():484:484 -> <clinit>
    13:13:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():519 -> <clinit>
    13:13:void <clinit>():467 -> <clinit>
    14:14:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getJlaMethod(java.lang.String,java.lang.Class[]):532:532 -> <clinit>
    14:14:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():515 -> <clinit>
    14:14:void <clinit>():467 -> <clinit>
    15:15:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getJlaMethod(java.lang.String,java.lang.Class[]):532:532 -> <clinit>
    15:15:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getGetMethod():500 -> <clinit>
    15:15:void <clinit>():459 -> <clinit>
    16:16:java.lang.Object com.android.tools.r8.com.google.common.base.Throwables.getJLA():484:484 -> <clinit>
    16:16:void <clinit>():451 -> <clinit>
com.android.tools.r8.com.google.common.collect.AbstractIndexedListIterator -> com.android.tools.r8.internal.v:
    int size -> b
    int position -> c
    1:1:void <init>(int):48:48 -> <init>
    2:5:void <init>(int,int):61:64 -> <init>
    java.lang.Object get(int) -> a
    1:1:boolean hasNext():69:69 -> hasNext
    1:1:boolean hasPrevious():87:87 -> hasPrevious
    1:4:java.lang.Object next():74:77 -> next
    5:5:java.lang.Object next():75:75 -> next
    1:1:int nextIndex():82:82 -> nextIndex
    1:4:java.lang.Object previous():92:95 -> previous
    5:5:java.lang.Object previous():93:93 -> previous
    1:1:int previousIndex():100:100 -> previousIndex
com.android.tools.r8.com.google.common.collect.AbstractIterator -> com.android.tools.r8.internal.T:
    com.android.tools.r8.com.google.common.collect.AbstractIterator$State state -> b
    java.lang.Object next -> c
    1:1:void <init>():68:68 -> <init>
    2:2:void <init>():65:65 -> <init>
    1:2:boolean hasNext():128:129 -> hasNext
    3:6:boolean com.android.tools.r8.com.google.common.collect.AbstractIterator.tryToComputeNext():140:143 -> hasNext
    3:6:boolean hasNext():136 -> hasNext
    7:7:void com.android.tools.r8.com.google.common.base.Preconditions.checkState(boolean):494:494 -> hasNext
    7:7:boolean hasNext():128 -> hasNext
    java.lang.Object computeNext() -> j
    1:1:java.lang.Object endOfData():121:121 -> k
    1:6:java.lang.Object next():152:157 -> next
    7:7:java.lang.Object next():153:153 -> next
com.android.tools.r8.com.google.common.collect.AbstractIterator$State$EnumUnboxingSharedUtility -> com.android.tools.r8.internal.S:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    int[] $VALUES -> a
    void <clinit>() -> <clinit>
      # {"id":"com.android.tools.r8.synthesized"}
    void checkNotZero(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    int compareTo(int,int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    boolean equals(int,int) -> b
      # {"id":"com.android.tools.r8.synthesized"}
    int ordinal(int) -> b
      # {"id":"com.android.tools.r8.synthesized"}
    int[] values(int) -> c
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap -> com.android.tools.r8.internal.s0:
    int totalSize -> g
    java.util.Map map -> f
    1:3:void <init>(java.util.Map):116:118 -> <init>
    1:1:java.util.Map access$000(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):86:86 -> a
    2:2:int access$212(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,int):86:86 -> a
    3:3:boolean put(java.lang.Object,java.lang.Object):184:184 -> a
    4:4:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161:161 -> a
    4:4:boolean put(java.lang.Object,java.lang.Object):186 -> a
    5:5:java.util.List com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():131:131 -> a
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():61 -> a
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161 -> a
    5:5:boolean put(java.lang.Object,java.lang.Object):186 -> a
    6:14:boolean put(java.lang.Object,java.lang.Object):187:195 -> a
    15:17:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.iteratorOrListIterator(java.util.Collection):580:582 -> a
    15:17:java.util.Iterator access$100(java.util.Collection):86 -> a
    18:18:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113:1113 -> a
    18:18:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeRemove(java.util.Map,java.lang.Object):3539:3539 -> a
    19:19:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113 -> a
    19:19:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    20:20:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    20:20:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeRemove(java.util.Map,java.lang.Object):3539 -> a
    20:20:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113 -> a
    20:20:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    21:21:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeRemove(java.util.Map,java.lang.Object):3541:3541 -> a
    21:21:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113 -> a
    21:21:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    22:27:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113:1118 -> a
    22:27:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    28:28:java.util.Collection entries():1217:1217 -> a
    29:32:java.util.Spliterator lambda$entrySpliterator$1(java.util.Map$Entry):1252:1255 -> a
    33:33:java.util.Spliterator lambda$entrySpliterator$1(java.util.Map$Entry):1254:1254 -> a
    1:1:int access$208(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):86:86 -> b
    2:2:int access$220(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,int):86:86 -> b
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> b
    3:3:java.util.Map$Entry lambda$entrySpliterator$0(java.lang.Object,java.lang.Object):1255 -> b
    1:1:int access$210(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):86:86 -> c
    1:5:void clear():270:274 -> clear
    1:1:boolean containsKey(java.lang.Object):177:177 -> containsKey
    1:1:java.util.Map createAsMap():1270:1270 -> d
    1:1:java.util.Collection createEntries():1225:1225 -> e
    1:1:java.util.Set createKeySet():897:897 -> f
    1:1:com.android.tools.r8.com.google.common.collect.Multiset createKeys():1203:1203 -> g
    1:1:java.util.Collection get(java.lang.Object):286:286 -> get
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161:161 -> get
    2:2:java.util.Collection get(java.lang.Object):288 -> get
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():131:131 -> get
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():61 -> get
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161 -> get
    3:3:java.util.Collection get(java.lang.Object):288 -> get
    4:4:java.util.Collection get(java.lang.Object):290:290 -> get
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62:62 -> get
    5:5:java.util.Collection get(java.lang.Object):290 -> get
    6:8:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.wrapList(java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):302:304 -> get
    6:8:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62 -> get
    6:8:java.util.Collection get(java.lang.Object):290 -> get
    1:1:java.util.Iterator entryIterator():1239:1239 -> h
    1:11:java.util.Spliterator entrySpliterator():1249:1249 -> i
    1:1:int size():172:172 -> size
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$2 -> com.android.tools.r8.internal.h0:
    java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.collection -> d
    java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.valueIterator -> e
    java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.keyIterator -> b
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.this$0 -> f
    java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.key -> c
    1:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.<init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):1128:1132 -> <init>
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):1239 -> <init>
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.hasNext():1139:1139 -> hasNext
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.hasNext():0 -> hasNext
      # {"id":"com.android.tools.r8.synthesized"}
    1:7:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.next():1144:1150 -> next
    1:7:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.next():0 -> next
      # {"id":"com.android.tools.r8.synthesized"}
    8:8:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> next
    8:8:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$2.output(java.lang.Object,java.lang.Object):1242 -> next
    8:8:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$2.output(java.lang.Object,java.lang.Object):1239 -> next
    8:8:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.next():1150 -> next
    8:8:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.next():0 -> next
      # {"id":"com.android.tools.r8.synthesized"}
    1:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.remove():1155:1159 -> remove
    1:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.remove():0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap -> com.android.tools.r8.internal.k0:
    java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values -> c
    java.util.Map submap -> d
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap this$0 -> e
    java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.util.Map):1291:1291 -> <init>
    2:2:void com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.<init>():3422:3422 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.util.Map):1291 -> <init>
    3:3:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.util.Map):1292:1292 -> <init>
    1:2:java.util.Map$Entry wrapEntry(java.util.Map$Entry):1367:1368 -> a
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62:62 -> a
    3:3:java.util.Map$Entry wrapEntry(java.util.Map$Entry):1368 -> a
    4:6:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.wrapList(java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):302:304 -> a
    4:6:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62 -> a
    4:6:java.util.Map$Entry wrapEntry(java.util.Map$Entry):1368 -> a
    7:7:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> a
    7:7:java.util.Map$Entry wrapEntry(java.util.Map$Entry):1368 -> a
    1:2:void clear():1359:1360 -> clear
    3:3:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.<init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap):1408:1408 -> clear
    3:3:void clear():1362 -> clear
    4:4:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):982:982 -> clear
    4:4:void clear():1362 -> clear
    5:5:boolean com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.hasNext():1413:1413 -> clear
    5:5:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):983 -> clear
    5:5:void clear():1362 -> clear
    6:8:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.next():1418:1420 -> clear
    6:8:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.next():1407 -> clear
    6:8:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):984 -> clear
    6:8:void clear():1362 -> clear
    9:9:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> clear
    9:9:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.remove():1425 -> clear
    9:9:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):985 -> clear
    9:9:void clear():1362 -> clear
    10:12:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.remove():1426:1428 -> clear
    10:12:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):985 -> clear
    10:12:void clear():1362 -> clear
    1:1:boolean containsKey(java.lang.Object):1304:1304 -> containsKey
    2:2:boolean com.android.tools.r8.com.google.common.collect.Maps.safeContainsKey(java.util.Map,java.lang.Object):3526:3526 -> containsKey
    2:2:boolean containsKey(java.lang.Object):1304 -> containsKey
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> containsKey
    3:3:boolean com.android.tools.r8.com.google.common.collect.Maps.safeContainsKey(java.util.Map,java.lang.Object):3526 -> containsKey
    3:3:boolean containsKey(java.lang.Object):1304 -> containsKey
    4:4:boolean com.android.tools.r8.com.google.common.collect.Maps.safeContainsKey(java.util.Map,java.lang.Object):3528:3528 -> containsKey
    4:4:boolean containsKey(java.lang.Object):1304 -> containsKey
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():3433:3433 -> entrySet
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.createEntrySet():1297:1297 -> entrySet
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():3434 -> entrySet
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():3434:3434 -> entrySet
    3:3:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean equals(java.lang.Object):1344:1344 -> equals
    1:7:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.get(java.lang.Object):1309:1315 -> get
    1:7:java.lang.Object get(java.lang.Object):1283 -> get
    8:8:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62:62 -> get
    8:8:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.get(java.lang.Object):1315 -> get
    8:8:java.lang.Object get(java.lang.Object):1283 -> get
    9:11:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.wrapList(java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):302:304 -> get
    9:11:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62 -> get
    9:11:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.get(java.lang.Object):1315 -> get
    9:11:java.lang.Object get(java.lang.Object):1283 -> get
    1:1:int hashCode():1349:1349 -> hashCode
    1:1:java.util.Set keySet():1320:1320 -> keySet
    1:6:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.remove(java.lang.Object):1330:1335 -> remove
    1:6:java.lang.Object remove(java.lang.Object):1283 -> remove
    7:7:java.util.List com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():131:131 -> remove
    7:7:java.util.Collection com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():61 -> remove
    7:7:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.remove(java.lang.Object):1335 -> remove
    7:7:java.lang.Object remove(java.lang.Object):1283 -> remove
    8:10:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.remove(java.lang.Object):1336:1338 -> remove
    8:10:java.lang.Object remove(java.lang.Object):1283 -> remove
    1:1:int size():1325:1325 -> size
    1:1:java.lang.String toString():1354:1354 -> toString
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():3453:3453 -> values
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():0 -> values
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.createValues():3458:3458 -> values
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():3454 -> values
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():0 -> values
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():3454:3454 -> values
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():0 -> values
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries -> com.android.tools.r8.internal.i0:
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap this$1 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap):1372:1372 -> <init>
    1:1:java.util.Map map():1375:1375 -> a
    1:1:boolean contains(java.lang.Object):1392:1392 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101:101 -> contains
    2:2:boolean contains(java.lang.Object):1392 -> contains
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101 -> contains
    3:3:boolean contains(java.lang.Object):1392 -> contains
    4:4:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):103:103 -> contains
    4:4:boolean contains(java.lang.Object):1392 -> contains
    1:1:java.util.Iterator iterator():1380:1380 -> iterator
    1:5:boolean remove(java.lang.Object):1397:1401 -> remove
    1:1:java.util.Spliterator spliterator():1385:1385 -> spliterator
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator -> com.android.tools.r8.internal.j0:
    java.util.Collection collection -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap this$1 -> d
    java.util.Iterator delegateIterator -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap):1407:1408 -> <init>
    1:1:boolean hasNext():1413:1413 -> hasNext
    1:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.next():1418:1420 -> next
    1:3:java.lang.Object next():1407 -> next
    1:1:void remove():1425:1425 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():1425 -> remove
    3:6:void remove():1426:1429 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$KeySet -> com.android.tools.r8.internal.m0:
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap this$0 -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.util.Map):912:913 -> <init>
    1:1:void clear():966:966 -> clear
    2:5:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):982:985 -> clear
    2:5:void clear():966 -> clear
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> containsAll
    1:1:boolean containsAll(java.util.Collection):971 -> containsAll
    2:2:boolean containsAll(java.util.Collection):971:971 -> containsAll
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> equals
    1:1:boolean equals(java.lang.Object):976 -> equals
    2:2:boolean equals(java.lang.Object):976:976 -> equals
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> hashCode
    1:1:int hashCode():981 -> hashCode
    2:2:int hashCode():981:981 -> hashCode
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> iterator
    1:1:java.util.Iterator iterator():918 -> iterator
    2:3:java.util.Iterator iterator():918:919 -> iterator
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> remove
    1:1:boolean remove(java.lang.Object):955 -> remove
    2:6:boolean remove(java.lang.Object):955:959 -> remove
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> spliterator
    1:1:java.util.Spliterator spliterator():949 -> spliterator
    2:2:java.util.Spliterator spliterator():949:949 -> spliterator
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$KeySet$1 -> com.android.tools.r8.internal.l0:
    java.util.Map$Entry entry -> b
    java.util.Iterator val$entryIterator -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$KeySet this$1 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$KeySet,java.util.Iterator):919:919 -> <init>
    1:1:boolean hasNext():924:924 -> hasNext
    1:2:java.lang.Object next():929:930 -> next
    1:1:void remove():935:935 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():935 -> remove
    3:7:void remove():936:940 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$RandomAccessWrappedList -> com.android.tools.r8.internal.n0:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):891:891 -> <init>
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection -> com.android.tools.r8.internal.p0:
    java.util.Collection ancestorDelegate -> e
    java.util.Collection delegate -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap this$0 -> f
    java.lang.Object key -> b
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection ancestor -> d
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object,java.util.Collection,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):330:334 -> <init>
    1:4:void addToMap():381:384 -> a
    1:7:boolean add(java.lang.Object):481:487 -> add
    1:10:boolean addAll(java.util.Collection):501:510 -> addAll
    1:1:java.util.Collection getDelegate():416:416 -> b
    1:3:void refreshIfEmpty():345:347 -> c
    4:4:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> c
    4:4:void refreshIfEmpty():347 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:11:void refreshIfEmpty():347:353 -> c
    1:7:void clear():530:536 -> clear
    1:2:boolean contains(java.lang.Object):518:519 -> contains
    1:2:boolean containsAll(java.util.Collection):524:525 -> containsAll
    1:4:void removeIfEmpty():363:366 -> d
    1:2:boolean equals(java.lang.Object):399:400 -> equals
    1:2:int hashCode():405:406 -> hashCode
    1:2:java.util.Iterator iterator():421:422 -> iterator
    1:5:boolean remove(java.lang.Object):541:545 -> remove
    1:9:boolean removeAll(java.util.Collection):552:560 -> removeAll
    1:1:boolean retainAll(java.util.Collection):567:567 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean retainAll(java.util.Collection):567 -> retainAll
    3:8:boolean retainAll(java.util.Collection):568:573 -> retainAll
    1:2:int size():390:391 -> size
    1:2:java.util.Spliterator spliterator():427:428 -> spliterator
    1:2:java.lang.String toString():411:412 -> toString
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator -> com.android.tools.r8.internal.o0:
    java.util.Collection originalDelegate -> c
    java.util.Iterator delegateIterator -> b
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection this$1 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):436:436 -> <init>
    2:5:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):434:437 -> <init>
    6:6:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection,java.util.Iterator):440:440 -> <init>
    7:14:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection,java.util.Iterator):434:441 -> <init>
    1:2:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():448:449 -> hasNext
    1:2:boolean hasNext():456 -> hasNext
    3:3:boolean hasNext():457:457 -> hasNext
    4:4:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():450:450 -> hasNext
    4:4:boolean hasNext():456 -> hasNext
    1:2:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():448:449 -> next
    1:2:java.lang.Object next():462 -> next
    3:3:java.lang.Object next():463:463 -> next
    4:4:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():450:450 -> next
    4:4:java.lang.Object next():462 -> next
    1:3:void remove():468:470 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList -> com.android.tools.r8.internal.r0:
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap this$0 -> g
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):745:746 -> <init>
    1:1:void add(int,java.lang.Object):784:784 -> add
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> add
    2:2:void add(int,java.lang.Object):785 -> add
    3:3:void add(int,java.lang.Object):785:785 -> add
    4:4:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> add
    4:4:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> add
    4:4:void add(int,java.lang.Object):786 -> add
    5:5:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> add
    5:5:void add(int,java.lang.Object):786 -> add
    6:9:void add(int,java.lang.Object):786:789 -> add
    1:4:boolean addAll(int,java.util.Collection):755:758 -> addAll
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> addAll
    5:5:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> addAll
    5:5:boolean addAll(int,java.util.Collection):759 -> addAll
    6:6:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> addAll
    6:6:boolean addAll(int,java.util.Collection):759 -> addAll
    7:7:boolean addAll(int,java.util.Collection):759:759 -> addAll
    8:8:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> addAll
    8:8:boolean addAll(int,java.util.Collection):761 -> addAll
    9:12:boolean addAll(int,java.util.Collection):761:764 -> addAll
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> e
    1:1:java.util.List getListDelegate():750 -> e
    2:2:java.util.List getListDelegate():750:750 -> e
    1:1:java.lang.Object get(int):772:772 -> get
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> get
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> get
    2:2:java.lang.Object get(int):773 -> get
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> get
    3:3:java.lang.Object get(int):773 -> get
    4:4:java.lang.Object get(int):773:773 -> get
    1:1:int indexOf(java.lang.Object):804:804 -> indexOf
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> indexOf
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> indexOf
    2:2:int indexOf(java.lang.Object):805 -> indexOf
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> indexOf
    3:3:int indexOf(java.lang.Object):805 -> indexOf
    4:4:int indexOf(java.lang.Object):805:805 -> indexOf
    1:1:int lastIndexOf(java.lang.Object):810:810 -> lastIndexOf
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> lastIndexOf
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> lastIndexOf
    2:2:int lastIndexOf(java.lang.Object):811 -> lastIndexOf
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> lastIndexOf
    3:3:int lastIndexOf(java.lang.Object):811 -> lastIndexOf
    4:4:int lastIndexOf(java.lang.Object):811:811 -> lastIndexOf
    1:2:java.util.ListIterator listIterator():816:817 -> listIterator
    3:4:java.util.ListIterator listIterator(int):822:823 -> listIterator
    1:1:java.lang.Object remove(int):795:795 -> remove
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> remove
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> remove
    2:2:java.lang.Object remove(int):796 -> remove
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> remove
    3:3:java.lang.Object remove(int):796 -> remove
    4:6:java.lang.Object remove(int):796:798 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):778:778 -> set
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> set
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> set
    2:2:java.lang.Object set(int,java.lang.Object):779 -> set
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> set
    3:3:java.lang.Object set(int,java.lang.Object):779 -> set
    4:4:java.lang.Object set(int,java.lang.Object):779:779 -> set
    1:2:java.util.List subList(int,int):828:829 -> subList
    3:3:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getKey():371:371 -> subList
    3:3:java.util.List subList(int,int):830 -> subList
    4:4:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> subList
    4:4:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> subList
    4:4:java.util.List subList(int,int):831 -> subList
    5:5:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> subList
    5:5:java.util.List subList(int,int):831 -> subList
    6:6:java.util.List subList(int,int):831:831 -> subList
    7:7:com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getAncestor():494:494 -> subList
    7:7:java.util.List subList(int,int):832 -> subList
    8:8:java.util.List subList(int,int):829:829 -> subList
    9:11:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.wrapList(java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):302:304 -> subList
    9:11:java.util.List subList(int,int):829 -> subList
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList$WrappedListIterator -> com.android.tools.r8.internal.q0:
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList this$1 -> e
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList):837:837 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList,int):839:840 -> <init>
    1:5:void add(java.lang.Object):874:878 -> add
    1:1:boolean hasPrevious():849:849 -> hasPrevious
    1:2:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():448:449 -> j
    1:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():474 -> j
    1:2:java.util.ListIterator getDelegateListIterator():844 -> j
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():475:475 -> j
    3:3:java.util.ListIterator getDelegateListIterator():844 -> j
    4:4:java.util.ListIterator getDelegateListIterator():844:844 -> j
    5:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():450:450 -> j
    5:5:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():474 -> j
    5:5:java.util.ListIterator getDelegateListIterator():844 -> j
    1:1:int nextIndex():859:859 -> nextIndex
    1:1:java.lang.Object previous():854:854 -> previous
    1:1:int previousIndex():864:864 -> previousIndex
    1:1:void set(java.lang.Object):869:869 -> set
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset -> com.android.tools.r8.internal.x0:
    java.util.Map backingMap -> d
    long size -> e
    1:3:void <init>(java.util.Map):59:61 -> <init>
    1:1:long access$010(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset):47:47 -> a
    2:2:long access$022(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset,long):47:47 -> a
    3:3:void forEachEntry(java.util.function.ObjIntConsumer):158:158 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:void forEachEntry(java.util.function.ObjIntConsumer):158 -> a
    5:5:void forEachEntry(java.util.function.ObjIntConsumer):159:159 -> a
    6:6:void lambda$forEachEntry$0(java.util.function.ObjIntConsumer,java.lang.Object,com.android.tools.r8.com.google.common.collect.Count):159:159 -> a
    7:26:int remove(java.lang.Object,int):274:293 -> a
    27:27:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int):192:192 -> a
    27:27:int remove(java.lang.Object,int):276 -> a
    1:1:java.util.Map access$100(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset):47:47 -> b
    2:16:int add(java.lang.Object,int):252:266 -> b
    17:17:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,long):205:205 -> b
    17:17:int add(java.lang.Object,int):263 -> b
    18:18:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int):192:192 -> b
    18:18:int add(java.lang.Object,int):254 -> b
    1:1:int distinctElements():173:173 -> c
    1:5:void clear():164:168 -> clear
    1:2:java.util.Iterator elementIterator():85:86 -> d
    1:2:java.util.Iterator entryIterator():113:114 -> e
    1:1:java.util.Set entrySet():80:80 -> entrySet
    1:6:int setCount(java.lang.Object,int):301:306 -> f
    7:7:int com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset.getAndSet(com.android.tools.r8.com.google.common.collect.Count,int):326:326 -> f
    7:7:int setCount(java.lang.Object,int):307 -> f
    8:8:int setCount(java.lang.Object,int):317:317 -> f
    1:2:int count(java.lang.Object):236:237 -> g
    1:1:int size():180:180 -> size
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$1 -> com.android.tools.r8.internal.t0:
    java.util.Map$Entry toRemove -> b
    java.util.Iterator val$backingEntries -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset,java.util.Iterator):86:86 -> <init>
    1:1:boolean hasNext():91:91 -> hasNext
    1:3:java.lang.Object next():96:98 -> next
    1:1:void remove():103:103 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():103 -> remove
    3:5:void remove():104:106 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2 -> com.android.tools.r8.internal.v0:
    java.util.Map$Entry toRemove -> b
    java.util.Iterator val$backingEntries -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset,java.util.Iterator):114:114 -> <init>
    1:1:boolean hasNext():119:119 -> hasNext
    1:3:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2.next():124:126 -> next
    1:3:java.lang.Object next():114 -> next
    1:1:void remove():148:148 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():148 -> remove
    3:5:void remove():149:151 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2$1 -> com.android.tools.r8.internal.u0:
    java.util.Map$Entry val$mapEntry -> b
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2 this$1 -> c
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2,java.util.Map$Entry):126:126 -> <init>
    1:3:int getCount():134:136 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2$1.getElement():129:129 -> a
    4:4:int getCount():136 -> a
    5:10:int getCount():136:141 -> a
    1:1:java.lang.Object getElement():129:129 -> b
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator -> com.android.tools.r8.internal.w0:
    java.util.Iterator entryIterator -> b
    boolean canRemove -> e
    int occurrencesLeft -> d
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset this$0 -> f
    java.util.Map$Entry currentEntry -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset):199:200 -> <init>
    1:1:boolean hasNext():205:205 -> hasNext
    1:7:java.lang.Object next():210:216 -> next
    1:1:void remove():221:221 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():221 -> remove
    3:11:void remove():222:230 -> remove
    12:12:void remove():224:224 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapEntry -> com.android.tools.r8.internal.y0:
    1:1:void <init>():31:31 -> <init>
    1:4:boolean equals(java.lang.Object):46:49 -> equals
    1:3:int hashCode():56:58 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):41:41 -> setValue
    1:1:java.lang.String toString():64:64 -> toString
com.android.tools.r8.com.google.common.collect.AbstractMultimap -> com.android.tools.r8.internal.E0:
    java.util.Set keySet -> c
    java.util.Collection entries -> b
    com.android.tools.r8.com.google.common.collect.Multiset keys -> d
    java.util.Map asMap -> e
    1:1:void <init>():41:41 -> <init>
    1:2:java.util.Collection entries():115:116 -> a
    1:2:java.util.Map asMap():229:230 -> b
    1:2:com.android.tools.r8.com.google.common.collect.Multiset keys():173:174 -> c
    java.util.Map createAsMap() -> d
    java.util.Collection createEntries() -> e
    1:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps.equalsImpl(com.android.tools.r8.com.google.common.collect.Multimap,java.lang.Object):2172:2174 -> equals
    1:3:boolean equals(java.lang.Object):239 -> equals
    java.util.Set createKeySet() -> f
    com.android.tools.r8.com.google.common.collect.Multiset createKeys() -> g
    java.util.Iterator entryIterator() -> h
    java.util.Spliterator entrySpliterator() -> i
    1:2:java.util.Set keySet():163:164 -> keySet
com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries -> com.android.tools.r8.internal.D0:
    com.android.tools.r8.com.google.common.collect.AbstractMultimap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultimap):122:122 -> <init>
    2:2:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.<init>():1769:1769 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultimap):122 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.Multimap com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries.multimap():125:125 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.clear():1797 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.clear():1797:1797 -> clear
    2:2:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):1779:1780 -> contains
    1:2:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:com.android.tools.r8.com.google.common.collect.Multimap com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries.multimap():125:125 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):1781 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):1781:1781 -> contains
    4:4:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Iterator iterator():130:130 -> iterator
    1:2:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):1788:1789 -> remove
    1:2:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:com.android.tools.r8.com.google.common.collect.Multimap com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries.multimap():125:125 -> remove
    3:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):1790 -> remove
    3:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):1790:1790 -> remove
    4:4:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multimap com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries.multimap():125:125 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Multimaps$Entries.size():1774 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Multimaps$Entries.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:int com.android.tools.r8.com.google.common.collect.Multimaps$Entries.size():1774:1774 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.Multimaps$Entries.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Spliterator spliterator():135:135 -> spliterator
com.android.tools.r8.com.google.common.collect.AbstractMultiset -> com.android.tools.r8.internal.H0:
    java.util.Set entrySet -> c
    java.util.Set elementSet -> b
    1:1:void <init>():45:45 -> <init>
    int remove(java.lang.Object,int) -> a
    1:1:java.util.Set createElementSet():143:143 -> a
    1:1:boolean add(java.lang.Object):62:62 -> add
    1:1:boolean addAll(java.util.Collection):107:107 -> addAll
    1:1:int add(java.lang.Object,int):69:69 -> b
    2:2:java.util.Set createEntrySet():191:191 -> b
    int distinctElements() -> c
    1:5:boolean com.android.tools.r8.com.google.common.collect.Multisets.setCountImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.lang.Object,int,int):940:944 -> c
    1:5:boolean setCount(java.lang.Object,int,int):93 -> c
    1:1:boolean contains(java.lang.Object):55:55 -> contains
    java.util.Iterator elementIterator() -> d
    java.util.Iterator entryIterator() -> e
    1:3:java.util.Set entrySet():165:167 -> entrySet
    1:1:boolean equals(java.lang.Object):208:208 -> equals
    1:9:int com.android.tools.r8.com.google.common.collect.Multisets.setCountImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.lang.Object,int):924:932 -> f
    1:9:int setCount(java.lang.Object,int):87 -> f
    1:1:int hashCode():218:218 -> hashCode
    1:1:boolean isEmpty():50:50 -> isEmpty
    1:1:boolean remove(java.lang.Object):75:75 -> remove
    1:5:boolean com.android.tools.r8.com.google.common.collect.Multisets.removeAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):904:908 -> removeAll
    1:5:boolean removeAll(java.util.Collection):113 -> removeAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets.retainAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):913:913 -> retainAll
    1:1:boolean retainAll(java.util.Collection):119 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets.retainAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):913 -> retainAll
    2:2:boolean retainAll(java.util.Collection):119 -> retainAll
    3:7:boolean com.android.tools.r8.com.google.common.collect.Multisets.retainAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):915:919 -> retainAll
    3:7:boolean retainAll(java.util.Collection):119 -> retainAll
    1:1:java.lang.String toString():229:229 -> toString
    1:3:java.util.Set elementSet():131:133 -> x
com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet -> com.android.tools.r8.internal.F0:
    com.android.tools.r8.com.google.common.collect.AbstractMultiset this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultiset):147:147 -> <init>
    2:2:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.<init>():960:960 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultiset):147 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.clear():965 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.clear():965:965 -> clear
    2:2:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> contains
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.contains(java.lang.Object):970 -> contains
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.contains(java.lang.Object):970:970 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> containsAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.containsAll(java.util.Collection):975 -> containsAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.containsAll(java.util.Collection):0 -> containsAll
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.containsAll(java.util.Collection):975:975 -> containsAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.containsAll(java.util.Collection):0 -> containsAll
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> isEmpty
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.isEmpty():980 -> isEmpty
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.isEmpty():980:980 -> isEmpty
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Iterator iterator():155:155 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> remove
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.remove(java.lang.Object):988 -> remove
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.remove(java.lang.Object):988:988 -> remove
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.size():993 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:int com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.size():993:993 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet -> com.android.tools.r8.internal.G0:
    com.android.tools.r8.com.google.common.collect.AbstractMultiset this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultiset):173:173 -> <init>
    2:2:void com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.<init>():997:997 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultiset):173 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.Multiset multiset():176:176 -> a
    1:1:void com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.clear():1037:1037 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:11:boolean com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.contains(java.lang.Object):1002:1012 -> contains
    1:11:boolean com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Iterator iterator():181:181 -> iterator
    1:9:boolean com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.remove(java.lang.Object):1021:1029 -> remove
    1:9:boolean com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int size():186:186 -> size
com.android.tools.r8.com.google.common.collect.ArrayListMultimap -> com.android.tools.r8.internal.k3:
    int expectedValuesPerKey -> h
    1:1:void <init>():108:108 -> <init>
    2:4:void <init>(int,int):112:114 -> <init>
    1:2:boolean com.android.tools.r8.com.google.common.collect.AbstractMultimap.containsEntry(java.lang.Object,java.lang.Object):60:61 -> a
    1:2:boolean containsEntry(java.lang.Object,java.lang.Object):61 -> a
    1:1:int com.android.tools.r8.com.google.common.collect.AbstractMultimap.hashCode():252:252 -> hashCode
    1:1:int hashCode():61 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.ArrayListMultimap create():76:76 -> j
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.ArrayListMultimap.asMap():61:61 -> remove
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMultimap.remove(java.lang.Object,java.lang.Object):67 -> remove
    1:1:boolean remove(java.lang.Object,java.lang.Object):61 -> remove
    2:3:boolean com.android.tools.r8.com.google.common.collect.AbstractMultimap.remove(java.lang.Object,java.lang.Object):67:68 -> remove
    2:3:boolean remove(java.lang.Object,java.lang.Object):61 -> remove
    1:1:java.lang.String com.android.tools.r8.com.google.common.collect.AbstractMultimap.toString():263:263 -> toString
    1:1:java.lang.String toString():61 -> toString
com.android.tools.r8.com.google.common.collect.ArrayListMultimapGwtSerializationDependencies -> com.android.tools.r8.internal.l3:
    1:1:void com.android.tools.r8.com.google.common.collect.AbstractListMultimap.<init>(java.util.Map):44:44 -> <init>
    1:1:void <init>(java.util.Map):36 -> <init>
    1:1:java.util.List com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):76:76 -> a
    1:1:java.util.List com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.AbstractListMultimap.put(java.lang.Object,java.lang.Object):115:115 -> a
    2:2:boolean com.android.tools.r8.com.google.common.collect.AbstractListMultimap.put(java.lang.Object,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.AbstractListMultimap.asMap():126:126 -> b
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.AbstractListMultimap.asMap():0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractListMultimap.equals(java.lang.Object):137:137 -> equals
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractListMultimap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):35:35 -> get
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.BaseImmutableMultimap -> com.android.tools.r8.internal.r4:
    1:1:void <init>():25:25 -> <init>
com.android.tools.r8.com.google.common.collect.BiMap -> com.android.tools.r8.internal.J4:
    java.lang.Object forcePut(java.lang.Object,java.lang.Object) -> a
    com.android.tools.r8.com.google.common.collect.BiMap inverse() -> g
com.android.tools.r8.com.google.common.collect.ByFunctionOrdering -> com.android.tools.r8.internal.X5:
    com.android.tools.r8.com.google.common.collect.Ordering ordering -> c
    com.android.tools.r8.com.google.common.base.Function function -> b
    1:3:void <init>(com.android.tools.r8.com.google.common.base.Function,com.android.tools.r8.com.google.common.collect.Ordering):36:38 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):43:43 -> compare
    1:3:boolean equals(java.lang.Object):51:53 -> equals
    1:1:int hashCode():60:60 -> hashCode
    2:2:int com.android.tools.r8.com.google.common.base.Objects.hashCode(java.lang.Object[]):77:77 -> hashCode
    2:2:int hashCode():60 -> hashCode
    1:1:java.lang.String toString():65:65 -> toString
com.android.tools.r8.com.google.common.collect.CollectPreconditions -> com.android.tools.r8.internal.Lb:
    1:1:void checkEntryNotNull(java.lang.Object,java.lang.Object):32:32 -> a
    2:2:void checkEntryNotNull(java.lang.Object,java.lang.Object):30:30 -> a
    3:3:int checkNonnegative(int,java.lang.String):39:39 -> a
com.android.tools.r8.com.google.common.collect.CollectSpliterators -> com.android.tools.r8.internal.Sb:
    1:1:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.indexed(int,int,java.util.function.IntFunction,java.util.Comparator):98:98 -> a
    1:1:java.util.Spliterator indexed(int,int,java.util.function.IntFunction):42 -> a
    2:2:java.util.Spliterator map(java.util.Spliterator,java.util.function.Function):108:108 -> a
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    3:3:java.util.Spliterator map(java.util.Spliterator,java.util.function.Function):108 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:java.util.Spliterator map(java.util.Spliterator,java.util.function.Function):109 -> a
    5:5:java.util.Spliterator map(java.util.Spliterator,java.util.function.Function):110:110 -> a
    6:9:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):206:209 -> a
    10:10:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    10:10:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):212 -> a
    11:11:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    11:11:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):213 -> a
    12:12:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):214:214 -> a
com.android.tools.r8.com.google.common.collect.CollectSpliterators$1 -> com.android.tools.r8.internal.Mb:
    java.util.Spliterator val$fromSpliterator -> a
    java.util.function.Function val$function -> b
    1:1:void <init>(java.util.Spliterator,java.util.function.Function):110:110 -> <init>
    1:1:void lambda$forEachRemaining$1(java.util.function.Consumer,java.util.function.Function,java.lang.Object):120:120 -> a
    1:1:void lambda$tryAdvance$0(java.util.function.Consumer,java.util.function.Function,java.lang.Object):115:115 -> b
    1:1:int characteristics():136:136 -> characteristics
    1:1:long estimateSize():131:131 -> estimateSize
    1:1:void forEachRemaining(java.util.function.Consumer):120:120 -> forEachRemaining
    1:1:boolean tryAdvance(java.util.function.Consumer):114:114 -> tryAdvance
    1:2:java.util.Spliterator trySplit():125:126 -> trySplit
com.android.tools.r8.com.google.common.collect.CollectSpliterators$1Splitr -> com.android.tools.r8.internal.Nb:
    java.util.function.Predicate val$predicate -> c
    java.lang.Object holder -> a
    java.util.Spliterator val$fromSpliterator -> b
    1:2:void <init>(java.util.Spliterator,java.util.function.Predicate):146:147 -> <init>
    1:1:void accept(java.lang.Object):151:151 -> accept
    1:1:int characteristics():187:187 -> characteristics
    1:1:long estimateSize():177:177 -> estimateSize
    1:1:java.util.Comparator getComparator():182:182 -> getComparator
    1:9:boolean tryAdvance(java.util.function.Consumer):156:164 -> tryAdvance
    1:2:java.util.Spliterator trySplit():171:172 -> trySplit
    3:3:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):144:144 -> trySplit
    3:3:java.util.Spliterator trySplit():172 -> trySplit
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> trySplit
    4:4:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):145 -> trySplit
    4:4:java.util.Spliterator trySplit():172 -> trySplit
    5:5:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):194:194 -> trySplit
    5:5:java.util.Spliterator trySplit():172 -> trySplit
com.android.tools.r8.com.google.common.collect.CollectSpliterators$1WithCharacteristics -> com.android.tools.r8.internal.Ob:
    java.util.function.IntFunction val$function -> b
    java.util.Spliterator$OfInt delegate -> a
    java.util.Comparator val$comparator -> d
    int val$extraCharacteristics -> c
    1:2:void <init>(java.util.Spliterator$OfInt,java.util.function.IntFunction,int,java.util.Comparator):56:57 -> <init>
    1:1:void lambda$forEachRemaining$1(java.util.function.Consumer,java.util.function.IntFunction,int):67:67 -> a
    1:1:void lambda$tryAdvance$0(java.util.function.Consumer,java.util.function.IntFunction,int):62:62 -> b
    1:1:int characteristics():83:83 -> characteristics
    1:1:long estimateSize():78:78 -> estimateSize
    1:1:void forEachRemaining(java.util.function.Consumer):67:67 -> forEachRemaining
    1:4:java.util.Comparator getComparator():91:94 -> getComparator
    1:1:boolean tryAdvance(java.util.function.Consumer):62:62 -> tryAdvance
    1:2:java.util.Spliterator trySplit():72:73 -> trySplit
com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator -> com.android.tools.r8.internal.Qb:
    long estimatedSize -> f
    java.util.function.Function function -> c
    java.util.Spliterator from -> b
    int characteristics -> e
    java.util.Spliterator prefix -> a
    com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator$Factory factory -> d
    1:7:void <init>(java.util.Spliterator,java.util.Spliterator,java.util.function.Function,com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator$Factory,int,long):318:324 -> <init>
    1:1:void lambda$tryAdvance$0(java.lang.Object):345:345 -> a
    2:4:void lambda$forEachRemaining$1(java.util.function.Consumer,java.lang.Object):359:361 -> a
    1:1:int characteristics():402:402 -> characteristics
    1:4:long estimateSize():394:397 -> estimateSize
    1:12:void forEachRemaining(java.util.function.Consumer):353:364 -> forEachRemaining
    1:9:boolean tryAdvance(java.util.function.Consumer):337:345 -> tryAdvance
    1:17:java.util.Spliterator trySplit():369:385 -> trySplit
com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator$Factory -> com.android.tools.r8.internal.Pb:
    java.util.Spliterator newFlatMapSpliterator(java.util.Spliterator,java.util.Spliterator,java.util.function.Function,int,long) -> a
com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliteratorOfObject -> com.android.tools.r8.internal.Rb:
    1:1:void <init>(java.util.Spliterator,java.util.Spliterator,java.util.function.Function,int,long):425:425 -> <init>
com.android.tools.r8.com.google.common.collect.ComparatorOrdering -> com.android.tools.r8.internal.ic:
    java.util.Comparator comparator -> b
    1:2:void <init>(java.util.Comparator):31:32 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):37:37 -> compare
    1:3:boolean equals(java.lang.Object):45:47 -> equals
    1:1:int hashCode():54:54 -> hashCode
    1:1:java.lang.String toString():59:59 -> toString
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset -> com.android.tools.r8.internal.dd:
    java.util.concurrent.ConcurrentMap countMap -> d
    1:3:void <init>(java.util.concurrent.ConcurrentMap):126:128 -> <init>
    1:1:java.util.concurrent.ConcurrentMap access$100(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset):59:59 -> a
    2:2:int remove(java.lang.Object,int):272:272 -> a
    3:3:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkPositive(int,java.lang.String):0:0 -> a
    3:3:int remove(java.lang.Object,int):274 -> a
    4:16:int remove(java.lang.Object,int):276:288 -> a
    17:17:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkPositive(int,java.lang.String):54:54 -> a
    17:17:int remove(java.lang.Object,int):274 -> a
    18:19:java.util.Set createElementSet():449:450 -> a
    1:1:int add(java.lang.Object,int):204:204 -> b
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
    2:2:int add(java.lang.Object,int):204 -> b
    3:3:int add(java.lang.Object,int):206:206 -> b
    4:4:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkPositive(int,java.lang.String):0:0 -> b
    4:4:int add(java.lang.Object,int):208 -> b
    5:33:int add(java.lang.Object,int):211:239 -> b
    34:34:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkPositive(int,java.lang.String):54:54 -> b
    34:34:int add(java.lang.Object,int):208 -> b
    35:35:java.util.Set createEntrySet():487:487 -> b
    1:1:boolean setCount(java.lang.Object,int,int):404:404 -> c
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> c
    2:2:boolean setCount(java.lang.Object,int,int):404 -> c
    3:34:boolean setCount(java.lang.Object,int,int):405:436 -> c
    35:35:int distinctElements():492:492 -> c
    1:1:void clear():554:554 -> clear
    1:1:java.util.Iterator elementIterator():480:480 -> d
    1:21:java.util.Iterator entryIterator():504:524 -> e
    1:1:com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset create():89:89 -> f
    2:2:int setCount(java.lang.Object,int):348:348 -> f
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> f
    3:3:int setCount(java.lang.Object,int):348 -> f
    4:37:int setCount(java.lang.Object,int):349:382 -> f
    1:2:int count(java.lang.Object):141:142 -> g
    1:1:boolean isEmpty():497:497 -> isEmpty
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.Multisets.iteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1043:1043 -> iterator
    1:1:java.util.Iterator iterator():549 -> iterator
    1:4:int size():154:157 -> size
    1:1:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180:180 -> toArray
    1:1:java.lang.Object[] toArray():167 -> toArray
    2:2:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    2:2:java.lang.Object[] toArray():167 -> toArray
    3:6:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> toArray
    3:6:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192 -> toArray
    3:6:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    3:6:java.lang.Object[] toArray():167 -> toArray
    7:7:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    7:7:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    7:7:java.lang.Object[] toArray():167 -> toArray
    8:8:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.entrySet():58:58 -> toArray
    8:8:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():181 -> toArray
    8:8:java.lang.Object[] toArray():167 -> toArray
    9:12:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():181:184 -> toArray
    9:12:java.lang.Object[] toArray():167 -> toArray
    13:13:java.lang.Object[] toArray():167:167 -> toArray
    14:14:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180:180 -> toArray
    14:14:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    15:15:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    15:15:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    15:15:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    16:19:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> toArray
    16:19:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192 -> toArray
    16:19:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    16:19:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    20:20:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    20:20:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    20:20:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    21:21:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.entrySet():58:58 -> toArray
    21:21:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():181 -> toArray
    21:21:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    22:25:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():181:184 -> toArray
    22:25:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    26:26:java.lang.Object[] toArray(java.lang.Object[]):172:172 -> toArray
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1 -> com.android.tools.r8.internal.Zc:
    java.util.Set val$delegate -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset,java.util.Set):450:450 -> <init>
    1:1:boolean contains(java.lang.Object):458:458 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101:101 -> contains
    2:2:boolean contains(java.lang.Object):458 -> contains
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101 -> contains
    3:3:boolean contains(java.lang.Object):458 -> contains
    4:4:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):103:103 -> contains
    4:4:boolean contains(java.lang.Object):458 -> contains
    1:1:boolean containsAll(java.util.Collection):463:463 -> containsAll
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> j
    1:1:java.lang.Object delegate():450 -> j
    1:1:boolean remove(java.lang.Object):468:468 -> remove
    2:2:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeRemove(java.util.Collection,java.lang.Object):114:114 -> remove
    2:2:boolean remove(java.lang.Object):468 -> remove
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> remove
    3:3:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeRemove(java.util.Collection,java.lang.Object):114 -> remove
    3:3:boolean remove(java.lang.Object):468 -> remove
    4:4:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeRemove(java.util.Collection,java.lang.Object):116:116 -> remove
    4:4:boolean remove(java.lang.Object):468 -> remove
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingSet.standardRemoveAll(java.util.Collection):77:77 -> removeAll
    1:1:boolean removeAll(java.util.Collection):473 -> removeAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> removeAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingSet.standardRemoveAll(java.util.Collection):77 -> removeAll
    2:2:boolean removeAll(java.util.Collection):473 -> removeAll
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingSet.standardRemoveAll(java.util.Collection):77:77 -> removeAll
    3:3:boolean removeAll(java.util.Collection):473 -> removeAll
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2 -> com.android.tools.r8.internal.ad:
    java.util.Iterator mapEntries -> d
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset):505:507 -> <init>
    1:7:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2.computeNext():512:518 -> j
    1:7:java.lang.Object computeNext():505 -> j
    8:8:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multisets.immutableEntry(java.lang.Object,int):235:235 -> j
    8:8:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2.computeNext():518 -> j
    8:8:java.lang.Object computeNext():505 -> j
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3 -> com.android.tools.r8.internal.bd:
    java.util.Iterator val$readOnlyIterator -> c
    com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset this$0 -> d
    com.android.tools.r8.com.google.common.collect.Multiset$Entry last -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset,java.util.Iterator):524:524 -> <init>
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.delegate():529:529 -> j
    1:1:java.lang.Object delegate():524 -> j
    1:1:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.next():534:534 -> next
    1:1:java.lang.Object next():524 -> next
    1:1:void remove():540:540 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():540 -> remove
    3:4:void remove():541:542 -> remove
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet -> com.android.tools.r8.internal.cd:
    com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset this$0 -> c
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset):558:558 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset,com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1):558:558 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.multiset():561:561 -> a
    1:1:com.android.tools.r8.com.google.common.collect.Multiset multiset():557 -> a
    1:1:int com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet.size():186:186 -> toArray
    1:1:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    1:1:java.lang.Object[] toArray():571 -> toArray
    2:2:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    2:2:java.lang.Object[] toArray():571 -> toArray
    3:6:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> toArray
    3:6:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192 -> toArray
    3:6:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    3:6:java.lang.Object[] toArray():571 -> toArray
    7:7:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    7:7:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    7:7:java.lang.Object[] toArray():571 -> toArray
    8:8:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet.iterator():181:181 -> toArray
    8:8:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():582 -> toArray
    8:8:java.lang.Object[] toArray():571 -> toArray
    9:9:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():582:582 -> toArray
    9:9:java.lang.Object[] toArray():571 -> toArray
    10:10:java.lang.Object[] toArray():571:571 -> toArray
    11:11:int com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet.size():186:186 -> toArray
    11:11:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    11:11:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    12:12:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    12:12:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    12:12:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    13:16:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> toArray
    13:16:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192 -> toArray
    13:16:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    13:16:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    17:17:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    17:17:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    17:17:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    18:18:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet.iterator():181:181 -> toArray
    18:18:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():582 -> toArray
    18:18:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    19:19:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():582:582 -> toArray
    19:19:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    20:20:java.lang.Object[] toArray(java.lang.Object[]):576:576 -> toArray
com.android.tools.r8.com.google.common.collect.Count -> com.android.tools.r8.internal.Td:
    int value -> b
    1:2:void <init>(int):30:31 -> <init>
    1:1:void add(int):39:39 -> a
    2:2:int addAndGet(int):43:43 -> a
    1:1:int get():35:35 -> b
    1:2:int getAndSet(int):51:52 -> c
    1:1:void set(int):47:47 -> d
    1:1:boolean equals(java.lang.Object):63:63 -> equals
    1:1:int hashCode():58:58 -> hashCode
    1:1:java.lang.String toString():68:68 -> toString
com.android.tools.r8.com.google.common.collect.EmptyImmutableListMultimap -> com.android.tools.r8.internal.Mh:
    com.android.tools.r8.com.google.common.collect.EmptyImmutableListMultimap INSTANCE -> h
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>():31:31 -> <init>
com.android.tools.r8.com.google.common.collect.FluentIterable -> com.android.tools.r8.internal.Ik:
    com.android.tools.r8.com.google.common.base.Optional iterableDelegate -> b
    1:2:void <init>():118:119 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable):191:191 -> a
    2:3:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):285:286 -> a
    2:3:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable):191 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):286 -> a
    4:4:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable):191 -> a
    5:5:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):288:288 -> a
    5:5:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable):191 -> a
    6:6:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):210:210 -> a
    7:8:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):285:286 -> a
    7:8:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):210 -> a
    9:9:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    9:9:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):286 -> a
    9:9:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):210 -> a
    10:10:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):288:288 -> a
    10:10:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):210 -> a
    11:11:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):233:233 -> a
    12:13:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):285:286 -> a
    12:13:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):233 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    14:14:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):286 -> a
    14:14:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):233 -> a
    15:15:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):288:288 -> a
    15:15:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):233 -> a
    16:16:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable[]):253:253 -> a
    17:18:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):285:286 -> a
    17:18:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable[]):253 -> a
    19:19:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    19:19:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):286 -> a
    19:19:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable[]):253 -> a
    20:20:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):288:288 -> a
    20:20:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable[]):253 -> a
    1:1:java.lang.Iterable com.android.tools.r8.com.google.common.collect.FluentIterable.getDelegate():128:128 -> toString
    1:1:java.lang.String toString():337 -> toString
    2:2:java.lang.String com.android.tools.r8.com.google.common.collect.Iterables.toString(java.lang.Iterable):241:241 -> toString
    2:2:java.lang.String toString():337 -> toString
    3:12:java.lang.String com.android.tools.r8.com.google.common.collect.Iterators.toString(java.util.Iterator):281:290 -> toString
    3:12:java.lang.String com.android.tools.r8.com.google.common.collect.Iterables.toString(java.lang.Iterable):241 -> toString
    3:12:java.lang.String toString():337 -> toString
com.android.tools.r8.com.google.common.collect.FluentIterable$2 -> com.android.tools.r8.internal.Fk:
    java.lang.Iterable val$inputs -> c
    1:1:void <init>(java.lang.Iterable):274:274 -> <init>
    1:1:java.util.Iterator iterator():277:277 -> iterator
    2:2:com.android.tools.r8.com.google.common.base.Function com.android.tools.r8.com.google.common.collect.Iterables.toIterator():1023:1023 -> iterator
    2:2:java.util.Iterator iterator():277 -> iterator
    3:4:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.transform(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):779:780 -> iterator
    3:4:java.util.Iterator iterator():277 -> iterator
    5:5:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):546:546 -> iterator
    5:5:java.util.Iterator iterator():277 -> iterator
com.android.tools.r8.com.google.common.collect.FluentIterable$3 -> com.android.tools.r8.internal.Hk:
    java.lang.Iterable[] val$inputs -> c
    1:1:void <init>(java.lang.Iterable[]):288:288 -> <init>
    1:1:java.util.Iterator iterator():291:291 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):546:546 -> iterator
    2:2:java.util.Iterator iterator():291 -> iterator
com.android.tools.r8.com.google.common.collect.FluentIterable$3$1 -> com.android.tools.r8.internal.Gk:
    com.android.tools.r8.com.google.common.collect.FluentIterable$3 this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.FluentIterable$3,int):293:293 -> <init>
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.FluentIterable$3$1.get(int):296:296 -> a
    1:1:java.lang.Object get(int):293 -> a
com.android.tools.r8.com.google.common.collect.ForwardingIterator -> com.android.tools.r8.internal.Sk:
    1:1:void <init>():42:42 -> <init>
    1:1:boolean hasNext():49:49 -> hasNext
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.delegate():529:529 -> hasNext
    2:2:boolean hasNext():49 -> hasNext
    3:3:boolean hasNext():49:49 -> hasNext
    1:1:java.lang.Object next():55:55 -> next
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.delegate():529:529 -> next
    2:2:java.lang.Object next():55 -> next
    3:3:java.lang.Object next():55:55 -> next
com.android.tools.r8.com.google.common.collect.ForwardingObject -> com.android.tools.r8.internal.Tk:
    1:1:void <init>():50:50 -> <init>
    java.lang.Object delegate() -> j
    1:1:java.lang.String toString():63:63 -> toString
com.android.tools.r8.com.google.common.collect.ForwardingSet -> com.android.tools.r8.internal.Uk:
    1:1:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.<init>():53:53 -> <init>
    1:1:void <init>():53 -> <init>
    boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.standardContainsAll(java.util.Collection) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):87:87 -> add
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):0 -> add
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> add
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> add
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):87 -> add
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):0 -> add
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):87:87 -> add
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):0 -> add
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):104:104 -> addAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):0 -> addAll
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> addAll
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> addAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):104 -> addAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):0 -> addAll
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):104:104 -> addAll
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):0 -> addAll
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:boolean com.android.tools.r8.com.google.common.collect.Collections2.containsAllImpl(java.util.Collection,java.util.Collection):323:324 -> b
    1:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.standardContainsAll(java.util.Collection):148 -> b
    1:1:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():115:115 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> clear
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> clear
    2:2:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():115 -> clear
    2:2:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():115:115 -> clear
    3:3:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean equals(java.lang.Object):60:60 -> equals
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> equals
    2:2:boolean equals(java.lang.Object):60 -> equals
    3:3:boolean equals(java.lang.Object):60:60 -> equals
    1:1:int hashCode():65:65 -> hashCode
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> hashCode
    2:2:int hashCode():65 -> hashCode
    3:3:int hashCode():65:65 -> hashCode
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():76:76 -> isEmpty
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> isEmpty
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> isEmpty
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():76 -> isEmpty
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():76:76 -> isEmpty
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():60:60 -> iterator
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():0 -> iterator
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> iterator
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():60 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():0 -> iterator
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():60:60 -> iterator
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():0 -> iterator
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):110:110 -> retainAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):0 -> retainAll
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> retainAll
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> retainAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):110 -> retainAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):0 -> retainAll
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):110:110 -> retainAll
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):0 -> retainAll
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():65:65 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> size
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():65 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():65:65 -> size
    3:3:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():120:120 -> toArray
    1:1:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> toArray
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> toArray
    2:2:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():120 -> toArray
    2:2:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():120:120 -> toArray
    3:3:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):126:126 -> toArray
    4:4:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> toArray
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> toArray
    5:5:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):126 -> toArray
    5:5:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):126:126 -> toArray
    6:6:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.HashBiMap -> com.android.tools.r8.internal.tm:
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry firstInKeyInsertionOrder -> d
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry lastInKeyInsertionOrder -> e
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] hashTableKToV -> b
    int modCount -> h
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] hashTableVToK -> c
    int size -> f
    int mask -> g
    com.android.tools.r8.com.google.common.collect.BiMap inverse -> i
    1:2:void <init>(int):120:121 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry access$000(com.android.tools.r8.com.google.common.collect.HashBiMap):59:59 -> a
    2:2:void access$200(com.android.tools.r8.com.google.common.collect.HashBiMap,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):59:59 -> a
    3:3:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry access$300(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,int):59:59 -> a
    4:4:void access$500(com.android.tools.r8.com.google.common.collect.HashBiMap,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):59:59 -> a
    5:5:java.lang.Object access$800(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,java.lang.Object,boolean):59:59 -> a
    6:45:java.lang.Object com.android.tools.r8.com.google.common.collect.HashBiMap.putInverse(java.lang.Object,java.lang.Object,boolean):320:359 -> a
    6:45:java.lang.Object access$800(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,java.lang.Object,boolean):59 -> a
    46:46:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.keyOrNull(java.util.Map$Entry):3680:3680 -> a
    46:46:java.lang.Object com.android.tools.r8.com.google.common.collect.HashBiMap.putInverse(java.lang.Object,java.lang.Object,boolean):360 -> a
    46:46:java.lang.Object access$800(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,java.lang.Object,boolean):59 -> a
    47:47:com.android.tools.r8.com.google.common.collect.HashBiMap create(java.util.Map):82:82 -> a
    48:48:com.android.tools.r8.com.google.common.collect.HashBiMap com.android.tools.r8.com.google.common.collect.HashBiMap.create(int):74:74 -> a
    48:48:com.android.tools.r8.com.google.common.collect.HashBiMap create(java.util.Map):82 -> a
    49:49:com.android.tools.r8.com.google.common.collect.HashBiMap create(java.util.Map):83:83 -> a
    50:51:void init(int):125:126 -> a
    52:52:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] com.android.tools.r8.com.google.common.collect.HashBiMap.createTable(int):384:384 -> a
    52:52:void init(int):127 -> a
    53:53:void init(int):127:127 -> a
    54:54:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] com.android.tools.r8.com.google.common.collect.HashBiMap.createTable(int):384:384 -> a
    54:54:void init(int):128 -> a
    55:60:void init(int):128:133 -> a
    61:106:void delete(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):141:186 -> a
    107:107:void delete(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):161:161 -> a
    108:108:void delete(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):145:145 -> a
    109:142:void insert(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):190:223 -> a
    143:146:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry seekByKey(java.lang.Object,int):227:230 -> a
    147:147:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry seekByKey(java.lang.Object,int):229:229 -> a
    148:176:java.lang.Object put(java.lang.Object,java.lang.Object,boolean):280:308 -> a
    177:177:java.lang.Object forcePut(java.lang.Object,java.lang.Object):316:316 -> a
    1:1:int access$100(com.android.tools.r8.com.google.common.collect.HashBiMap):59:59 -> b
    2:2:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry access$400(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,int):59:59 -> b
    3:6:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry seekByValue(java.lang.Object,int):238:241 -> b
    7:7:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry seekByValue(java.lang.Object,int):240:240 -> b
    1:1:int access$700(com.android.tools.r8.com.google.common.collect.HashBiMap):59:59 -> c
    1:6:void clear():403:408 -> clear
    1:1:boolean containsKey(java.lang.Object):250:250 -> containsKey
    1:1:boolean containsValue(java.lang.Object):265:265 -> containsValue
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap.entrySet():3475:3475 -> entrySet
    1:1:java.util.Set entrySet():58 -> entrySet
    1:1:java.util.Iterator entryIterator():498:498 -> f
    1:1:void forEach(java.util.function.BiConsumer):547:547 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):547 -> forEach
    3:6:void forEach(java.util.function.BiConsumer):548:551 -> forEach
    7:7:void forEach(java.util.function.BiConsumer):550:550 -> forEach
    1:2:com.android.tools.r8.com.google.common.collect.BiMap inverse():569:570 -> g
    1:1:java.lang.Object get(java.lang.Object):270:270 -> get
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.valueOrNull(java.util.Map$Entry):3684:3684 -> get
    2:2:java.lang.Object get(java.lang.Object):270 -> get
    1:1:java.util.Set keySet():459:459 -> keySet
    1:1:com.android.tools.r8.com.google.common.collect.HashBiMap com.android.tools.r8.com.google.common.collect.HashBiMap.create(int):74:74 -> l
    1:1:com.android.tools.r8.com.google.common.collect.HashBiMap create():64 -> l
    1:3:void rehashIfNecessary():364:366 -> m
    4:4:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] com.android.tools.r8.com.google.common.collect.HashBiMap.createTable(int):384:384 -> m
    4:4:void rehashIfNecessary():368 -> m
    5:5:void rehashIfNecessary():368:368 -> m
    6:6:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] com.android.tools.r8.com.google.common.collect.HashBiMap.createTable(int):384:384 -> m
    6:6:void rehashIfNecessary():369 -> m
    7:14:void rehashIfNecessary():369:376 -> m
    15:18:void rehashIfNecessary():375:378 -> m
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):276:276 -> put
    1:8:java.lang.Object remove(java.lang.Object):390:397 -> remove
    1:1:void replaceAll(java.util.function.BiFunction):557:557 -> replaceAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> replaceAll
    2:2:void replaceAll(java.util.function.BiFunction):557 -> replaceAll
    3:6:void replaceAll(java.util.function.BiFunction):558:561 -> replaceAll
    7:7:java.lang.Object com.android.tools.r8.com.google.common.collect.HashBiMap.put(java.lang.Object,java.lang.Object):276:276 -> replaceAll
    7:7:void replaceAll(java.util.function.BiFunction):561 -> replaceAll
    8:8:void replaceAll(java.util.function.BiFunction):560:560 -> replaceAll
    1:1:int size():413:413 -> size
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap.values():493:493 -> values
    1:1:java.util.Collection values():58 -> values
    2:2:java.util.Set values():493:493 -> values
    3:3:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.keySet():630:630 -> values
    3:3:java.util.Set values():493 -> values
com.android.tools.r8.com.google.common.collect.HashBiMap$1 -> com.android.tools.r8.internal.jm:
    com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> g
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):498:498 -> <init>
    1:1:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.HashBiMap$1.output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):501:501 -> a
    1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):498 -> a
com.android.tools.r8.com.google.common.collect.HashBiMap$1$MapEntry -> com.android.tools.r8.internal.im:
    com.android.tools.r8.com.google.common.collect.HashBiMap$1 this$1 -> c
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry delegate -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$1,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):507:508 -> <init>
    1:1:java.lang.Object getKey():513:513 -> getKey
    1:1:java.lang.Object getValue():518:518 -> getValue
    1:16:java.lang.Object setValue(java.lang.Object):523:538 -> setValue
com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry -> com.android.tools.r8.internal.km:
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry nextInKToVBucket -> f
    int keyHash -> d
    int valueHash -> e
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry nextInVToKBucket -> g
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry nextInKeyInsertionOrder -> h
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry prevInKeyInsertionOrder -> i
    1:3:void <init>(java.lang.Object,int,java.lang.Object,int):104:106 -> <init>
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse -> com.android.tools.r8.internal.pm:
    com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):573:573 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap,com.android.tools.r8.com.google.common.collect.HashBiMap$1):573:573 -> <init>
    1:1:java.lang.Object forcePut(java.lang.Object,java.lang.Object):607:607 -> a
    2:2:void lambda$forEach$0(java.util.function.BiConsumer,java.lang.Object,java.lang.Object):713:713 -> a
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> clear
    1:1:void clear():586 -> clear
    2:2:void clear():586:586 -> clear
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> containsKey
    1:1:boolean containsKey(java.lang.Object):591 -> containsKey
    2:2:boolean containsKey(java.lang.Object):591:591 -> containsKey
    1:1:java.util.Iterator entryIterator():667:667 -> f
    1:1:void forEach(java.util.function.BiConsumer):712:712 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):712 -> forEach
    3:3:void forEach(java.util.function.BiConsumer):713:713 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> g
    1:1:com.android.tools.r8.com.google.common.collect.BiMap inverse():625 -> g
    1:1:java.lang.Object get(java.lang.Object):596:596 -> get
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.keyOrNull(java.util.Map$Entry):3680:3680 -> get
    2:2:java.lang.Object get(java.lang.Object):596 -> get
    1:1:java.util.Set keySet():630:630 -> keySet
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):602:602 -> put
    1:8:java.lang.Object remove(java.lang.Object):612:619 -> remove
    1:1:void replaceAll(java.util.function.BiFunction):718:718 -> replaceAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> replaceAll
    2:2:void replaceAll(java.util.function.BiFunction):718 -> replaceAll
    3:3:void replaceAll(java.util.function.BiFunction):719:719 -> replaceAll
    4:4:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> replaceAll
    4:4:void com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.clear():586 -> replaceAll
    4:4:void replaceAll(java.util.function.BiFunction):720 -> replaceAll
    5:5:void com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.clear():586:586 -> replaceAll
    5:5:void replaceAll(java.util.function.BiFunction):720 -> replaceAll
    6:6:void replaceAll(java.util.function.BiFunction):722:722 -> replaceAll
    7:7:void replaceAll(java.util.function.BiFunction):721:721 -> replaceAll
    1:1:int size():581:581 -> size
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> values
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.values():662 -> values
    1:1:java.util.Collection values():573 -> values
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.values():662:662 -> values
    2:2:java.util.Collection values():573 -> values
    3:3:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> values
    3:3:java.util.Set values():662 -> values
    4:4:java.util.Set values():662:662 -> values
    5:5:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap.keySet():459:459 -> values
    5:5:java.util.Set values():662 -> values
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1 -> com.android.tools.r8.internal.mm:
    com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse this$1 -> g
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse):667:667 -> <init>
    1:1:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1.output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):670:670 -> a
    1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):667 -> a
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1$InverseEntry -> com.android.tools.r8.internal.lm:
    com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1 this$2 -> c
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry delegate -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):676:677 -> <init>
    1:1:java.lang.Object getKey():682:682 -> getKey
    1:1:java.lang.Object getValue():687:687 -> getValue
    1:12:java.lang.Object setValue(java.lang.Object):692:703 -> setValue
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet -> com.android.tools.r8.internal.om:
    com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse this$1 -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse):634:635 -> <init>
    1:1:java.util.Iterator iterator():651:651 -> iterator
    1:5:boolean remove(java.lang.Object):640:644 -> remove
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet$1 -> com.android.tools.r8.internal.nm:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet):651:651 -> <init>
    1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):654:654 -> a
com.android.tools.r8.com.google.common.collect.HashBiMap$Itr -> com.android.tools.r8.internal.qm:
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry toRemove -> c
    com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> f
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry next -> b
    int expectedModCount -> d
    int remaining -> e
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):416:420 -> <init>
    java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry) -> a
    1:4:boolean hasNext():424:427 -> hasNext
    5:5:boolean hasNext():425:425 -> hasNext
    1:9:java.lang.Object next():432:440 -> next
    10:10:java.lang.Object next():433:433 -> next
    1:4:void remove():445:448 -> remove
    5:5:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    5:5:void remove():448 -> remove
    6:8:void remove():449:451 -> remove
    9:9:void remove():446:446 -> remove
com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet -> com.android.tools.r8.internal.sm:
    com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):463:464 -> <init>
    1:1:java.util.Iterator iterator():469:469 -> iterator
    1:7:boolean remove(java.lang.Object):479:485 -> remove
com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet$1 -> com.android.tools.r8.internal.rm:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet):469:469 -> <init>
    1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):472:472 -> a
com.android.tools.r8.com.google.common.collect.HashMultiset -> com.android.tools.r8.internal.zm:
    1:1:void <init>():66:66 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.HashMultiset create():38:38 -> f
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMultiset.isEmpty():50:50 -> isEmpty
    1:1:boolean isEmpty():33 -> isEmpty
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset.iterator():185:185 -> iterator
    1:1:java.util.Iterator iterator():33 -> iterator
com.android.tools.r8.com.google.common.collect.Hashing -> com.android.tools.r8.internal.Fm:
    1:1:int smear(int):50:50 -> a
    2:2:int smearedHash(java.lang.Object):54:54 -> a
    3:4:int closedTableSize(int,double):62:63 -> a
com.android.tools.r8.com.google.common.collect.ImmutableAsList -> com.android.tools.r8.internal.Nn:
    1:1:void <init>():34:34 -> <init>
    1:1:boolean contains(java.lang.Object):41:41 -> contains
    1:1:boolean isPartialView():56:56 -> e
    1:1:boolean isEmpty():51:51 -> isEmpty
    com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection() -> j
    1:1:int size():46:46 -> size
com.android.tools.r8.com.google.common.collect.ImmutableBiMap -> com.android.tools.r8.internal.Pn:
    1:1:void com.android.tools.r8.com.google.common.collect.ImmutableBiMapFauxverideShim.<init>():32:32 -> <init>
    1:1:void <init>():372 -> <init>
    1:1:java.lang.Object forcePut(java.lang.Object,java.lang.Object):407:407 -> a
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap.inverse():30:30 -> g
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableBiMap.createValues():393:393 -> m
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():41 -> m
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableBiMap.values():388:388 -> t
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection values():41 -> t
    com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse() -> u
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableBiMap.values():388:388 -> values
    1:1:java.util.Collection values():41 -> values
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableBiMap.values():388:388 -> values
    2:2:java.util.Set values():41 -> values
com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder -> com.android.tools.r8.internal.On:
    1:1:void <init>():176:176 -> <init>
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder orderEntriesByValue(java.util.Comparator) -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap build():170:170 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder.put(java.lang.Object,java.lang.Object):189:189 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):170 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder put(java.lang.Object,java.lang.Object):189:189 -> a
    1:18:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():268:285 -> b
    19:21:com.android.tools.r8.com.google.common.collect.Ordering com.android.tools.r8.com.google.common.collect.Ordering.from(java.util.Comparator):182:184 -> b
    19:21:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():289 -> b
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():289:289 -> b
    23:23:com.android.tools.r8.com.google.common.collect.Ordering com.android.tools.r8.com.google.common.collect.Ordering.onResultOf(com.android.tools.r8.com.google.common.base.Function):449:449 -> b
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():289 -> b
    24:31:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():285:292 -> b
    32:32:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():272:272 -> b
    33:33:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> b
    33:33:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():272 -> b
    34:34:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of():67:67 -> b
    34:34:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():270 -> b
com.android.tools.r8.com.google.common.collect.ImmutableCollection -> com.android.tools.r8.internal.Rn:
    java.lang.Object[] EMPTY_ARRAY -> b
    1:1:void <clinit>():187:187 -> <clinit>
    1:1:void <init>():176:176 -> <init>
    1:7:com.android.tools.r8.com.google.common.collect.ImmutableList asList():344:350 -> a
    8:8:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ImmutableCollection.toArray():191:191 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableList asList():350 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    9:9:void com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.<init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,java.lang.Object[]):41 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableList asList():350 -> a
    10:10: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 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList asList():350 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableList asList():348:348 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):94:94 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableList asList():348 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList asList():346 -> a
    14:15:int copyIntoArray(java.lang.Object[],int):368:369 -> a
    1:1:boolean add(java.lang.Object):248:248 -> add
    1:1:boolean addAll(java.util.Collection):276:276 -> addAll
    java.lang.Object[] internalArray() -> b
    1:1:int internalArrayEnd():231:231 -> c
    1:1:void clear():330:330 -> clear
    1:1:int internalArrayStart():223:223 -> d
    boolean isPartialView() -> e
    com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator() -> f
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.ImmutableList.iterator():60:60 -> iterator
    1:1:boolean remove(java.lang.Object):262:262 -> remove
    1:1:boolean removeAll(java.util.Collection):290:290 -> removeAll
    1:1:boolean removeIf(java.util.function.Predicate):304:304 -> removeIf
    1:1:boolean retainAll(java.util.Collection):317:317 -> retainAll
    1:1:java.util.Spliterator spliterator():184:184 -> spliterator
    1:1:java.lang.Object[] toArray():191:191 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):197:197 -> toArray
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> toArray
    3:3:java.lang.Object[] toArray(java.lang.Object[]):197 -> toArray
    4:15:java.lang.Object[] toArray(java.lang.Object[]):198:209 -> toArray
com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder -> com.android.tools.r8.internal.Qn:
    1:1:void <init>():404:404 -> <init>
    1:1:int expandedCapacity(int,int):395:395 -> a
    2:2:int expandedCapacity(int,int):390:390 -> a
com.android.tools.r8.com.google.common.collect.ImmutableEntry -> com.android.tools.r8.internal.Tn:
    java.lang.Object key -> b
    java.lang.Object value -> c
    1:3:void <init>(java.lang.Object,java.lang.Object):29:31 -> <init>
    1:1:java.lang.Object getKey():36:36 -> getKey
    1:1:java.lang.Object getValue():41:41 -> getValue
    1:1:java.lang.Object setValue(java.lang.Object):46:46 -> setValue
com.android.tools.r8.com.google.common.collect.ImmutableEnumMap -> com.android.tools.r8.internal.Un:
    java.util.EnumMap delegate -> f
    1:3:void <init>(java.util.EnumMap):51:53 -> <init>
    1:8:com.android.tools.r8.com.google.common.collect.ImmutableMap asImmutable(java.util.EnumMap):38:45 -> a
    9:10:com.android.tools.r8.com.google.common.collect.ImmutableMap asImmutable(java.util.EnumMap):42:43 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of(java.lang.Object,java.lang.Object):119 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableMap asImmutable(java.util.EnumMap):43 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of():110:110 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableMap asImmutable(java.util.EnumMap):40 -> a
    1:1:boolean containsKey(java.lang.Object):73:73 -> containsKey
    1:4:boolean equals(java.lang.Object):86:89 -> equals
    1:1:void forEach(java.util.function.BiConsumer):104:104 -> forEach
    1:1:java.lang.Object get(java.lang.Object):78:78 -> get
    boolean isPartialView() -> o
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():58:58 -> p
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):127:127 -> p
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():58 -> p
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> p
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):127 -> p
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():58 -> p
    4:9:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):128:133 -> p
    4:9:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():58 -> p
    1:1:java.util.Spliterator keySpliterator():63:63 -> r
    1:1:int size():68:68 -> size
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryIterator():94:94 -> u
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntryIterator(java.util.Iterator):1361:1361 -> u
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryIterator():94 -> u
com.android.tools.r8.com.google.common.collect.ImmutableEnumSet -> com.android.tools.r8.internal.Vn:
    java.util.EnumSet delegate -> e
    int hashCode -> f
    1:2:void <init>(java.util.EnumSet):57:58 -> <init>
    1:7:com.android.tools.r8.com.google.common.collect.ImmutableSet asImmutable(java.util.EnumSet):37:43 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableSet asImmutable(java.util.EnumSet):41:41 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableSet asImmutable(java.util.EnumSet):41 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableSet asImmutable(java.util.EnumSet):39 -> a
    1:1:boolean contains(java.lang.Object):88:88 -> contains
    1:4:boolean containsAll(java.util.Collection):93:96 -> containsAll
    boolean isPartialView() -> e
    1:4:boolean equals(java.lang.Object):109:112 -> equals
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():68:68 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):127:127 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():68 -> f
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> f
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):127 -> f
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():68 -> f
    4:9:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):128:133 -> f
    4:9:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():68 -> f
    1:1:void forEach(java.util.function.Consumer):78:78 -> forEach
    1:2:int hashCode():124:125 -> hashCode
    1:1:boolean isEmpty():101:101 -> isEmpty
    1:1:int size():83:83 -> size
    1:1:java.util.Spliterator spliterator():73:73 -> spliterator
    1:1:java.lang.String toString():130:130 -> toString
com.android.tools.r8.com.google.common.collect.ImmutableList -> com.android.tools.r8.internal.co:
    int $r8$clinit -> c
    1:1:void <init>():377:377 -> <init>
    com.android.tools.r8.com.google.common.collect.ImmutableList asList() -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object):94:94 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object):103:103 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object):103 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object):103 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object):112:112 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object):112 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object):112 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):121:121 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):121 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):121 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):130:130 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):130 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):130 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):139:139 -> a
    15:15:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    15:15:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):139 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):139 -> a
    17:17:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):148:148 -> a
    18:18:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    18:18:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):148 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):148 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):157:157 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):157 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):157 -> a
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):166:166 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):166 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):166 -> a
    26:26:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):176:176 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):176 -> a
    28:28:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    28:28:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    28:28:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):176 -> a
    29:29:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):186:186 -> a
    30:30:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    30:30:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):186 -> a
    31:31:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    31:31:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    31:31:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):186 -> a
    32:47:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object[]):203:218 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object[]):219 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object[]):219 -> a
    50:53:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):254:257 -> a
    54:54:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    54:54:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):257 -> a
    55:55:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):259:259 -> a
    56:56:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    56:56:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):259 -> a
    57:57:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    57:57:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    57:57:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):259 -> a
    58:58:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[]):356:356 -> a
    59:61:int copyIntoArray(java.lang.Object[],int):586:588 -> a
    1:1:void add(int,java.lang.Object):525:525 -> add
    1:1:boolean addAll(int,java.util.Collection):498:498 -> addAll
    1:4:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[],int):370:373 -> b
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[],int):368:368 -> b
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):94:94 -> b
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[],int):368 -> b
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> b
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[],int):366 -> b
    1:1:boolean contains(java.lang.Object):422:422 -> contains
    1:3:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):434:436 -> e
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> e
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):439 -> e
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):441:441 -> e
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):94:94 -> e
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):441 -> e
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.subListUnchecked(int,int):452:452 -> e
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):443 -> e
    1:1:boolean equals(java.lang.Object):666:666 -> equals
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> f
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():383 -> f
    1:1:void forEach(java.util.function.Consumer):403:403 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):403 -> forEach
    3:5:void forEach(java.util.function.Consumer):404:406 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder builder():714:714 -> g
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableList$Builder.<init>():765:765 -> g
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder builder():714 -> g
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList of():83:83 -> h
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):393:393 -> h
    1:3:int hashCode():672:674 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList reverse():601:601 -> i
    1:10:int com.android.tools.r8.com.google.common.collect.Lists.indexOfRandomAccess(java.util.List,java.lang.Object):1017:1026 -> indexOf
    1:10:int com.android.tools.r8.com.google.common.collect.Lists.indexOfImpl(java.util.List,java.lang.Object):1004 -> indexOf
    1:10:int indexOf(java.lang.Object):412 -> indexOf
    1:2:int com.android.tools.r8.com.google.common.collect.Lists.lastIndexOfRandomAccess(java.util.List,java.lang.Object):1057:1058 -> lastIndexOf
    1:2:int com.android.tools.r8.com.google.common.collect.Lists.lastIndexOfImpl(java.util.List,java.lang.Object):1037 -> lastIndexOf
    1:2:int lastIndexOf(java.lang.Object):417 -> lastIndexOf
    1:1:java.util.ListIterator listIterator(int):60:60 -> listIterator
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> listIterator
    2:2:java.util.ListIterator listIterator():60 -> listIterator
    1:1:java.lang.Object remove(int):539:539 -> remove
    1:1:void replaceAll(java.util.function.UnaryOperator):552:552 -> replaceAll
    1:1:java.lang.Object set(int,java.lang.Object):512:512 -> set
    1:1:void sort(java.util.Comparator):565:565 -> sort
    1:1:java.util.Spliterator spliterator():580:580 -> spliterator
    1:1:java.util.List subList(int,int):60:60 -> subList
com.android.tools.r8.com.google.common.collect.ImmutableList$1 -> com.android.tools.r8.internal.Yn:
    com.android.tools.r8.com.google.common.collect.ImmutableList this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,int,int):393:393 -> <init>
    1:1:java.lang.Object get(int):396:396 -> a
com.android.tools.r8.com.google.common.collect.ImmutableList$Builder -> com.android.tools.r8.internal.Zn:
    java.lang.Object[] contents -> a
    int size -> b
    boolean forceCopy -> c
    1:1:void <init>():765:765 -> <init>
    2:4:void <init>(int):768:770 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder add(java.lang.Object):755:755 -> a
    2:7:void getReadyToExpandTo(int):774:779 -> a
    8:9:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object[]):809:810 -> a
    10:12:void com.android.tools.r8.com.google.common.collect.ImmutableList$Builder.add(java.lang.Object[],int):815:817 -> a
    10:12:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object[]):810 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder addAll(java.lang.Iterable):830:830 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder addAll(java.lang.Iterable):830 -> a
    15:20:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder addAll(java.lang.Iterable):831:836 -> a
    21:22:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:449 -> a
    21:22:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder addAll(java.lang.Iterable):840 -> a
    23:24:com.android.tools.r8.com.google.common.collect.ImmutableList build():870:871 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object):793:793 -> b
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object):793 -> b
    3:4:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object):794:795 -> b
com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList -> com.android.tools.r8.internal.ao:
    com.android.tools.r8.com.google.common.collect.ImmutableList forwardList -> d
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):607:608 -> <init>
    1:1:boolean contains(java.lang.Object):626:626 -> contains
    1:1:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> e
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):643 -> e
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):643:644 -> e
    4:5:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> e
    4:5:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.reversePosition(int):616 -> e
    4:5:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):644 -> e
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):644:644 -> e
    7:7:boolean isPartialView():660:660 -> e
    1:1:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> get
    1:1:java.lang.Object get(int):649 -> get
    2:3:java.lang.Object get(int):649:650 -> get
    4:4:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> get
    4:4:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.reverseIndex(int):612 -> get
    4:4:java.lang.Object get(int):650 -> get
    5:5:java.lang.Object get(int):650:650 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList reverse():621:621 -> i
    1:1:int indexOf(java.lang.Object):631:631 -> indexOf
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> indexOf
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.reverseIndex(int):612 -> indexOf
    2:2:int indexOf(java.lang.Object):632 -> indexOf
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableList.iterator():383 -> iterator
    1:1:java.util.Iterator iterator():604 -> iterator
    1:1:int lastIndexOf(java.lang.Object):637:637 -> lastIndexOf
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> lastIndexOf
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.reverseIndex(int):612 -> lastIndexOf
    2:2:int lastIndexOf(java.lang.Object):638 -> lastIndexOf
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> listIterator
    1:1:java.util.ListIterator listIterator():604 -> listIterator
    2:2:java.util.ListIterator listIterator(int):604:604 -> listIterator
    1:1:int size():655:655 -> size
    1:1:java.util.List subList(int,int):604:604 -> subList
com.android.tools.r8.com.google.common.collect.ImmutableList$SubList -> com.android.tools.r8.internal.bo:
    com.android.tools.r8.com.google.common.collect.ImmutableList this$0 -> f
    int offset -> d
    int length -> e
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,int,int):459:461 -> <init>
    boolean isPartialView() -> e
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):477:478 -> e
    1:2:java.lang.Object get(int):471:472 -> get
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableList.iterator():383 -> iterator
    1:1:java.util.Iterator iterator():455 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> listIterator
    1:1:java.util.ListIterator listIterator():455 -> listIterator
    2:2:java.util.ListIterator listIterator(int):455:455 -> listIterator
    1:1:int size():466:466 -> size
    1:1:java.util.List subList(int,int):455:455 -> subList
com.android.tools.r8.com.google.common.collect.ImmutableListMultimap -> com.android.tools.r8.internal.eo:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,int):377:377 -> <init>
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.get(java.lang.Object):390:391 -> get
    1:2:java.util.Collection get(java.lang.Object):50 -> get
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> get
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.get(java.lang.Object):391 -> get
    3:3:java.util.Collection get(java.lang.Object):50 -> get
com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder -> com.android.tools.r8.internal.do:
    1:1:void <init>():213:213 -> <init>
    1:4:com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.put(java.lang.Object,java.lang.Object):162:165 -> a
    1:4:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder put(java.lang.Object,java.lang.Object):218 -> a
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.newMutableValueCollection():156:156 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.put(java.lang.Object,java.lang.Object):165 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder put(java.lang.Object,java.lang.Object):218 -> a
    6:8:com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.put(java.lang.Object,java.lang.Object):165:167 -> a
    6:8:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder put(java.lang.Object,java.lang.Object):218 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMultimap com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.build():288:288 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():302 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.fromMapEntries(java.util.Collection,java.util.Comparator):353:353 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableMultimap com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.build():292 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():302 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.of():129:129 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.fromMapEntries(java.util.Collection,java.util.Comparator):354 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableMultimap com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.build():292 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():302 -> a
    12:29:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.fromMapEntries(java.util.Collection,java.util.Comparator):356:373 -> a
    12:29:com.android.tools.r8.com.google.common.collect.ImmutableMultimap com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.build():292 -> a
    12:29:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():302 -> a
com.android.tools.r8.com.google.common.collect.ImmutableMap -> com.android.tools.r8.internal.jo:
    java.util.Map$Entry[] EMPTY_ENTRY_ARRAY -> e
    com.android.tools.r8.com.google.common.collect.ImmutableCollection values -> d
    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>():473:473 -> <clinit>
    1:1:void <init>():512:512 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128:128 -> a
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMap.entryOf(java.lang.Object,java.lang.Object):172:172 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128:128 -> a
    4:4:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMap.entryOf(java.lang.Object,java.lang.Object):172:172 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128:128 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.RegularImmutableMap.fromEntries(java.util.Map$Entry[]):73:73 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128 -> a
    7:7:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    8:8:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":219,"2":220,"3":221}}
    219:219:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    220:220:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    221:221:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    218:218:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    222:230:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):422:430 -> a
    231:235:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOfEnumMap(java.util.EnumMap):466:470 -> a
    231:235:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):430 -> a
    236:236:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433:433 -> a
    237:238:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):448:449 -> a
    237:238:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    239:239:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.RegularImmutableMap.fromEntries(java.util.Map$Entry[]):73:73 -> a
    239:239:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):460 -> a
    239:239:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    240:241:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):453:454 -> a
    240:241:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    242:242:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> a
    242:242:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of(java.lang.Object,java.lang.Object):119 -> a
    242:242:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):454 -> a
    242:242:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    243:243:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of():110:110 -> a
    243:243:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):451 -> a
    243:243:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object):119 -> b
    1:1:void clear():684:684 -> clear
    1:1:java.lang.Object compute(java.lang.Object,java.util.function.BiFunction):605:605 -> compute
    1:1:java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function):578:578 -> computeIfAbsent
    1:1:java.lang.Object computeIfPresent(java.lang.Object,java.util.function.BiFunction):592:592 -> computeIfPresent
    1:1:boolean containsKey(java.lang.Object):694:694 -> containsKey
    1:1:boolean containsValue(java.lang.Object):699:699 -> containsValue
    1:1:java.util.Set entrySet():63:63 -> entrySet
    1:3:boolean com.android.tools.r8.com.google.common.collect.Maps.equalsImpl(java.util.Map,java.lang.Object):3598:3600 -> equals
    1:3:boolean equals(java.lang.Object):878 -> equals
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder builder():180:180 -> f
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder.<init>():255:255 -> f
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder builder():180 -> f
    1:1:java.lang.Object getOrDefault(java.lang.Object,java.lang.Object):713:713 -> getOrDefault
    1:1:int hashCode():885:885 -> hashCode
    1:1:boolean isEmpty():689:689 -> isEmpty
    com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet() -> k
    1:1:java.util.Set keySet():63:63 -> keySet
    com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet() -> l
    com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues() -> m
    1:1:java.lang.Object merge(java.lang.Object,java.lang.Object,java.util.function.BiFunction):619:619 -> merge
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():725:726 -> n
    boolean isPartialView() -> o
    1:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():751:752 -> p
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):525:525 -> put
    1:1:void putAll(java.util.Map):632:632 -> putAll
    1:1:java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object):539:539 -> putIfAbsent
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet keySet():739:740 -> q
    1:1:java.util.Spliterator keySpliterator():766:766 -> r
    1:1:java.lang.Object remove(java.lang.Object):658:658 -> remove
    2:2:boolean remove(java.lang.Object,java.lang.Object):671:671 -> remove
    1:1:boolean replace(java.lang.Object,java.lang.Object,java.lang.Object):552:552 -> replace
    2:2:java.lang.Object replace(java.lang.Object,java.lang.Object):565:565 -> replace
    1:1:void replaceAll(java.util.function.BiFunction):645:645 -> replaceAll
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap of():110:110 -> s
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection values():777:778 -> t
    1:1:java.lang.String com.android.tools.r8.com.google.common.collect.Maps.toStringImpl(java.util.Map):3607:3607 -> toString
    1:1:java.lang.String toString():894 -> toString
    2:3:java.lang.StringBuilder com.android.tools.r8.com.google.common.collect.Collections2.newStringBuilderForCollection(int):351:352 -> toString
    2:3:java.lang.String com.android.tools.r8.com.google.common.collect.Maps.toStringImpl(java.util.Map):3607 -> toString
    2:3:java.lang.String toString():894 -> toString
    4:13:java.lang.String com.android.tools.r8.com.google.common.collect.Maps.toStringImpl(java.util.Map):3607:3616 -> toString
    4:13:java.lang.String toString():894 -> toString
    1:1:java.util.Collection values():63:63 -> values
com.android.tools.r8.com.google.common.collect.ImmutableMap$1 -> com.android.tools.r8.internal.fo:
    com.android.tools.r8.com.google.common.collect.UnmodifiableIterator val$entryIterator -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.UnmodifiableIterator):752:752 -> <init>
    1:1:boolean hasNext():755:755 -> hasNext
    1:1:java.lang.Object next():760:760 -> next
com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder -> com.android.tools.r8.internal.go:
    java.util.Map$Entry[] entries -> b
    int size -> c
    java.util.Comparator valueComparator -> a
    boolean entriesUsed -> d
    1:1:void <init>():255:255 -> <init>
    2:5:void <init>(int):259:262 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):280:280 -> a
    2:5:void com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder.ensureCapacity(int):266:269 -> a
    2:5:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):280 -> a
    6:8:void com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder.ensureCapacity(int):268:270 -> a
    6:8:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):280 -> a
    9:10:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMap.entryOf(java.lang.Object,java.lang.Object):171:172 -> a
    9:10:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):281 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):283:283 -> a
    12:13:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder orderEntriesByValue(java.util.Comparator):341:342 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder orderEntriesByValue(java.util.Comparator):342 -> a
    15:19:com.android.tools.r8.com.google.common.collect.ImmutableMap build():375:379 -> a
    20:22:com.android.tools.r8.com.google.common.collect.Ordering com.android.tools.r8.com.google.common.collect.Ordering.from(java.util.Comparator):182:184 -> a
    20:22:com.android.tools.r8.com.google.common.collect.ImmutableMap build():380 -> a
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableMap build():380:380 -> a
    24:24:com.android.tools.r8.com.google.common.collect.Ordering com.android.tools.r8.com.google.common.collect.Ordering.onResultOf(com.android.tools.r8.com.google.common.base.Function):449:449 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableMap build():380 -> a
    25:35:com.android.tools.r8.com.google.common.collect.ImmutableMap build():379:389 -> a
    36:36:com.android.tools.r8.com.google.common.collect.ImmutableMap build():386:386 -> a
    37:37:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> a
    37:37:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of(java.lang.Object,java.lang.Object):119 -> a
    37:37:com.android.tools.r8.com.google.common.collect.ImmutableMap build():386 -> a
    38:38:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of():110:110 -> a
    38:38:com.android.tools.r8.com.google.common.collect.ImmutableMap build():384 -> a
com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap -> com.android.tools.r8.internal.io:
    1:1:void <init>():475:475 -> <init>
    1:1:java.util.Set entrySet():475:475 -> entrySet
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():503:503 -> k
    1:1:java.util.Set keySet():475:475 -> keySet
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():487:487 -> l
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():508:508 -> m
    com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryIterator() -> u
    1:1:java.util.Collection values():475:475 -> values
com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap$1EntrySetImpl -> com.android.tools.r8.internal.ho:
    com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap this$0 -> e
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap):492:492 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():500:500 -> f
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap$1EntrySetImpl.iterator():500:500 -> iterator
    1:1:java.util.Iterator iterator():492 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap map():495:495 -> k
com.android.tools.r8.com.google.common.collect.ImmutableMapEntry -> com.android.tools.r8.internal.mo:
    1:2:void <init>(java.lang.Object,java.lang.Object):47:48 -> <init>
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInKeyBucket() -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInValueBucket() -> c
    boolean isReusable() -> d
com.android.tools.r8.com.google.common.collect.ImmutableMapEntry$NonTerminalImmutableBiMapEntry -> com.android.tools.r8.internal.ko:
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry nextInValueBucket -> e
    1:2:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):102:103 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInValueBucket():109:109 -> c
com.android.tools.r8.com.google.common.collect.ImmutableMapEntry$NonTerminalImmutableMapEntry -> com.android.tools.r8.internal.lo:
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry nextInKeyBucket -> d
    1:2:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):78:79 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInKeyBucket():84:84 -> b
    boolean isReusable() -> d
com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet -> com.android.tools.r8.internal.oo:
    1:1:void <init>():80:80 -> <init>
    1:4:boolean contains(java.lang.Object):91:94 -> contains
    1:1:boolean isPartialView():101:101 -> e
    1:1:int hashCode():112:112 -> hashCode
    1:1:boolean isHashCodeFast():107:107 -> i
    2:2:boolean com.android.tools.r8.com.google.common.collect.ImmutableMap.isHashCodeFast():0:0 -> i
    2:2:boolean isHashCodeFast():107 -> i
    com.android.tools.r8.com.google.common.collect.ImmutableMap map() -> k
    1:1:int size():86:86 -> size
com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet -> com.android.tools.r8.internal.no:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList entries -> f
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableList):43:45 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):56:56 -> a
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():61:61 -> f
    1:1:void forEach(java.util.function.Consumer):71:71 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():76:76 -> h
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet.iterator():61:61 -> iterator
    1:1:java.util.Iterator iterator():35 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap map():50:50 -> k
    1:1:java.util.Spliterator spliterator():66:66 -> spliterator
com.android.tools.r8.com.google.common.collect.ImmutableMapKeySet -> com.android.tools.r8.internal.po:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):38:39 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):70:70 -> a
    1:1:boolean contains(java.lang.Object):59:59 -> contains
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():49:49 -> f
    1:1:void forEach(java.util.function.Consumer):69:69 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):69 -> forEach
    3:3:void forEach(java.util.function.Consumer):70:70 -> forEach
    1:1:java.lang.Object get(int):64:64 -> get
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMapKeySet.iterator():49:49 -> iterator
    1:1:java.util.Iterator iterator():34 -> iterator
    1:1:int size():44:44 -> size
    1:1:java.util.Spliterator spliterator():54:54 -> spliterator
com.android.tools.r8.com.google.common.collect.ImmutableMapValues -> com.android.tools.r8.internal.so:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):39:40 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$000(com.android.tools.r8.com.google.common.collect.ImmutableMapValues):36:36 -> a
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableList asList():82:83 -> a
    4:4:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):100:100 -> a
    1:1:void com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1.<init>(com.android.tools.r8.com.google.common.collect.ImmutableMapValues):51:51 -> contains
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMapValues.iterator():50 -> contains
    1:1:boolean contains(java.lang.Object):72 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1.hasNext():55:55 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterators.contains(java.util.Iterator,java.lang.Object):179 -> contains
    2:2:boolean contains(java.lang.Object):72 -> contains
    3:3:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1.next():60:60 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Iterators.contains(java.util.Iterator,java.lang.Object):180 -> contains
    3:3:boolean contains(java.lang.Object):72 -> contains
    4:4:boolean com.android.tools.r8.com.google.common.collect.Iterators.contains(java.util.Iterator,java.lang.Object):180:180 -> contains
    4:4:boolean contains(java.lang.Object):72 -> contains
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():50:50 -> f
    1:1:void forEach(java.util.function.Consumer):99:99 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):99 -> forEach
    3:3:void forEach(java.util.function.Consumer):100:100 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMapValues.iterator():50:50 -> iterator
    1:1:java.util.Iterator iterator():35 -> iterator
    1:1:int size():45:45 -> size
    1:1:java.util.Spliterator spliterator():67:67 -> spliterator
com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1 -> com.android.tools.r8.internal.qo:
    com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryItr -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMapValues):50:51 -> <init>
    1:1:boolean hasNext():55:55 -> hasNext
    1:1:java.lang.Object next():60:60 -> next
com.android.tools.r8.com.google.common.collect.ImmutableMapValues$2 -> com.android.tools.r8.internal.ro:
    com.android.tools.r8.com.google.common.collect.ImmutableMapValues this$0 -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList val$entryList -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMapValues,com.android.tools.r8.com.google.common.collect.ImmutableList):83:83 -> <init>
    1:1:java.lang.Object get(int):86:86 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():91:91 -> j
com.android.tools.r8.com.google.common.collect.ImmutableMultimap -> com.android.tools.r8.internal.xo:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> f
    int size -> g
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,int):345:347 -> <init>
    1:2:boolean com.android.tools.r8.com.google.common.collect.AbstractMultimap.containsEntry(java.lang.Object,java.lang.Object):60:61 -> a
    1:2:boolean containsEntry(java.lang.Object,java.lang.Object):68 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection com.android.tools.r8.com.google.common.collect.ImmutableMultimap.entries():519:519 -> a
    3:3:java.util.Collection entries():68 -> a
    4:7:java.util.Spliterator lambda$entrySpliterator$1(java.util.Map$Entry):591:594 -> a
    8:8:java.util.Spliterator lambda$entrySpliterator$1(java.util.Map$Entry):593:593 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMultimap.asMap():508:508 -> b
    1:1:java.util.Map asMap():68 -> b
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> b
    2:2:java.util.Map$Entry lambda$entrySpliterator$0(java.lang.Object,java.lang.Object):594 -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultimap.keys():615:615 -> c
    1:1:com.android.tools.r8.com.google.common.collect.Multiset keys():68 -> c
    1:1:void clear():387:387 -> clear
    1:1:boolean containsKey(java.lang.Object):472:472 -> containsKey
    1:1:java.util.Map createAsMap():513:513 -> d
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection com.android.tools.r8.com.google.common.collect.ImmutableMultimap.createEntries():524:524 -> e
    1:1:java.util.Collection createEntries():68 -> e
    1:1:java.util.Set createKeySet():498:498 -> f
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultimap.createKeys():620:620 -> g
    1:1:com.android.tools.r8.com.google.common.collect.Multiset createKeys():68 -> g
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMultimap.entryIterator():563:563 -> h
    1:1:java.util.Iterator entryIterator():68 -> h
    1:1:int com.android.tools.r8.com.google.common.collect.AbstractMultimap.hashCode():252:252 -> hashCode
    1:1:int hashCode():68 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMultimap.asMap():508:508 -> i
    1:1:java.util.Spliterator entrySpliterator():589 -> i
    2:2:java.util.Spliterator entrySpliterator():589:589 -> i
    3:3:int com.android.tools.r8.com.google.common.collect.ImmutableMultimap.size():482:482 -> i
    3:3:java.util.Spliterator entrySpliterator():597 -> i
    4:4:java.util.Spliterator entrySpliterator():588:588 -> i
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultimap.keySet():493:493 -> keySet
    1:1:java.util.Set keySet():68 -> keySet
    1:1:boolean remove(java.lang.Object,java.lang.Object):455:455 -> remove
    1:1:int size():482:482 -> size
    1:1:java.lang.String com.android.tools.r8.com.google.common.collect.AbstractMultimap.toString():263:263 -> toString
    1:1:java.lang.String toString():68 -> toString
com.android.tools.r8.com.google.common.collect.ImmutableMultimap$1 -> com.android.tools.r8.internal.to:
    java.util.Iterator valueItr -> d
    java.util.Iterator asMapItr -> b
    java.lang.Object currentKey -> c
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultimap):563:567 -> <init>
    1:1:boolean hasNext():571:571 -> hasNext
    1:6:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMultimap$1.next():576:581 -> next
    1:6:java.lang.Object next():563 -> next
    7:7:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> next
    7:7:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMultimap$1.next():581 -> next
    7:7:java.lang.Object next():563 -> next
com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder -> com.android.tools.r8.internal.uo:
    java.util.Map builderMap -> a
    1:2:void <init>():151:152 -> <init>
com.android.tools.r8.com.google.common.collect.ImmutableMultimap$EntryCollection -> com.android.tools.r8.internal.vo:
    com.android.tools.r8.com.google.common.collect.ImmutableMultimap multimap -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultimap):530:531 -> <init>
    1:3:boolean contains(java.lang.Object):551:553 -> contains
    1:1:boolean isPartialView():541:541 -> e
    2:2:boolean com.android.tools.r8.com.google.common.collect.ImmutableMultimap.isPartialView():465:465 -> e
    2:2:boolean isPartialView():541 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ImmutableMultimap.isPartialView():465:465 -> e
    3:3:boolean isPartialView():541 -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():536:536 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMultimap.entryIterator():563:563 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():536 -> f
    1:1:int size():546:546 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableMultimap.size():482:482 -> size
    2:2:int size():546 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Keys -> com.android.tools.r8.internal.wo:
    com.android.tools.r8.com.google.common.collect.ImmutableMultimap this$0 -> f
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultimap):625:625 -> <init>
    1:1:boolean contains(java.lang.Object):628:628 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.ImmutableMultimap.containsKey(java.lang.Object):472:472 -> contains
    2:2:boolean contains(java.lang.Object):628 -> contains
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ImmutableMultimap.containsKey(java.lang.Object):472:472 -> contains
    3:3:boolean contains(java.lang.Object):628 -> contains
    boolean isPartialView() -> e
    1:2:int count(java.lang.Object):633:634 -> g
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():639:639 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultimap.keySet():493:493 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():639 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultimap.keySet():493:493 -> h
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():639 -> h
    4:5:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):649:650 -> h
    6:6:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multisets.immutableEntry(java.lang.Object,int):235:235 -> h
    6:6:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):650 -> h
    1:1:int size():644:644 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableMultimap.size():482:482 -> size
    2:2:int size():644 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.com.google.common.collect.ImmutableMultiset -> com.android.tools.r8.internal.Co:
    int $r8$clinit -> e
    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 com.android.tools.r8.com.google.common.collect.ImmutableMultisetGwtSerializationDependencies.<init>():40:40 -> <init>
    1:1:void <init>():223 -> <init>
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableList asList():254:255 -> a
    3:5:int copyIntoArray(java.lang.Object[],int):322:324 -> a
    1:1:int add(java.lang.Object,int):274:274 -> b
    1:1:boolean setCount(java.lang.Object,int,int):316:316 -> c
    1:1:boolean contains(java.lang.Object):260:260 -> contains
    1:1:java.util.Set entrySet():54:54 -> entrySet
    1:1:boolean equals(java.lang.Object):331:331 -> equals
    1:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():227:228 -> f
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder builder():430:430 -> g
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder.<init>():460:460 -> g
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder builder():430 -> g
    com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet() -> h
    com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int) -> h
    1:1:int hashCode():336:336 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():352:352 -> i
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultiset.createEntrySet():357:357 -> i
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353 -> i
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> i
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultiset.createEntrySet():357 -> i
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353 -> i
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultiset.createEntrySet():357:357 -> i
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353 -> i
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353:353 -> i
    1:1:java.lang.String toString():341:341 -> toString
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Keys.elementSet():623:623 -> x
com.android.tools.r8.com.google.common.collect.ImmutableMultiset$1 -> com.android.tools.r8.internal.yo:
    java.util.Iterator val$entryIterator -> d
    java.lang.Object element -> c
    int remaining -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultiset,java.util.Iterator):228:228 -> <init>
    1:1:boolean hasNext():234:234 -> hasNext
    1:7:java.lang.Object next():239:245 -> next
com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder -> com.android.tools.r8.internal.zo:
    com.android.tools.r8.com.google.common.collect.Multiset contents -> a
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multiset):463:464 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder add(java.lang.Object):477:477 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder add(java.lang.Object):477 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder add(java.lang.Object):477:477 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567:567 -> a
    5:18:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyOf(java.lang.Iterable):180:193 -> a
    5:18:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):216:216 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyOf(java.lang.Iterable):193 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.of():89:89 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):217 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyOf(java.lang.Iterable):193 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567 -> a
    21:21: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
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyOf(java.lang.Iterable):193 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567 -> a
com.android.tools.r8.com.google.common.collect.ImmutableMultiset$ElementSet -> com.android.tools.r8.internal.Ao:
    java.util.List entries -> e
    com.android.tools.r8.com.google.common.collect.Multiset delegate -> f
    1:3:void <init>(java.util.List,com.android.tools.r8.com.google.common.collect.Multiset):584:586 -> <init>
    1:1:boolean contains(java.lang.Object):596:596 -> contains
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):591:591 -> get
    1:1:int size():606:606 -> size
com.android.tools.r8.com.google.common.collect.ImmutableMultiset$EntrySet -> com.android.tools.r8.internal.Bo:
    com.android.tools.r8.com.google.common.collect.ImmutableMultiset this$0 -> e
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultiset):363:363 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultiset,com.android.tools.r8.com.google.common.collect.ImmutableMultiset$1):363:363 -> <init>
    1:7:boolean contains(java.lang.Object):381:387 -> contains
    1:1:boolean isPartialView():366:366 -> e
    1:1:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ImmutableMultiset$EntrySet.get(int):371:371 -> get
    1:1:java.lang.Object get(int):362 -> get
    1:1:int hashCode():394:394 -> hashCode
    1:1:int size():376:376 -> size
com.android.tools.r8.com.google.common.collect.ImmutableSet -> com.android.tools.r8.internal.Jo:
    int $r8$clinit -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList asList -> c
    1:1:void <init>():302:302 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object):84:84 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object):93:93 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object,java.lang.Object):102:102 -> 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):111:111 -> a
    5:16: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[]):134:145 -> a
    17:20:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):196:199 -> a
    21:21:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):199 -> a
    22:24:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):200:202 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):193:193 -> a
    26:26:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    26:26:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):194 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):190 -> a
    28:35:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):224:231 -> a
    36:36:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.copyOfEnumSet(java.util.EnumSet):299:299 -> a
    36:36:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):231 -> a
    37:42:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):233:238 -> a
    43:47:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.constructUnknownDuplication(int,java.lang.Object[]):165:169 -> a
    43:47:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):238 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.constructUnknownDuplication(int,java.lang.Object[]):167:167 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):238 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.constructUnknownDuplication(int,java.lang.Object[]):165:165 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):238 -> a
    50:51:com.android.tools.r8.com.google.common.collect.ImmutableList asList():337:338 -> a
    52:52:boolean hashFloodingDetected(java.lang.Object[]):698:698 -> a
    53:53:int com.android.tools.r8.com.google.common.collect.ImmutableSet.maxRunBeforeFallback(int):742:742 -> a
    53:53:boolean hashFloodingDetected(java.lang.Object[]):698 -> a
    54:79:boolean hashFloodingDetected(java.lang.Object[]):702:727 -> a
    1:4:boolean equals(java.lang.Object):314:317 -> equals
    5:9:boolean com.android.tools.r8.com.google.common.collect.Sets.equalsImpl(java.util.Set,java.lang.Object):1724:1728 -> equals
    5:9:boolean equals(java.lang.Object):320 -> equals
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder builder():419:419 -> g
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.<init>():481:481 -> g
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder builder():419 -> g
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():342:342 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> h
    2:2:void com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.<init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,java.lang.Object[]):41 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():342 -> h
    3:3: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 -> h
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():342 -> h
    4:4:int com.android.tools.r8.com.google.common.collect.ImmutableSet.maxRunBeforeFallback(int):742:742 -> h
    4:4:int access$000(int):53 -> h
    1:1:int hashCode():325:325 -> hashCode
    boolean isHashCodeFast() -> i
    1:13:int chooseTableSize(int):643:655 -> i
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet of():75:75 -> j
com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder -> com.android.tools.r8.internal.Do:
    com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl impl -> a
    boolean forceCopy -> b
    1:1:void <init>():481:481 -> <init>
    2:3:void <init>(int):484:485 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.add(java.lang.Object[]):430:430 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object[]):520 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.add(java.lang.Object[]):431 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object[]):520 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder addAll(java.lang.Iterable):535 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder addAll(java.lang.Iterable):535 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder add(java.lang.Object):476:476 -> a
    6:8:com.android.tools.r8.com.google.common.collect.ImmutableSet build():554:556 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):511:511 -> b
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):511 -> b
    3:3:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.copyIfNecessary():498:498 -> b
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):512 -> b
    4:4:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.copy():505:505 -> b
    4:4:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.copyIfNecessary():499 -> b
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):512 -> b
    5:5:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.copyIfNecessary():500:500 -> b
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):512 -> b
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):513:513 -> b
com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed -> com.android.tools.r8.internal.Fo:
    1:1:void <init>():345:345 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):369:369 -> a
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():350:350 -> f
    1:1:void forEach(java.util.function.Consumer):360:360 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):360 -> forEach
    3:5:void forEach(java.util.function.Consumer):361:363 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():374:374 -> h
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed.iterator():350:350 -> iterator
    1:1:java.util.Iterator iterator():345 -> iterator
    1:1:java.util.Spliterator spliterator():355:355 -> spliterator
com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed$1 -> com.android.tools.r8.internal.Eo:
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed):374:374 -> <init>
    1:1:java.lang.Object get(int):377:377 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed$1.delegateCollection():382:382 -> j
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():374 -> j
com.android.tools.r8.com.google.common.collect.ImmutableSet$JdkBackedSetBuilderImpl -> com.android.tools.r8.internal.Go:
    java.util.Set delegate -> c
    1:4:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl):847:850 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):856:856 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):856 -> a
    3:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):857:858 -> a
    5:12:com.android.tools.r8.com.google.common.collect.ImmutableSet build():870:877 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableSet build():874:874 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableSet build():874 -> a
    15:15:com.android.tools.r8.com.google.common.collect.ImmutableSet build():872:872 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableSet build():872 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl copy():865:865 -> b
com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl -> com.android.tools.r8.internal.Ho:
    java.lang.Object[] hashTable -> c
    int hashCode -> f
    int maxRunBeforeFallback -> d
    int expandTableThreshold -> e
    1:5:void <init>(int):760:764 -> <init>
    6:10:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl):768:772 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):786:786 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):786 -> a
    3:13:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):787:797 -> a
    14:16:void com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl.ensureTableCapacity(int):776:778 -> a
    14:16:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):797 -> a
    17:25:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ImmutableSet.rebuildHashTable(int,java.lang.Object[],int):442:450 -> a
    17:25:void com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl.ensureTableCapacity(int):778 -> a
    17:25:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):797 -> a
    26:28:void com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl.ensureTableCapacity(int):778:780 -> a
    26:28:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):797 -> a
    29:34:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):799:804 -> a
    35:45:com.android.tools.r8.com.google.common.collect.ImmutableSet build():825:835 -> a
    46:46:com.android.tools.r8.com.google.common.collect.ImmutableSet build():829:829 -> a
    47:47:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    47:47:com.android.tools.r8.com.google.common.collect.ImmutableSet build():829 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableSet build():827:827 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableSet build():827 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl copy():809:809 -> b
    1:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review():814:816 -> c
    4:12:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ImmutableSet.rebuildHashTable(int,java.lang.Object[],int):442:450 -> c
    4:12:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review():816 -> c
    13:17:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review():816:820 -> c
com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl -> com.android.tools.r8.internal.Io:
    java.lang.Object[] dedupedElements -> a
    int distinct -> b
    1:3:void <init>(int):566:568 -> <init>
    4:6:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl):572:574 -> <init>
    com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object) -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet build() -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl copy() -> b
    1:1:void addDedupedElement(java.lang.Object):591:591 -> b
    2:5:void com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl.ensureCapacity(int):582:585 -> b
    2:5:void addDedupedElement(java.lang.Object):591 -> b
    6:6:void addDedupedElement(java.lang.Object):592:592 -> b
    com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review() -> c
com.android.tools.r8.com.google.common.collect.IndexedImmutableSet -> com.android.tools.r8.internal.To:
    1:1:void <init>():27:27 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):52:52 -> a
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():32:32 -> f
    1:1:void forEach(java.util.function.Consumer):42:42 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):42 -> forEach
    3:5:void forEach(java.util.function.Consumer):43:45 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():57:57 -> h
    1:1:java.util.Spliterator spliterator():37:37 -> spliterator
com.android.tools.r8.com.google.common.collect.IndexedImmutableSet$1 -> com.android.tools.r8.internal.So:
    com.android.tools.r8.com.google.common.collect.IndexedImmutableSet this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.IndexedImmutableSet):57:57 -> <init>
    1:1:boolean isPartialView():65:65 -> e
    1:1:java.lang.Object get(int):60:60 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():75:75 -> j
    1:1:int size():70:70 -> size
com.android.tools.r8.com.google.common.collect.Iterables -> com.android.tools.r8.internal.Pu:
    1:2:boolean contains(java.lang.Iterable,java.lang.Object):136:137 -> a
    3:5:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101:103 -> a
    3:5:boolean contains(java.lang.Iterable,java.lang.Object):138 -> a
    6:6:boolean contains(java.lang.Iterable,java.lang.Object):140:140 -> a
    7:14:boolean com.android.tools.r8.com.google.common.collect.Iterators.contains(java.util.Iterator,java.lang.Object):173:180 -> a
    7:14:boolean contains(java.lang.Iterable,java.lang.Object):140 -> a
    15:16:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concat(java.lang.Iterable):273:274 -> a
    15:16:java.lang.Iterable concat(java.lang.Iterable):488 -> a
    17:19:java.util.Collection com.android.tools.r8.com.google.common.collect.Iterables.castOrCopyToCollection(java.lang.Iterable):304:306 -> a
    17:19:java.lang.Object[] toArray(java.lang.Iterable,java.lang.Object[]):284 -> a
    20:20:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList():83:83 -> a
    20:20:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList(java.util.Iterator):142 -> a
    20:20:java.util.Collection com.android.tools.r8.com.google.common.collect.Iterables.castOrCopyToCollection(java.lang.Iterable):306 -> a
    20:20:java.lang.Object[] toArray(java.lang.Iterable,java.lang.Object[]):284 -> a
    21:21:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList(java.util.Iterator):143:143 -> a
    21:21:java.util.Collection com.android.tools.r8.com.google.common.collect.Iterables.castOrCopyToCollection(java.lang.Iterable):306 -> a
    21:21:java.lang.Object[] toArray(java.lang.Iterable,java.lang.Object[]):284 -> a
    22:22:java.lang.Object[] toArray(java.lang.Iterable,java.lang.Object[]):285:285 -> a
    23:27:boolean addAll(java.util.Collection,java.lang.Iterable):316:320 -> a
    28:28:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    28:28:boolean addAll(java.util.Collection,java.lang.Iterable):320 -> a
    29:29:boolean addAll(java.util.Collection,java.lang.Iterable):320:320 -> a
    30:30:java.lang.Iterable concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    31:31:boolean all(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):618:618 -> a
    32:32:boolean com.android.tools.r8.com.google.common.collect.Iterators.all(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):669:669 -> a
    32:32:boolean all(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):618 -> a
    33:33:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    33:33:boolean com.android.tools.r8.com.google.common.collect.Iterators.all(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):669 -> a
    33:33:boolean all(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):618 -> a
    34:36:boolean com.android.tools.r8.com.google.common.collect.Iterators.all(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):670:672 -> a
    34:36:boolean all(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):618 -> a
    37:37:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646:646 -> a
    38:38: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):710:710 -> a
    38:38:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646 -> a
    39:39:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    39:39: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):710 -> a
    39:39:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646 -> a
    40:40:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    40:40: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):711 -> a
    40:40:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646 -> a
    41:43: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):712:714 -> a
    41:43:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646 -> a
    44:44:java.lang.Iterable transform(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):693:693 -> a
    45:45:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    45:45:java.lang.Iterable transform(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):693 -> a
    46:46:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    46:46:java.lang.Iterable transform(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):694 -> a
    47:47:java.lang.Iterable transform(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):695:695 -> a
    1:1:java.lang.Object getOnlyElement(java.lang.Iterable):254:254 -> b
    2:16:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.getOnlyElement(java.util.Iterator):301:315 -> b
    2:16:java.lang.Object getOnlyElement(java.lang.Iterable):254 -> b
    17:17:java.lang.Iterable filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):554:554 -> b
    18:18:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
    18:18:java.lang.Iterable filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):554 -> b
    19:19:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
    19:19:java.lang.Iterable filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):555 -> b
    20:20:java.lang.Iterable filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):556:556 -> b
    1:4:boolean isEmpty(java.lang.Iterable):985:988 -> c
    1:1:java.lang.Iterable skip(java.lang.Iterable,int):852:852 -> d
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> d
    2:2:java.lang.Iterable skip(java.lang.Iterable,int):852 -> d
    3:5:java.lang.Iterable skip(java.lang.Iterable,int):853:855 -> d
com.android.tools.r8.com.google.common.collect.Iterables$10 -> com.android.tools.r8.internal.Ku:
    1:1:void <init>():1023:1023 -> <init>
    1:1:java.lang.Object apply(java.lang.Object):1023:1023 -> apply
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterables$10.apply(java.lang.Iterable):1026:1026 -> apply
    2:2:java.lang.Object apply(java.lang.Object):1023 -> apply
com.android.tools.r8.com.google.common.collect.Iterables$4 -> com.android.tools.r8.internal.Lu:
    com.android.tools.r8.com.google.common.base.Predicate val$retainIfTrue -> d
    java.lang.Iterable val$unfiltered -> c
    1:1:void <init>(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):556:556 -> <init>
    1:2:void lambda$forEach$0(com.android.tools.r8.com.google.common.base.Predicate,java.util.function.Consumer,java.lang.Object):567:568 -> a
    1:1:void forEach(java.util.function.Consumer):564:564 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):564 -> forEach
    3:3:void forEach(java.util.function.Consumer):565:565 -> forEach
    1:1:java.util.Iterator iterator():559:559 -> iterator
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.filter(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):630:630 -> iterator
    2:2:java.util.Iterator iterator():559 -> iterator
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> iterator
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.filter(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):630 -> iterator
    3:3:java.util.Iterator iterator():559 -> iterator
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> iterator
    4:4:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.filter(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):631 -> iterator
    4:4:java.util.Iterator iterator():559 -> iterator
    5:5:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.filter(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):632:632 -> iterator
    5:5:java.util.Iterator iterator():559 -> iterator
    1:1:java.util.Spliterator spliterator():575:575 -> spliterator
    2:2:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):144:144 -> spliterator
    2:2:java.util.Spliterator spliterator():575 -> spliterator
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> spliterator
    3:3:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):144 -> spliterator
    3:3:java.util.Spliterator spliterator():575 -> spliterator
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> spliterator
    4:4:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):145 -> spliterator
    4:4:java.util.Spliterator spliterator():575 -> spliterator
    5:5:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):194:194 -> spliterator
    5:5:java.util.Spliterator spliterator():575 -> spliterator
com.android.tools.r8.com.google.common.collect.Iterables$5 -> com.android.tools.r8.internal.Mu:
    java.lang.Iterable val$fromIterable -> c
    com.android.tools.r8.com.google.common.base.Function val$function -> d
    1:1:void <init>(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):695:695 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,com.android.tools.r8.com.google.common.base.Function,java.lang.Object):704:704 -> a
    1:1:void forEach(java.util.function.Consumer):703:703 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):703 -> forEach
    3:3:void forEach(java.util.function.Consumer):704:704 -> forEach
    1:1:java.util.Iterator iterator():698:698 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.transform(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):779:779 -> iterator
    2:2:java.util.Iterator iterator():698 -> iterator
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> iterator
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.transform(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):779 -> iterator
    3:3:java.util.Iterator iterator():698 -> iterator
    4:4:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.transform(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):780:780 -> iterator
    4:4:java.util.Iterator iterator():698 -> iterator
    1:1:java.util.Spliterator spliterator():709:709 -> spliterator
com.android.tools.r8.com.google.common.collect.Iterables$6 -> com.android.tools.r8.internal.Ou:
    int val$numberToSkip -> d
    java.lang.Iterable val$iterable -> c
    1:1:void <init>(java.lang.Iterable,int):855:855 -> <init>
    1:8:java.util.Iterator iterator():858:865 -> iterator
    9:9:int com.android.tools.r8.com.google.common.collect.Iterators.advance(java.util.Iterator,int):884:884 -> iterator
    9:9:java.util.Iterator iterator():865 -> iterator
    10:10:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> iterator
    10:10:int com.android.tools.r8.com.google.common.collect.Iterators.advance(java.util.Iterator,int):884 -> iterator
    10:10:java.util.Iterator iterator():865 -> iterator
    11:15:int com.android.tools.r8.com.google.common.collect.Iterators.advance(java.util.Iterator,int):885:889 -> iterator
    11:15:java.util.Iterator iterator():865 -> iterator
    16:16:java.util.Iterator iterator():872:872 -> iterator
    1:6:java.util.Spliterator spliterator():897:902 -> spliterator
com.android.tools.r8.com.google.common.collect.Iterables$6$1 -> com.android.tools.r8.internal.Nu:
    java.util.Iterator val$iterator -> c
    boolean atStart -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Iterables$6,java.util.Iterator):872:873 -> <init>
    1:1:boolean hasNext():877:877 -> hasNext
    1:2:java.lang.Object next():882:883 -> next
    1:1:void remove():889:889 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():889 -> remove
    3:3:void remove():890:890 -> remove
com.android.tools.r8.com.google.common.collect.Iterators -> com.android.tools.r8.internal.dv:
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():88:88 -> a
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator emptyIterator():77 -> a
    2:6:boolean removeAll(java.util.Iterator,java.util.Collection):198:202 -> a
    7:7:boolean addAll(java.util.Collection,java.util.Iterator):352:352 -> a
    8:8:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    8:8:boolean addAll(java.util.Collection,java.util.Iterator):352 -> a
    9:9:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    9:9:boolean addAll(java.util.Collection,java.util.Iterator):353 -> a
    10:11:boolean addAll(java.util.Collection,java.util.Iterator):355:356 -> a
    12:12:java.util.Iterator cycle(java.lang.Iterable):390:390 -> a
    13:13:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    13:13:java.util.Iterator cycle(java.lang.Iterable):390 -> a
    14:14:java.util.Iterator cycle(java.lang.Iterable):391:391 -> a
    15:15:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):480:480 -> a
    16:16:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    16:16:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):480 -> a
    17:17:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    17:17:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):481 -> a
    18:18:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):482:482 -> a
    19:19:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.consumingForArray(java.lang.Object[]):450:450 -> a
    19:19:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):482 -> a
    20:20:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):546:546 -> a
    20:20:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):482 -> a
    21:24:int com.android.tools.r8.com.google.common.collect.Iterators.indexOf(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):759:762 -> a
    21:24:boolean any(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):661 -> a
    25:25:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    25:25:int com.android.tools.r8.com.google.common.collect.Iterators.indexOf(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):759 -> a
    25:25:boolean any(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):661 -> a
    26:26:java.util.Iterator limit(java.util.Iterator,int):905:905 -> a
    27:27:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    27:27:java.util.Iterator limit(java.util.Iterator,int):905 -> a
    28:29:java.util.Iterator limit(java.util.Iterator,int):906:907 -> a
    30:30:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator forArray(java.lang.Object[]):1001:1001 -> a
    31:36: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):1013:1018 -> a
    31:36:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator forArray(java.lang.Object[]):1001 -> a
    37:37:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():88:88 -> a
    37:37: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):1020 -> a
    37:37:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator forArray(java.lang.Object[]):1001 -> a
    38:38: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):1022:1022 -> a
    38:38:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator forArray(java.lang.Object[]):1001 -> a
    39:39:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator singletonIterator(java.lang.Object):1049:1049 -> a
com.android.tools.r8.com.google.common.collect.Iterators$1 -> com.android.tools.r8.internal.Tu:
    java.util.Iterator val$iterator -> b
    1:1:void <init>(java.util.Iterator):133:133 -> <init>
    1:1:boolean hasNext():136:136 -> hasNext
    1:1:java.lang.Object next():141:141 -> next
com.android.tools.r8.com.google.common.collect.Iterators$2 -> com.android.tools.r8.internal.Uu:
    java.util.Iterator iterator -> b
    java.lang.Iterable val$iterable -> c
    1:2:void <init>(java.lang.Iterable):391:392 -> <init>
    1:1:boolean hasNext():405:405 -> hasNext
    1:7:java.lang.Object next():410:416 -> next
    1:1:void remove():421:421 -> remove
com.android.tools.r8.com.google.common.collect.Iterators$3 -> com.android.tools.r8.internal.Vu:
    java.lang.Object[] val$elements -> c
    int index -> b
    1:2:void <init>(java.lang.Object[]):450:451 -> <init>
    1:1:boolean hasNext():455:455 -> hasNext
    1:6:java.lang.Object next():460:465 -> next
    7:7:java.lang.Object next():461:461 -> next
com.android.tools.r8.com.google.common.collect.Iterators$5 -> com.android.tools.r8.internal.Wu:
    java.util.Iterator val$unfiltered -> d
    com.android.tools.r8.com.google.common.base.Predicate val$retainIfTrue -> e
    1:1:void <init>(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):632:632 -> <init>
    1:7:java.lang.Object computeNext():635:641 -> j
com.android.tools.r8.com.google.common.collect.Iterators$6 -> com.android.tools.r8.internal.Xu:
    com.android.tools.r8.com.google.common.base.Function val$function -> c
    1:1:void <init>(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):780:780 -> <init>
    1:1:java.lang.Object transform(java.lang.Object):783:783 -> a
com.android.tools.r8.com.google.common.collect.Iterators$7 -> com.android.tools.r8.internal.Yu:
    java.util.Iterator val$iterator -> d
    int count -> b
    int val$limitSize -> c
    1:1:void <init>(int,java.util.Iterator):907:907 -> <init>
    1:1:boolean hasNext():912:912 -> hasNext
    1:5:java.lang.Object next():917:921 -> next
    6:6:java.lang.Object next():918:918 -> next
    1:1:void remove():926:926 -> remove
com.android.tools.r8.com.google.common.collect.Iterators$9 -> com.android.tools.r8.internal.Zu:
    java.lang.Object val$value -> c
    boolean done -> b
    1:1:void <init>(java.lang.Object):1049:1049 -> <init>
    1:1:boolean hasNext():1054:1054 -> hasNext
    1:5:java.lang.Object next():1059:1063 -> next
    6:6:java.lang.Object next():1060:1060 -> next
com.android.tools.r8.com.google.common.collect.Iterators$ArrayItr -> com.android.tools.r8.internal.av:
    java.lang.Object[] array -> d
    com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator EMPTY -> f
    int offset -> e
    1:1:void <clinit>():1026:1026 -> <clinit>
    1:3:void <init>(java.lang.Object[],int,int,int):1032:1034 -> <init>
    1:1:java.lang.Object get(int):1039:1039 -> a
com.android.tools.r8.com.google.common.collect.Iterators$ConcatenatedIterator -> com.android.tools.r8.internal.bv:
    java.util.Iterator topMetaIterator -> d
    java.util.Iterator iterator -> c
    java.util.Iterator toRemove -> b
    java.util.Deque metaIterators -> e
    1:3:void <init>(java.util.Iterator):1305:1307 -> <init>
    1:1:boolean hasNext():1324:1324 -> hasNext
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> hasNext
    2:2:boolean hasNext():1324 -> hasNext
    3:3:boolean hasNext():1324:1324 -> hasNext
    4:11:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators$ConcatenatedIterator.getTopMetaIterator():1312:1319 -> hasNext
    4:11:boolean hasNext():1328 -> hasNext
    12:13:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators$ConcatenatedIterator.getTopMetaIterator():1313:1314 -> hasNext
    12:13:boolean hasNext():1328 -> hasNext
    14:40:boolean hasNext():1328:1354 -> hasNext
    1:5:java.lang.Object next():1362:1366 -> next
    1:1:void remove():1372:1372 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():1372 -> remove
    3:4:void remove():1373:1374 -> remove
com.android.tools.r8.com.google.common.collect.Iterators$EmptyModifiableIterator -> com.android.tools.r8.internal.cv:
    com.android.tools.r8.com.google.common.collect.Iterators$EmptyModifiableIterator INSTANCE -> b
    1:1:void <clinit>():96:96 -> <clinit>
    1:1:void <init>(java.lang.String,int):95:95 -> <init>
    1:1:java.lang.Object next():105:105 -> next
    1:1:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    1:1:void remove():110 -> remove
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap -> com.android.tools.r8.internal.lv:
    com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap inverse -> i
    com.android.tools.r8.com.google.common.collect.ImmutableList entries -> f
    java.util.Map forwardDelegate -> g
    java.util.Map backwardDelegate -> h
    1:4:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Map,java.util.Map):57:60 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$100(com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap):31:31 -> a
    2:5:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):34:37 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry):128:128 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):37 -> a
    7:9:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry,java.lang.Object,java.lang.Object):121:123 -> a
    7:9:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry):128 -> a
    7:9:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):37 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):38:38 -> a
    11:11:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):39 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):39 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):39:39 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):43 -> a
    15:15:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    15:15:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):43 -> a
    16:18:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):43:45 -> a
    19:19:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):45 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):45:45 -> a
    21:21:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):41 -> a
    22:30:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):41:49 -> a
    1:1:java.lang.Object get(java.lang.Object):104:104 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():109:109 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():114:114 -> l
    boolean isPartialView() -> o
    1:1:int size():65:65 -> size
    1:7:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():72:78 -> u
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$InverseEntries -> com.android.tools.r8.internal.kv:
    com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap):84:84 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap,com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$1):84:84 -> <init>
    boolean isPartialView() -> e
    1:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$InverseEntries.get(int):87:88 -> get
    1:2:java.lang.Object get(int):83 -> get
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> get
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$InverseEntries.get(int):88 -> get
    3:3:java.lang.Object get(int):83 -> get
    1:1:int size():98:98 -> size
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableMap -> com.android.tools.r8.internal.mv:
    com.android.tools.r8.com.google.common.collect.ImmutableList entries -> g
    java.util.Map delegateMap -> f
    1:3:void <init>(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList):53:55 -> <init>
    1:3:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):39:41 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry):128:128 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):41 -> a
    5:7:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry,java.lang.Object,java.lang.Object):121:123 -> a
    5:7:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry):128 -> a
    5:7:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):41 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):41:41 -> a
    9:9:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):42 -> a
    10:15:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):42:47 -> a
    16:16:void lambda$forEach$0(java.util.function.BiConsumer,java.util.Map$Entry):76:76 -> a
    1:1:void forEach(java.util.function.BiConsumer):75:75 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):75 -> forEach
    3:3:void forEach(java.util.function.BiConsumer):76:76 -> forEach
    1:1:java.lang.Object get(java.lang.Object):65:65 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():70:70 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():81:81 -> l
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():86:86 -> m
    boolean isPartialView() -> o
    1:1:int size():60:60 -> size
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableMultiset -> com.android.tools.r8.internal.nv:
    com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet -> i
    long size -> h
    com.android.tools.r8.com.google.common.collect.ImmutableList entries -> g
    java.util.Map delegateMap -> f
    1:4:void <init>(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList,long):57:60 -> <init>
    1:8:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):39:46 -> a
    9:9:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):46 -> a
    10:11:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):47:48 -> a
    12:12:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multisets.immutableEntry(java.lang.Object,int):235:235 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):49 -> a
    13:16:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):49:52 -> a
    17:17:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    17:17:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):53 -> a
    18:18:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):53:53 -> a
    boolean isPartialView() -> e
    1:1:int count(java.lang.Object):65:65 -> g
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():72:73 -> h
    3:3:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):78:78 -> h
    1:1:int size():88:88 -> size
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableSet -> com.android.tools.r8.internal.ov:
    java.util.Set delegate -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList delegateList -> f
    1:3:void <init>(java.util.Set,com.android.tools.r8.com.google.common.collect.ImmutableList):33:35 -> <init>
    1:1:boolean contains(java.lang.Object):45:45 -> contains
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):40:40 -> get
    1:1:int size():55:55 -> size
com.android.tools.r8.com.google.common.collect.LinkedHashMultiset -> com.android.tools.r8.internal.MB:
    1:1:void <init>():74:74 -> <init>
    2:2:void <init>(int):78:78 -> <init>
    1:2:int com.android.tools.r8.com.google.common.collect.Multisets.inferDistinctElements(java.lang.Iterable):378:379 -> a
    1:2:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset create(java.lang.Iterable):68 -> a
    3:3:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset com.android.tools.r8.com.google.common.collect.LinkedHashMultiset.create(int):57:57 -> a
    3:3:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset create(java.lang.Iterable):68 -> a
    4:4:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset create(java.lang.Iterable):69:69 -> a
    1:1:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset create():46:46 -> f
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMultiset.isEmpty():50:50 -> isEmpty
    1:1:boolean isEmpty():41 -> isEmpty
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset.iterator():185:185 -> iterator
    1:1:java.util.Iterator iterator():41 -> iterator
com.android.tools.r8.com.google.common.collect.Lists -> com.android.tools.r8.internal.aC:
    1:1:java.util.ArrayList newArrayList(java.lang.Object[]):103:103 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:java.util.ArrayList newArrayList(java.lang.Object[]):103 -> a
    3:3:java.util.ArrayList newArrayList(java.lang.Object[]):105:105 -> a
    4:7:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> a
    4:7:java.util.ArrayList newArrayList(java.lang.Object[]):105 -> a
    8:9:java.util.ArrayList newArrayList(java.lang.Object[]):106:107 -> a
    10:10:java.util.ArrayList newArrayList(java.lang.Iterable):126:126 -> a
    11:11:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    11:11:java.util.ArrayList newArrayList(java.lang.Iterable):126 -> a
    12:14:java.util.ArrayList newArrayList(java.lang.Iterable):128:130 -> a
    15:15:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList():83:83 -> a
    15:15:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList(java.util.Iterator):142 -> a
    15:15:java.util.ArrayList newArrayList(java.lang.Iterable):130 -> a
    16:16:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList(java.util.Iterator):143:143 -> a
    16:16:java.util.ArrayList newArrayList(java.lang.Iterable):130 -> a
    17:24:java.util.List reverse(java.util.List):796:803 -> a
    25:25:boolean equalsImpl(java.util.List,java.lang.Object):966:966 -> a
    26:26:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    26:26:boolean equalsImpl(java.util.List,java.lang.Object):966 -> a
    27:44:boolean equalsImpl(java.util.List,java.lang.Object):969:986 -> a
    45:55:boolean com.android.tools.r8.com.google.common.collect.Iterators.elementsEqual(java.util.Iterator,java.util.Iterator):263:273 -> a
    45:55:boolean equalsImpl(java.util.List,java.lang.Object):986 -> a
com.android.tools.r8.com.google.common.collect.Lists$RandomAccessReverseList -> com.android.tools.r8.internal.XB:
    1:1:void <init>(java.util.List):947:947 -> <init>
com.android.tools.r8.com.google.common.collect.Lists$ReverseList -> com.android.tools.r8.internal.ZB:
    java.util.List forwardList -> b
    1:2:void <init>(java.util.List):810:811 -> <init>
    1:1:java.util.List getForwardList():815:815 -> a
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> a
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> a
    2:2:int access$000(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,int):807 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> a
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> a
    3:3:int access$000(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,int):807 -> a
    4:4:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> a
    4:4:int access$000(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,int):807 -> a
    1:1:void add(int,java.lang.Object):832:832 -> add
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> add
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> add
    2:2:void add(int,java.lang.Object):832 -> add
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> add
    3:3:void add(int,java.lang.Object):832 -> add
    4:4:void add(int,java.lang.Object):832:832 -> add
    1:1:void clear():837:837 -> clear
    1:1:java.lang.Object get(int):857:857 -> get
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> get
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):819 -> get
    2:2:java.lang.Object get(int):857 -> get
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):820:820 -> get
    3:3:java.lang.Object get(int):857 -> get
    4:4:java.lang.Object get(int):857:857 -> get
    1:1:java.util.Iterator iterator():873:873 -> iterator
    1:1:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> listIterator
    1:1:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> listIterator
    1:1:java.util.ListIterator listIterator(int):878 -> listIterator
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> listIterator
    2:2:java.util.ListIterator listIterator(int):878 -> listIterator
    3:4:java.util.ListIterator listIterator(int):879:880 -> listIterator
    1:1:java.lang.Object remove(int):842:842 -> remove
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> remove
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):819 -> remove
    2:2:java.lang.Object remove(int):842 -> remove
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):820:820 -> remove
    3:3:java.lang.Object remove(int):842 -> remove
    4:4:java.lang.Object remove(int):842:842 -> remove
    1:1:void removeRange(int,int):847:847 -> removeRange
    1:1:java.lang.Object set(int,java.lang.Object):852:852 -> set
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> set
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):819 -> set
    2:2:java.lang.Object set(int,java.lang.Object):852 -> set
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):820:820 -> set
    3:3:java.lang.Object set(int,java.lang.Object):852 -> set
    4:4:java.lang.Object set(int,java.lang.Object):852:852 -> set
    1:1:int size():862:862 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> subList
    1:1:java.util.List subList(int,int):867 -> subList
    2:3:java.util.List subList(int,int):867:868 -> subList
    4:4:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> subList
    4:4:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> subList
    4:4:java.util.List subList(int,int):868 -> subList
    5:5:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> subList
    5:5:java.util.List subList(int,int):868 -> subList
    6:6:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> subList
    6:6:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> subList
    6:6:java.util.List subList(int,int):868 -> subList
    7:7:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> subList
    7:7:java.util.List subList(int,int):868 -> subList
    8:8:java.util.List subList(int,int):868:868 -> subList
com.android.tools.r8.com.google.common.collect.Lists$ReverseList$1 -> com.android.tools.r8.internal.YB:
    java.util.ListIterator val$forwardIterator -> c
    com.android.tools.r8.com.google.common.collect.Lists$ReverseList this$0 -> d
    boolean canRemoveOrSet -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,java.util.ListIterator):880:880 -> <init>
    1:3:void add(java.lang.Object):886:888 -> add
    1:1:boolean hasNext():893:893 -> hasNext
    1:1:boolean hasPrevious():898:898 -> hasPrevious
    1:1:boolean com.android.tools.r8.com.google.common.collect.Lists$ReverseList$1.hasNext():893:893 -> next
    1:1:java.lang.Object next():903 -> next
    2:3:java.lang.Object next():906:907 -> next
    4:4:java.lang.Object next():904:904 -> next
    1:1:int nextIndex():912:912 -> nextIndex
    1:1:boolean com.android.tools.r8.com.google.common.collect.Lists$ReverseList$1.hasPrevious():898:898 -> previous
    1:1:java.lang.Object previous():917 -> previous
    2:3:java.lang.Object previous():920:921 -> previous
    4:4:java.lang.Object previous():918:918 -> previous
    1:1:int previousIndex():926:926 -> previousIndex
    1:1:void remove():931:931 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():931 -> remove
    3:4:void remove():932:933 -> remove
    1:2:void set(java.lang.Object):938:939 -> set
    3:3:void com.android.tools.r8.com.google.common.base.Preconditions.checkState(boolean):494:494 -> set
    3:3:void set(java.lang.Object):938 -> set
com.android.tools.r8.com.google.common.collect.Maps -> com.android.tools.r8.internal.zD:
    1:1:java.util.HashMap newHashMap():226:226 -> a
    2:2:int capacity(int):268:268 -> a
    3:3:java.lang.Object safeGet(java.util.Map,java.lang.Object):3513:3513 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:java.lang.Object safeGet(java.util.Map,java.lang.Object):3513 -> a
    5:5:java.lang.Object safeGet(java.util.Map,java.lang.Object):3515:3515 -> a
    1:1:java.util.HashMap newHashMapWithExpectedSize(int):259:259 -> b
    2:2:java.util.IdentityHashMap newIdentityHashMap():431:431 -> b
    1:1:java.util.LinkedHashMap newLinkedHashMapWithExpectedSize(int):325:325 -> c
com.android.tools.r8.com.google.common.collect.Maps$1 -> com.android.tools.r8.internal.nD:
    1:1:void <init>(java.util.Iterator):117:117 -> <init>
    1:1:java.lang.Object transform(java.lang.Object):117:117 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$1.transform(java.util.Map$Entry):120:120 -> a
    2:2:java.lang.Object transform(java.lang.Object):117 -> a
com.android.tools.r8.com.google.common.collect.Maps$2 -> com.android.tools.r8.internal.oD:
    1:1:void <init>(java.util.Iterator):126:126 -> <init>
    1:1:java.lang.Object transform(java.lang.Object):126:126 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$2.transform(java.util.Map$Entry):129:129 -> a
    2:2:java.lang.Object transform(java.lang.Object):126 -> a
com.android.tools.r8.com.google.common.collect.Maps$7 -> com.android.tools.r8.internal.pD:
    java.util.Map$Entry val$entry -> b
    1:1:void <init>(java.util.Map$Entry):1346:1346 -> <init>
    1:1:java.lang.Object getKey():1349:1349 -> getKey
    1:1:java.lang.Object getValue():1354:1354 -> getValue
com.android.tools.r8.com.google.common.collect.Maps$8 -> com.android.tools.r8.internal.qD:
    java.util.Iterator val$entryIterator -> b
    1:1:void <init>(java.util.Iterator):1361:1361 -> <init>
    1:1:boolean hasNext():1364:1364 -> hasNext
    1:1:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps$8.next():1369:1369 -> next
    1:1:java.lang.Object next():1361 -> next
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntry(java.util.Map$Entry):1345:1345 -> next
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps$8.next():1369 -> next
    2:2:java.lang.Object next():1361 -> next
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> next
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntry(java.util.Map$Entry):1345 -> next
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps$8.next():1369 -> next
    3:3:java.lang.Object next():1361 -> next
    4:4:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntry(java.util.Map$Entry):1346:1346 -> next
    4:4:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps$8.next():1369 -> next
    4:4:java.lang.Object next():1361 -> next
com.android.tools.r8.com.google.common.collect.Maps$EntryFunction -> com.android.tools.r8.internal.tD:
    com.android.tools.r8.com.google.common.collect.Maps$EntryFunction VALUE -> c
    com.android.tools.r8.com.google.common.collect.Maps$EntryFunction KEY -> b
    1:7:void <clinit>():92:98 -> <clinit>
    1:1:void <init>(java.lang.String,int):91:91 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.com.google.common.collect.Maps$1):91:91 -> <init>
com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$1 -> com.android.tools.r8.internal.rD:
    1:1:void <init>(java.lang.String,int):92:92 -> <init>
    1:1:java.lang.Object apply(java.lang.Object):92:92 -> apply
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$1.apply(java.util.Map$Entry):95:95 -> apply
    2:2:java.lang.Object apply(java.lang.Object):92 -> apply
com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$2 -> com.android.tools.r8.internal.sD:
    1:1:void <init>(java.lang.String,int):98:98 -> <init>
    1:1:java.lang.Object apply(java.lang.Object):98:98 -> apply
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$2.apply(java.util.Map$Entry):101:101 -> apply
    2:2:java.lang.Object apply(java.lang.Object):98 -> apply
com.android.tools.r8.com.google.common.collect.Maps$EntrySet -> com.android.tools.r8.internal.uD:
    1:1:void <init>():3900:3900 -> <init>
    java.util.Map map() -> a
    1:1:void clear():3910:3910 -> clear
    1:5:boolean contains(java.lang.Object):3915:3919 -> contains
    1:1:boolean isEmpty():3926:3926 -> isEmpty
    1:3:boolean remove(java.lang.Object):3931:3933 -> remove
    1:1:boolean removeAll(java.util.Collection):3941:3941 -> removeAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> removeAll
    2:2:boolean removeAll(java.util.Collection):3941 -> removeAll
    3:3:boolean com.android.tools.r8.com.google.common.collect.Sets$ImprovedAbstractSet.removeAll(java.util.Collection):79:79 -> removeAll
    3:3:boolean removeAll(java.util.Collection):3941 -> removeAll
    4:4:boolean removeAll(java.util.Collection):3944:3944 -> removeAll
    1:1:boolean retainAll(java.util.Collection):3951:3951 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean retainAll(java.util.Collection):3951 -> retainAll
    3:13:boolean retainAll(java.util.Collection):3951:3961 -> retainAll
    1:1:int size():3905:3905 -> size
com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap -> com.android.tools.r8.internal.wD:
    1:1:void <init>():3462:3462 -> <init>
    1:1:void forEachEntry(java.util.function.Consumer):3499:3499 -> a
    1:1:java.util.Set entrySet():3475:3475 -> entrySet
    java.util.Iterator entryIterator() -> f
    1:1:java.util.Spliterator entrySpliterator():3470:3470 -> k
    2:2:java.util.Spliterator entrySpliterator():3469:3469 -> k
com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap$1 -> com.android.tools.r8.internal.vD:
    com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap):3475:3475 -> <init>
    1:1:java.util.Map map():3478:3478 -> a
    1:1:void forEach(java.util.function.Consumer):3493:3493 -> forEach
    1:1:java.util.Iterator iterator():3483:3483 -> iterator
    1:1:java.util.Spliterator spliterator():3488:3488 -> spliterator
com.android.tools.r8.com.google.common.collect.Maps$KeySet -> com.android.tools.r8.internal.xD:
    java.util.Map map -> b
    1:2:void <init>(java.util.Map):3629:3630 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):3646:3646 -> a
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> clear
    1:1:void clear():3675 -> clear
    2:2:void clear():3675:3675 -> clear
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> contains
    1:1:boolean contains(java.lang.Object):3661 -> contains
    2:2:boolean contains(java.lang.Object):3661:3661 -> contains
    1:1:void forEach(java.util.function.Consumer):3644:3644 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):3644 -> forEach
    3:3:void forEach(java.util.function.Consumer):3646:3646 -> forEach
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> isEmpty
    1:1:boolean isEmpty():3656 -> isEmpty
    2:2:boolean isEmpty():3656:3656 -> isEmpty
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> size
    1:1:int size():3651 -> size
    2:2:int size():3651:3651 -> size
com.android.tools.r8.com.google.common.collect.Maps$Values -> com.android.tools.r8.internal.yD:
    java.util.Map map -> b
    1:2:void <init>(java.util.Map):3814:3815 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):3831:3831 -> a
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> clear
    1:1:void clear():3896 -> clear
    2:2:void clear():3896:3896 -> clear
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> contains
    1:1:boolean contains(java.lang.Object):3891 -> contains
    2:2:boolean contains(java.lang.Object):3891:3891 -> contains
    1:1:void forEach(java.util.function.Consumer):3829:3829 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):3829 -> forEach
    3:3:void forEach(java.util.function.Consumer):3831:3831 -> forEach
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> isEmpty
    1:1:boolean isEmpty():3886 -> isEmpty
    2:2:boolean isEmpty():3886:3886 -> isEmpty
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> iterator
    1:1:java.util.Iterator iterator():3824 -> iterator
    2:2:java.util.Iterator iterator():3824:3824 -> iterator
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.Maps.valueIterator(java.util.Iterator):126:126 -> iterator
    3:3:java.util.Iterator iterator():3824 -> iterator
    1:1:boolean remove(java.lang.Object):3837:3837 -> remove
    2:2:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> remove
    2:2:boolean remove(java.lang.Object):3839 -> remove
    3:4:boolean remove(java.lang.Object):3839:3840 -> remove
    5:5:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> remove
    5:5:boolean remove(java.lang.Object):3841 -> remove
    6:6:boolean remove(java.lang.Object):3841:3841 -> remove
    1:1:boolean removeAll(java.util.Collection):3852:3852 -> removeAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> removeAll
    2:2:boolean removeAll(java.util.Collection):3852 -> removeAll
    3:3:boolean removeAll(java.util.Collection):3852:3852 -> removeAll
    4:4:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> removeAll
    4:4:boolean removeAll(java.util.Collection):3854 -> removeAll
    5:5:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> removeAll
    5:5:boolean removeAll(java.util.Collection):3855 -> removeAll
    6:8:boolean removeAll(java.util.Collection):3855:3857 -> removeAll
    9:9:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> removeAll
    9:9:boolean removeAll(java.util.Collection):3860 -> removeAll
    10:10:boolean removeAll(java.util.Collection):3860:3860 -> removeAll
    1:1:boolean retainAll(java.util.Collection):3867:3867 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean retainAll(java.util.Collection):3867 -> retainAll
    3:3:boolean retainAll(java.util.Collection):3867:3867 -> retainAll
    4:4:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> retainAll
    4:4:boolean retainAll(java.util.Collection):3869 -> retainAll
    5:5:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> retainAll
    5:5:boolean retainAll(java.util.Collection):3870 -> retainAll
    6:8:boolean retainAll(java.util.Collection):3870:3872 -> retainAll
    9:9:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> retainAll
    9:9:boolean retainAll(java.util.Collection):3875 -> retainAll
    10:10:boolean retainAll(java.util.Collection):3875:3875 -> retainAll
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> size
    1:1:int size():3881 -> size
    2:2:int size():3881:3881 -> size
com.android.tools.r8.com.google.common.collect.Multimap -> com.android.tools.r8.internal.LF:
    boolean containsEntry(java.lang.Object,java.lang.Object) -> a
    java.util.Collection entries() -> a
    java.util.Map asMap() -> b
    com.android.tools.r8.com.google.common.collect.Multiset keys() -> c
com.android.tools.r8.com.google.common.collect.Multimaps$Keys -> com.android.tools.r8.internal.OF:
    com.android.tools.r8.com.google.common.collect.Multimap multimap -> d
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multimap):1664:1665 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,java.util.Map$Entry):1697:1697 -> a
    2:20:int remove(java.lang.Object,int):1728:1746 -> a
    1:1:int distinctElements():1702:1702 -> c
    1:1:void clear():1754:1754 -> clear
    1:1:boolean contains(java.lang.Object):1712:1712 -> contains
    1:1:java.util.Iterator elementIterator():1764:1764 -> d
    1:2:java.util.Iterator entryIterator():1670:1671 -> e
    1:1:void forEach(java.util.function.Consumer):1696:1696 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):1696 -> forEach
    3:3:void forEach(java.util.function.Consumer):1697:1697 -> forEach
    1:2:int count(java.lang.Object):1722:1723 -> g
    1:1:java.util.Iterator iterator():1717:1717 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Maps.keyIterator(java.util.Iterator):117:117 -> iterator
    2:2:java.util.Iterator iterator():1717 -> iterator
    1:1:int size():1707:1707 -> size
    1:1:java.util.Spliterator spliterator():1691:1691 -> spliterator
    1:1:java.util.Set elementSet():1759:1759 -> x
com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1 -> com.android.tools.r8.internal.NF:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Multimaps$Keys,java.util.Iterator):1671:1671 -> <init>
    1:1:java.lang.Object transform(java.lang.Object):1671:1671 -> a
    2:2:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1.transform(java.util.Map$Entry):1674:1674 -> a
    2:2:java.lang.Object transform(java.lang.Object):1671 -> a
com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1$1 -> com.android.tools.r8.internal.MF:
    java.util.Map$Entry val$backingEntry -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1,java.util.Map$Entry):1674:1674 -> <init>
    1:1:int getCount():1682:1682 -> a
    1:1:java.lang.Object getElement():1677:1677 -> b
com.android.tools.r8.com.google.common.collect.Multiset -> com.android.tools.r8.internal.QF:
    int remove(java.lang.Object,int) -> a
    1:1:void forEachEntry(java.util.function.ObjIntConsumer):338:338 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:void forEachEntry(java.util.function.ObjIntConsumer):338 -> a
    3:3:void forEachEntry(java.util.function.ObjIntConsumer):339:339 -> a
    4:4:void lambda$forEachEntry$0(java.util.function.ObjIntConsumer,com.android.tools.r8.com.google.common.collect.Multiset$Entry):339:339 -> a
    5:8:void lambda$forEach$1(java.util.function.Consumer,com.android.tools.r8.com.google.common.collect.Multiset$Entry):463:466 -> a
    int add(java.lang.Object,int) -> b
    boolean setCount(java.lang.Object,int,int) -> c
    int setCount(java.lang.Object,int) -> f
    1:1:void forEach(java.util.function.Consumer):459:459 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):459 -> forEach
    3:4:void forEach(java.util.function.Consumer):460:461 -> forEach
    int count(java.lang.Object) -> g
    1:1:java.util.Spliterator spliterator():473:473 -> spliterator
    java.util.Set elementSet() -> x
com.android.tools.r8.com.google.common.collect.Multiset$Entry -> com.android.tools.r8.internal.PF:
    int getCount() -> a
    java.lang.Object getElement() -> b
com.android.tools.r8.com.google.common.collect.Multisets -> com.android.tools.r8.internal.VF:
    1:13:boolean equalsImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.lang.Object):858:870 -> a
    14:14:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):881:881 -> a
    15:15:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    15:15:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):881 -> a
    16:16:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    16:16:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):882 -> a
    17:17:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):883:883 -> a
    18:18:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.Multisets.cast(java.lang.Iterable):1118:1118 -> a
    18:18:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):884 -> a
    19:23:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):884:888 -> a
    24:27:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,com.android.tools.r8.com.google.common.collect.Multiset):894:897 -> a
    28:35:java.util.Spliterator spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1097:1104 -> a
    36:36:java.util.Spliterator spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1098:1098 -> a
    37:37:java.util.Spliterator lambda$spliteratorImpl$0(com.android.tools.r8.com.google.common.collect.Multiset$Entry):1100:1100 -> a
    38:40:com.android.tools.r8.com.google.common.collect.ImmutableMultiset copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1129:1131 -> a
    41:41:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):216:216 -> a
    41:41:com.android.tools.r8.com.google.common.collect.ImmutableMultiset copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1131 -> a
    42:42:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.of():89:89 -> a
    42:42:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):217 -> a
    42:42:com.android.tools.r8.com.google.common.collect.ImmutableMultiset copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1131 -> a
    43:43: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
    43:43:com.android.tools.r8.com.google.common.collect.ImmutableMultiset copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1131 -> a
com.android.tools.r8.com.google.common.collect.Multisets$AbstractEntry -> com.android.tools.r8.internal.RF:
    1:1:void <init>():814:814 -> <init>
    1:4:boolean equals(java.lang.Object):821:824 -> equals
    1:2:int hashCode():835:836 -> hashCode
    1:3:java.lang.String toString():847:849 -> toString
com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount -> com.android.tools.r8.internal.SF:
    com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount INSTANCE -> b
    1:1:void <clinit>():1135:1135 -> <clinit>
    1:1:void <init>():1134:1134 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1134:1134 -> compare
    2:2:int com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount.compare(com.android.tools.r8.com.google.common.collect.Multiset$Entry,com.android.tools.r8.com.google.common.collect.Multiset$Entry):1139:1139 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1134 -> compare
com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry -> com.android.tools.r8.internal.TF:
    java.lang.Object element -> b
    int count -> c
    1:4:void <init>(java.lang.Object,int):242:245 -> <init>
    1:1:int getCount():255:255 -> a
    1:1:java.lang.Object getElement():250:250 -> b
    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket() -> c
com.android.tools.r8.com.google.common.collect.Multisets$MultisetIteratorImpl -> com.android.tools.r8.internal.UF:
    java.util.Iterator entryIterator -> c
    com.android.tools.r8.com.google.common.collect.Multiset$Entry currentEntry -> d
    int totalCount -> f
    com.android.tools.r8.com.google.common.collect.Multiset multiset -> b
    boolean canRemove -> g
    int laterCount -> e
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Iterator):1059:1061 -> <init>
    1:1:boolean hasNext():1066:1066 -> hasNext
    1:10:java.lang.Object next():1071:1080 -> next
    11:11:java.lang.Object next():1072:1072 -> next
    1:1:void remove():1085:1085 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():1085 -> remove
    3:9:void remove():1086:1092 -> remove
com.android.tools.r8.com.google.common.collect.ObjectArrays -> com.android.tools.r8.internal.zJ:
    1:1:java.lang.Object[] newArray(java.lang.Object[],int):59:59 -> a
    2:7:java.lang.Object[] com.android.tools.r8.com.google.common.collect.Platform.newArray(java.lang.Object[],int):84:89 -> a
    2:7:java.lang.Object[] newArray(java.lang.Object[],int):59 -> a
    8:8:java.lang.Object[] checkElementsNotNull(java.lang.Object[]):209:209 -> a
    9:9:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[],int):215:215 -> a
    9:9:java.lang.Object[] checkElementsNotNull(java.lang.Object[]):209 -> a
    10:10:java.lang.Object com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementNotNull(java.lang.Object,int):225:225 -> a
    10:10:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[],int):215 -> a
    10:10:java.lang.Object[] checkElementsNotNull(java.lang.Object[]):209 -> a
com.android.tools.r8.com.google.common.collect.Ordering -> com.android.tools.r8.internal.FK:
    1:1:void <init>():391:391 -> <init>
com.android.tools.r8.com.google.common.collect.Platform -> com.android.tools.r8.internal.CL:
# {"id":"sourceFile","fileName":"Platform.java"}
    int $r8$clinit -> a
    1:1:void <clinit>():33:33 -> <clinit>
    1:1:java.util.Map newHashMapWithExpectedSize(int):37:37 -> a
    2:2:java.lang.Object[] copy(java.lang.Object[],int,int,java.lang.Object[]):95:95 -> a
    1:1:java.util.LinkedHashMap com.android.tools.r8.com.google.common.collect.Maps.newLinkedHashMap():292:292 -> b
    1:1:java.util.Map preservesInsertionOrderOnPutsMap():66 -> b
com.android.tools.r8.com.google.common.collect.RegularImmutableAsList -> com.android.tools.r8.internal.SR:
    com.android.tools.r8.com.google.common.collect.ImmutableCollection delegate -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList delegateList -> e
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableList):35:37 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):68:68 -> a
    1:1:java.lang.Object[] internalArray():73:73 -> b
    1:1:int internalArrayEnd():83:83 -> c
    1:1:int internalArrayStart():78:78 -> d
    1:1:void forEach(java.util.function.Consumer):62:62 -> forEach
    1:1:java.lang.Object get(int):88:88 -> get
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):56:56 -> h
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():46:46 -> j
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.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.internal.WR:
    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
    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap EMPTY -> l
    java.util.Map$Entry[] entries -> h
    int mask -> i
    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):111:116 -> <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
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):61:62 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):64 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):65 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):67:67 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):70 -> a
    8:18:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):76:86 -> a
    19:19:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    19:19:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):86 -> a
    20:20:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146:146 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):86 -> a
    21:21:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):145:145 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):86 -> a
    22:22:void com.android.tools.r8.com.google.common.collect.ImmutableMap.checkNoConflict(boolean,java.lang.String,java.util.Map$Entry,java.util.Map$Entry):204:204 -> a
    22:22:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):86 -> a
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):87:87 -> a
    24:24:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> a
    24:24:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.checkNoConflictInValueBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):130 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):88 -> a
    25:25:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.checkNoConflictInValueBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):130:130 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):88 -> a
    26:26:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.checkNoConflictInValueBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):129:129 -> a
    26:26:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):88 -> a
    27:27:void com.android.tools.r8.com.google.common.collect.ImmutableMap.checkNoConflict(boolean,java.lang.String,java.util.Map$Entry,java.util.Map$Entry):204:204 -> a
    27:27:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.checkNoConflictInValueBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):130 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):88 -> a
    28:30:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry,java.lang.Object,java.lang.Object):121:123 -> a
    28:30:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):95 -> a
    31:35:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):96:100 -> a
    36:48:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):91:103 -> a
    1:1:int access$200(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap):43:43 -> b
    1:1:int access$300(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap):43:43 -> c
    1:1:void forEach(java.util.function.BiConsumer):155:155 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):155 -> forEach
    3:4:void forEach(java.util.function.BiConsumer):156:157 -> forEach
    1:1:java.lang.Object get(java.lang.Object):138:138 -> get
    2:3:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):162:163 -> get
    2:3:java.lang.Object get(java.lang.Object):138 -> get
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> get
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):166 -> get
    4:4:java.lang.Object get(java.lang.Object):138 -> get
    5:5:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):174:174 -> get
    5:5:java.lang.Object get(java.lang.Object):138 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):175 -> get
    6:6:java.lang.Object get(java.lang.Object):138 -> get
    7:7:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):165:165 -> get
    7:7:java.lang.Object get(java.lang.Object):138 -> get
    1:1:int hashCode():168:168 -> hashCode
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():143:144 -> k
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> k
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():144 -> k
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():145:145 -> k
    5:5:void com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet.<init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map$Entry[]):40:40 -> k
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():145 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():150:150 -> l
    boolean isPartialView() -> o
    1:1:int size():178:178 -> size
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():185:185 -> u
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of():67:67 -> u
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():186 -> u
    3:4:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():188:189 -> u
com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse -> com.android.tools.r8.internal.VR:
    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap this$0 -> f
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap):192:192 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap,com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$1):192:192 -> <init>
    1:1:void lambda$forEach$0(java.util.function.BiConsumer,java.lang.Object,java.lang.Object):207:207 -> a
    1:1:void forEach(java.util.function.BiConsumer):206:206 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):206 -> forEach
    3:3:void forEach(java.util.function.BiConsumer):207:207 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse.inverse():201:201 -> g
    1:1:com.android.tools.r8.com.google.common.collect.BiMap inverse():192 -> g
    1:5:java.lang.Object get(java.lang.Object):212:216 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> get
    6:6:java.lang.Object get(java.lang.Object):219 -> get
    7:7:java.lang.Object get(java.lang.Object):219:219 -> get
    8:8:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> get
    8:8:java.lang.Object get(java.lang.Object):220 -> get
    9:9:java.lang.Object get(java.lang.Object):218:218 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():233:233 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():228:228 -> l
    boolean isPartialView() -> o
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse.inverse():201:201 -> size
    1:1:int size():196 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.size():178:178 -> size
    2:2:int size():196 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.size():178:178 -> size
    3:3:int size():196 -> size
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():201:201 -> u
com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet -> com.android.tools.r8.internal.UR:
    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse this$1 -> e
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse):236:236 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():254:254 -> f
    1:1:void forEach(java.util.function.Consumer):259:259 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():264:264 -> h
    1:1:int hashCode():249:249 -> hashCode
    boolean isHashCodeFast() -> i
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet.iterator():254:254 -> iterator
    1:1:java.util.Iterator iterator():236 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap map():239:239 -> k
com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1 -> com.android.tools.r8.internal.TR:
    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet this$2 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet):264:264 -> <init>
    1:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1.get(int):267:268 -> get
    1:2:java.lang.Object get(int):264 -> get
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> get
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1.get(int):268 -> get
    3:3:java.lang.Object get(int):264 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():273:273 -> j
com.android.tools.r8.com.google.common.collect.RegularImmutableList -> com.android.tools.r8.internal.XR:
    java.lang.Object[] array -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList EMPTY -> e
    1:1:void <clinit>():32:32 -> <clinit>
    1:2:void <init>(java.lang.Object[]):36:37 -> <init>
    1:2:int copyIntoArray(java.lang.Object[],int):67:68 -> a
    1:1:java.lang.Object[] internalArray():52:52 -> b
    1:1:int internalArrayEnd():62:62 -> c
    int internalArrayStart() -> d
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):75:75 -> get
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83:83 -> h
    2:7: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):1013:1018 -> h
    2:7:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83 -> h
    8:8:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():88:88 -> h
    8:8: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):1020 -> h
    8:8:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83 -> h
    9:9: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):1022:1022 -> h
    9:9:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83 -> h
    1:1:java.util.ListIterator listIterator(int):29:29 -> listIterator
    1:1:int size():42:42 -> size
    1:1:java.util.Spliterator spliterator():88:88 -> spliterator
com.android.tools.r8.com.google.common.collect.RegularImmutableMap -> com.android.tools.r8.internal.aS:
    com.android.tools.r8.com.google.common.collect.ImmutableMap EMPTY -> i
    java.util.Map$Entry[] entries -> f
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] table -> g
    int mask -> h
    1:1:void <clinit>():43:43 -> <clinit>
    1:4:void <init>(java.util.Map$Entry[],com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):131:134 -> <init>
    1:6:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):82:87 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):90 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):92:92 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):93 -> a
    10:15:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):96:101 -> a
    16:18:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry,java.lang.Object,java.lang.Object):121:123 -> a
    16:18:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):105 -> a
    19:21:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):106:108 -> a
    22:22:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    22:22:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):109 -> a
    23:23:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146:146 -> a
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):109 -> a
    24:24:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):145:145 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):109 -> a
    25:25:void com.android.tools.r8.com.google.common.collect.ImmutableMap.checkNoConflict(boolean,java.lang.String,java.util.Map$Entry,java.util.Map$Entry):204:204 -> a
    25:25:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):109 -> a
    26:29:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):113:116 -> a
    1:1:void forEach(java.util.function.BiConsumer):183:183 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):183 -> forEach
    3:4:void forEach(java.util.function.BiConsumer):184:185 -> forEach
    1:1:java.lang.Object get(java.lang.Object):154:154 -> get
    2:3:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):162:163 -> get
    2:3:java.lang.Object get(java.lang.Object):154 -> get
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> get
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):166 -> get
    4:4:java.lang.Object get(java.lang.Object):154 -> get
    5:5:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):174:174 -> get
    5:5:java.lang.Object get(java.lang.Object):154 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):175 -> get
    6:6:java.lang.Object get(java.lang.Object):154 -> get
    7:7:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):165:165 -> get
    7:7:java.lang.Object get(java.lang.Object):154 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():201:201 -> k
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet.<init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map$Entry[]):40:40 -> k
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():201 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():206:206 -> l
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():257:257 -> m
    boolean isPartialView() -> o
    1:1:int size():191:191 -> size
com.android.tools.r8.com.google.common.collect.RegularImmutableMap$KeySet -> com.android.tools.r8.internal.YR:
    com.android.tools.r8.com.google.common.collect.RegularImmutableMap map -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableMap):213:214 -> <init>
    1:1:boolean contains(java.lang.Object):224:224 -> contains
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):219:219 -> get
    1:1:int size():234:234 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
    2:2:int size():234 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
    3:3:int size():234 -> size
com.android.tools.r8.com.google.common.collect.RegularImmutableMap$Values -> com.android.tools.r8.internal.ZR:
    com.android.tools.r8.com.google.common.collect.RegularImmutableMap map -> d
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableMap):264:265 -> <init>
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):270:270 -> get
    1:1:int size():275:275 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
    2:2:int size():275 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
    3:3:int size():275 -> size
com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset -> com.android.tools.r8.internal.cS:
    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.ImmutableMultiset EMPTY -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> <clinit>
    1:1:void <clinit>():38 -> <clinit>
    2:2:void <clinit>():38:38 -> <clinit>
    1:6:void <init>(com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[],com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[],int,int,com.android.tools.r8.com.google.common.collect.ImmutableSet):130:135 -> <init>
    1:5:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):41:45 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):45 -> a
    7:18:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):45:56 -> a
    19:19:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):56 -> a
    20:37:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):57:74 -> a
    38:40:boolean com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset.hashFloodingDetected(com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[]):87:89 -> a
    38:40:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):78 -> a
    41:41:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    41:41:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):79 -> a
    42:44:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):79:81 -> a
    boolean isPartialView() -> e
    1:11:int count(java.lang.Object):159:169 -> g
    12:12:int count(java.lang.Object):167:167 -> g
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():182:183 -> h
    3:3:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):188:188 -> h
    1:1:int hashCode():193:193 -> hashCode
    1:1:int size():177:177 -> size
com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset$NonTerminalEntry -> com.android.tools.r8.internal.bS:
    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket -> d
    1:2:void <init>(java.lang.Object,int,com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry):142:143 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket():148:148 -> c
com.android.tools.r8.com.google.common.collect.RegularImmutableSet -> com.android.tools.r8.internal.dS:
    java.lang.Object[] elements -> e
    int hashCode -> h
    com.android.tools.r8.com.google.common.collect.RegularImmutableSet EMPTY -> i
    int mask -> g
    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):99:100 -> a
    1:1:java.lang.Object[] internalArray():84:84 -> b
    1:1:int internalArrayEnd():94:94 -> c
    1:10:boolean contains(java.lang.Object):52:61 -> contains
    int internalArrayStart() -> d
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():74:74 -> f
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():105:105 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():105 -> h
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():105:105 -> h
    4:4: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 -> h
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():105 -> h
    1:1:int hashCode():115:115 -> hashCode
    boolean isHashCodeFast() -> i
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.RegularImmutableSet.iterator():74:74 -> iterator
    1:1:java.util.Iterator iterator():30 -> iterator
    1:1:int size():69:69 -> size
    1:1:java.util.Spliterator spliterator():79:79 -> spliterator
com.android.tools.r8.com.google.common.collect.Sets -> com.android.tools.r8.internal.eU:
    1:1:java.util.HashSet newHashSetWithExpectedSize(int):255:255 -> a
    2:2:java.util.Set newConcurrentHashSet():269:269 -> a
    3:6:com.android.tools.r8.com.google.common.collect.Sets$SetView difference(java.util.Set,java.util.Set):859:862 -> a
    7:7:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    7:7:com.android.tools.r8.com.google.common.collect.Sets$SetView difference(java.util.Set,java.util.Set):860 -> a
    8:8:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    8:8:com.android.tools.r8.com.google.common.collect.Sets$SetView difference(java.util.Set,java.util.Set):859 -> a
    9:10:int hashCodeImpl(java.util.Set):1710:1711 -> a
    11:12:boolean removeAllImpl(java.util.Set,java.util.Iterator):1913:1914 -> a
    13:13:boolean removeAllImpl(java.util.Set,java.util.Collection):1920:1920 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    14:14:boolean removeAllImpl(java.util.Set,java.util.Collection):1920 -> a
    15:28:boolean removeAllImpl(java.util.Set,java.util.Collection):1921:1934 -> a
    29:34:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.Maps.indexMap(java.util.Collection):4161:4166 -> a
    29:34:java.util.Set combinations(java.util.Set,int):1610 -> a
    35:38:java.util.Set combinations(java.util.Set,int):1611:1614 -> a
    39:39:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    39:39:java.util.Set combinations(java.util.Set,int):1614 -> a
    40:40:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    40:40:java.util.Set combinations(java.util.Set,int):1614 -> a
    41:42:java.util.Set combinations(java.util.Set,int):1615:1616 -> a
    43:43:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    43:43:java.util.Set combinations(java.util.Set,int):1616 -> a
    44:44:java.util.Set combinations(java.util.Set,int):1618:1618 -> a
    45:45:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int,int):303:303 -> a
    45:45:java.util.Set combinations(java.util.Set,int):1612 -> a
    1:1:java.util.HashSet newHashSet():178:178 -> b
    2:5:com.android.tools.r8.com.google.common.collect.Sets$SetView intersection(java.util.Set,java.util.Set):788:791 -> b
    6:6:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> b
    6:6:com.android.tools.r8.com.google.common.collect.Sets$SetView intersection(java.util.Set,java.util.Set):789 -> b
    7:7:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> b
    7:7:com.android.tools.r8.com.google.common.collect.Sets$SetView intersection(java.util.Set,java.util.Set):788 -> b
    1:1:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> c
    1:1:java.util.Set newIdentityHashSet():423 -> c
    2:2:java.util.Set newIdentityHashSet():423:423 -> c
    1:1:java.util.LinkedHashSet newLinkedHashSet():305:305 -> d
com.android.tools.r8.com.google.common.collect.Sets$2 -> com.android.tools.r8.internal.VT:
    java.util.Set val$set2 -> c
    java.util.Set val$set1 -> b
    1:1:void <init>(java.util.Set,java.util.Set):791:791 -> <init>
    1:1:boolean contains(java.lang.Object):838:838 -> contains
    1:1:boolean containsAll(java.util.Collection):843:843 -> containsAll
    1:1:boolean isEmpty():833:833 -> isEmpty
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Sets$2.iterator():794:794 -> iterator
    1:1:java.util.Iterator iterator():791 -> iterator
    1:1:java.util.stream.Stream parallelStream():817:817 -> parallelStream
    1:2:int size():823:824 -> size
    1:1:java.util.stream.Stream stream():812:812 -> stream
com.android.tools.r8.com.google.common.collect.Sets$2$1 -> com.android.tools.r8.internal.UT:
    java.util.Iterator itr -> d
    com.android.tools.r8.com.google.common.collect.Sets$2 this$0 -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$2):794:795 -> <init>
    1:7:java.lang.Object computeNext():799:805 -> j
com.android.tools.r8.com.google.common.collect.Sets$3 -> com.android.tools.r8.internal.XT:
    java.util.Set val$set2 -> c
    java.util.Set val$set1 -> b
    1:1:void <init>(java.util.Set,java.util.Set):862:862 -> <init>
    1:1:boolean lambda$parallelStream$1(java.util.Set,java.lang.Object):888:888 -> a
    1:1:boolean lambda$stream$0(java.util.Set,java.lang.Object):883:883 -> b
    1:1:boolean contains(java.lang.Object):909:909 -> contains
    1:1:boolean isEmpty():904:904 -> isEmpty
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Sets$3.iterator():865:865 -> iterator
    1:1:java.util.Iterator iterator():862 -> iterator
    1:1:java.util.stream.Stream parallelStream():888:888 -> parallelStream
    1:2:int size():894:895 -> size
    1:1:java.util.stream.Stream stream():883:883 -> stream
com.android.tools.r8.com.google.common.collect.Sets$3$1 -> com.android.tools.r8.internal.WT:
    java.util.Iterator itr -> d
    com.android.tools.r8.com.google.common.collect.Sets$3 this$0 -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$3):865:866 -> <init>
    1:7:java.lang.Object computeNext():870:876 -> j
com.android.tools.r8.com.google.common.collect.Sets$5 -> com.android.tools.r8.internal.bU:
    com.android.tools.r8.com.google.common.collect.ImmutableMap val$index -> c
    int val$size -> b
    1:1:void <init>(int,com.android.tools.r8.com.google.common.collect.ImmutableMap):1618:1618 -> <init>
    1:3:boolean contains(java.lang.Object):1621:1623 -> contains
    1:1:java.util.Iterator iterator():1630:1630 -> iterator
    1:1:int size():1697:1697 -> size
    1:1:java.lang.String toString():1702:1702 -> toString
com.android.tools.r8.com.google.common.collect.Sets$5$1 -> com.android.tools.r8.internal.aU:
    java.util.BitSet bits -> d
    com.android.tools.r8.com.google.common.collect.Sets$5 this$0 -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5):1630:1631 -> <init>
    1:29:java.util.Set com.android.tools.r8.com.google.common.collect.Sets$5$1.computeNext():1635:1663 -> j
    1:29:java.lang.Object computeNext():1630 -> j
com.android.tools.r8.com.google.common.collect.Sets$5$1$1 -> com.android.tools.r8.internal.ZT:
    com.android.tools.r8.com.google.common.collect.Sets$5$1 this$1 -> c
    java.util.BitSet val$copy -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5$1,java.util.BitSet):1663:1663 -> <init>
    1:2:boolean contains(java.lang.Object):1666:1667 -> contains
    1:1:java.util.Iterator iterator():1672:1672 -> iterator
    1:1:int size():1688:1688 -> size
com.android.tools.r8.com.google.common.collect.Sets$5$1$1$1 -> com.android.tools.r8.internal.YT:
    com.android.tools.r8.com.google.common.collect.Sets$5$1$1 this$2 -> e
    int i -> d
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5$1$1):1672:1673 -> <init>
    1:5:java.lang.Object computeNext():1677:1681 -> j
com.android.tools.r8.com.google.common.collect.Sets$ImprovedAbstractSet -> com.android.tools.r8.internal.cU:
    1:1:void <init>():76:76 -> <init>
    1:1:boolean removeAll(java.util.Collection):79:79 -> removeAll
    1:1:boolean retainAll(java.util.Collection):84:84 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean retainAll(java.util.Collection):84 -> retainAll
    3:3:boolean retainAll(java.util.Collection):84:84 -> retainAll
com.android.tools.r8.com.google.common.collect.Sets$SetView -> com.android.tools.r8.internal.dU:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Sets$1):549:549 -> <init>
    2:2:void <init>():550:550 -> <init>
    1:1:boolean add(java.lang.Object):589:589 -> add
    1:1:boolean addAll(java.util.Collection):615:615 -> addAll
    1:1:void clear():666:666 -> clear
    1:1:boolean remove(java.lang.Object):602:602 -> remove
    1:1:boolean removeAll(java.util.Collection):628:628 -> removeAll
    1:1:boolean removeIf(java.util.function.Predicate):641:641 -> removeIf
    1:1:boolean retainAll(java.util.Collection):654:654 -> retainAll
com.android.tools.r8.com.google.common.collect.SingletonImmutableBiMap -> com.android.tools.r8.internal.RU:
    com.android.tools.r8.com.google.common.collect.ImmutableBiMap lazyInverse -> i
    com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse -> h
    java.lang.Object singleKey -> f
    java.lang.Object singleValue -> g
    1:5:void <init>(java.lang.Object,java.lang.Object):41:45 -> <init>
    6:9:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableBiMap):48:51 -> <init>
    1:1:boolean containsKey(java.lang.Object):71:71 -> containsKey
    1:1:boolean containsValue(java.lang.Object):76:76 -> containsValue
    1:1:void forEach(java.util.function.BiConsumer):66:66 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):66 -> forEach
    3:3:void forEach(java.util.function.BiConsumer):66:66 -> forEach
    1:1:java.lang.Object get(java.lang.Object):56:56 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():86:86 -> k
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> k
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():86 -> k
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():86:86 -> k
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> k
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():86 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():91:91 -> l
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> l
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():91 -> l
    boolean isPartialView() -> o
    1:7:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():99:105 -> u
com.android.tools.r8.com.google.common.collect.SingletonImmutableList -> com.android.tools.r8.internal.SU:
    java.lang.Object element -> d
    1:2:void <init>(java.lang.Object):37:38 -> <init>
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):64:64 -> e
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> e
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):65 -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():49:49 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.singletonIterator(java.lang.Object):1049:1049 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():49 -> f
    1:2:java.lang.Object get(int):43:44 -> get
    1:1:java.util.Iterator iterator():31:31 -> iterator
    1:1:java.util.Spliterator spliterator():54:54 -> spliterator
    1:1:java.util.List subList(int,int):31:31 -> subList
    1:1:java.lang.String toString():70:70 -> toString
com.android.tools.r8.com.google.common.collect.SingletonImmutableSet -> com.android.tools.r8.internal.TU:
    java.lang.Object element -> e
    int cachedHashCode -> f
    1:2:void <init>(java.lang.Object):43:44 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):80:80 -> a
    1:1:boolean contains(java.lang.Object):60:60 -> contains
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():65:65 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.singletonIterator(java.lang.Object):1049:1049 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():65 -> f
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():70:70 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):94:94 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():70 -> h
    1:3:int hashCode():87:89 -> hashCode
    1:1:boolean isHashCodeFast():96:96 -> i
    1:1:java.lang.String toString():101:101 -> toString
com.android.tools.r8.com.google.common.collect.Streams -> com.android.tools.r8.internal.pW:
    java.util.Spliterator lambda$concat$0(java.util.Spliterator) -> a
    1:3:java.util.stream.Stream stream(java.lang.Iterable):62:64 -> a
    4:15:java.util.stream.Stream concat(java.util.stream.Stream[]):162:173 -> a
    16:16:java.util.stream.Stream concat(java.util.stream.Stream[]):172:172 -> a
    17:24:java.util.stream.Stream concat(java.util.stream.Stream[]):171:178 -> a
    25:25:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):305:305 -> a
    26:26:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    26:26:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):305 -> a
    27:27:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    27:27:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):306 -> a
    28:28:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    28:28:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):307 -> a
    29:40:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):308:319 -> a
    41:55:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):317:331 -> a
    56:56:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):416:416 -> a
    57:57:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    57:57:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):416 -> a
    58:58:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    58:58:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):417 -> a
    59:67:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):418:426 -> a
    68:116:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):423:471 -> a
    1:3:void com.android.tools.r8.com.google.common.collect.Streams.closeAll(java.util.stream.BaseStream[]):141:143 -> b
    1:3:void lambda$concat$1(java.util.stream.Stream[]):178 -> b
com.android.tools.r8.com.google.common.collect.Streams$1 -> com.android.tools.r8.internal.kW:
    java.util.function.BiFunction val$function -> c
    java.util.Iterator val$itrB -> b
    java.util.Iterator val$itrA -> a
    1:1:void <init>(long,int,java.util.Iterator,java.util.Iterator,java.util.function.BiFunction):319:319 -> <init>
    1:2:boolean tryAdvance(java.util.function.Consumer):322:323 -> tryAdvance
com.android.tools.r8.com.google.common.collect.Streams$1Splitr -> com.android.tools.r8.internal.lW:
    com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex val$function -> d
    java.lang.Object holder -> c
    1:2:void <init>(java.util.Spliterator,long,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):444:445 -> <init>
    1:1:void accept(java.lang.Object):450:450 -> accept
    1:7:boolean tryAdvance(java.util.function.Consumer):455:461 -> tryAdvance
com.android.tools.r8.com.google.common.collect.Streams$2 -> com.android.tools.r8.internal.mW:
    java.util.Iterator val$fromIterator -> b
    long index -> a
    com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex val$function -> c
    1:2:void <init>(long,int,java.util.Iterator,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):426:427 -> <init>
    1:2:boolean tryAdvance(java.util.function.Consumer):431:432 -> tryAdvance
com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex -> com.android.tools.r8.internal.nW:
    java.lang.Object apply(java.lang.Object,long) -> a
com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator -> com.android.tools.r8.internal.oW:
    long index -> b
    java.util.Spliterator fromSpliterator -> a
    1:3:void <init>(java.util.Spliterator,long):732:734 -> <init>
    1:1:int characteristics():758:758 -> characteristics
    1:1:long estimateSize():753:753 -> estimateSize
    1:5:com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator.trySplit():742:746 -> trySplit
    1:5:java.util.Spliterator trySplit():726 -> trySplit
    6:6:com.android.tools.r8.com.google.common.collect.Streams$1Splitr com.android.tools.r8.com.google.common.collect.Streams$1Splitr.createSplit(java.util.Spliterator,long):468:468 -> trySplit
    6:6:com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator com.android.tools.r8.com.google.common.collect.Streams$1Splitr.createSplit(java.util.Spliterator,long):441 -> trySplit
    6:6:com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator.trySplit():746 -> trySplit
    6:6:java.util.Spliterator trySplit():726 -> trySplit
    7:7:com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator.trySplit():747:747 -> trySplit
    7:7:java.util.Spliterator trySplit():726 -> trySplit
com.android.tools.r8.com.google.common.collect.TransformedIterator -> com.android.tools.r8.internal.HY:
    java.util.Iterator backingIterator -> b
    1:2:void <init>(java.util.Iterator):34:35 -> <init>
    java.lang.Object transform(java.lang.Object) -> a
    1:1:boolean hasNext():42:42 -> hasNext
    1:1:java.lang.Object next():47:47 -> next
    1:1:void remove():52:52 -> remove
com.android.tools.r8.com.google.common.collect.UnmodifiableIterator -> com.android.tools.r8.internal.B00:
    1:1:void <init>():36:36 -> <init>
    1:1:void remove():48:48 -> remove
com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator -> com.android.tools.r8.internal.C00:
    1:1:void <init>():33:33 -> <init>
    1:1:void add(java.lang.Object):45:45 -> add
    1:1:void set(java.lang.Object):58:58 -> set
com.android.tools.r8.com.google.common.hash.AbstractByteHasher -> com.android.tools.r8.internal.p:
    java.nio.ByteBuffer scratch -> a
    1:2:void <init>():35:36 -> <init>
    1:1:com.android.tools.r8.com.google.common.hash.Hasher putByte(byte):77:77 -> a
    2:2:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]):83:83 -> a
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    3:3:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]):83 -> a
    4:4:void com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(byte[]):43:43 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]):84 -> a
    5:6:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[],int,int):90:91 -> a
    7:7:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):109:109 -> a
    8:10:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):68:70 -> a
    8:10:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    11:11:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    11:11:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70 -> a
    11:11:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    12:12:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70:70 -> a
    12:12:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    13:13:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    13:13:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70 -> a
    13:13:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    14:14:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):71:71 -> a
    14:14:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    15:15:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):115:115 -> a
    16:18:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):68:70 -> a
    16:18:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    19:19:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    19:19:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70 -> a
    19:19:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    20:20:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70:70 -> a
    20:20:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    21:21:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    21:21:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70 -> a
    21:21:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    22:22:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):71:71 -> a
    22:22:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    void update(byte) -> b
    void update(byte[],int,int) -> b
com.android.tools.r8.com.google.common.hash.AbstractHashFunction -> com.android.tools.r8.internal.t:
    1:1:void <init>():30:30 -> <init>
    1:1:com.android.tools.r8.com.google.common.hash.HashCode hashString(java.lang.CharSequence,java.nio.charset.Charset):44:44 -> a
com.android.tools.r8.com.google.common.hash.AbstractHasher -> com.android.tools.r8.internal.u:
    1:1:void <init>():29:29 -> <init>
    com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[],int,int) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putInt(int) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putLong(long) -> a
    1:1:com.android.tools.r8.com.google.common.hash.Hasher putBoolean(boolean):32:32 -> a
    2:2:com.android.tools.r8.com.google.common.hash.Hasher putDouble(double):37:37 -> a
    3:3:com.android.tools.r8.com.google.common.hash.Hasher putFloat(float):42:42 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher putString(java.lang.CharSequence,java.nio.charset.Charset):55:55 -> a
    5:5:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]):60:60 -> a
com.android.tools.r8.com.google.common.hash.HashCode -> com.android.tools.r8.internal.vm:
    char[] hexDigits -> b
    int $r8$clinit -> c
    1:1:void <clinit>():420:420 -> <clinit>
    1:1:void <init>():36:36 -> <init>
    boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode) -> a
    1:3:boolean equals(java.lang.Object):371:373 -> equals
    4:4:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.bits():259:259 -> equals
    4:4:boolean equals(java.lang.Object):373 -> equals
    5:5:boolean equals(java.lang.Object):373:373 -> equals
    6:6:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.bits():259:259 -> equals
    6:6:boolean equals(java.lang.Object):373 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.bits():259:259 -> equals
    7:7:boolean equals(java.lang.Object):373 -> equals
    8:8:boolean equals(java.lang.Object):373:373 -> equals
    1:1:int hashCode():387:387 -> hashCode
    2:2:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.bits():259:259 -> hashCode
    2:2:int hashCode():387 -> hashCode
    3:7:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.asInt():269:273 -> hashCode
    3:7:int hashCode():388 -> hashCode
    8:8:void com.android.tools.r8.com.google.common.base.Preconditions.checkState(boolean,java.lang.String,int):562:562 -> hashCode
    8:8:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.asInt():269 -> hashCode
    8:8:int hashCode():388 -> hashCode
    9:11:int hashCode():392:394 -> hashCode
    1:1:java.lang.String toString():412:412 -> toString
    2:2:byte[] com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.getBytesInternal():304:304 -> toString
    2:2:java.lang.String toString():412 -> toString
    3:7:java.lang.String toString():413:417 -> toString
com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode -> com.android.tools.r8.internal.um:
    byte[] bytes -> d
    1:2:void <init>(byte[]):253:254 -> <init>
    1:1:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):311:311 -> a
    2:2:byte[] com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.getBytesInternal():304:304 -> a
    2:2:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):311 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:9:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):311:317 -> a
    10:10:byte[] com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.getBytesInternal():304:304 -> a
    10:10:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):317 -> a
    11:11:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):317:317 -> a
com.android.tools.r8.com.google.common.hash.HashFunction -> com.android.tools.r8.internal.ym:
    com.android.tools.r8.com.google.common.hash.HashCode hashString(java.lang.CharSequence,java.nio.charset.Charset) -> a
    com.android.tools.r8.com.google.common.hash.Hasher newHasher() -> a
com.android.tools.r8.com.google.common.hash.Hasher -> com.android.tools.r8.internal.Am:
    com.android.tools.r8.com.google.common.hash.HashCode hash() -> a
    com.android.tools.r8.com.google.common.hash.Hasher putBoolean(boolean) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putByte(byte) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putDouble(double) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putFloat(float) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putInt(int) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putLong(long) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putString(java.lang.CharSequence,java.nio.charset.Charset) -> a
com.android.tools.r8.com.google.common.hash.Hashing -> com.android.tools.r8.internal.Em:
# {"id":"sourceFile","fileName":"Hashing.java"}
    int GOOD_FAST_HASH_SEED -> a
    1:1:void <clinit>():91:91 -> <clinit>
    1:1:com.android.tools.r8.com.google.common.hash.HashFunction murmur3_128():134:134 -> a
    1:1:com.android.tools.r8.com.google.common.hash.HashFunction sha256():201:201 -> b
com.android.tools.r8.com.google.common.hash.Hashing$Sha256Holder -> com.android.tools.r8.internal.Dm:
    com.android.tools.r8.com.google.common.hash.HashFunction SHA_256 -> a
    1:1:void <clinit>():205:205 -> <clinit>
com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction -> com.android.tools.r8.internal.ZD:
    java.security.MessageDigest prototype -> b
    int bytes -> c
    java.lang.String toString -> e
    boolean supportsClone -> d
    1:5:void <init>(java.lang.String,java.lang.String):44:48 -> <init>
    1:1:boolean supportsClone(java.security.MessageDigest):63:63 -> a
    2:4:java.security.MessageDigest getMessageDigest(java.lang.String):82:84 -> a
    5:12:com.android.tools.r8.com.google.common.hash.Hasher newHasher():90:97 -> a
    1:1:java.lang.String toString():77:77 -> toString
com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher -> com.android.tools.r8.internal.YD:
    java.security.MessageDigest digest -> b
    int bytes -> c
    boolean done -> d
    1:1:void <init>(java.security.MessageDigest,int,com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$1):123:123 -> <init>
    2:4:void <init>(java.security.MessageDigest,int):128:130 -> <init>
    1:1:void com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher.checkNotDone():152:152 -> a
    1:1:com.android.tools.r8.com.google.common.hash.HashCode hash():157 -> a
    2:4:com.android.tools.r8.com.google.common.hash.HashCode hash():158:160 -> a
    5:5:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.HashCode.fromBytesNoCopy(byte[]):247:247 -> a
    5:5:com.android.tools.r8.com.google.common.hash.HashCode hash():160 -> a
    6:6:com.android.tools.r8.com.google.common.hash.HashCode hash():161:161 -> a
    7:7:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.HashCode.fromBytesNoCopy(byte[]):247:247 -> a
    7:7:com.android.tools.r8.com.google.common.hash.HashCode hash():161 -> a
    1:1:void com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher.checkNotDone():152:152 -> b
    1:1:void update(byte):135 -> b
    2:2:void update(byte):136:136 -> b
    3:3:void com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher.checkNotDone():152:152 -> b
    3:3:void update(byte[],int,int):141 -> b
    4:4:void update(byte[],int,int):142:142 -> b
com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction -> com.android.tools.r8.internal.XF:
    com.android.tools.r8.com.google.common.hash.HashFunction MURMUR3_128 -> c
    int seed -> b
    1:3:void <clinit>():45:47 -> <clinit>
    1:2:void <init>(int):53:54 -> <init>
    1:1:com.android.tools.r8.com.google.common.hash.Hasher newHasher():64:64 -> a
    1:3:boolean equals(java.lang.Object):74:76 -> equals
    1:1:int hashCode():83:83 -> hashCode
    1:1:java.lang.String toString():69:69 -> toString
com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher -> com.android.tools.r8.internal.WF:
    long h2 -> e
    int length -> f
    long h1 -> d
    int com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.bufferSize -> b
    java.nio.ByteBuffer com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.buffer -> a
    int com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.chunkSize -> c
    1:9:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.<init>(int,int):62:70 -> <init>
    1:9:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.<init>(int):50 -> <init>
    1:9:void <init>(int):95 -> <init>
    10:12:void <init>(int):96:98 -> <init>
    1:1:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95:95 -> a
    1:1:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:3:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):111:112 -> a
    2:3:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    2:3:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():199:199 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):113 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    5:5:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    5:5:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):113 -> a
    5:5:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    5:5:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    6:6:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    6:6:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    6:6:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):113 -> a
    6:6:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    6:6:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:12:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    7:12:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    7:12:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):113 -> a
    7:12:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    7:12:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    13:15:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):118:120 -> a
    13:15:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    13:15:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    16:16:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    16:16:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):122 -> a
    16:16:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    16:16:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    17:17:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    17:17:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    17:17:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):122 -> a
    17:17:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    17:17:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    18:23:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    18:23:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):122 -> a
    18:23:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    18:23:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    24:29:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):125:130 -> a
    24:29:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    24:29:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    30:31:void process(java.nio.ByteBuffer):103:104 -> a
    32:32:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):110:110 -> a
    32:32:void process(java.nio.ByteBuffer):105 -> a
    33:33:long com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.mixK1(long):201:201 -> a
    33:33:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):110 -> a
    33:33:void process(java.nio.ByteBuffer):105 -> a
    34:38:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):110:114 -> a
    34:38:void process(java.nio.ByteBuffer):105 -> a
    39:39:long com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.mixK2(long):208:208 -> a
    39:39:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):116 -> a
    39:39:void process(java.nio.ByteBuffer):105 -> a
    40:44:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):116:120 -> a
    40:44:void process(java.nio.ByteBuffer):105 -> a
    45:45:void process(java.nio.ByteBuffer):106:106 -> a
    46:46:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):146:146 -> a
    46:46:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    47:47:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():199:199 -> a
    47:47:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):147 -> a
    47:47:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    48:48:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    48:48:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    48:48:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):147 -> a
    48:48:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    49:49:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    49:49:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    49:49:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    49:49:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):147 -> a
    49:49:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    50:55:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    50:55:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    50:55:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):147 -> a
    50:55:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    56:56:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):167:167 -> a
    56:56:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    57:57:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():199:199 -> a
    57:57:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):168 -> a
    57:57:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    58:58:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    58:58:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    58:58:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):168 -> a
    58:58:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    59:59:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    59:59:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    59:59:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    59:59:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):168 -> a
    59:59:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    60:65:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    60:65:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    60:65:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):168 -> a
    60:65:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    66:66:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):174:174 -> a
    66:66:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    67:67:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():199:199 -> a
    67:67:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):175 -> a
    67:67:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    68:68:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    68:68:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    68:68:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):175 -> a
    68:68:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    69:69:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    69:69:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    69:69:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    69:69:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):175 -> a
    69:69:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    70:75:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    70:75:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    70:75:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):175 -> a
    70:75:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    76:76:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    76:76:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():181 -> a
    76:76:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    77:77:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    77:77:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    77:77:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():181 -> a
    77:77:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    78:83:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    78:83:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():181 -> a
    78:83:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    84:84:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():182:182 -> a
    84:84:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    85:85:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    85:85:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():182 -> a
    85:85:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    86:87:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():183:184 -> a
    86:87:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    88:123:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):127:162 -> a
    88:123:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    88:123:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    124:158:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):130:164 -> a
    124:158:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    124:158:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    159:159:long com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.mixK1(long):201:201 -> a
    159:159:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):164 -> a
    159:159:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    159:159:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    160:161:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):164:165 -> a
    160:161:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    160:161:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    162:162:long com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.mixK2(long):208:208 -> a
    162:162:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):165 -> a
    162:162:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    162:162:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    163:163:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):165:165 -> a
    163:163:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    163:163:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    164:164:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():185:185 -> a
    164:164:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    165:165:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.position(java.nio.Buffer,int):39:39 -> a
    165:165:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():185 -> a
    165:165:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    166:183:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.makeHash():170:187 -> a
    166:183:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():187 -> a
    166:183:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    184:184:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.makeHash():182:182 -> a
    184:184:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():187 -> a
    184:184:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.HashCode.fromBytesNoCopy(byte[]):247:247 -> a
    185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.makeHash():182 -> a
    185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():187 -> a
    185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.io.BaseEncoding -> com.android.tools.r8.internal.q4:
    com.android.tools.r8.com.google.common.io.BaseEncoding BASE64_URL -> a
    1:45:void <clinit>():320:364 -> <clinit>
    46:46:void com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding.<init>(java.lang.String,java.lang.String,java.lang.Character):571:571 -> <clinit>
    46:46:void <clinit>():364 -> <clinit>
    47:48:void <clinit>():382:383 -> <clinit>
    49:49:void com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding.<init>(java.lang.String,java.lang.String,java.lang.Character):571:571 -> <clinit>
    49:49:void <clinit>():383 -> <clinit>
    50:50:void <clinit>():401:401 -> <clinit>
    1:1:void <init>():128:128 -> <init>
    void encodeTo(java.lang.Appendable,byte[],int,int) -> a
    1:1:java.lang.String encode(byte[]):148:148 -> a
    2:3:java.lang.String com.android.tools.r8.com.google.common.io.BaseEncoding.encode(byte[],int,int):156:157 -> a
    2:3:java.lang.String encode(byte[]):148 -> a
    4:4:int com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding.maxEncodedSize(int):585:585 -> a
    4:4:java.lang.String com.android.tools.r8.com.google.common.io.BaseEncoding.encode(byte[],int,int):157 -> a
    4:4:java.lang.String encode(byte[]):148 -> a
    5:11:java.lang.String com.android.tools.r8.com.google.common.io.BaseEncoding.encode(byte[],int,int):157:163 -> a
    5:11:java.lang.String encode(byte[]):148 -> a
    12:12:java.lang.String com.android.tools.r8.com.google.common.io.BaseEncoding.encode(byte[],int,int):161:161 -> a
    12:12:java.lang.String encode(byte[]):148 -> a
    13:13:com.android.tools.r8.com.google.common.io.BaseEncoding base64Url():360:360 -> a
    com.android.tools.r8.com.google.common.io.BaseEncoding omitPadding() -> b
com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet -> com.android.tools.r8.internal.m4:
    char[] chars -> b
    int bytesPerChunk -> f
    byte[] decodabet -> g
    java.lang.String name -> a
    int bitsPerChar -> d
    int charsPerChunk -> e
    int mask -> c
    1:36:void <init>(java.lang.String,char[]):431:466 -> <init>
    37:37:void <init>(java.lang.String,char[]):449:449 -> <init>
    38:38:void <init>(java.lang.String,char[]):437:437 -> <init>
    1:1:char[] access$000(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet):420:420 -> a
    2:2:char encode(int):472:472 -> a
    3:3:boolean matches(char):541:541 -> a
    1:3:boolean equals(java.lang.Object):551:553 -> equals
    1:1:int hashCode():560:560 -> hashCode
    1:1:java.lang.String toString():546:546 -> toString
com.android.tools.r8.com.google.common.io.BaseEncoding$Base16Encoding -> com.android.tools.r8.internal.n4:
    char[] encoding -> d
    1:1:void <init>(java.lang.String,java.lang.String):893:893 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet):897:897 -> <init>
    3:14:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet):890:901 -> <init>
    1:6:void encodeTo(java.lang.Appendable,byte[],int,int):907:912 -> a
    7:7:com.android.tools.r8.com.google.common.io.BaseEncoding newInstance(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):932:932 -> a
com.android.tools.r8.com.google.common.io.BaseEncoding$Base64Encoding -> com.android.tools.r8.internal.o4:
    1:1:void <init>(java.lang.String,java.lang.String,java.lang.Character):938:938 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):942:943 -> <init>
    1:12:void encodeTo(java.lang.Appendable,byte[],int,int):948:959 -> a
    13:13:com.android.tools.r8.com.google.common.io.BaseEncoding newInstance(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):989:989 -> a
com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding -> com.android.tools.r8.internal.p4:
    java.lang.Character paddingChar -> c
    com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet alphabet -> b
    1:4:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):574:577 -> <init>
    5:9:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):576:580 -> <init>
    1:4:void encodeTo(java.lang.Appendable,byte[],int,int):635:638 -> a
    5:5:void encodeTo(java.lang.Appendable,byte[],int,int):637:637 -> a
    6:25:void encodeChunkTo(java.lang.Appendable,byte[],int,int):643:662 -> a
    26:26:com.android.tools.r8.com.google.common.io.BaseEncoding newInstance(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):856:856 -> a
    1:1:com.android.tools.r8.com.google.common.io.BaseEncoding omitPadding():802:802 -> b
    1:4:boolean equals(java.lang.Object):875:878 -> equals
    1:1:int hashCode():885:885 -> hashCode
    2:2:int com.android.tools.r8.com.google.common.base.Objects.hashCode(java.lang.Object[]):77:77 -> hashCode
    2:2:int hashCode():885 -> hashCode
    1:10:java.lang.String toString():861:870 -> toString
com.android.tools.r8.com.google.common.io.ByteStreams -> com.android.tools.r8.internal.a6:
    int $r8$clinit -> a
    1:1:void <clinit>():640:640 -> <clinit>
    1:1:byte[] toByteArray(java.io.InputStream):220:220 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:byte[] toByteArray(java.io.InputStream):220 -> a
    3:3:byte[] toByteArray(java.io.InputStream):221:221 -> a
    4:9:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):176:181 -> a
    4:9:byte[] toByteArray(java.io.InputStream):221 -> a
    10:16:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.combineBuffers(java.util.Queue,int):200:206 -> a
    10:16:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):183 -> a
    10:16:byte[] toByteArray(java.io.InputStream):221 -> a
    17:17:int com.android.tools.r8.com.google.common.math.IntMath.saturatedMultiply(int,int):558:558 -> a
    17:17:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):175 -> a
    17:17:byte[] toByteArray(java.io.InputStream):221 -> a
    18:18:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):191:191 -> a
    18:18:byte[] toByteArray(java.io.InputStream):221 -> a
    19:25:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.combineBuffers(java.util.Queue,int):200:206 -> a
    19:25:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):193 -> a
    19:25:byte[] toByteArray(java.io.InputStream):221 -> a
    26:26:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):195:195 -> a
    26:26:byte[] toByteArray(java.io.InputStream):221 -> a
com.android.tools.r8.com.google.common.io.ByteStreams$1 -> com.android.tools.r8.internal.Z5:
    1:1:void <init>():641:641 -> <init>
    1:1:java.lang.String toString():660:660 -> toString
    1:1:void write(byte[]):649:649 -> write
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> write
    2:2:void write(byte[]):649 -> write
    3:3:void write(byte[],int,int):655:655 -> write
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> write
    4:4:void write(byte[],int,int):655 -> write
com.android.tools.r8.com.google.common.io.CharSequenceReader -> com.android.tools.r8.internal.d9:
    java.lang.CharSequence seq -> b
    int mark -> d
    int pos -> c
    1:2:void <init>(java.lang.CharSequence):41:42 -> <init>
    1:2:void checkOpen():46:47 -> a
    1:1:void close():128:128 -> close
    1:3:void mark(int):115:117 -> mark
    4:4:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int):192:192 -> mark
    4:4:void mark(int):115 -> mark
    1:1:int read(java.nio.CharBuffer):61:61 -> read
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> read
    2:2:int read(java.nio.CharBuffer):61 -> read
    3:3:int read(java.nio.CharBuffer):62:62 -> read
    4:4:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    4:4:boolean com.android.tools.r8.com.google.common.io.CharSequenceReader.hasRemaining():52 -> read
    4:4:int read(java.nio.CharBuffer):63 -> read
    5:5:int read(java.nio.CharBuffer):66:66 -> read
    6:6:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    6:6:int read(java.nio.CharBuffer):66 -> read
    7:9:int read(java.nio.CharBuffer):66:68 -> read
    10:10:int read():75:75 -> read
    11:11:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    11:11:boolean com.android.tools.r8.com.google.common.io.CharSequenceReader.hasRemaining():52 -> read
    11:11:int read():76 -> read
    12:12:int read():76:76 -> read
    13:14:int read(char[],int,int):81:82 -> read
    15:15:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    15:15:boolean com.android.tools.r8.com.google.common.io.CharSequenceReader.hasRemaining():52 -> read
    15:15:int read(char[],int,int):83 -> read
    16:16:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    16:16:int read(char[],int,int):86 -> read
    17:19:int read(char[],int,int):86:88 -> read
    1:1:boolean ready():104:104 -> ready
    1:2:void reset():122:123 -> reset
    1:2:long skip(long):95:96 -> skip
    3:3:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> skip
    3:3:long skip(long):97 -> skip
    4:5:long skip(long):97:98 -> skip
    6:6:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,long):205:205 -> skip
    6:6:long skip(long):95 -> skip
com.android.tools.r8.com.google.common.io.CharSource -> com.android.tools.r8.internal.g9:
    1:1:void <init>():75:75 -> <init>
    java.io.Reader openStream() -> a
    1:3:com.android.tools.r8.com.google.common.io.CharSource wrap(java.lang.CharSequence):480:482 -> a
com.android.tools.r8.com.google.common.io.CharSource$CharSequenceCharSource -> com.android.tools.r8.internal.e9:
    java.lang.CharSequence seq -> a
    1:1:void <clinit>():524:524 -> <clinit>
    1:2:void <init>(java.lang.CharSequence):528:529 -> <init>
    1:1:java.io.Reader openStream():534:534 -> a
    1:1:java.lang.String toString():608:608 -> toString
    2:2:java.lang.String com.android.tools.r8.com.google.common.base.Ascii.truncate(java.lang.CharSequence,int,java.lang.String):550:550 -> toString
    2:2:java.lang.String toString():608 -> toString
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> toString
    3:3:java.lang.String com.android.tools.r8.com.google.common.base.Ascii.truncate(java.lang.CharSequence,int,java.lang.String):550 -> toString
    3:3:java.lang.String toString():608 -> toString
    4:16:java.lang.String com.android.tools.r8.com.google.common.base.Ascii.truncate(java.lang.CharSequence,int,java.lang.String):563:575 -> toString
    4:16:java.lang.String toString():608 -> toString
    17:17:java.lang.String toString():608:608 -> toString
com.android.tools.r8.com.google.common.io.CharSource$StringCharSource -> com.android.tools.r8.internal.f9:
    1:1:void <init>(java.lang.String):629:629 -> <init>
    1:1:java.io.Reader openStream():634:634 -> a
com.android.tools.r8.com.google.common.io.CharStreams -> com.android.tools.r8.internal.h9:
    1:2:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):176:177 -> a
    1:2:java.lang.String toString(java.lang.Readable):164 -> a
    3:3:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):115:115 -> a
    3:3:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):178 -> a
    3:3:java.lang.String toString(java.lang.Readable):164 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):115 -> a
    4:4:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):178 -> a
    4:4:java.lang.String toString(java.lang.Readable):164 -> a
    5:9:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):117:121 -> a
    5:9:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):178 -> a
    5:9:java.lang.String toString(java.lang.Readable):164 -> a
    10:10:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):115:115 -> a
    10:10:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):76 -> a
    10:10:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    10:10:java.lang.String toString(java.lang.Readable):164 -> a
    11:11:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    11:11:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):115 -> a
    11:11:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):76 -> a
    11:11:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    11:11:java.lang.String toString(java.lang.Readable):164 -> a
    12:16:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):117:121 -> a
    12:16:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):76 -> a
    12:16:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    12:16:java.lang.String toString(java.lang.Readable):164 -> a
    17:17:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):82:82 -> a
    17:17:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    17:17:java.lang.String toString(java.lang.Readable):164 -> a
    18:18:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    18:18:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):82 -> a
    18:18:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    18:18:java.lang.String toString(java.lang.Readable):164 -> a
    19:19:java.nio.CharBuffer com.android.tools.r8.com.google.common.io.CharStreams.createBuffer():55:55 -> a
    19:19:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):85 -> a
    19:19:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    19:19:java.lang.String toString(java.lang.Readable):164 -> a
    20:20:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):86:86 -> a
    20:20:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    20:20:java.lang.String toString(java.lang.Readable):164 -> a
    21:21:void com.android.tools.r8.com.google.common.io.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    21:21:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):87 -> a
    21:21:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    21:21:java.lang.String toString(java.lang.Readable):164 -> a
    22:23:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):88:89 -> a
    22:23:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    22:23:java.lang.String toString(java.lang.Readable):164 -> a
    24:24:void com.android.tools.r8.com.google.common.io.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    24:24:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):90 -> a
    24:24:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    24:24:java.lang.String toString(java.lang.Readable):164 -> a
    25:25:java.lang.String toString(java.lang.Readable):164:164 -> a
com.android.tools.r8.com.google.common.io.Closeables -> com.android.tools.r8.internal.nb:
    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.internal.rb:
    com.android.tools.r8.com.google.common.io.Closer$Suppressor suppressor -> b
    java.util.Deque stack -> c
    com.android.tools.r8.com.google.common.io.Closer$Suppressor SUPPRESSOR -> d
    1:1:boolean com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor.isAvailable():264:264 -> <clinit>
    1:1:void <clinit>():95 -> <clinit>
    2:3:void <clinit>():96:97 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.io.Closer$Suppressor):111:111 -> <init>
    2:7:void <init>(com.android.tools.r8.com.google.common.io.Closer$Suppressor):107:112 -> <init>
    1:1:com.android.tools.r8.com.google.common.io.Closer create():101:101 -> a
    2:2:java.io.Closeable register(java.io.Closeable):125:125 -> a
    1:15:void close():210:224 -> close
    16:17:void com.android.tools.r8.com.google.common.base.Throwables.throwIfInstanceOf(java.lang.Throwable,java.lang.Class):74:75 -> close
    16:17:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfInstanceOf(java.lang.Throwable,java.lang.Class):104 -> close
    16:17:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):184 -> close
    16:17:void close():224 -> close
    18:21:void com.android.tools.r8.com.google.common.base.Throwables.throwIfUnchecked(java.lang.Throwable):129:132 -> close
    18:21:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable):159 -> close
    18:21:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):185 -> close
    18:21:void close():224 -> close
    22:22:void close():225:225 -> close
    23:23:void com.android.tools.r8.com.google.common.base.Throwables.throwIfUnchecked(java.lang.Throwable):133:133 -> close
    23:23:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable):159 -> close
    23:23:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):185 -> close
    23:23:void close():224 -> close
    24:24:void com.android.tools.r8.com.google.common.base.Throwables.throwIfUnchecked(java.lang.Throwable):130:130 -> close
    24:24:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable):159 -> close
    24:24:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):185 -> close
    24:24:void close():224 -> close
    25:25:void com.android.tools.r8.com.google.common.base.Throwables.throwIfInstanceOf(java.lang.Throwable,java.lang.Class):76:76 -> close
    25:25:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfInstanceOf(java.lang.Throwable,java.lang.Class):104 -> close
    25:25:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):184 -> close
    25:25:void close():224 -> close
com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor -> com.android.tools.r8.internal.ob:
    com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor INSTANCE -> a
    1:1:void <clinit>():244:244 -> <clinit>
    1:1:void <init>():242:242 -> <init>
    1:1:void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):249:249 -> a
com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor -> com.android.tools.r8.internal.pb:
    com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor INSTANCE -> a
    java.lang.reflect.Method addSuppressed -> b
    1:1:void <clinit>():261:261 -> <clinit>
    2:2:java.lang.reflect.Method com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor.addSuppressedMethodOrNull():271:271 -> <clinit>
    2:2:void <clinit>():267 -> <clinit>
    3:3:void <clinit>():267:267 -> <clinit>
    1:1:void <init>():259:259 -> <init>
    1:1:void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):284:284 -> a
    2:2:void com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor.suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):249:249 -> a
    2:2:void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):287 -> a
com.android.tools.r8.com.google.common.io.Closer$Suppressor -> com.android.tools.r8.internal.qb:
    void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable) -> a
com.android.tools.r8.com.google.common.math.IntMath -> com.android.tools.r8.internal.kt:
    int[] biggestBinomials -> a
    1:1:void <clinit>():676:676 -> <clinit>
    boolean isPowerOfTwo(int) -> a
    1:25:int log2(int,java.math.RoundingMode):119:143 -> a
    26:26:int log2(int,java.math.RoundingMode):136:136 -> a
    27:27:int log2(int,java.math.RoundingMode):130:130 -> a
    28:32:int log2(int,java.math.RoundingMode):122:126 -> a
    33:33:void com.android.tools.r8.com.google.common.math.MathPreconditions.checkRoundingUnnecessary(boolean):82:82 -> a
    33:33:int log2(int,java.math.RoundingMode):122 -> a
    34:34:int com.android.tools.r8.com.google.common.math.MathPreconditions.checkPositive(java.lang.String,int):33:33 -> a
    34:34:int log2(int,java.math.RoundingMode):119 -> a
    35:35:int divide(int,int,java.math.RoundingMode):317:317 -> a
    36:36:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    36:36:int divide(int,int,java.math.RoundingMode):317 -> a
    37:83:int divide(int,int,java.math.RoundingMode):321:367 -> a
    84:89:int divide(int,int,java.math.RoundingMode):356:361 -> a
    90:90:void com.android.tools.r8.com.google.common.math.MathPreconditions.checkRoundingUnnecessary(boolean):82:82 -> a
    90:90:int divide(int,int,java.math.RoundingMode):339 -> a
    91:91:int divide(int,int,java.math.RoundingMode):319:319 -> a
    92:110:int binomial(int,int):650:668 -> a
    111:111:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int,int):303:303 -> a
    111:111:int binomial(int,int):652 -> a
    1:1:int sqrt(int,java.math.RoundingMode):270:270 -> b
    2:2:int com.android.tools.r8.com.google.common.math.IntMath.sqrtFloor(int):305:305 -> b
    2:2:int sqrt(int,java.math.RoundingMode):271 -> b
    3:29:int sqrt(int,java.math.RoundingMode):272:298 -> b
    30:30:void com.android.tools.r8.com.google.common.math.MathPreconditions.checkRoundingUnnecessary(boolean):82:82 -> b
    30:30:int sqrt(int,java.math.RoundingMode):274 -> b
    31:31:int checkedAdd(int,int):456:456 -> b
    32:32:void com.android.tools.r8.com.google.common.math.MathPreconditions.checkNoOverflow(boolean,java.lang.String,int,int):95:95 -> b
    32:32:int checkedAdd(int,int):456 -> b
com.android.tools.r8.com.google.common.math.IntMath$1 -> com.android.tools.r8.internal.jt:
    int[] $SwitchMap$java$math$RoundingMode -> a
    1:1:void <clinit>():120:120 -> <clinit>
com.android.tools.r8.com.google.common.math.MathPreconditions -> com.android.tools.r8.internal.GD:
    1:1:int checkNonNegative(java.lang.String,int):54:54 -> a
com.android.tools.r8.com.google.common.primitives.Ints -> com.android.tools.r8.internal.gu:
    int saturatedCast(long) -> a
com.android.tools.r8.com.google.gson.ExclusionStrategy -> com.android.tools.r8.internal.fj:
    boolean shouldSkipClass(java.lang.Class) -> a
    boolean shouldSkipField(com.android.tools.r8.com.google.gson.FieldAttributes) -> b
com.android.tools.r8.com.google.gson.FieldNamingPolicy -> com.android.tools.r8.internal.Mj:
    com.android.tools.r8.com.google.gson.FieldNamingPolicy IDENTITY -> b
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(java.lang.String,int):31:31 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.com.google.gson.FieldNamingPolicy$1):31:31 -> <init>
com.android.tools.r8.com.google.gson.FieldNamingPolicy$1 -> com.android.tools.r8.internal.Lj:
    1:1:void <init>(java.lang.String,int):37:37 -> <init>
    1:1:java.lang.String translateName(java.lang.reflect.Field):39:39 -> a
com.android.tools.r8.com.google.gson.FieldNamingStrategy -> com.android.tools.r8.internal.Nj:
    java.lang.String translateName(java.lang.reflect.Field) -> a
com.android.tools.r8.com.google.gson.Gson -> com.android.tools.r8.internal.em:
    com.android.tools.r8.com.google.gson.reflect.TypeToken NULL_KEY_SURROGATE -> j
    java.util.Map typeTokenCache -> b
    java.lang.ThreadLocal calls -> a
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> d
    java.util.List factories -> c
    com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory jsonAdapterFactory -> i
    boolean serializeNulls -> e
    boolean htmlSafe -> f
    boolean generateNonExecutableJson -> g
    boolean prettyPrinting -> h
    1:1:void <clinit>():112:112 -> <clinit>
    1:6:void <init>():174:174 -> <init>
    7:7:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.com.google.gson.LongSerializationPolicy,java.util.List):186:186 -> <init>
    8:103:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.com.google.gson.LongSerializationPolicy,java.util.List):122:217 -> <init>
    104:107:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.com.google.gson.LongSerializationPolicy,java.util.List):216:219 -> <init>
    108:145:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.com.google.gson.LongSerializationPolicy,java.util.List):218:255 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter doubleAdapter(boolean):278:278 -> a
    2:2:com.android.tools.r8.com.google.gson.TypeAdapter atomicLongAdapter(com.android.tools.r8.com.google.gson.TypeAdapter):353:353 -> a
    3:3:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.TypeAdapter.nullSafe():186:186 -> a
    3:3:com.android.tools.r8.com.google.gson.TypeAdapter atomicLongAdapter(com.android.tools.r8.com.google.gson.TypeAdapter):361 -> a
    4:40:com.android.tools.r8.com.google.gson.TypeAdapter getAdapter(com.android.tools.r8.com.google.gson.reflect.TypeToken):399:435 -> a
    41:46:com.android.tools.r8.com.google.gson.TypeAdapter getAdapter(com.android.tools.r8.com.google.gson.reflect.TypeToken):430:435 -> a
    47:65:com.android.tools.r8.com.google.gson.TypeAdapter getDelegateAdapter(com.android.tools.r8.com.google.gson.TypeAdapterFactory,com.android.tools.r8.com.google.gson.reflect.TypeToken):493:511 -> a
    66:80:void toJson(java.lang.Object,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.stream.JsonWriter):661:675 -> a
    81:85:void toJson(java.lang.Object,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.stream.JsonWriter):671:675 -> a
    86:93:com.android.tools.r8.com.google.gson.stream.JsonWriter newJsonWriter(java.io.Writer):713:720 -> a
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter floatAdapter(boolean):302:302 -> b
    2:2:com.android.tools.r8.com.google.gson.TypeAdapter atomicLongArrayAdapter(com.android.tools.r8.com.google.gson.TypeAdapter):365:365 -> b
    3:3:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.TypeAdapter.nullSafe():186:186 -> b
    3:3:com.android.tools.r8.com.google.gson.TypeAdapter atomicLongArrayAdapter(com.android.tools.r8.com.google.gson.TypeAdapter):388 -> b
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter longAdapter(com.android.tools.r8.com.google.gson.LongSerializationPolicy):332:332 -> c
    1:6:java.lang.String toString():982:987 -> toString
com.android.tools.r8.com.google.gson.Gson$1 -> com.android.tools.r8.internal.Yl:
    1:1:void <init>():112:112 -> <init>
com.android.tools.r8.com.google.gson.Gson$2 -> com.android.tools.r8.internal.Zl:
    1:1:void <init>(com.android.tools.r8.com.google.gson.Gson):278:278 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278:278 -> a
    2:5:void com.android.tools.r8.com.google.gson.Gson$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):288:291 -> a
    2:5:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278 -> a
    6:6:void com.android.tools.r8.com.google.gson.Gson.checkValidFloatingPoint(double):323:323 -> a
    6:6:void com.android.tools.r8.com.google.gson.Gson$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):292 -> a
    6:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278 -> a
    7:7:void com.android.tools.r8.com.google.gson.Gson$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):293:293 -> a
    7:7:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278 -> a
    8:8:void com.android.tools.r8.com.google.gson.Gson.checkValidFloatingPoint(double):324:324 -> a
    8:8:void com.android.tools.r8.com.google.gson.Gson$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):292 -> a
    8:8:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278 -> a
    9:13:java.lang.Double com.android.tools.r8.com.google.gson.Gson$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):280:284 -> a
    9:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):278 -> a
com.android.tools.r8.com.google.gson.Gson$3 -> com.android.tools.r8.internal.am:
    1:1:void <init>(com.android.tools.r8.com.google.gson.Gson):302:302 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302:302 -> a
    2:5:void com.android.tools.r8.com.google.gson.Gson$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):312:315 -> a
    2:5:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302 -> a
    6:6:void com.android.tools.r8.com.google.gson.Gson.checkValidFloatingPoint(double):323:323 -> a
    6:6:void com.android.tools.r8.com.google.gson.Gson$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):316 -> a
    6:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302 -> a
    7:7:void com.android.tools.r8.com.google.gson.Gson$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):317:317 -> a
    7:7:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302 -> a
    8:8:void com.android.tools.r8.com.google.gson.Gson.checkValidFloatingPoint(double):324:324 -> a
    8:8:void com.android.tools.r8.com.google.gson.Gson$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):316 -> a
    8:8:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302 -> a
    9:13:java.lang.Float com.android.tools.r8.com.google.gson.Gson$3.read(com.android.tools.r8.com.google.gson.stream.JsonReader):304:308 -> a
    9:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):302 -> a
com.android.tools.r8.com.google.gson.Gson$5 -> com.android.tools.r8.internal.bm:
    com.android.tools.r8.com.google.gson.TypeAdapter val$longAdapter -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.TypeAdapter):353:353 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):353:353 -> a
    2:2:void com.android.tools.r8.com.google.gson.Gson$5.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicLong):355:355 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):353 -> a
    3:4:java.util.concurrent.atomic.AtomicLong com.android.tools.r8.com.google.gson.Gson$5.read(com.android.tools.r8.com.google.gson.stream.JsonReader):358:359 -> a
    3:4:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):353 -> a
com.android.tools.r8.com.google.gson.Gson$6 -> com.android.tools.r8.internal.cm:
    com.android.tools.r8.com.google.gson.TypeAdapter val$longAdapter -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.TypeAdapter):365:365 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):365:365 -> a
    2:6:void com.android.tools.r8.com.google.gson.Gson$6.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicLongArray):367:371 -> a
    2:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):365 -> a
    7:17:java.util.concurrent.atomic.AtomicLongArray com.android.tools.r8.com.google.gson.Gson$6.read(com.android.tools.r8.com.google.gson.stream.JsonReader):374:384 -> a
    7:17:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):365 -> a
com.android.tools.r8.com.google.gson.Gson$FutureTypeAdapter -> com.android.tools.r8.internal.dm:
    com.android.tools.r8.com.google.gson.TypeAdapter delegate -> a
    1:1:void <init>():955:955 -> <init>
    1:4:void setDelegate(com.android.tools.r8.com.google.gson.TypeAdapter):959:962 -> a
    5:5:void setDelegate(com.android.tools.r8.com.google.gson.TypeAdapter):960:960 -> a
    6:9:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):966:969 -> a
    10:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):967:967 -> a
    11:14:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):973:976 -> a
    15:15:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):974:974 -> a
com.android.tools.r8.com.google.gson.InstanceCreator -> com.android.tools.r8.internal.Gp:
    java.lang.Object createInstance(java.lang.reflect.Type) -> a
com.android.tools.r8.com.google.gson.JsonArray -> com.android.tools.r8.internal.uv:
    java.util.List elements -> b
    1:2:void <init>():39:40 -> <init>
    1:1:void add(java.lang.String):85:85 -> a
    2:4:void add(com.android.tools.r8.com.google.gson.JsonElement):95:97 -> a
    5:8:boolean getAsBoolean():358:361 -> a
    1:4:int getAsInt():310:313 -> b
    1:4:long getAsLong():294:297 -> e
    1:1:boolean equals(java.lang.Object):366:366 -> equals
    1:4:java.lang.String getAsString():212:215 -> f
    1:1:com.android.tools.r8.com.google.gson.JsonElement get(int):183:183 -> h
    1:1:int hashCode():371:371 -> hashCode
    1:1:java.util.Iterator iterator():171:171 -> iterator
    1:1:int size():161:161 -> size
com.android.tools.r8.com.google.gson.JsonElement -> com.android.tools.r8.internal.vv:
    1:1:void <init>():33:33 -> <init>
    1:1:boolean getAsBoolean():152:152 -> a
    1:1:int getAsInt():243:243 -> b
    1:1:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonArray():46:46 -> c
    1:1:com.android.tools.r8.com.google.gson.JsonArray getAsJsonArray():103 -> c
    2:4:com.android.tools.r8.com.google.gson.JsonArray getAsJsonArray():104:106 -> c
    1:1:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> d
    1:1:com.android.tools.r8.com.google.gson.JsonObject getAsJsonObject():87 -> d
    2:4:com.android.tools.r8.com.google.gson.JsonObject getAsJsonObject():88:90 -> d
    1:1:long getAsLong():230:230 -> e
    1:1:java.lang.String getAsString():191:191 -> f
    1:3:java.lang.String toString():321:323 -> toString
    4:4:void com.android.tools.r8.com.google.gson.internal.Streams.write(com.android.tools.r8.com.google.gson.JsonElement,com.android.tools.r8.com.google.gson.stream.JsonWriter):72:72 -> toString
    4:4:java.lang.String toString():324 -> toString
    5:7:java.lang.String toString():325:327 -> toString
com.android.tools.r8.com.google.gson.JsonIOException -> com.android.tools.r8.internal.wv:
    1:1:void <init>(java.lang.String):29:29 -> <init>
    2:2:void <init>(java.lang.Throwable):43:43 -> <init>
com.android.tools.r8.com.google.gson.JsonNull -> com.android.tools.r8.internal.xv:
    com.android.tools.r8.com.google.gson.JsonNull INSTANCE -> b
    1:1:void <clinit>():32:32 -> <clinit>
    1:1:void <init>():39:39 -> <init>
    1:1:boolean equals(java.lang.Object):61:61 -> equals
    1:1:int hashCode():53:53 -> hashCode
com.android.tools.r8.com.google.gson.JsonObject -> com.android.tools.r8.internal.yv:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap members -> b
    1:2:void <init>():32:33 -> <init>
    1:1:void addProperty(java.lang.String,java.lang.Boolean):0:0 -> a
    2:2:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonObject.createJsonElement(java.lang.Object):122:122 -> a
    2:2:void addProperty(java.lang.String,java.lang.Boolean):101 -> a
    3:3:void com.android.tools.r8.com.google.gson.JsonObject.add(java.lang.String,com.android.tools.r8.com.google.gson.JsonElement):57:57 -> a
    3:3:void addProperty(java.lang.String,java.lang.Boolean):101 -> a
    4:4:void addProperty(java.lang.String,java.lang.Number):0:0 -> a
    5:5:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonObject.createJsonElement(java.lang.Object):122:122 -> a
    5:5:void addProperty(java.lang.String,java.lang.Number):90 -> a
    6:6:void com.android.tools.r8.com.google.gson.JsonObject.add(java.lang.String,com.android.tools.r8.com.google.gson.JsonElement):57:57 -> a
    6:6:void addProperty(java.lang.String,java.lang.Number):90 -> a
    7:9:void add(java.lang.String,com.android.tools.r8.com.google.gson.JsonElement):55:57 -> a
    10:10:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonObject.createJsonElement(java.lang.Object):122:122 -> a
    10:10:void addProperty(java.lang.String,java.lang.String):79 -> a
    11:11:void com.android.tools.r8.com.google.gson.JsonObject.add(java.lang.String,com.android.tools.r8.com.google.gson.JsonElement):57:57 -> a
    11:11:void addProperty(java.lang.String,java.lang.String):79 -> a
    12:12:com.android.tools.r8.com.google.gson.JsonElement get(java.lang.String):161:161 -> a
    1:1:boolean has(java.lang.String):151:151 -> b
    1:1:java.util.Set entrySet():132:132 -> entrySet
    1:2:boolean equals(java.lang.Object):196:197 -> equals
    1:1:com.android.tools.r8.com.google.gson.JsonObject getAsJsonObject(java.lang.String):191:191 -> g
    1:1:int hashCode():202:202 -> hashCode
com.android.tools.r8.com.google.gson.JsonParseException -> com.android.tools.r8.internal.zv:
    1:1:void <init>(java.lang.String):42:42 -> <init>
    2:2:void <init>(java.lang.String,java.lang.Throwable):52:52 -> <init>
    3:3:void <init>(java.lang.Throwable):62:62 -> <init>
com.android.tools.r8.com.google.gson.JsonParser -> com.android.tools.r8.internal.Av:
    1:1:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45:45 -> a
    2:4:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):58:60 -> a
    2:4:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    5:5:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonNull():74:74 -> a
    5:5:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):60 -> a
    5:5:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    6:15:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):60:69 -> a
    6:15:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    16:16:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):67:67 -> a
    16:16:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    17:17:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):65:65 -> a
    17:17:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    18:19:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):81:82 -> a
    20:38:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):46:64 -> a
    20:38:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    39:39:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):62:62 -> a
    39:39:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    40:40:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):60:60 -> a
    40:40:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    41:41:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):55:55 -> a
    41:41:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    42:42:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):90:90 -> a
    43:43:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):58:58 -> a
    43:43:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    44:44:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):88:88 -> a
    45:49: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.internal.Bv:
    java.lang.Class[] PRIMITIVE_TYPES -> c
    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>
    5:6:void <init>(java.lang.String):64:65 -> <init>
    7:8:void <init>(java.lang.Object):84:85 -> <init>
    1:7:void setValue(java.lang.Object):94:100 -> a
    8:14:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isPrimitiveOrString(java.lang.Object):274:280 -> a
    8:14:void setValue(java.lang.Object):101 -> a
    15:17:void setValue(java.lang.Object):100:102 -> a
    18:18:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isBoolean():112:112 -> a
    18:18:boolean getAsBoolean():132 -> a
    19:19:java.lang.Boolean com.android.tools.r8.com.google.gson.JsonPrimitive.getAsBooleanWrapper():122:122 -> a
    19:19:boolean getAsBoolean():133 -> a
    20:23:boolean getAsBoolean():133:136 -> a
    24:26:boolean isIntegral(com.android.tools.r8.com.google.gson.JsonPrimitive):334:336 -> a
    1:1:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isNumber():146:146 -> b
    1:1:int getAsInt():260 -> b
    2:2:int getAsInt():260:260 -> b
    1:1:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isNumber():146:146 -> e
    1:1:long getAsLong():238 -> e
    2:2:long getAsLong():238:238 -> e
    1:18:boolean equals(java.lang.Object):309:326 -> equals
    1:1:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isNumber():146:146 -> f
    1:1:java.lang.String getAsString():176 -> f
    2:2:java.lang.String getAsString():177:177 -> f
    3:3:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isBoolean():112:112 -> f
    3:3:java.lang.String getAsString():178 -> f
    4:4:java.lang.Boolean com.android.tools.r8.com.google.gson.JsonPrimitive.getAsBooleanWrapper():122:122 -> f
    4:4:java.lang.String getAsString():179 -> f
    5:7:java.lang.String getAsString():179:181 -> f
    1:1:java.lang.Number getAsNumber():157:157 -> g
    1:1:boolean isBoolean():112:112 -> h
    1:13:int hashCode():289:301 -> hashCode
    1:1:boolean isNumber():146:146 -> i
    1:1:boolean isString():166:166 -> j
com.android.tools.r8.com.google.gson.JsonSyntaxException -> com.android.tools.r8.internal.Fv:
    1:1:void <init>(java.lang.String):30:30 -> <init>
    2:2:void <init>(java.lang.String,java.lang.Throwable):34:34 -> <init>
    3:3:void <init>(java.lang.Throwable):45:45 -> <init>
com.android.tools.r8.com.google.gson.TypeAdapter -> com.android.tools.r8.internal.WY:
    1:1:void <init>():119:119 -> <init>
    java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader) -> a
    void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object) -> a
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter nullSafe():186:186 -> a
com.android.tools.r8.com.google.gson.TypeAdapter$1 -> com.android.tools.r8.internal.VY:
    com.android.tools.r8.com.google.gson.TypeAdapter this$0 -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.TypeAdapter):186:186 -> <init>
    1:3:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):189:191 -> a
    4:8:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):195:199 -> a
com.android.tools.r8.com.google.gson.TypeAdapterFactory -> com.android.tools.r8.internal.XY:
    com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken) -> a
com.android.tools.r8.com.google.gson.annotations.JsonAdapter -> com.android.tools.r8.internal.sv:
com.android.tools.r8.com.google.gson.annotations.SerializedName -> com.android.tools.r8.internal.QT:
com.android.tools.r8.com.google.gson.internal.$Gson$Preconditions -> com.android.tools.r8.internal.a:
# {"id":"sourceFile","fileName":"$Gson$Preconditions.java"}
    1:1:java.lang.Object checkNotNull(java.lang.Object):39:39 -> a
    2:2:void checkArgument(boolean):46:46 -> a
com.android.tools.r8.com.google.gson.internal.$Gson$Types -> com.android.tools.r8.internal.e:
# {"id":"sourceFile","fileName":"$Gson$Types.java"}
    java.lang.reflect.Type[] EMPTY_TYPE_ARRAY -> a
    1:1:void <clinit>():44:44 -> <clinit>
    1:16:java.lang.reflect.Type canonicalize(java.lang.reflect.Type):96:111 -> a
    17:29:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):165:177 -> a
    30:30:boolean com.android.tools.r8.com.google.gson.internal.$Gson$Types.equal(java.lang.Object,java.lang.Object):154:154 -> a
    30:30:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):177 -> a
    31:60:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):178:207 -> a
    61:79:java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):234:252 -> a
    80:80:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):290:290 -> a
    81:83:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):270:272 -> a
    81:83:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):290 -> a
    84:84:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):271:271 -> a
    84:84:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):290 -> a
    85:91:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):292:298 -> a
    92:93:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):327:328 -> a
    94:95:java.lang.Class com.android.tools.r8.com.google.gson.internal.$Gson$Types.declaringClassOf(java.lang.reflect.TypeVariable):427:428 -> a
    94:95:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):397 -> a
    94:95:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    96:98:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):404:406 -> a
    96:98:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    99:100:int com.android.tools.r8.com.google.gson.internal.$Gson$Types.indexOf(java.lang.Object[],java.lang.Object):414:415 -> a
    99:100:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):406 -> a
    99:100:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    101:101:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):407:407 -> a
    101:101:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    102:102:int com.android.tools.r8.com.google.gson.internal.$Gson$Types.indexOf(java.lang.Object[],java.lang.Object):419:419 -> a
    102:102:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):406 -> a
    102:102:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    103:106:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):334:337 -> a
    107:107:java.lang.reflect.GenericArrayType com.android.tools.r8.com.google.gson.internal.$Gson$Types.arrayOf(java.lang.reflect.Type):68:68 -> a
    107:107:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):340 -> a
    108:111:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):342:345 -> a
    112:112:java.lang.reflect.GenericArrayType com.android.tools.r8.com.google.gson.internal.$Gson$Types.arrayOf(java.lang.reflect.Type):68:68 -> a
    112:112:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):348 -> a
    113:132:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):350:369 -> a
    133:133:java.lang.reflect.ParameterizedType com.android.tools.r8.com.google.gson.internal.$Gson$Types.newParameterizedTypeWithOwner(java.lang.reflect.Type,java.lang.reflect.Type,java.lang.reflect.Type[]):58:58 -> a
    133:133:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):369 -> a
    134:141:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):372:379 -> a
    142:142:java.lang.reflect.WildcardType com.android.tools.r8.com.google.gson.internal.$Gson$Types.supertypeOf(java.lang.reflect.Type):87:87 -> a
    142:142:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):380 -> a
    143:145:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):382:384 -> a
    146:146:java.lang.reflect.WildcardType com.android.tools.r8.com.google.gson.internal.$Gson$Types.subtypeOf(java.lang.reflect.Type):78:78 -> a
    146:146:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):385 -> a
    1:5:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):311:315 -> b
    6:8:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):270:272 -> b
    6:8:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):315 -> b
    9:9:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):271:271 -> b
    9:9:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):315 -> b
    10:14:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):317:321 -> b
    15:15:void checkNotPrimitive(java.lang.reflect.Type):434:434 -> b
    1:29:java.lang.Class getRawType(java.lang.reflect.Type):120:148 -> c
    1:1:java.lang.String typeToString(java.lang.reflect.Type):220:220 -> d
com.android.tools.r8.com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl -> com.android.tools.r8.internal.b:
# {"id":"sourceFile","fileName":"$Gson$Types.java"}
    java.lang.reflect.Type componentType -> b
    1:2:void <init>(java.lang.reflect.Type):505:506 -> <init>
    1:2:boolean equals(java.lang.Object):514:515 -> equals
    1:1:java.lang.reflect.Type getGenericComponentType():510:510 -> getGenericComponentType
    1:1:int hashCode():519:519 -> hashCode
    1:1:java.lang.String toString():523:523 -> toString
com.android.tools.r8.com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl -> com.android.tools.r8.internal.c:
# {"id":"sourceFile","fileName":"$Gson$Types.java"}
    java.lang.reflect.Type rawType -> c
    java.lang.reflect.Type ownerType -> b
    java.lang.reflect.Type[] typeArguments -> d
    1:16:void <init>(java.lang.reflect.Type,java.lang.reflect.Type,java.lang.reflect.Type[]):442:457 -> <init>
    1:2:boolean equals(java.lang.Object):474:475 -> equals
    1:1:java.lang.reflect.Type[] getActualTypeArguments():462:462 -> getActualTypeArguments
    1:1:java.lang.reflect.Type getOwnerType():470:470 -> getOwnerType
    1:1:java.lang.reflect.Type getRawType():466:466 -> getRawType
    1:2:int hashCode():479:480 -> hashCode
    3:3:int com.android.tools.r8.com.google.gson.internal.$Gson$Types.hashCodeOrZero(java.lang.Object):216:216 -> hashCode
    3:3:int hashCode():481 -> hashCode
    1:12:java.lang.String toString():485:496 -> toString
com.android.tools.r8.com.google.gson.internal.$Gson$Types$WildcardTypeImpl -> com.android.tools.r8.internal.d:
# {"id":"sourceFile","fileName":"$Gson$Types.java"}
    java.lang.reflect.Type lowerBound -> c
    java.lang.reflect.Type upperBound -> b
    1:16:void <init>(java.lang.reflect.Type[],java.lang.reflect.Type[]):538:553 -> <init>
    1:2:boolean equals(java.lang.Object):566:567 -> equals
    1:1:java.lang.reflect.Type[] getLowerBounds():562:562 -> getLowerBounds
    1:1:java.lang.reflect.Type[] getUpperBounds():558:558 -> getUpperBounds
    1:2:int hashCode():572:573 -> hashCode
    1:1:java.lang.String toString():577:577 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1166,"2":1167,"3":1168}}
    1166:1166:java.lang.String toString():578:578 -> toString
    1167:1167:java.lang.String toString():578:578 -> toString
    1168:1168:java.lang.String toString():578:578 -> toString
    580:582:java.lang.String toString():578:580 -> toString
    583:583:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1166,"2":1167,"3":1168}}
    1166:1166:java.lang.String toString():582:582 -> toString
    1167:1167:java.lang.String toString():582:582 -> toString
    1168:1168:java.lang.String toString():582:582 -> toString
    1165:1165:java.lang.String toString():582:582 -> toString
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor -> com.android.tools.r8.internal.Nd:
    java.util.Map instanceCreators -> a
    1:2:void <init>(java.util.Map):51:52 -> <init>
    1:21:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):56:76 -> a
    22:26:com.android.tools.r8.com.google.gson.internal.ObjectConstructor com.android.tools.r8.com.google.gson.internal.ConstructorConstructor.newDefaultConstructor(java.lang.Class):99:103 -> a
    22:26:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):83 -> a
    27:91:com.android.tools.r8.com.google.gson.internal.ObjectConstructor com.android.tools.r8.com.google.gson.internal.ConstructorConstructor.newDefaultImplementationConstructor(java.lang.reflect.Type,java.lang.Class):134:198 -> a
    27:91:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):88 -> a
    92:100:com.android.tools.r8.com.google.gson.internal.ObjectConstructor com.android.tools.r8.com.google.gson.internal.ConstructorConstructor.newDefaultImplementationConstructor(java.lang.reflect.Type,java.lang.Class):197:205 -> a
    92:100:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):88 -> a
    101:101:com.android.tools.r8.com.google.gson.internal.ObjectConstructor com.android.tools.r8.com.google.gson.internal.ConstructorConstructor.newUnsafeAllocator(java.lang.reflect.Type,java.lang.Class):218:218 -> a
    101:101:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):94 -> a
    1:1:java.lang.String toString():234:234 -> toString
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$1 -> com.android.tools.r8.internal.Ed:
    com.android.tools.r8.com.google.gson.InstanceCreator val$typeCreator -> a
    java.lang.reflect.Type val$type -> b
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.InstanceCreator,java.lang.reflect.Type):64:64 -> <init>
    1:1:java.lang.Object construct():66:66 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$10 -> com.android.tools.r8.internal.zd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):186:186 -> <init>
    1:1:java.lang.Object construct():188:188 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$11 -> com.android.tools.r8.internal.Ad:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):192:192 -> <init>
    1:1:java.lang.Object construct():194:194 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$12 -> com.android.tools.r8.internal.Bd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):199:199 -> <init>
    1:1:java.lang.Object construct():201:201 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$13 -> com.android.tools.r8.internal.Cd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):205:205 -> <init>
    1:1:java.lang.Object construct():207:207 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$14 -> com.android.tools.r8.internal.Dd:
    com.android.tools.r8.com.google.gson.internal.UnsafeAllocator unsafeAllocator -> a
    java.lang.reflect.Type val$type -> c
    java.lang.Class val$rawType -> b
    1:2:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,java.lang.Class,java.lang.reflect.Type):218:219 -> <init>
    1:4:java.lang.Object construct():223:226 -> a
    5:5:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":232,"2":233,"3":234}}
    232:232:java.lang.Object construct():226:226 -> a
    233:233:java.lang.Object construct():226:226 -> a
    234:234:java.lang.Object construct():226:226 -> a
    231:231:java.lang.Object construct():226:226 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$2 -> com.android.tools.r8.internal.Fd:
    com.android.tools.r8.com.google.gson.InstanceCreator val$rawTypeCreator -> a
    java.lang.reflect.Type val$type -> b
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.InstanceCreator,java.lang.reflect.Type):76:76 -> <init>
    1:1:java.lang.Object construct():78:78 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$3 -> com.android.tools.r8.internal.Gd:
    java.lang.reflect.Constructor val$constructor -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,java.lang.reflect.Constructor):103:103 -> <init>
    1:11:java.lang.Object construct():108:118 -> a
    12:12:java.lang.Object construct():115:115 -> a
    13:13:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":243,"2":244,"3":245}}
    243:243:java.lang.Object construct():115:115 -> a
    244:244:java.lang.Object construct():115:115 -> a
    245:245:java.lang.Object construct():115:115 -> a
    128:129:java.lang.Object construct():115:116 -> a
    130:130:java.lang.Object construct():111:111 -> a
    131:131:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":243,"2":244,"3":245}}
    243:243:java.lang.Object construct():111:111 -> a
    244:244:java.lang.Object construct():111:111 -> a
    245:245:java.lang.Object construct():111:111 -> a
    242:242:java.lang.Object construct():111:111 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$4 -> com.android.tools.r8.internal.Hd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):136:136 -> <init>
    1:1:java.lang.Object construct():138:138 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$5 -> com.android.tools.r8.internal.Id:
    java.lang.reflect.Type val$type -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,java.lang.reflect.Type):142:142 -> <init>
    1:6:java.lang.Object construct():145:150 -> a
    7:7:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":315,"2":316,"3":317}}
    315:315:java.lang.Object construct():150:150 -> a
    316:316:java.lang.Object construct():150:150 -> a
    317:317:java.lang.Object construct():150:150 -> a
    157:160:java.lang.Object construct():150:153 -> a
    161:161:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":315,"2":316,"3":317}}
    315:315:java.lang.Object construct():153:153 -> a
    316:316:java.lang.Object construct():153:153 -> a
    317:317:java.lang.Object construct():153:153 -> a
    314:314:java.lang.Object construct():153:153 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$6 -> com.android.tools.r8.internal.Jd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):158:158 -> <init>
    1:1:java.lang.Object construct():160:160 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$7 -> com.android.tools.r8.internal.Kd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):164:164 -> <init>
    1:1:java.lang.Object construct():166:166 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$8 -> com.android.tools.r8.internal.Ld:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):170:170 -> <init>
    1:1:java.lang.Object construct():172:172 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$9 -> com.android.tools.r8.internal.Md:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):180:180 -> <init>
    1:1:java.lang.Object construct():182:182 -> a
com.android.tools.r8.com.google.gson.internal.Excluder -> com.android.tools.r8.internal.ej:
    java.util.List serializationStrategies -> b
    java.util.List deserializationStrategies -> c
    com.android.tools.r8.com.google.gson.internal.Excluder DEFAULT -> d
    1:1:void <clinit>():52:52 -> <clinit>
    1:10:void <init>():50:59 -> <init>
    1:9:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):112:120 -> a
    10:34:boolean excludeField(java.lang.reflect.Field,boolean):150:174 -> a
    35:36:boolean com.android.tools.r8.com.google.gson.internal.Excluder.isAnonymousOrLocal(java.lang.Class):216:217 -> a
    35:36:boolean excludeField(java.lang.reflect.Field,boolean):174 -> a
    37:38:boolean excludeField(java.lang.reflect.Field,boolean):178:179 -> a
    39:39:void com.android.tools.r8.com.google.gson.FieldAttributes.<init>(java.lang.reflect.Field):45:45 -> a
    39:39:boolean excludeField(java.lang.reflect.Field,boolean):180 -> a
    40:41:boolean excludeField(java.lang.reflect.Field,boolean):181:182 -> a
    42:43:boolean com.android.tools.r8.com.google.gson.internal.Excluder.isAnonymousOrLocal(java.lang.Class):216:217 -> a
    42:43:boolean excludeClass(java.lang.Class,boolean):201 -> a
    44:46:boolean excludeClass(java.lang.Class,boolean):205:207 -> a
    1:3:com.android.tools.r8.com.google.gson.internal.Excluder com.android.tools.r8.com.google.gson.internal.Excluder.clone():63:65 -> clone
    1:3:java.lang.Object clone():50 -> clone
com.android.tools.r8.com.google.gson.internal.Excluder$1 -> com.android.tools.r8.internal.dj:
    com.android.tools.r8.com.google.gson.TypeAdapter delegate -> a
    com.android.tools.r8.com.google.gson.reflect.TypeToken val$type -> e
    com.android.tools.r8.com.google.gson.internal.Excluder this$0 -> f
    com.android.tools.r8.com.google.gson.Gson val$gson -> d
    boolean val$skipDeserialize -> b
    boolean val$skipSerialize -> c
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,boolean,boolean,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):120:120 -> <init>
    1:2:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):125:126 -> a
    3:6:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.internal.Excluder$1.delegate():141:144 -> a
    3:6:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):129 -> a
    7:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):129:129 -> a
    8:9:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):133:134 -> a
    10:13:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.internal.Excluder$1.delegate():141:144 -> a
    10:13:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):137 -> a
    14:14:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):137:137 -> a
com.android.tools.r8.com.google.gson.internal.JsonReaderInternalAccess -> com.android.tools.r8.internal.Ev:
    com.android.tools.r8.com.google.gson.internal.JsonReaderInternalAccess INSTANCE -> a
    1:1:void <init>():25:25 -> <init>
    void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader) -> a
com.android.tools.r8.com.google.gson.internal.LazilyParsedNumber -> com.android.tools.r8.internal.JA:
    java.lang.String value -> b
    1:2:void <init>(java.lang.String):30:31 -> <init>
    1:1:double doubleValue():63:63 -> doubleValue
    1:3:boolean equals(java.lang.Object):90:92 -> equals
    1:1:float floatValue():58:58 -> floatValue
    1:1:int hashCode():82:82 -> hashCode
    1:6:int intValue():37:42 -> intValue
    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.internal.UB:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node root -> c
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node header -> f
    boolean $assertionsDisabled -> j
    java.util.Comparator NATURAL_ORDER -> i
    int size -> d
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet entrySet -> g
    int modCount -> e
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet keySet -> h
    java.util.Comparator comparator -> b
    1:3:void <clinit>():38:40 -> <clinit>
    1:72:void <init>(java.util.Comparator):0:71 -> <init>
    73:97:void <init>(java.util.Comparator):48:72 -> <init>
    98:98:void <init>():60:60 -> <init>
    1:57:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node find(java.lang.Object,boolean):122:178 -> a
    58:72:void replaceInParent(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node):285:299 -> a
    73:91:void rebalance(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):312:330 -> a
    92:114:void rebalance(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):326:348 -> a
    115:133:void rebalance(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):344:362 -> a
    134:134:void rebalance(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):311:311 -> a
    135:155:void rotateLeft(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node):374:394 -> a
    1:19:void removeInternal(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):219:237 -> b
    20:23:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node.last():517:520 -> b
    20:23:void removeInternal(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):237 -> b
    24:27:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node.first():504:507 -> b
    24:27:void removeInternal(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):237 -> b
    28:63:void removeInternal(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):238:273 -> b
    64:84:void rotateRight(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node):402:422 -> b
    1:7:void clear():101:107 -> clear
    1:1:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> containsKey
    1:1:boolean containsKey(java.lang.Object):87 -> containsKey
    1:2:java.util.Set entrySet():430:431 -> entrySet
    1:1:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> get
    1:1:java.lang.Object get(java.lang.Object):82 -> get
    2:2:java.lang.Object get(java.lang.Object):83:83 -> get
    1:2:java.util.Set keySet():435:436 -> keySet
    1:3:java.lang.Object put(java.lang.Object,java.lang.Object):94:96 -> put
    4:4:java.lang.Object put(java.lang.Object,java.lang.Object):92:92 -> put
    1:1:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> remove
    1:1:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.removeInternalByKey(java.lang.Object):277 -> remove
    1:1:java.lang.Object remove(java.lang.Object):111 -> remove
    2:2:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.removeInternalByKey(java.lang.Object):279:279 -> remove
    2:2:java.lang.Object remove(java.lang.Object):111 -> remove
    3:3:java.lang.Object remove(java.lang.Object):112:112 -> remove
    1:1:int size():78:78 -> size
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$1 -> com.android.tools.r8.internal.NB:
    1:1:void <init>():40:40 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):40:40 -> compare
    2:2:int com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$1.compare(java.lang.Comparable,java.lang.Comparable):42:42 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):40 -> compare
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet -> com.android.tools.r8.internal.PB:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):560:560 -> <init>
    1:1:void clear():591:591 -> clear
    1:1:boolean contains(java.lang.Object):574:574 -> contains
    2:2:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):202:202 -> contains
    2:2:boolean contains(java.lang.Object):574 -> contains
    3:3:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> contains
    3:3:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):202 -> contains
    3:3:boolean contains(java.lang.Object):574 -> contains
    4:4:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):203:203 -> contains
    4:4:boolean contains(java.lang.Object):574 -> contains
    5:5:boolean com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.equal(java.lang.Object,java.lang.Object):208:208 -> contains
    5:5:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):203 -> contains
    5:5:boolean contains(java.lang.Object):574 -> contains
    1:1:java.util.Iterator iterator():566:566 -> iterator
    1:5:boolean remove(java.lang.Object):578:582 -> remove
    6:6:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):202:202 -> remove
    6:6:boolean remove(java.lang.Object):582 -> remove
    7:7:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> remove
    7:7:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):202 -> remove
    7:7:boolean remove(java.lang.Object):582 -> remove
    8:8:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):203:203 -> remove
    8:8:boolean remove(java.lang.Object):582 -> remove
    9:9:boolean com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.equal(java.lang.Object,java.lang.Object):208:208 -> remove
    9:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):203 -> remove
    9:9:boolean remove(java.lang.Object):582 -> remove
    10:10:boolean remove(java.lang.Object):586:586 -> remove
    1:1:int size():562:562 -> size
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1 -> com.android.tools.r8.internal.OB:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet):566:566 -> <init>
    1:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():539:547 -> next
    1:9:java.util.Map$Entry com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1.next():568 -> next
    1:9:java.lang.Object next():566 -> next
    10:10:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():544:544 -> next
    10:10:java.util.Map$Entry com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1.next():568 -> next
    10:10:java.lang.Object next():566 -> next
    11:11:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():541:541 -> next
    11:11:java.util.Map$Entry com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1.next():568 -> next
    11:11:java.lang.Object next():566 -> next
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet -> com.android.tools.r8.internal.RB:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):595:595 -> <init>
    1:1:void clear():617:617 -> clear
    1:1:boolean contains(java.lang.Object):609:609 -> contains
    1:1:java.util.Iterator iterator():601:601 -> iterator
    1:1:boolean remove(java.lang.Object):613:613 -> remove
    2:2:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> remove
    2:2:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.removeInternalByKey(java.lang.Object):277 -> remove
    2:2:boolean remove(java.lang.Object):613 -> remove
    3:3:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.removeInternalByKey(java.lang.Object):279:279 -> remove
    3:3:boolean remove(java.lang.Object):613 -> remove
    1:1:int size():597:597 -> size
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet$1 -> com.android.tools.r8.internal.QB:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet):601:601 -> <init>
    1:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():539:547 -> next
    1:9:java.lang.Object next():603 -> next
    10:10:java.lang.Object next():603:603 -> next
    11:11:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():544:544 -> next
    11:11:java.lang.Object next():603 -> next
    12:12:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():541:541 -> next
    12:12:java.lang.Object next():603 -> next
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator -> com.android.tools.r8.internal.SB:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node lastReturned -> c
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap this$0 -> e
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node next -> b
    int expectedModCount -> d
    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: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.internal.TB:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node right -> d
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node left -> c
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node prev -> f
    java.lang.Object value -> h
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node next -> e
    java.lang.Object key -> g
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node parent -> b
    int height -> i
    1:3:void <init>():450:452 -> <init>
    4:11:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,java.lang.Object,com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node):456:463 -> <init>
    1:4:boolean equals(java.lang.Object):482:485 -> equals
    1:1:java.lang.Object getKey():467:467 -> getKey
    1:1:java.lang.Object getValue():471:471 -> getValue
    1:2:int hashCode():491:492 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):475:476 -> setValue
    1:1:java.lang.String toString():496:496 -> toString
com.android.tools.r8.com.google.gson.internal.ObjectConstructor -> com.android.tools.r8.internal.FJ:
    java.lang.Object construct() -> a
com.android.tools.r8.com.google.gson.internal.Primitives -> com.android.tools.r8.internal.wM:
    java.util.Map PRIMITIVE_TO_WRAPPER_TYPE -> a
    1:4:void <clinit>():45:48 -> <clinit>
    5:6:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    5:6:void <clinit>():48 -> <clinit>
    7:7:void <clinit>():49:49 -> <clinit>
    8:9:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    8:9:void <clinit>():49 -> <clinit>
    10:10:void <clinit>():50:50 -> <clinit>
    11:12:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    11:12:void <clinit>():50 -> <clinit>
    13:13:void <clinit>():51:51 -> <clinit>
    14:15:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    14:15:void <clinit>():51 -> <clinit>
    16:16:void <clinit>():52:52 -> <clinit>
    17:18:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    17:18:void <clinit>():52 -> <clinit>
    19:19:void <clinit>():53:53 -> <clinit>
    20:21:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    20:21:void <clinit>():53 -> <clinit>
    22:22:void <clinit>():54:54 -> <clinit>
    23:24:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    23:24:void <clinit>():54 -> <clinit>
    25:25:void <clinit>():55:55 -> <clinit>
    26:27:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    26:27:void <clinit>():55 -> <clinit>
    28:28:void <clinit>():56:56 -> <clinit>
    29:30:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    29:30:void <clinit>():56 -> <clinit>
    31:32:void <clinit>():58:59 -> <clinit>
    1:1:boolean isPrimitive(java.lang.reflect.Type):72:72 -> a
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator -> com.android.tools.r8.internal.J00:
    1:1:void <init>():31:31 -> <init>
    1:62:com.android.tools.r8.com.google.gson.internal.UnsafeAllocator create():40:101 -> a
    63:68:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):115:120 -> a
    63:68:void access$000(java.lang.Class):31 -> a
    69:69:void access$000(java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":76,"2":77,"3":78}}
    76:76:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):120:120 -> a
    76:76:void access$000(java.lang.Class):31 -> a
    77:77:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):120:120 -> a
    77:77:void access$000(java.lang.Class):31 -> a
    78:78:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):120:120 -> a
    78:78:void access$000(java.lang.Class):31 -> a
    70:70:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):120:120 -> a
    70:70:void access$000(java.lang.Class):31 -> a
    71:71:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    71:71:void access$000(java.lang.Class):31 -> a
    72:72:void access$000(java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":79,"2":80,"3":81}}
    79:79:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    79:79:void access$000(java.lang.Class):31 -> a
    80:80:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    80:80:void access$000(java.lang.Class):31 -> a
    81:81:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    81:81:void access$000(java.lang.Class):31 -> a
    73:73:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    73:73:void access$000(java.lang.Class):31 -> a
    java.lang.Object newInstance(java.lang.Class) -> b
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$1 -> com.android.tools.r8.internal.F00:
    java.lang.Object val$unsafe -> b
    java.lang.reflect.Method val$allocateInstance -> a
    1:1:void <init>(java.lang.reflect.Method,java.lang.Object):45:45 -> <init>
    1:2:java.lang.Object newInstance(java.lang.Class):49:50 -> b
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$2 -> com.android.tools.r8.internal.G00:
    int val$constructorId -> b
    java.lang.reflect.Method val$newInstance -> a
    1:1:void <init>(java.lang.reflect.Method,int):69:69 -> <init>
    1:2:java.lang.Object newInstance(java.lang.Class):73:74 -> b
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$3 -> com.android.tools.r8.internal.H00:
    java.lang.reflect.Method val$newInstance -> a
    1:1:void <init>(java.lang.reflect.Method):89:89 -> <init>
    1:2:java.lang.Object newInstance(java.lang.Class):93:94 -> b
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$4 -> com.android.tools.r8.internal.I00:
    1:1:void <init>():101:101 -> <init>
    1:1:java.lang.Object newInstance(java.lang.Class):104:104 -> b
com.android.tools.r8.com.google.gson.internal.bind.ArrayTypeAdapter -> com.android.tools.r8.internal.o3:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> c
    com.android.tools.r8.com.google.gson.TypeAdapter componentTypeAdapter -> b
    java.lang.Class componentType -> a
    1:1:void <clinit>():39:39 -> <clinit>
    1:4:void <init>(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.TypeAdapter,java.lang.Class):57:60 -> <init>
    1:15:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):64:78 -> a
    16:25:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):86:95 -> a
com.android.tools.r8.com.google.gson.internal.bind.ArrayTypeAdapter$1 -> com.android.tools.r8.internal.n3:
    1:1:void <init>():39:39 -> <init>
    1:2:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):42:43 -> a
    3:5:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getArrayComponentType(java.lang.reflect.Type):280:282 -> a
    3:5:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):47 -> a
    6:8:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):48:50 -> a
com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory -> com.android.tools.r8.internal.Yb:
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
    1:2:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):39:40 -> <init>
    1:13:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):45:57 -> a
com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.Xb:
    com.android.tools.r8.com.google.gson.TypeAdapter elementTypeAdapter -> a
    com.android.tools.r8.com.google.gson.internal.ObjectConstructor constructor -> b
    1:4:void <init>(com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.internal.ObjectConstructor):67:70 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):61:61 -> a
    2:10:void com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Collection):91:99 -> a
    2:10:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):61 -> a
    11:22:java.util.Collection com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):74:85 -> a
    11:22:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):61 -> a
com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter -> com.android.tools.r8.internal.re:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> c
    java.text.DateFormat localFormat -> b
    java.text.DateFormat enUsFormat -> a
    1:1:void <clinit>():42:42 -> <clinit>
    1:12:void <init>():41:52 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):41:41 -> a
    2:6:void com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Date):80:84 -> a
    2:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):41 -> a
    7:11:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):55:59 -> a
    7:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):41 -> a
    12:21:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(java.lang.String):64:64 -> a
    12:21:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):59 -> a
    12:21:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):41 -> a
    31:31:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(java.lang.String):74:74 -> a
    31:31:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):59 -> a
    31:31:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):41 -> a
com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter$1 -> com.android.tools.r8.internal.qe:
    1:1:void <init>():42:42 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):45:45 -> a
com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory -> com.android.tools.r8.internal.tv:
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
    1:2:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):37:38 -> <init>
    1:6:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):44:49 -> a
    7:29:com.android.tools.r8.com.google.gson.TypeAdapter getTypeAdapter(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,com.android.tools.r8.com.google.gson.annotations.JsonAdapter):55:77 -> a
    30:30:com.android.tools.r8.com.google.gson.TypeAdapter getTypeAdapter(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,com.android.tools.r8.com.google.gson.annotations.JsonAdapter):71:71 -> a
com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter -> com.android.tools.r8.internal.Iv:
    java.io.Writer UNWRITABLE_WRITER -> p
    com.android.tools.r8.com.google.gson.JsonPrimitive SENTINEL_CLOSED -> q
    java.lang.String pendingName -> n
    com.android.tools.r8.com.google.gson.JsonElement product -> o
    java.util.List stack -> m
    1:13:void <clinit>():34:46 -> <clinit>
    1:1:void <init>():58:58 -> <init>
    2:8:void <init>():49:55 -> <init>
    1:1:void put(com.android.tools.r8.com.google.gson.JsonElement):76:76 -> a
    2:2:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonNull():74:74 -> a
    2:2:void put(com.android.tools.r8.com.google.gson.JsonElement):77 -> a
    3:3:void put(com.android.tools.r8.com.google.gson.JsonElement):77:77 -> a
    4:4:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> a
    4:4:void put(com.android.tools.r8.com.google.gson.JsonElement):78 -> a
    5:10:void put(com.android.tools.r8.com.google.gson.JsonElement):78:83 -> a
    11:11:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> a
    11:11:void put(com.android.tools.r8.com.google.gson.JsonElement):85 -> a
    12:15:void put(com.android.tools.r8.com.google.gson.JsonElement):86:89 -> a
    16:16:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):133:133 -> a
    17:17:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> a
    17:17:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):136 -> a
    18:22:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):137:141 -> a
    23:23:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):134:134 -> a
    24:24:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.nullValue():153:153 -> a
    24:24:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Boolean):164 -> a
    25:25:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Boolean):166:166 -> a
    26:26:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.nullValue():153:153 -> a
    26:26:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Number):185 -> a
    27:34:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Number):188:195 -> a
    35:35:com.android.tools.r8.com.google.gson.stream.JsonWriter value(long):179:179 -> a
    1:3:com.android.tools.r8.com.google.gson.stream.JsonWriter beginArray():95:97 -> b
    1:3:com.android.tools.r8.com.google.gson.stream.JsonWriter beginObject():114:116 -> c
    4:4:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.nullValue():153:153 -> c
    4:4:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.String):146 -> c
    5:5:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.String):148:148 -> c
    1:4:void close():203:206 -> close
    5:5:void close():204:204 -> close
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():102:102 -> d
    2:2:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> d
    2:2:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():105 -> d
    3:7:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():106:110 -> d
    8:8:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():103:103 -> d
    9:9:com.android.tools.r8.com.google.gson.stream.JsonWriter value(boolean):158:158 -> d
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():121:121 -> e
    2:2:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> e
    2:2:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():124 -> e
    3:7:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():125:129 -> e
    8:8:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():122:122 -> e
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter nullValue():153:153 -> j
    1:4:com.android.tools.r8.com.google.gson.JsonElement get():65:68 -> m
    5:5:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
    6:6:com.android.tools.r8.com.google.gson.JsonElement get():0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":73,"2":74,"3":75}}
    73:73:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
    74:74:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
    75:75:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
    72:72:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter$1 -> com.android.tools.r8.internal.Hv:
    1:1:void <init>():34:34 -> <init>
    1:1:void close():42:42 -> close
    1:1:void flush():39:39 -> flush
    1:1:void write(char[],int,int):36:36 -> write
com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory -> com.android.tools.r8.internal.kD:
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
    boolean complexMapKeySerialization -> c
    1:3:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,boolean):110:112 -> <init>
    1:10:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):116:125 -> a
    11:14:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory.getKeyAdapter(com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Type):140:140 -> a
    11:14:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):125 -> a
    15:20:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):126:131 -> a
com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.jD:
    com.android.tools.r8.com.google.gson.TypeAdapter keyTypeAdapter -> a
    com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory this$0 -> d
    com.android.tools.r8.com.google.gson.TypeAdapter valueTypeAdapter -> b
    com.android.tools.r8.com.google.gson.internal.ObjectConstructor constructor -> c
    1:6:void <init>(com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory,com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.TypeAdapter,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.internal.ObjectConstructor):152:157 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145:145 -> a
    2:21:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):200:219 -> a
    2:21:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    22:24:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.TypeAdapter.toJsonTree(java.lang.Object):233:235 -> a
    22:24:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):219 -> a
    22:24:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    25:27:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):220:222 -> a
    25:27:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    28:28:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonArray():46:46 -> a
    28:28:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):222 -> a
    28:28:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    29:29:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    29:29:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):222 -> a
    29:29:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    30:30:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.TypeAdapter.toJsonTree(java.lang.Object):237:237 -> a
    30:30:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):219 -> a
    30:30:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    31:34:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):226:229 -> a
    31:34:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    35:35:void com.android.tools.r8.com.google.gson.internal.Streams.write(com.android.tools.r8.com.google.gson.JsonElement,com.android.tools.r8.com.google.gson.stream.JsonWriter):72:72 -> a
    35:35:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):229 -> a
    35:35:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    36:43:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):230:237 -> a
    36:43:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    44:44:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):246:246 -> a
    44:44:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    44:44:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    45:45:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonPrimitive():64:64 -> a
    45:45:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):246 -> a
    45:45:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    45:45:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    46:46:com.android.tools.r8.com.google.gson.JsonPrimitive com.android.tools.r8.com.google.gson.JsonElement.getAsJsonPrimitive():120:120 -> a
    46:46:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):247 -> a
    46:46:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    46:46:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    47:54:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):248:255 -> a
    47:54:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    47:54:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    55:55:com.android.tools.r8.com.google.gson.JsonPrimitive com.android.tools.r8.com.google.gson.JsonElement.getAsJsonPrimitive():122:122 -> a
    55:55:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):247 -> a
    55:55:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    55:55:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    56:56:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonNull():74:74 -> a
    56:56:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):257 -> a
    56:56:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    56:56:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    57:57:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):258:258 -> a
    57:57:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    57:57:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    58:59:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238:239 -> a
    58:59:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    60:60:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):260:260 -> a
    60:60:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    60:60:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    61:61:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):241:241 -> a
    61:61:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    62:80:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):161:179 -> a
    62:80:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):145 -> a
    81:97:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):177:193 -> a
    81:97:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):145 -> a
com.android.tools.r8.com.google.gson.internal.bind.ObjectTypeAdapter -> com.android.tools.r8.internal.cK:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> b
    com.android.tools.r8.com.google.gson.Gson gson -> a
    1:1:void <clinit>():38:38 -> <clinit>
    1:2:void <init>(com.android.tools.r8.com.google.gson.Gson):50:51 -> <init>
    1:35:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):55:89 -> a
    36:36:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):85:85 -> a
    37:37:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):82:82 -> a
    38:38:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):79:79 -> a
    39:39:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):76:76 -> a
    40:40:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):67:67 -> a
    41:41:void com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.<init>():60:60 -> a
    41:41:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):67 -> a
    42:46:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):68:72 -> a
    47:52:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):58:63 -> a
    53:57:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):96:100 -> a
    58:58:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.Gson.getAdapter(java.lang.Class):521:521 -> a
    58:58:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):100 -> a
    59:65:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):101:107 -> a
com.android.tools.r8.com.google.gson.internal.bind.ObjectTypeAdapter$1 -> com.android.tools.r8.internal.bK:
    1:1:void <init>():38:38 -> <init>
    1:2:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):41:42 -> a
com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory -> com.android.tools.r8.internal.OR:
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
    com.android.tools.r8.com.google.gson.internal.Excluder excluder -> d
    com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory jsonAdapterFactory -> e
    com.android.tools.r8.com.google.gson.FieldNamingStrategy fieldNamingPolicy -> c
    1:60:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.FieldNamingStrategy,com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory):0:59 -> <init>
    1:1:boolean excludeField(java.lang.reflect.Field,boolean):63:63 -> a
    2:2:boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.excludeField(java.lang.reflect.Field,boolean,com.android.tools.r8.com.google.gson.internal.Excluder):67:67 -> a
    2:2:boolean excludeField(java.lang.reflect.Field,boolean):63 -> a
    3:10:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):93:100 -> a
    11:26:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):143:158 -> a
    11:26:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    27:42:java.util.List com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldNames(java.lang.reflect.Field):72:87 -> a
    27:42:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):159 -> a
    27:42:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    43:47:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):161:165 -> a
    43:47:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    48:60:com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Field,java.lang.String,com.android.tools.r8.com.google.gson.reflect.TypeToken,boolean,boolean):106:118 -> a
    48:60:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):164 -> a
    48:60:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    61:70:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):166:175 -> a
    61:70:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    71:71:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100:100 -> a
com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 -> com.android.tools.r8.internal.MR:
    com.android.tools.r8.com.google.gson.reflect.TypeToken val$fieldType -> h
    boolean val$isPrimitive -> i
    java.lang.reflect.Field val$field -> d
    boolean val$jsonAdapterPresent -> e
    com.android.tools.r8.com.google.gson.Gson val$context -> g
    java.lang.String com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.name -> a
    boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.serialized -> b
    boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.deserialized -> c
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> f
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory,java.lang.String,boolean,boolean,java.lang.reflect.Field,boolean,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,boolean):118:118 -> <init>
    2:5:void com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.<init>(java.lang.String,boolean,boolean):185:188 -> <init>
    2:5:void <init>(com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory,java.lang.String,boolean,boolean,java.lang.reflect.Field,boolean,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,boolean):118 -> <init>
com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.NR:
    java.util.Map boundFields -> b
    com.android.tools.r8.com.google.gson.internal.ObjectConstructor constructor -> a
    1:3:void <init>(com.android.tools.r8.com.google.gson.internal.ObjectConstructor,java.util.Map):199:201 -> <init>
    1:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):205:217 -> a
    14:16:void com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(com.android.tools.r8.com.google.gson.stream.JsonReader,java.lang.Object):129:131 -> a
    14:16:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):220 -> a
    17:27:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):218:228 -> a
    28:28:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):226:226 -> a
    29:29:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):224:224 -> a
    30:36:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):234:240 -> a
    37:37:boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.writeField(java.lang.Object):135:135 -> a
    37:37:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):241 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.writeField(java.lang.Object):136:136 -> a
    38:38:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):241 -> a
    39:39:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):242:242 -> a
    40:43:void com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):122:125 -> a
    40:43:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):243 -> a
    44:44:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):249:249 -> a
    45:45:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):247:247 -> a
com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter -> com.android.tools.r8.internal.oV:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> b
    java.text.DateFormat format -> a
    1:1:void <clinit>():39:39 -> <clinit>
    1:10:void <init>():38:47 -> <init>
    1:1:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):38:38 -> a
    2:10:java.sql.Date com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):51:59 -> a
    2:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):38 -> a
    11:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):38:38 -> a
    12:12:void com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.sql.Date):65:65 -> a
    12:12:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):38 -> a
com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter$1 -> com.android.tools.r8.internal.nV:
    1:1:void <init>():39:39 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):42:42 -> a
com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter -> com.android.tools.r8.internal.hY:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> b
    java.text.DateFormat format -> a
    1:1:void <clinit>():41:41 -> <clinit>
    1:9:void <init>():40:48 -> <init>
    1:1:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):40:40 -> a
    2:10:java.sql.Time com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):51:59 -> a
    2:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):40 -> a
    11:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):40:40 -> a
    12:12:void com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.sql.Time):64:64 -> a
    12:12:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):40 -> a
com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter$1 -> com.android.tools.r8.internal.gY:
    1:1:void <init>():41:41 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):44:44 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper -> com.android.tools.r8.internal.YY:
    java.lang.reflect.Type type -> c
    com.android.tools.r8.com.google.gson.TypeAdapter delegate -> b
    com.android.tools.r8.com.google.gson.Gson context -> a
    1:4:void <init>(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.TypeAdapter,java.lang.reflect.Type):33:36 -> <init>
    1:1:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):41:41 -> a
    2:3:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):53:54 -> a
    4:6:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.getRuntimeTypeIfMoreSpecific(java.lang.reflect.Type,java.lang.Object):76:78 -> a
    4:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):54 -> a
    7:21:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):55:69 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters -> com.android.tools.r8.internal.KZ:
    com.android.tools.r8.com.google.gson.TypeAdapter FLOAT -> l
    com.android.tools.r8.com.google.gson.TypeAdapterFactory URL_FACTORY -> u
    com.android.tools.r8.com.google.gson.TypeAdapterFactory STRING_BUILDER_FACTORY -> s
    com.android.tools.r8.com.google.gson.TypeAdapter BIG_DECIMAL -> p
    com.android.tools.r8.com.google.gson.TypeAdapterFactory CURRENCY_FACTORY -> y
    com.android.tools.r8.com.google.gson.TypeAdapterFactory INET_ADDRESS_FACTORY -> w
    com.android.tools.r8.com.google.gson.TypeAdapter JSON_ELEMENT -> C
    com.android.tools.r8.com.google.gson.TypeAdapterFactory CHARACTER_FACTORY -> o
    com.android.tools.r8.com.google.gson.TypeAdapterFactory JSON_ELEMENT_FACTORY -> D
    com.android.tools.r8.com.google.gson.TypeAdapterFactory BYTE_FACTORY -> e
    com.android.tools.r8.com.google.gson.TypeAdapterFactory LOCALE_FACTORY -> B
    com.android.tools.r8.com.google.gson.TypeAdapterFactory ATOMIC_BOOLEAN_FACTORY -> i
    com.android.tools.r8.com.google.gson.TypeAdapterFactory INTEGER_FACTORY -> g
    com.android.tools.r8.com.google.gson.TypeAdapterFactory TIMESTAMP_FACTORY -> z
    com.android.tools.r8.com.google.gson.TypeAdapterFactory CLASS_FACTORY -> a
    com.android.tools.r8.com.google.gson.TypeAdapterFactory STRING_BUFFER_FACTORY -> t
    com.android.tools.r8.com.google.gson.TypeAdapter DOUBLE -> m
    com.android.tools.r8.com.google.gson.TypeAdapterFactory STRING_FACTORY -> r
    com.android.tools.r8.com.google.gson.TypeAdapter LONG -> k
    com.android.tools.r8.com.google.gson.TypeAdapterFactory UUID_FACTORY -> x
    com.android.tools.r8.com.google.gson.TypeAdapter BIG_INTEGER -> q
    com.android.tools.r8.com.google.gson.TypeAdapterFactory URI_FACTORY -> v
    com.android.tools.r8.com.google.gson.TypeAdapterFactory ATOMIC_INTEGER_ARRAY_FACTORY -> j
    com.android.tools.r8.com.google.gson.TypeAdapter BOOLEAN_AS_STRING -> c
    com.android.tools.r8.com.google.gson.TypeAdapterFactory NUMBER_FACTORY -> n
    com.android.tools.r8.com.google.gson.TypeAdapterFactory BOOLEAN_FACTORY -> d
    com.android.tools.r8.com.google.gson.TypeAdapterFactory ENUM_FACTORY -> E
    com.android.tools.r8.com.google.gson.TypeAdapterFactory BIT_SET_FACTORY -> b
    com.android.tools.r8.com.google.gson.TypeAdapterFactory ATOMIC_INTEGER_FACTORY -> h
    com.android.tools.r8.com.google.gson.TypeAdapterFactory SHORT_FACTORY -> f
    com.android.tools.r8.com.google.gson.TypeAdapterFactory CALENDAR_FACTORY -> A
    1:1:void <clinit>():69:69 -> <clinit>
    2:2:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    2:2:void <clinit>():90 -> <clinit>
    3:5:void <clinit>():90:92 -> <clinit>
    6:6:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    6:6:void <clinit>():149 -> <clinit>
    7:45:void <clinit>():149:187 -> <clinit>
    46:46:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    46:46:void <clinit>():188 -> <clinit>
    47:69:void <clinit>():188:210 -> <clinit>
    70:70:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    70:70:void <clinit>():211 -> <clinit>
    71:92:void <clinit>():211:232 -> <clinit>
    93:93:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    93:93:void <clinit>():233 -> <clinit>
    94:114:void <clinit>():233:253 -> <clinit>
    115:115:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    115:115:void <clinit>():254 -> <clinit>
    116:129:void <clinit>():254:267 -> <clinit>
    130:130:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    130:130:void <clinit>():269 -> <clinit>
    131:140:void <clinit>():269:278 -> <clinit>
    141:141:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    141:141:void <clinit>():280 -> <clinit>
    142:171:void <clinit>():280:309 -> <clinit>
    172:172:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    172:172:void <clinit>():311 -> <clinit>
    173:224:void <clinit>():311:362 -> <clinit>
    225:225:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    225:225:void <clinit>():382 -> <clinit>
    226:247:void <clinit>():382:403 -> <clinit>
    248:248:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    248:248:void <clinit>():404 -> <clinit>
    249:289:void <clinit>():404:444 -> <clinit>
    290:290:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    290:290:void <clinit>():462 -> <clinit>
    291:293:void <clinit>():462:464 -> <clinit>
    294:294:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    294:294:void <clinit>():480 -> <clinit>
    295:297:void <clinit>():480:482 -> <clinit>
    298:298:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    298:298:void <clinit>():498 -> <clinit>
    299:301:void <clinit>():498:500 -> <clinit>
    302:302:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    302:302:void <clinit>():516 -> <clinit>
    303:305:void <clinit>():516:518 -> <clinit>
    306:306:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    306:306:void <clinit>():538 -> <clinit>
    307:309:void <clinit>():538:540 -> <clinit>
    310:310:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newTypeHierarchyFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):897:897 -> <clinit>
    310:310:void <clinit>():557 -> <clinit>
    311:313:void <clinit>():557:559 -> <clinit>
    314:314:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    314:314:void <clinit>():574 -> <clinit>
    315:326:void <clinit>():574:585 -> <clinit>
    327:327:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    327:327:void <clinit>():586 -> <clinit>
    328:351:void <clinit>():586:609 -> <clinit>
    352:352:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactoryForMultipleTypes(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):878:878 -> <clinit>
    352:352:void <clinit>():675 -> <clinit>
    353:355:void <clinit>():675:677 -> <clinit>
    356:356:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    356:356:void <clinit>():712 -> <clinit>
    357:359:void <clinit>():712:714 -> <clinit>
    360:360:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newTypeHierarchyFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):897:897 -> <clinit>
    360:360:void <clinit>():787 -> <clinit>
    361:398:void <clinit>():787:824 -> <clinit>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> a
    2:2:com.android.tools.r8.com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1 -> com.android.tools.r8.internal.jZ:
    1:1:void <init>():69:69 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69:69 -> a
    2:4:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):73:75 -> a
    2:4:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    5:5:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):75:75 -> a
    7:7:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    8:8:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):75:75 -> a
    8:8:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    9:9:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):75:75 -> a
    9:9:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    6:6:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):76:76 -> a
    6:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    10:14:java.lang.Class com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.read(com.android.tools.r8.com.google.gson.stream.JsonReader):81:85 -> a
    10:14:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):69 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10 -> com.android.tools.r8.internal.ZY:
    1:1:void <init>():282:282 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):282:282 -> a
    2:6:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicIntegerArray):303:307 -> a
    2:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):282 -> a
    7:21:java.util.concurrent.atomic.AtomicIntegerArray com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10.read(com.android.tools.r8.com.google.gson.stream.JsonReader):284:298 -> a
    7:21:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):282 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11 -> com.android.tools.r8.internal.aZ:
    1:1:void <init>():313:313 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):313:313 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):328:328 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):313 -> a
    3:10:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11.read(com.android.tools.r8.com.google.gson.stream.JsonReader):316:323 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):313 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12 -> com.android.tools.r8.internal.bZ:
    1:1:void <init>():332:332 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):332:332 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):343:343 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):332 -> a
    3:7:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12.read(com.android.tools.r8.com.google.gson.stream.JsonReader):335:339 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):332 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13 -> com.android.tools.r8.internal.cZ:
    1:1:void <init>():347:347 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):347:347 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):358:358 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):347 -> a
    3:7:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13.read(com.android.tools.r8.com.google.gson.stream.JsonReader):350:354 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):347 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14 -> com.android.tools.r8.internal.dZ:
    1:1:void <init>():362:362 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):362:362 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):378:378 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):362 -> a
    3:11:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):365:373 -> a
    3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    12:12:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18}}
    16:16:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):373:373 -> a
    16:16:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    17:17:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):373:373 -> a
    17:17:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    18:18:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):373:373 -> a
    18:18:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    13:13:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):373:373 -> a
    13:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    14:14:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):371:371 -> a
    14:14:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15 -> com.android.tools.r8.internal.eZ:
    1:1:void <init>():384:384 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):384:384 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Character):399:399 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):384 -> a
    3:11:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):387:395 -> a
    3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    12:12:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    12:12:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    13:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17,"4":18,"5":19}}
    15:15:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    15:15:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    16:16:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    16:16:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    17:17:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    17:17:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    18:18:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    18:18:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    19:19:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    19:19:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    14:14:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    14:14:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16 -> com.android.tools.r8.internal.fZ:
    1:1:void <init>():406:406 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):406:406 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.String):422:422 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):406 -> a
    3:12:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16.read(com.android.tools.r8.com.google.gson.stream.JsonReader):409:418 -> a
    3:12:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):406 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17 -> com.android.tools.r8.internal.gZ:
    1:1:void <init>():426:426 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):426:426 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.math.BigDecimal):440:440 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):426 -> a
    3:10:java.math.BigDecimal com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17.read(com.android.tools.r8.com.google.gson.stream.JsonReader):428:435 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):426 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18 -> com.android.tools.r8.internal.hZ:
    1:1:void <init>():444:444 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):444:444 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.math.BigInteger):458:458 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):444 -> a
    3:10:java.math.BigInteger com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18.read(com.android.tools.r8.com.google.gson.stream.JsonReader):446:453 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):444 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19 -> com.android.tools.r8.internal.iZ:
    1:1:void <init>():464:464 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):464:464 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.StringBuilder):475:475 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):464 -> a
    3:7:java.lang.StringBuilder com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19.read(com.android.tools.r8.com.google.gson.stream.JsonReader):467:471 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):464 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2 -> com.android.tools.r8.internal.vZ:
    1:1:void <init>():92:92 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):92:92 -> a
    2:11:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.BitSet):136:145 -> a
    2:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):92 -> a
    12:40:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):94:122 -> a
    12:40:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    41:41:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":82,"2":83,"3":84}}
    82:82:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):122:122 -> a
    82:82:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    83:83:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):122:122 -> a
    83:83:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    84:84:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):122:122 -> a
    84:84:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    42:42:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):122:122 -> a
    42:42:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    43:43:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):110:110 -> a
    43:43:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    44:65:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):107:128 -> a
    44:65:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    66:66:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    66:66:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    67:67:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":85,"2":86,"3":87,"4":88,"5":89}}
    85:85:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    85:85:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    86:86:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    86:86:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    87:87:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    87:87:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    88:88:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    88:88:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    89:89:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    89:89:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    68:81:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:130 -> a
    68:81:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20 -> com.android.tools.r8.internal.kZ:
    1:1:void <init>():482:482 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):482:482 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.StringBuffer):493:493 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):482 -> a
    3:7:java.lang.StringBuffer com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20.read(com.android.tools.r8.com.google.gson.stream.JsonReader):485:489 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):482 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21 -> com.android.tools.r8.internal.lZ:
    1:1:void <init>():500:500 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):500:500 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.net.URL):512:512 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):500 -> a
    3:8:java.net.URL com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21.read(com.android.tools.r8.com.google.gson.stream.JsonReader):503:508 -> a
    3:8:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):500 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22 -> com.android.tools.r8.internal.mZ:
    1:1:void <init>():518:518 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):518:518 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.net.URI):534:534 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):518 -> a
    3:11:java.net.URI com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22.read(com.android.tools.r8.com.google.gson.stream.JsonReader):521:529 -> a
    3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):518 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23 -> com.android.tools.r8.internal.nZ:
    1:1:void <init>():540:540 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):540:540 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.net.InetAddress):552:552 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):540 -> a
    3:8:java.net.InetAddress com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23.read(com.android.tools.r8.com.google.gson.stream.JsonReader):543:548 -> a
    3:8:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):540 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24 -> com.android.tools.r8.internal.oZ:
    1:1:void <init>():559:559 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):559:559 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.UUID):570:570 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):559 -> a
    3:7:java.util.UUID com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24.read(com.android.tools.r8.com.google.gson.stream.JsonReader):562:566 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):559 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25 -> com.android.tools.r8.internal.pZ:
    1:1:void <init>():576:576 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):576:576 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Currency):583:583 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):576 -> a
    3:3:java.util.Currency com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25.read(com.android.tools.r8.com.google.gson.stream.JsonReader):579:579 -> a
    3:3:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):576 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26 -> com.android.tools.r8.internal.rZ:
    1:1:void <init>():588:588 -> <init>
    1:5:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):591:595 -> a
    6:6:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.Gson.getAdapter(java.lang.Class):521:521 -> a
    6:6:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):595 -> a
    7:7:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):596:596 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26$1 -> com.android.tools.r8.internal.qZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$dateTypeAdapter -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26,com.android.tools.r8.com.google.gson.TypeAdapter):596:596 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):596:596 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.sql.Timestamp):603:603 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):596 -> a
    3:4:java.sql.Timestamp com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26$1.read(com.android.tools.r8.com.google.gson.stream.JsonReader):598:599 -> a
    3:4:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):596 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27 -> com.android.tools.r8.internal.sZ:
    1:1:void <init>():609:609 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):609:609 -> a
    2:18:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Calendar):654:670 -> a
    2:18:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):609 -> a
    19:48:java.util.Calendar com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27.read(com.android.tools.r8.com.google.gson.stream.JsonReader):619:648 -> a
    19:48:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):609 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28 -> com.android.tools.r8.internal.tZ:
    1:1:void <init>():677:677 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):677:677 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Locale):708:708 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):677 -> a
    3:26:java.util.Locale com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28.read(com.android.tools.r8.com.google.gson.stream.JsonReader):680:703 -> a
    3:26:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):677 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$29 -> com.android.tools.r8.internal.uZ:
    1:1:void <init>():714:714 -> <init>
    1:1:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonNull():74:74 -> a
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):753 -> a
    2:2:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonPrimitive():64:64 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):755 -> a
    3:3:com.android.tools.r8.com.google.gson.JsonPrimitive com.android.tools.r8.com.google.gson.JsonElement.getAsJsonPrimitive():120:120 -> a
    3:3:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):756 -> a
    4:9:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):757:762 -> a
    10:10:com.android.tools.r8.com.google.gson.JsonPrimitive com.android.tools.r8.com.google.gson.JsonElement.getAsJsonPrimitive():122:122 -> a
    10:10:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):756 -> a
    11:11:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonArray():46:46 -> a
    11:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):765 -> a
    12:16:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):766:770 -> a
    17:17:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    17:17:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):772 -> a
    18:26:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):773:781 -> a
    27:27:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":836,"2":837,"3":838}}
    836:836:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):781:781 -> a
    837:837:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):781:781 -> a
    838:838:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):781:781 -> a
    808:808:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):781:781 -> a
    809:809:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):754:754 -> a
    839:839:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):714:714 -> a
    840:840:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):714:714 -> a
    1:33:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):716:748 -> b
    34:35:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):725:726 -> b
    36:36:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):723:723 -> b
    37:38:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):720:721 -> b
    39:62:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):718:741 -> b
    63:68:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):728:733 -> b
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3 -> com.android.tools.r8.internal.CZ:
    1:1:void <init>():151:151 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):151:151 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Boolean):165:165 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):151 -> a
    3:10:java.lang.Boolean com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3.read(com.android.tools.r8.com.google.gson.stream.JsonReader):154:161 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):151 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$30 -> com.android.tools.r8.internal.wZ:
    1:1:void <init>():824:824 -> <init>
    1:8:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):827:834 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$32 -> com.android.tools.r8.internal.xZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> c
    java.lang.Class val$type -> b
    1:1:void <init>(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):853:853 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":858,"2":859,"3":860}}
    858:858:java.lang.String toString():856:856 -> toString
    859:859:java.lang.String toString():856:856 -> toString
    860:860:java.lang.String toString():856:856 -> toString
    857:857:java.lang.String toString():856:856 -> toString
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$33 -> com.android.tools.r8.internal.yZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> d
    java.lang.Class val$unboxed -> b
    java.lang.Class val$boxed -> c
    1:1:void <init>(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <init>
    1:2:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):866:867 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":873,"2":874,"3":875}}
    873:873:java.lang.String toString():870:870 -> toString
    874:874:java.lang.String toString():870:870 -> toString
    875:875:java.lang.String toString():870:870 -> toString
    871:872:java.lang.String toString():870:871 -> toString
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$34 -> com.android.tools.r8.internal.zZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> d
    java.lang.Class val$base -> b
    java.lang.Class val$sub -> c
    1:1:void <init>(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):878:878 -> <init>
    1:2:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):881:882 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":888,"2":889,"3":890}}
    888:888:java.lang.String toString():885:885 -> toString
    889:889:java.lang.String toString():885:885 -> toString
    890:890:java.lang.String toString():885:885 -> toString
    886:887:java.lang.String toString():885:886 -> toString
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35 -> com.android.tools.r8.internal.BZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> c
    java.lang.Class val$clazz -> b
    1:1:void <init>(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):897:897 -> <init>
    1:5:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):900:904 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":922,"2":923,"3":924}}
    922:922:java.lang.String toString():920:920 -> toString
    923:923:java.lang.String toString():920:920 -> toString
    924:924:java.lang.String toString():920:920 -> toString
    921:921:java.lang.String toString():920:920 -> toString
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35$1 -> com.android.tools.r8.internal.AZ:
    com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35 this$0 -> b
    java.lang.Class val$requestedType -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35,java.lang.Class):904:904 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):906:906 -> a
    2:4:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):910:912 -> a
    5:5:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":919,"2":920,"3":921}}
    919:919:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:912 -> a
    920:920:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:912 -> a
    921:921:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:912 -> a
    917:918:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:913 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4 -> com.android.tools.r8.internal.DZ:
    1:1:void <init>():173:173 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):173:173 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Boolean):183:183 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):173 -> a
    3:7:java.lang.Boolean com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4.read(com.android.tools.r8.com.google.gson.stream.JsonReader):175:179 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):173 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5 -> com.android.tools.r8.internal.EZ:
    1:1:void <init>():190:190 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):190:190 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):206:206 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):190 -> a
    3:11:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5.read(com.android.tools.r8.com.google.gson.stream.JsonReader):193:201 -> a
    3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):190 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6 -> com.android.tools.r8.internal.FZ:
    1:1:void <init>():213:213 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):213:213 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):228:228 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):213 -> a
    3:10:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6.read(com.android.tools.r8.com.google.gson.stream.JsonReader):216:223 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):213 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7 -> com.android.tools.r8.internal.GZ:
    1:1:void <init>():235:235 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):235:235 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):250:250 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):235 -> a
    3:10:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7.read(com.android.tools.r8.com.google.gson.stream.JsonReader):238:245 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):235 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8 -> com.android.tools.r8.internal.HZ:
    1:1:void <init>():256:256 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):256:256 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicInteger):265:265 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):256 -> a
    3:5:java.util.concurrent.atomic.AtomicInteger com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8.read(com.android.tools.r8.com.google.gson.stream.JsonReader):259:261 -> a
    3:5:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):256 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9 -> com.android.tools.r8.internal.IZ:
    1:1:void <init>():271:271 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):271:271 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicBoolean):276:276 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):271 -> a
    3:3:java.util.concurrent.atomic.AtomicBoolean com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9.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.internal.bind.TypeAdapters$EnumTypeAdapter -> com.android.tools.r8.internal.JZ:
    java.util.Map nameToConstant -> a
    java.util.Map constantToName -> b
    1:1:void <init>(java.lang.Class):793:793 -> <init>
    2:20:void <init>(java.lang.Class):790:808 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):789:789 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Enum):820:820 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):789 -> a
    3:7:java.lang.Enum com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):812:816 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):789 -> a
com.android.tools.r8.com.google.gson.internal.bind.util.ISO8601Utils -> com.android.tools.r8.internal.zn:
    java.util.TimeZone TIMEZONE_UTC -> a
    1:1:void <clinit>():30:30 -> <clinit>
    1:52:java.util.Date parse(java.lang.String,java.text.ParsePosition):126:177 -> a
    53:57:int com.android.tools.r8.com.google.gson.internal.bind.util.ISO8601Utils.indexOfNonDigit(java.lang.String,int):345:349 -> a
    53:57:java.util.Date parse(java.lang.String,java.text.ParsePosition):179 -> a
    58:123:java.util.Date parse(java.lang.String,java.text.ParsePosition):180:245 -> a
    124:153:java.util.Date parse(java.lang.String,java.text.ParsePosition):211:240 -> a
    154:194:java.util.Date parse(java.lang.String,java.text.ParsePosition):219:259 -> a
    195:265:java.util.Date parse(java.lang.String,java.text.ParsePosition):201:271 -> a
    266:266:java.util.Date parse(java.lang.String,java.text.ParsePosition):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":543,"2":544,"3":545}}
    543:543:java.util.Date parse(java.lang.String,java.text.ParsePosition):272:272 -> a
    544:544:java.util.Date parse(java.lang.String,java.text.ParsePosition):272:272 -> a
    545:545:java.util.Date parse(java.lang.String,java.text.ParsePosition):272:272 -> a
    538:542:java.util.Date parse(java.lang.String,java.text.ParsePosition):272:276 -> a
    546:546:boolean checkOffset(java.lang.String,int,char):288:288 -> a
    547:557:int parseInt(java.lang.String,int,int):301:311 -> a
    558:558:int parseInt(java.lang.String,int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1205,"2":1206,"3":1207}}
    1205:1205:int parseInt(java.lang.String,int,int):311:311 -> a
    1206:1206:int parseInt(java.lang.String,int,int):311:311 -> a
    1207:1207:int parseInt(java.lang.String,int,int):311:311 -> a
    869:876:int parseInt(java.lang.String,int,int):311:318 -> a
    877:877:int parseInt(java.lang.String,int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1214,"2":1215,"3":1216}}
    1214:1214:int parseInt(java.lang.String,int,int):318:318 -> a
    1215:1215:int parseInt(java.lang.String,int,int):318:318 -> a
    1216:1216:int parseInt(java.lang.String,int,int):318:318 -> a
    1195:1195:int parseInt(java.lang.String,int,int):318:318 -> a
    1196:1196:int parseInt(java.lang.String,int,int):302:302 -> a
com.android.tools.r8.com.google.gson.reflect.TypeToken -> com.android.tools.r8.internal.a00:
    java.lang.reflect.Type type -> b
    java.lang.Class rawType -> a
    int hashCode -> c
    1:4:void <init>():61:64 -> <init>
    5:8:void <init>(java.lang.reflect.Type):71:74 -> <init>
    1:1:java.lang.Class getRawType():94:94 -> a
    2:2:com.android.tools.r8.com.google.gson.reflect.TypeToken get(java.lang.reflect.Type):296:296 -> a
    3:3:com.android.tools.r8.com.google.gson.reflect.TypeToken get(java.lang.Class):303:303 -> a
    1:6:java.lang.reflect.Type getSuperclassTypeParameter(java.lang.Class):82:87 -> b
    7:7:java.lang.reflect.Type getSuperclassTypeParameter(java.lang.Class):84:84 -> b
    8:8:java.lang.reflect.Type getType():101:101 -> b
    1:2:boolean equals(java.lang.Object):284:285 -> equals
    1:1:int hashCode():280:280 -> hashCode
    1:1:java.lang.String toString():289:289 -> toString
com.android.tools.r8.com.google.gson.stream.JsonReader -> com.android.tools.r8.internal.Dv:
    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
    char[] NON_EXECUTE_PREFIX -> q
    java.lang.String[] pathNames -> o
    int[] pathIndices -> p
    boolean lenient -> c
    int[] stack -> m
    1:1394:void <clinit>():192:1585 -> <clinit>
    1:1:void <init>(java.io.Reader):289:289 -> <init>
    2:65:void <init>(java.io.Reader):230:293 -> <init>
    1:1:java.lang.String access$000(com.android.tools.r8.com.google.gson.stream.JsonReader):190:190 -> a
    2:11:void beginArray():341:350 -> a
    12:12:void beginArray():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":363,"2":364,"3":365}}
    363:363:void beginArray():350:350 -> a
    364:364:void beginArray():350:350 -> a
    365:365:void beginArray():350:350 -> a
    362:362:void beginArray():350:350 -> a
    366:396:java.lang.String nextQuotedValue(char):987:1017 -> a
    397:414:boolean fillBuffer(int):1276:1293 -> a
    415:489:int nextNonWhitespace(boolean):1319:1393 -> a
    490:490:int nextNonWhitespace(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1982,"2":1983,"3":1984}}
    1982:1982:int nextNonWhitespace(boolean):1393:1393 -> a
    1983:1983:int nextNonWhitespace(boolean):1393:1393 -> a
    1984:1984:int nextNonWhitespace(boolean):1393:1393 -> a
    1883:1883:int nextNonWhitespace(boolean):1393:1393 -> a
    1884:1923:int nextNonWhitespace(boolean):1328:1367 -> a
    1924:1928:void com.android.tools.r8.com.google.gson.stream.JsonReader.skipToEndOfLine():1411:1415 -> a
    1924:1928:int nextNonWhitespace(boolean):1368 -> a
    1929:1930:int nextNonWhitespace(boolean):1369:1370 -> a
    1931:1932:int nextNonWhitespace(boolean):1357:1358 -> a
    1933:1941:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.skipTo(java.lang.String):1428:1428 -> a
    1933:1941:int nextNonWhitespace(boolean):1358 -> a
    1942:1943:int nextNonWhitespace(boolean):1361:1362 -> a
    1944:1968:int nextNonWhitespace(boolean):1359:1383 -> a
    1969:1973:void com.android.tools.r8.com.google.gson.stream.JsonReader.skipToEndOfLine():1411:1415 -> a
    1969:1973:int nextNonWhitespace(boolean):1384 -> a
    1974:1977:int nextNonWhitespace(boolean):1385:1388 -> a
    1985:1985:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    1986:1986:java.io.IOException syntaxError(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3546,"2":3547,"3":3548}}
    3546:3546:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    3547:3547:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    3548:3548:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    3545:3545:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    1:1:void setLenient(boolean):326:326 -> b
    2:10:void beginObject():377:385 -> b
    11:11:void beginObject():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":397,"2":398,"3":399}}
    397:397:void beginObject():385:385 -> b
    398:398:void beginObject():385:385 -> b
    399:399:void beginObject():385:385 -> b
    396:396:void beginObject():385:385 -> b
    400:422:void skipQuotedValue(char):1089:1111 -> b
    423:434: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
    16:77:int doPeek():472:533 -> d
    78:92:void com.android.tools.r8.com.google.gson.stream.JsonReader.consumeNonExecutePrefix():1567:1581 -> d
    78:92:int doPeek():534 -> d
    93:133:int doPeek():536:576 -> d
    134:148:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():599:613 -> d
    134:148:int doPeek():579 -> d
    149:150:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():608:609 -> d
    149:150:int doPeek():579 -> d
    151:178:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():604:631 -> d
    151:178:int doPeek():579 -> d
    179:179:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.isLiteral(char):751:751 -> d
    179:179:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():632 -> d
    179:179:int doPeek():579 -> d
    180:181:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():637:638 -> d
    180:181:int doPeek():579 -> d
    182:208:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekNumber():643:669 -> d
    182:208:int doPeek():584 -> d
    209:209:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.isLiteral(char):751:751 -> d
    209:209:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekNumber():706 -> d
    209:209:int doPeek():584 -> d
    210:216:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekNumber():732:738 -> d
    210:216:int doPeek():584 -> d
    217:217:int doPeek():589:589 -> d
    218:218:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.isLiteral(char):751:751 -> d
    218:218:int doPeek():589 -> d
    219:220:int doPeek():593:594 -> d
    221:221:int doPeek():590:590 -> d
    222:222:int doPeek():574:574 -> d
    223:242:int doPeek():553:572 -> d
    243:243:int doPeek():564:564 -> d
    244:254:int doPeek():560:570 -> d
    255:255:int doPeek():546:546 -> d
    256:268:int doPeek():479:491 -> d
    269:291:int doPeek():487:509 -> d
    292:292:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.isLiteral(char):751:751 -> d
    292:292:int doPeek():510 -> d
    293:295:int doPeek():511:513 -> d
    296:298:int doPeek():503:505 -> d
    299:300:int doPeek():499:500 -> d
    301:301:int doPeek():497:497 -> d
    1:10:void endArray():359:368 -> e
    11:11:void endArray():0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":380,"2":381,"3":382}}
    380:380:void endArray():368:368 -> e
    381:381:void endArray():368:368 -> e
    382:382:void endArray():368:368 -> e
    379:379:void endArray():368:368 -> e
    1:11:void endObject():394:404 -> f
    12:12:void endObject():0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":417,"2":418,"3":419}}
    417:417:void endObject():404:404 -> f
    418:418:void endObject():404:404 -> f
    419:419:void endObject():404:404 -> f
    416:416:void endObject():404:404 -> f
    1:3:boolean hasNext():412:414 -> g
    1:1:boolean isLenient():333:333 -> h
    1:3:java.lang.String locationString():1449:1451 -> i
    4:17:java.lang.String com.android.tools.r8.com.google.gson.stream.JsonReader.getPath():1459:1472 -> i
    4:17:java.lang.String locationString():1451 -> i
    18:36:java.lang.String com.android.tools.r8.com.google.gson.stream.JsonReader.getPath():1464:1482 -> i
    18:36:java.lang.String locationString():1451 -> i
    37:37:java.lang.String locationString():1451:1451 -> i
    1:14:boolean nextBoolean():840:853 -> j
    15:15:boolean nextBoolean():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":869,"2":870,"3":871}}
    869:869:boolean nextBoolean():853:853 -> j
    870:870:boolean nextBoolean():853:853 -> j
    871:871:boolean nextBoolean():853:853 -> j
    868:868:boolean nextBoolean():853:853 -> j
    1:20:double nextDouble():886:905 -> k
    21:21:double nextDouble():0:0 -> k
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":943,"2":944,"3":945}}
    943:943:double nextDouble():905:905 -> k
    944:944:double nextDouble():905:905 -> k
    945:945:double nextDouble():905:905 -> k
    926:926:double nextDouble():905:905 -> k
    927:942:double nextDouble():901:916 -> k
    1:13:int nextInt():1155:1167 -> l
    14:14:int nextInt():1164:1164 -> l
    15:15:int nextInt():0:0 -> l
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3618,"2":3619,"3":3620}}
    3618:3618:int nextInt():1164:1164 -> l
    3619:3619:int nextInt():1164:1164 -> l
    3620:3620:int nextInt():1164:1164 -> l
    1179:1204:int nextInt():1164:1189 -> l
    1205:1205:int nextInt():0:0 -> l
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3618,"2":3619,"3":3620}}
    3618:3618:int nextInt():1189:1189 -> l
    3619:3619:int nextInt():1189:1189 -> l
    3620:3620:int nextInt():1189:1189 -> l
    2394:2394:int nextInt():1189:1189 -> l
    2395:2419:int nextInt():1176:1200 -> l
    2420:2420:int nextInt():1196:1196 -> l
    2421:2421:int nextInt():0:0 -> l
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3618,"2":3619,"3":3620}}
    3618:3618:int nextInt():1196:1196 -> l
    3619:3619:int nextInt():1196:1196 -> l
    3620:3620:int nextInt():1196:1196 -> l
    3617:3617:int nextInt():1196:1196 -> l
    1:30:long nextLong():931:960 -> m
    31:31:long nextLong():0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1986,"2":1987,"3":1988}}
    1986:1986:long nextLong():960:960 -> m
    1987:1987:long nextLong():960:960 -> m
    1988:1988:long nextLong():960:960 -> m
    991:991:long nextLong():960:960 -> m
    992:1016:long nextLong():947:971 -> m
    1017:1017:long nextLong():967:967 -> m
    1018:1018:long nextLong():0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1986,"2":1987,"3":1988}}
    1986:1986:long nextLong():967:967 -> m
    1987:1987:long nextLong():967:967 -> m
    1988:1988:long nextLong():967:967 -> m
    1985:1985:long nextLong():967:967 -> m
    1:16:java.lang.String nextName():777:792 -> n
    17:17:java.lang.String nextName():789:789 -> n
    18:18:java.lang.String nextName():0:0 -> n
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":808,"2":809,"3":810}}
    808:808:java.lang.String nextName():789:789 -> n
    809:809:java.lang.String nextName():789:789 -> n
    810:810:java.lang.String nextName():789:789 -> n
    807:807:java.lang.String nextName():789:789 -> n
    1:9:void nextNull():864:872 -> o
    10:10:void nextNull():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":883,"2":884,"3":885}}
    883:883:void nextNull():872:872 -> o
    884:884:void nextNull():872:872 -> o
    885:885:void nextNull():872:872 -> o
    882:882:void nextNull():872:872 -> o
    1:24:java.lang.String nextString():805:828 -> p
    25:25:java.lang.String nextString():825:825 -> p
    26:26:java.lang.String nextString():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":852,"2":853,"3":854}}
    852:852:java.lang.String nextString():825:825 -> p
    853:853:java.lang.String nextString():825:825 -> p
    854:854:java.lang.String nextString():825:825 -> p
    851:851:java.lang.String nextString():825:825 -> p
    1:52:java.lang.String nextUnquotedValue():1032:1083 -> q
    1:35:com.android.tools.r8.com.google.gson.stream.JsonToken peek():423:457 -> r
    1:56:char readEscapeCharacter():1495:1550 -> s
    57:72:char readEscapeCharacter():1502:1517 -> s
    73:73:char readEscapeCharacter():0:0 -> s
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1614,"2":1615,"3":1616}}
    1614:1614:char readEscapeCharacter():1517:1517 -> s
    1615:1615:char readEscapeCharacter():1517:1517 -> s
    1616:1616:char readEscapeCharacter():1517:1517 -> s
    1590:1613:char readEscapeCharacter():1517:1540 -> s
    1:25:void skipValue():1222:1246 -> t
    26:26:void skipValue():1244:1244 -> t
    27:27:void skipValue():1242:1242 -> t
    28:52:void com.android.tools.r8.com.google.gson.stream.JsonReader.skipUnquotedValue():1117:1141 -> t
    28:52:void skipValue():1240 -> t
    53:57:void skipValue():1248:1252 -> t
    1:1:java.lang.String toString():1445:1445 -> toString
com.android.tools.r8.com.google.gson.stream.JsonReader$1 -> com.android.tools.r8.internal.Cv:
    1:1:void <init>():1585:1585 -> <init>
    1:12:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1591:1602 -> a
    13:13:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1617,"2":1618,"3":1619}}
    1617:1617:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1602:1602 -> a
    1618:1618:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1602:1602 -> a
    1619:1619:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1602:1602 -> a
    1616:1616:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1603:1603 -> a
com.android.tools.r8.com.google.gson.stream.JsonToken$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Gv:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.gson.stream.JsonWriter -> com.android.tools.r8.internal.Jv:
    java.lang.String separator -> f
    java.lang.String[] HTML_SAFE_REPLACEMENT_CHARS -> l
    java.lang.String deferredName -> i
    int[] stack -> c
    boolean serializeNulls -> j
    java.lang.String[] REPLACEMENT_CHARS -> k
    java.io.Writer out -> b
    int stackSize -> d
    boolean lenient -> g
    boolean htmlSafe -> h
    java.lang.String indent -> e
    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>
    37:37:void <init>(java.io.Writer):199:199 -> <init>
    1:1:void setHtmlSafe(boolean):253:253 -> a
    2:7:void push(int):354:359 -> a
    8:11:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():366:369 -> a
    8:11:void beforeValue():629 -> a
    12:12:void beforeValue():656:656 -> a
    13:14:void beforeValue():631:632 -> a
    15:15:void com.android.tools.r8.com.google.gson.stream.JsonWriter.replaceTop(int):376:376 -> a
    15:15:void beforeValue():637 -> a
    16:16:void beforeValue():651:651 -> a
    17:17:void com.android.tools.r8.com.google.gson.stream.JsonWriter.replaceTop(int):376:376 -> a
    17:17:void beforeValue():652 -> a
    18:19:void beforeValue():646:647 -> a
    20:20:void com.android.tools.r8.com.google.gson.stream.JsonWriter.replaceTop(int):376:376 -> a
    20:20:void beforeValue():641 -> a
    21:21:void beforeValue():642:642 -> a
    22:22:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():367:367 -> a
    22:22:void beforeValue():629 -> a
    23:26:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():366:369 -> a
    23:26:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):337 -> a
    27:37:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):339:349 -> a
    38:38:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    39:39:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":383,"2":384,"3":385}}
    383:383:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    384:384:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    385:385:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    381:381:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    382:382:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():367:367 -> a
    382:382:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):337 -> a
    386:392:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):389:395 -> a
    393:393:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String) -> a
    394:394:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):390:390 -> a
    395:395:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):387:387 -> a
    396:400:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Boolean):478:482 -> a
    401:403:com.android.tools.r8.com.google.gson.stream.JsonWriter value(long):509:511 -> a
    404:414:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Number):524:534 -> a
    1:1:void setLenient(boolean):235:235 -> b
    2:3:com.android.tools.r8.com.google.gson.stream.JsonWriter beginArray():287:288 -> b
    4:6:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.stream.JsonWriter.open(int,java.lang.String):325:327 -> b
    4:6:com.android.tools.r8.com.google.gson.stream.JsonWriter beginArray():288 -> b
    7:35:void string(java.lang.String):565:593 -> b
    1:1:void setSerializeNulls(boolean):269:269 -> c
    2:3:com.android.tools.r8.com.google.gson.stream.JsonWriter beginObject():307:308 -> c
    4:6:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.stream.JsonWriter.open(int,java.lang.String):325:327 -> c
    4:6:com.android.tools.r8.com.google.gson.stream.JsonWriter beginObject():308 -> c
    7:11:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.String):415:419 -> c
    1:7:void close():555:561 -> close
    8:8:void close():559:559 -> close
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():297:297 -> d
    2:4:com.android.tools.r8.com.google.gson.stream.JsonWriter value(boolean):465:467 -> d
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():317:317 -> e
    1:1:boolean getSerializeNulls():277:277 -> f
    1:4:void flush():543:546 -> flush
    5:5:void flush():544:544 -> flush
    1:1:boolean isHtmlSafe():261:261 -> g
    1:1:boolean isLenient():242:242 -> h
    1:7:void newline():597:603 -> i
    1:10:com.android.tools.r8.com.google.gson.stream.JsonWriter nullValue():446:455 -> j
    1:219:void setIndent(java.lang.String):0:218 -> k
    1:1:void writeDeferredName():400:400 -> l
    2:5:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():366:369 -> l
    2:5:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():612 -> l
    2:5:void writeDeferredName():401 -> l
    6:10:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():614:618 -> l
    6:10:void writeDeferredName():401 -> l
    11:11:void com.android.tools.r8.com.google.gson.stream.JsonWriter.replaceTop(int):376:376 -> l
    11:11:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():619 -> l
    11:11:void writeDeferredName():401 -> l
    12:13:void writeDeferredName():402:403 -> l
    14:14:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():616:616 -> l
    14:14:void writeDeferredName():401 -> l
    15:15:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():367:367 -> l
    15:15:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():612 -> l
    15:15:void writeDeferredName():401 -> l
com.android.tools.r8.com.google.gson.stream.MalformedJsonException -> com.android.tools.r8.internal.hD:
    1:1:void <init>(java.lang.String):29:29 -> <init>
com.android.tools.r8.compatproguard.CompatProguard -> com.android.tools.r8.compatproguard.CompatProguard:
    1:23:void run(java.lang.String[]):210:232 -> a
    1:23:void lambda$main$0(java.lang.String[]):236 -> a
    24:24:void run(java.lang.String[]):212:212 -> a
    24:24:void lambda$main$0(java.lang.String[]):236 -> a
    25:25:void printVersion():196:196 -> a
    25:25:void printHelp():200 -> a
    25:25:void run(java.lang.String[]):213 -> a
    25:25:void lambda$main$0(java.lang.String[]):236 -> a
    26:26:void lambda$main$0(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":43,"2":44,"3":45}}
    43:43:void printVersion():196:196 -> a
    43:43:void printHelp():200 -> a
    43:43:void run(java.lang.String[]):213 -> a
    43:43:void lambda$main$0(java.lang.String[]):236 -> a
    44:44:void printVersion():196:196 -> a
    44:44:void printHelp():200 -> a
    44:44:void run(java.lang.String[]):213 -> a
    44:44:void lambda$main$0(java.lang.String[]):236 -> a
    45:45:void printVersion():196:196 -> a
    45:45:void printHelp():200 -> a
    45:45:void run(java.lang.String[]):213 -> a
    45:45:void lambda$main$0(java.lang.String[]):236 -> a
    27:27:void printVersion():196:196 -> a
    27:27:void printHelp():200 -> a
    27:27:void run(java.lang.String[]):213 -> a
    27:27:void lambda$main$0(java.lang.String[]):236 -> a
    28:31:void printHelp():201:204 -> a
    28:31:void run(java.lang.String[]):213 -> a
    28:31:void lambda$main$0(java.lang.String[]):236 -> a
    32:42:void com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions.print():181:191 -> a
    32:42:void printHelp():205 -> a
    32:42:void run(java.lang.String[]):213 -> a
    32:42:void lambda$main$0(java.lang.String[]):236 -> a
    1:1:void main(java.lang.String[]):236:236 -> main
com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions -> com.android.tools.r8.compatproguard.CompatProguard$a:
    java.lang.String mainDexList -> g
    boolean printHelpAndExit -> k
    boolean disableVerticalClassMerging -> l
    boolean includeDataResources -> e
    java.util.List proguardConfig -> j
    boolean multiDex -> f
    java.lang.String output -> a
    int minApi -> c
    com.android.tools.r8.MapIdProvider mapIdProvider -> h
    com.android.tools.r8.CompilationMode mode -> b
    boolean forceProguardCompatibility -> d
    com.android.tools.r8.SourceFileProvider sourceFileProvider -> i
    1:13:void <init>(java.util.List,java.lang.String,com.android.tools.r8.CompilationMode,int,boolean,boolean,boolean,java.lang.String,com.android.tools.r8.MapIdProvider,com.android.tools.r8.SourceFileProvider,boolean,boolean):67:79 -> <init>
    1:31:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):83:113 -> a
    32:32:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):111:111 -> a
    33:33:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    33:33:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):111 -> a
    34:34:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    34:34:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    34:34:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):111 -> a
    35:42:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):111:118 -> a
    43:43:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):116:116 -> a
    44:44:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    44:44:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):116 -> a
    45:45:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    45:45:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    45:45:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):116 -> a
    46:82:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):116:152 -> a
    83:83:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):146:146 -> a
    84:84:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    84:84:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):146 -> a
    85:85:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    85:85:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    85:85:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):146 -> a
    86:106:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):146:166 -> a
com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions$1 -> com.android.tools.r8.compatproguard.a:
    1:1:void <init>():83:83 -> <init>
com.android.tools.r8.contexts.CompilationContext -> com.android.tools.r8.internal.xc:
    java.util.Map seenSetForTesting -> c
    java.lang.Thread mainThread -> b
    java.util.function.Consumer testingConsumer -> a
    boolean $assertionsDisabled -> e
    int nextProcessorId -> d
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):41:41 -> <init>
    2:7:void <init>(com.android.tools.r8.utils.InternalOptions):38:43 -> <init>
    1:1:boolean access$200(com.android.tools.r8.contexts.CompilationContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):14:14 -> a
    2:2:com.android.tools.r8.contexts.CompilationContext createInitialContext(com.android.tools.r8.utils.InternalOptions):33:33 -> a
    3:9:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):47:53 -> a
    10:10:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":64,"2":65,"3":66,"4":67,"5":68}}
    64:64:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    65:65:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    66:66:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    67:67:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    68:68:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    63:63:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    69:71:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():66:68 -> a
com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider -> com.android.tools.r8.internal.tc:
    1:1:void <init>():17:17 -> <init>
    2:2:void <init>(com.android.tools.r8.contexts.CompilationContext$1):17:17 -> <init>
    java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder) -> a
    java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder) -> b
com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext -> com.android.tools.r8.internal.uc:
    com.android.tools.r8.graph.ProgramMethod method -> b
    int nextId -> c
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext parent -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():115:115 -> <clinit>
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$1):115:115 -> <init>
    2:2:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.graph.ProgramMethod):120:120 -> <init>
    3:7:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.graph.ProgramMethod):118:122 -> <init>
    1:2:com.android.tools.r8.contexts.CompilationContext$UniqueContext createUniqueContext():133:134 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext.getClassContext():139:139 -> a
    3:3:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):156 -> a
    4:5:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):156:157 -> a
    6:8:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext.buildSuffix(java.lang.StringBuilder):148:150 -> a
    6:8:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):157 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getClassContext():139:139 -> b
    2:2:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):162:162 -> b
    3:5:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext.buildSuffix(java.lang.StringBuilder):148:150 -> b
    3:5:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):162 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod getMethodContext():143:143 -> c
com.android.tools.r8.contexts.CompilationContext$ProcessorContext -> com.android.tools.r8.internal.vc:
    com.android.tools.r8.contexts.CompilationContext parent -> a
    int processorId -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():72:72 -> <clinit>
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext,int,com.android.tools.r8.contexts.CompilationContext$1):72:72 -> <init>
    2:4:void <init>(com.android.tools.r8.contexts.CompilationContext,int):76:78 -> <init>
    1:1:boolean com.android.tools.r8.contexts.CompilationContext$ProcessorContext.verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):82:82 -> a
    1:1:boolean access$500(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):72 -> a
    2:2:boolean com.android.tools.r8.contexts.CompilationContext$ProcessorContext.verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):82:82 -> a
    2:2:boolean access$500(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):72 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.contexts.CompilationContext$ProcessorContext.verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):82:82 -> a
    3:3:boolean access$500(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):72 -> a
    4:4:boolean access$500(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):72:72 -> a
    5:6:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):94:95 -> a
    7:7:boolean com.android.tools.r8.contexts.CompilationContext$ProcessorContext.verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):82:82 -> a
    7:7:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):95 -> a
    8:8:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$ProcessorContext.buildSuffix(java.lang.StringBuilder):100:100 -> a
    8:8:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):105 -> a
    1:1:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$ProcessorContext.buildSuffix(java.lang.StringBuilder):100:100 -> b
    1:1:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):110 -> b
com.android.tools.r8.contexts.CompilationContext$UniqueContext -> com.android.tools.r8.internal.wc:
    com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext parent -> a
    int positionId -> b
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,int,com.android.tools.r8.contexts.CompilationContext$1):166:166 -> <init>
    2:4:void <init>(com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,int):170:172 -> <init>
    1:1:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):181:181 -> a
    2:2:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSuffix(java.lang.StringBuilder):176:176 -> a
    2:2:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):181 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass getClassContext():190:190 -> a
    1:1:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):186:186 -> b
    2:2:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSuffix(java.lang.StringBuilder):176:176 -> b
    2:2:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):186 -> b
    3:3:java.lang.String getSyntheticSuffix():194:194 -> b
    4:4:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSyntheticSuffix(java.lang.StringBuilder):186:186 -> b
    4:4:java.lang.String getSyntheticSuffix():194 -> b
    5:5:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSuffix(java.lang.StringBuilder):176:176 -> b
    5:5:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSyntheticSuffix(java.lang.StringBuilder):186 -> b
    5:5:java.lang.String getSyntheticSuffix():194 -> b
    6:6:java.lang.String getSyntheticSuffix():194:194 -> b
com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator -> com.android.tools.r8.internal.Gf:
    com.android.tools.r8.utils.InternalOptions options -> b
    com.android.tools.r8.naming.NamingLens namingLens -> a
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):51:54 -> <init>
    1:1:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():66:66 -> a
    1:1:void runIfNecessary(com.android.tools.r8.utils.Timing):58 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    2:2:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void runIfNecessary(com.android.tools.r8.utils.Timing):58 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    3:3:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():66 -> a
    3:3:void runIfNecessary(com.android.tools.r8.utils.Timing):58 -> a
    4:4:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():66:66 -> a
    4:4:void runIfNecessary(com.android.tools.r8.utils.Timing):58 -> a
com.android.tools.r8.dex.ApplicationReader -> com.android.tools.r8.dex.b:
    com.android.tools.r8.graph.DexItemFactory itemFactory -> b
    com.android.tools.r8.utils.Timing timing -> c
    com.android.tools.r8.utils.InternalOptions options -> a
    com.android.tools.r8.graph.DexApplicationReadFlags flags -> e
    com.android.tools.r8.utils.AndroidApp inputApp -> d
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():66:66 -> <clinit>
    1:5:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):79:83 -> <init>
    1:1:com.android.tools.r8.utils.InternalOptions access$000(com.android.tools.r8.dex.ApplicationReader):66:66 -> a
    2:2:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66:66 -> a
    3:7:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):282:286 -> a
    3:7:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    8:8:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17}}
    15:15:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):286:286 -> a
    15:15:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    16:16:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):286:286 -> a
    16:16:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    17:17:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):286:286 -> a
    17:17:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    9:11:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):288:290 -> a
    9:11:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    12:12:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    12:12:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):290 -> a
    12:12:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    13:13:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):290 -> a
    13:13:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    14:14:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):290:290 -> a
    14:14:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    18:18:com.android.tools.r8.graph.LazyLoadedDexApplication read():87:87 -> a
    19:23:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource):93:97 -> a
    24:27:com.android.tools.r8.graph.LazyLoadedDexApplication read(java.util.concurrent.ExecutorService):104:107 -> a
    28:28:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):134:134 -> a
    28:28:com.android.tools.r8.graph.LazyLoadedDexApplication read(java.util.concurrent.ExecutorService):104 -> a
    29:32:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService):123:126 -> a
    33:33:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):134:134 -> a
    33:33:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService):123 -> a
    34:34:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):143:143 -> a
    35:44:boolean verifyMainDexOptionsCompatible(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):267:276 -> a
    35:44:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):143 -> a
    45:49:void dumpApplication():190:194 -> a
    45:49:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    50:50:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":113,"2":114,"3":115}}
    113:113:void dumpApplication():194:194 -> a
    113:113:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    114:114:void dumpApplication():194:194 -> a
    114:114:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    115:115:void dumpApplication():194:194 -> a
    115:115:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    51:67:void dumpApplication():194:210 -> a
    51:67:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    68:68:void dumpApplication():208:208 -> a
    68:68:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    69:105:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):148:184 -> a
    106:106:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):180:180 -> a
    107:107:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    107:107:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):178 -> a
    108:112:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):178:182 -> a
    116:116:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication):216:216 -> a
    117:117:com.android.tools.r8.shaking.MainDexInfo readMainDexClassesForR8(com.android.tools.r8.graph.DexApplication):222:222 -> a
    118:124:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):226:232 -> a
    125:130:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):251:256 -> a
    125:130:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    131:131:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":156,"2":157,"3":158}}
    156:156:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    156:156:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    157:157:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    157:157:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    158:158:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    158:158:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    132:132:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":161,"2":162,"3":163,"4":164}}
    161:161:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    161:161:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    162:162:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    162:162:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    163:163:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    163:163:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    164:164:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    164:164:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    133:133:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    133:133:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    134:134:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    134:134:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    135:144:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):234:243 -> a
    145:150:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):251:256 -> a
    145:150:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    151:151:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":165,"2":166,"3":167}}
    165:165:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    165:165:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    166:166:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    166:166:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    167:167:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    167:167:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    152:152:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172,"4":173}}
    170:170:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    170:170:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    171:171:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    171:171:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    172:172:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    172:172:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    173:173:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    173:173:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    153:153:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    153:153:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    154:154:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    154:154:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    155:155:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):246:246 -> a
    174:174:com.android.tools.r8.graph.DexType lambda$readMainDexClasses$0(java.lang.String):242:242 -> a
    175:177:void readProguardMap(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,java.util.List):305:305 -> a
    178:180:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):309:311 -> a
    181:181:com.android.tools.r8.naming.ClassNameMapper com.android.tools.r8.naming.ClassNameMapper.mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):120:120 -> a
    181:181:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):311 -> a
    182:185:java.io.BufferedReader com.android.tools.r8.com.google.common.io.CharSource.openBufferedStream():112:115 -> a
    182:185:com.android.tools.r8.naming.ClassNameMapper com.android.tools.r8.naming.ClassNameMapper.mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):120 -> a
    182:185:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):311 -> a
    186:186:com.android.tools.r8.naming.ClassNameMapper com.android.tools.r8.naming.ClassNameMapper.mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):119:119 -> a
    186:186:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):311 -> a
    187:194:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):310:317 -> a
    195:195:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    195:195:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):317 -> a
    196:196:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):317:317 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory access$200(com.android.tools.r8.dex.ApplicationReader):66:66 -> b
    2:6:com.android.tools.r8.graph.LazyLoadedDexApplication readWithoutDumping(java.util.concurrent.ExecutorService):112:112 -> b
    1:1:com.android.tools.r8.utils.AndroidApp access$300(com.android.tools.r8.dex.ApplicationReader):66:66 -> c
com.android.tools.r8.dex.ApplicationReader$ClassReader -> com.android.tools.r8.dex.a:
    java.util.List futures -> b
    com.android.tools.r8.graph.JarApplicationReader application -> f
    java.util.Queue programClasses -> c
    boolean $assertionsDisabled -> j
    java.util.Queue libraryClasses -> e
    java.util.Queue classpathClasses -> d
    boolean hasReadProgramResourceFromCf -> g
    boolean hasReadProgramResourceFromDex -> h
    com.android.tools.r8.dex.ApplicationReader this$0 -> i
    java.util.concurrent.ExecutorService executorService -> a
    1:1:void <clinit>():322:322 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.ApplicationReader,java.util.concurrent.ExecutorService,java.util.List):341:341 -> <init>
    2:17:void <init>(com.android.tools.r8.dex.ApplicationReader,java.util.concurrent.ExecutorService,java.util.List):328:343 -> <init>
    1:4:com.android.tools.r8.graph.DexApplicationReadFlags getDexApplicationReadFlags():347:350 -> a
    5:5:void lambda$readDexSources$0(com.android.tools.r8.dex.DexParser,java.util.Queue,com.android.tools.r8.graph.ApplicationReaderMap):380:380 -> a
    6:23:void readClassSources(java.util.List,java.util.Queue):403:420 -> a
    24:24:void readClassSources(java.util.List,java.util.Queue):419:419 -> a
    25:25:java.lang.Object lambda$readClassSources$2(com.android.tools.r8.graph.JarClassFileReader,com.android.tools.r8.ProgramResource):422:422 -> a
    26:26:void com.android.tools.r8.graph.JarClassFileReader.read(com.android.tools.r8.ProgramResource):92:92 -> a
    26:26:java.lang.Object lambda$readClassSources$2(com.android.tools.r8.graph.JarClassFileReader,com.android.tools.r8.ProgramResource):422 -> a
    27:33:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):473:479 -> a
    34:51:com.android.tools.r8.utils.ClassProvider buildClassProvider(com.android.tools.r8.graph.ClassKind,java.util.Queue,java.util.List,com.android.tools.r8.graph.JarApplicationReader):451:468 -> a
    34:51:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):478 -> a
    52:57:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):481:486 -> a
    58:75:com.android.tools.r8.utils.ClassProvider buildClassProvider(com.android.tools.r8.graph.ClassKind,java.util.Queue,java.util.List,com.android.tools.r8.graph.JarApplicationReader):451:468 -> a
    58:75:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):485 -> a
    76:76:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):488:488 -> a
    77:77:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    77:77:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):411 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    78:78:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    78:78:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):411 -> a
    79:89:boolean includeAnnotationClass(com.android.tools.r8.graph.DexProgramClass):388:398 -> a
    79:89:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):411 -> a
    90:90:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):414:414 -> a
    1:24:void readDexSources(java.util.List,java.util.Queue):355:378 -> b
    25:25:void readDexSources(java.util.List,java.util.Queue):377:377 -> b
    26:38:void readSources():431:443 -> b
com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver -> com.android.tools.r8.internal.r2:
    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.internal.C2:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> k
    com.android.tools.r8.dex.CodeToKeep desugaredLibraryCodeToKeep -> f
    com.android.tools.r8.utils.InternalOptions options -> e
    java.util.List markerStrings -> i
    com.android.tools.r8.naming.NamingLens namingLens -> d
    java.util.List markers -> h
    com.android.tools.r8.DexIndexedConsumer programConsumer -> j
    com.android.tools.r8.graph.InitClassLens initClassLens -> c
    java.util.function.Predicate isTypeMissing -> g
    com.android.tools.r8.graph.GraphLens graphLens -> b
    1:1:void <clinit>():79:79 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.List,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):162:162 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView,java.util.List,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DexIndexedConsumer):177:187 -> <init>
    1:1:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":313,"2":314,"3":315}}
    313:313:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):295:295 -> a
    314:314:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):295:295 -> a
    315:315:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):295:295 -> a
    296:296:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):295:295 -> a
    297:302:void com.android.tools.r8.dex.ApplicationWriter.computeOffsetMappingAndRewriteJumboStrings(com.android.tools.r8.dex.VirtualFile,java.util.List,com.android.tools.r8.utils.Timing):446:451 -> a
    297:302:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):296 -> a
    303:308:void com.android.tools.r8.dex.ApplicationWriter.computeOffsetMappingAndRewriteJumboStrings(com.android.tools.r8.dex.VirtualFile,java.util.List,com.android.tools.r8.utils.Timing):450:455 -> a
    303:308:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):296 -> a
    309:311:void com.android.tools.r8.dex.ApplicationWriter.computeOffsetMappingAndRewriteJumboStrings(com.android.tools.r8.dex.VirtualFile,java.util.List,com.android.tools.r8.utils.Timing):454:456 -> a
    309:311:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):296 -> a
    312:312:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):298:298 -> a
    316:316:com.android.tools.r8.graph.DexString access$000(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):79:79 -> a
    317:317:java.util.List distribute(java.util.concurrent.ExecutorService):194:194 -> a
    318:318:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():476:476 -> a
    318:318:java.util.List distribute(java.util.concurrent.ExecutorService):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    319:319:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():476:476 -> a
    319:319:java.util.List distribute(java.util.concurrent.ExecutorService):194 -> a
    320:320:java.util.List distribute(java.util.concurrent.ExecutorService):195:195 -> a
    321:321:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():492:492 -> a
    321:321:java.util.List distribute(java.util.concurrent.ExecutorService):196 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    322:322:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():492:492 -> a
    322:322:java.util.List distribute(java.util.concurrent.ExecutorService):196 -> a
    323:332:java.util.List distribute(java.util.concurrent.ExecutorService):196:205 -> a
    333:333:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):197:197 -> a
    333:333:void lambda$rewriteSourceFile$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProgramClass):440 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    334:335:void encodeChecksums(java.lang.Iterable):215:216 -> a
    336:336:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.<init>(int):110:110 -> a
    336:336:void encodeChecksums(java.lang.Iterable):216 -> a
    337:346:void encodeChecksums(java.lang.Iterable):217:226 -> a
    347:352:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):242:247 -> a
    353:353:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):354:354 -> a
    353:353:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    354:354:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():231:231 -> a
    354:354:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):356 -> a
    354:354:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    355:368:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):358:371 -> a
    355:368:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    369:369:com.android.tools.r8.graph.DexString com.android.tools.r8.dex.Marker.toDexString(com.android.tools.r8.graph.DexItemFactory):296:296 -> a
    369:369:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):371 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    369:369:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    370:370:com.android.tools.r8.graph.DexString com.android.tools.r8.dex.Marker.toDexString(com.android.tools.r8.graph.DexItemFactory):296:296 -> a
    370:370:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):371 -> a
    370:370:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    371:371:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List) -> a
    371:371:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    372:373:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):378:379 -> a
    372:373:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    374:374:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():231:231 -> a
    374:374:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):381 -> a
    374:374:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    375:384:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):382:391 -> a
    375:384:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    385:385:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):197:197 -> a
    385:385:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):392 -> a
    385:385:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    386:394:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):396:404 -> a
    386:394:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    395:418:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):253:276 -> a
    419:448:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):274:303 -> a
    449:449:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():231:231 -> a
    449:449:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):307 -> a
    450:452:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):308:308 -> a
    457:484:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):313:340 -> a
    485:485:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    485:485:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):340 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    486:486:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    486:486:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):340 -> a
    487:495:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):340:348 -> a
    496:496:java.lang.Boolean lambda$write$0(java.util.List,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):278:278 -> a
    497:497:void lambda$write$1(com.android.tools.r8.dex.ApplicationWriter$SortAnnotations,com.android.tools.r8.graph.DexProgramClass):284:284 -> a
    498:510:com.android.tools.r8.SourceFileEnvironment createSourceFileEnvironment(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):409:421 -> a
    511:514:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):519:522 -> a
    515:522:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):520:527 -> a
    523:531:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):526:534 -> a
    532:565:void com.android.tools.r8.dex.ApplicationWriter.adaptAndPassDataResources(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.DataResourceConsumer,java.util.Collection,com.android.tools.r8.dex.ResourceAdapter):583:616 -> a
    532:565:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):537 -> a
    566:597:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):542:573 -> a
    598:631:void com.android.tools.r8.dex.ApplicationWriter.adaptAndPassDataResources(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.DataResourceConsumer,java.util.Collection,com.android.tools.r8.dex.ResourceAdapter):583:616 -> a
    598:631:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):572 -> a
    632:632:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):549:549 -> a
    633:642:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):548:557 -> a
    643:649:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):552:558 -> a
    650:650:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1220,"2":1221,"3":1222,"4":1223,"5":1224}}
    1220:1220:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):558:558 -> a
    1221:1221:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):558:558 -> a
    1222:1222:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):558:558 -> a
    1223:1223:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):558:558 -> a
    1224:1224:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):558:558 -> a
    1210:1210:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):560:560 -> a
    1211:1211:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):551:551 -> a
    1212:1212:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):550:550 -> a
    1225:1225:void insertAttributeAnnotations():623:623 -> a
    1226:1240:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):631:645 -> a
    1226:1240:void insertAttributeAnnotations():624 -> a
    1241:1241:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):644:644 -> a
    1241:1241:void insertAttributeAnnotations():624 -> a
    1242:1250:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):643:651 -> a
    1242:1250:void insertAttributeAnnotations():624 -> a
    1251:1251:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):650:650 -> a
    1251:1251:void insertAttributeAnnotations():624 -> a
    1252:1268:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):649:665 -> a
    1252:1268:void insertAttributeAnnotations():624 -> a
    1269:1275:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):664:670 -> a
    1269:1275:void insertAttributeAnnotations():624 -> a
    1276:1285:com.android.tools.r8.graph.DexAnnotation com.android.tools.r8.graph.DexAnnotation.createInnerClassAnnotation(com.android.tools.r8.graph.DexString,int,com.android.tools.r8.graph.DexItemFactory):183:192 -> a
    1276:1285:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):668 -> a
    1276:1285:void insertAttributeAnnotations():624 -> a
    1286:1294:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):667:675 -> a
    1286:1294:void insertAttributeAnnotations():624 -> a
    1295:1295:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):674:674 -> a
    1295:1295:void insertAttributeAnnotations():624 -> a
    1296:1307:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):673:684 -> a
    1296:1307:void insertAttributeAnnotations():624 -> a
    1308:1316:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):683:691 -> a
    1308:1316:void insertAttributeAnnotations():624 -> a
    1317:1317:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):276:276 -> a
    1317:1317:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):691 -> a
    1317:1317:void insertAttributeAnnotations():624 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    1320:1323:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):279:282 -> a
    1320:1323:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):691 -> a
    1320:1323:void insertAttributeAnnotations():624 -> a
    1324:1324:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):691:691 -> a
    1324:1324:void insertAttributeAnnotations():624 -> a
    1325:1325:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):690:690 -> a
    1325:1325:void insertAttributeAnnotations():624 -> a
    1326:1337:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):689:700 -> a
    1326:1337:void insertAttributeAnnotations():624 -> a
    1338:1338:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.concat(java.lang.Object[],java.lang.Object[],java.lang.Class):71:71 -> a
    1338:1338:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):698 -> a
    1338:1338:void insertAttributeAnnotations():624 -> a
    1339:1339:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.newArray(java.lang.Class,int):49:49 -> a
    1339:1339:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.concat(java.lang.Object[],java.lang.Object[],java.lang.Class):71 -> a
    1339:1339:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):698 -> a
    1339:1339:void insertAttributeAnnotations():624 -> a
    1340:1341:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.concat(java.lang.Object[],java.lang.Object[],java.lang.Class):72:73 -> a
    1340:1341:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):698 -> a
    1340:1341:void insertAttributeAnnotations():624 -> a
    1342:1352:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):698:708 -> a
    1342:1352:void insertAttributeAnnotations():624 -> a
    1353:1354:void insertAttributeAnnotations():625:626 -> a
    1355:1364:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):712:721 -> a
    1365:1365:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:476 -> a
    1365:1365:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):721 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1368:1371:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):479:482 -> a
    1368:1371:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):721 -> a
    1372:1372:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):721:721 -> a
    1373:1373:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):720:720 -> a
    1374:1374:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):718:718 -> a
    1375:1375:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):717:717 -> a
    1376:1383:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):716:723 -> a
    1384:1393:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):727:736 -> a
    1394:1394:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):878:878 -> a
    1394:1394:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):736 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1397:1400:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):881:884 -> a
    1397:1400:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):736 -> a
    1401:1401:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):736:736 -> a
    1402:1402:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):735:735 -> a
    1403:1403:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):733:733 -> a
    1404:1404:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):732:732 -> a
    1405:1412:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):731:738 -> a
    1413:1413:void setCallSiteContexts(com.android.tools.r8.graph.DexProgramClass):747:747 -> a
    1414:1414:void lambda$setCallSiteContexts$6(com.android.tools.r8.graph.ProgramMethod):749:749 -> a
    1415:1427:void rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ObjectToOffsetMapping,java.util.Collection,com.android.tools.r8.graph.DexApplication):764:776 -> a
    1428:1435:void lambda$rewriteCodeWithJumboStrings$7(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.ProgramMethod):779:786 -> a
    1436:1447:com.android.tools.r8.dex.FileWriter$ByteBufferResult writeDexFile(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.utils.Timing):793:804 -> a
    1448:1448:com.android.tools.r8.dex.FileWriter lambda$writeDexFile$8(com.android.tools.r8.dex.FileWriter):802:802 -> a
    1449:1450:java.lang.String com.android.tools.r8.dex.ApplicationWriter.mapMainDexListName(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.NamingLens):808:809 -> a
    1449:1450:void lambda$writeMainDexList$10(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):820 -> a
    1451:1451:void lambda$writeMainDexList$10(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):820:820 -> a
    1452:1459:java.lang.String writeMainDexList(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):814:821 -> a
    1:1:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":383,"2":384,"3":385}}
    383:383:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
    384:384:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
    385:385:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
    329:329:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
    330:340:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):461:471 -> b
    330:340:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    341:341:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():492:492 -> b
    341:341:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):471 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    341:341:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    342:342:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():492:492 -> b
    342:342:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):471 -> b
    342:342:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    343:349:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):474:480 -> b
    343:349:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    350:350:com.android.tools.r8.DexIndexedConsumer com.android.tools.r8.utils.InternalOptions.getDexIndexedConsumer():488:488 -> b
    350:350:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):480 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    350:350:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    351:351:com.android.tools.r8.DexIndexedConsumer com.android.tools.r8.utils.InternalOptions.getDexIndexedConsumer():488:488 -> b
    351:351:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):480 -> b
    351:351:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    352:368:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):485:501 -> b
    352:368:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    369:381:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):498:510 -> b
    369:381:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    382:382:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):330:330 -> b
    386:391:com.android.tools.r8.graph.DexString rewriteSourceFile(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):435:440 -> b
    392:394:void setCallSiteContexts(java.util.concurrent.ExecutorService):742:742 -> b
    395:395:com.android.tools.r8.dex.FileWriter$ByteBufferResult lambda$writeDexFile$9(com.android.tools.r8.dex.FileWriter):804:804 -> b
    1:1:void write(java.util.concurrent.ExecutorService):236:236 -> c
    2:2:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():231:231 -> c
    2:2:void write(java.util.concurrent.ExecutorService):236 -> c
    3:4:void write(java.util.concurrent.ExecutorService):236:237 -> c
com.android.tools.r8.dex.ApplicationWriter$1 -> com.android.tools.r8.internal.v2:
    com.android.tools.r8.dex.ApplicationWriter this$0 -> d
    com.android.tools.r8.utils.Box val$delayedProguardMapId -> c
    1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.Box):359:359 -> <init>
    1:3:com.android.tools.r8.graph.DexString internalCompute():363:365 -> b
    4:4:com.android.tools.r8.graph.DexString com.android.tools.r8.dex.Marker.toDexString(com.android.tools.r8.graph.DexItemFactory):296:296 -> b
    4:4:com.android.tools.r8.graph.DexString internalCompute():365 -> b
com.android.tools.r8.dex.ApplicationWriter$2 -> com.android.tools.r8.internal.w2:
    com.android.tools.r8.dex.ApplicationWriter this$0 -> d
    com.android.tools.r8.utils.Box val$delayedProguardMapId -> c
    1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.Box):397:397 -> <init>
    1:1:com.android.tools.r8.graph.DexString internalCompute():400:400 -> b
com.android.tools.r8.dex.ApplicationWriter$3 -> com.android.tools.r8.internal.x2:
    1:1:void <init>():409:409 -> <init>
com.android.tools.r8.dex.ApplicationWriter$4 -> com.android.tools.r8.internal.y2:
    com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId val$proguardMapId -> a
    1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):421:421 -> <init>
    1:1:java.lang.String getMapHash():429:429 -> getMapHash
    1:1:java.lang.String getMapId():424:424 -> getMapId
com.android.tools.r8.dex.ApplicationWriter$5 -> com.android.tools.r8.internal.z2:
    com.android.tools.r8.dex.ResourceAdapter val$resourceAdapter -> a
    com.android.tools.r8.DataResourceConsumer val$dataResourceConsumer -> b
    java.util.Set val$generatedResourceNames -> d
    com.android.tools.r8.utils.InternalOptions val$options -> c
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,java.util.Set):588:588 -> <init>
    1:4:void visit(com.android.tools.r8.DataDirectoryResource):591:594 -> visit
    5:5:void visit(com.android.tools.r8.DataEntryResource):600:600 -> visit
    6:6:boolean com.android.tools.r8.dex.ResourceAdapter.isService(com.android.tools.r8.DataEntryResource):108:108 -> visit
    6:6:void visit(com.android.tools.r8.DataEntryResource):600 -> visit
    7:11:void visit(com.android.tools.r8.DataEntryResource):605:609 -> visit
    12:12:void visit(com.android.tools.r8.DataEntryResource):0:0 -> visit
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":627,"2":628,"3":629}}
    627:627:void visit(com.android.tools.r8.DataEntryResource):609:609 -> visit
    628:628:void visit(com.android.tools.r8.DataEntryResource):609:609 -> visit
    629:629:void visit(com.android.tools.r8.DataEntryResource):609:609 -> visit
    622:622:void visit(com.android.tools.r8.DataEntryResource):610:610 -> visit
    623:626:void visit(com.android.tools.r8.DataEntryResource):609:612 -> visit
com.android.tools.r8.dex.ApplicationWriter$LazyDexString -> com.android.tools.r8.internal.A2:
    boolean computed -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():824:824 -> <clinit>
    1:2:void <init>():824:825 -> <init>
    1:3:com.android.tools.r8.graph.DexString compute():830:832 -> a
    com.android.tools.r8.graph.DexString internalCompute() -> b
com.android.tools.r8.dex.ApplicationWriter$SortAnnotations -> com.android.tools.r8.internal.B2:
    com.android.tools.r8.naming.NamingLens namingLens -> a
    1:2:void <init>(com.android.tools.r8.naming.NamingLens):97:98 -> <init>
    boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode) -> a
    boolean add(com.android.tools.r8.graph.DexProgramClass) -> a
    boolean add(com.android.tools.r8.graph.DexTypeList) -> a
    boolean add(com.android.tools.r8.graph.ParameterAnnotationsList) -> a
    boolean add(com.android.tools.r8.graph.DexDebugInfoForWriting) -> a
    boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory) -> a
    1:1:boolean add(com.android.tools.r8.graph.DexAnnotationSet):104:104 -> a
    2:2:boolean add(com.android.tools.r8.graph.DexAnnotation):111:111 -> a
    3:4:boolean add(com.android.tools.r8.graph.DexEncodedArray):118:119 -> 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
    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>
    1:1:void position(int):86:86 -> a
    2:2:byte get():97:97 -> a
    1:1:com.android.tools.r8.origin.Origin getOrigin():32:32 -> b
    1:2:int getUint():56:57 -> c
    1:1:int getUleb128():44:44 -> d
    1:1:int getUleb128p1():52 -> d
    1:2:int getUshort():62:63 -> e
com.android.tools.r8.dex.ClassesChecksum -> com.android.tools.r8.internal.hb:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap dictionary -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    2:8:void <init>():21:27 -> <init>
    1:2:void append(com.android.tools.r8.com.google.gson.JsonObject):31:32 -> a
    3:3:void lambda$append$0(java.util.Map$Entry):34:34 -> a
    4:4:void addChecksum(java.lang.String,long):38:38 -> a
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap getChecksums():42:42 -> a
    6:6:void lambda$toJsonString$1(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$Entry):52:52 -> a
    7:27:boolean definitelyPrecedesChecksumMarker(com.android.tools.r8.graph.DexString):83:103 -> a
    1:7:java.lang.String toJsonString():47:53 -> b
    8:14:void tryParseAndAppend(com.android.tools.r8.graph.DexString):58:64 -> b
    15:15:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> b
    15:15:void tryParseAndAppend(com.android.tools.r8.graph.DexString):65 -> b
    16:16:void tryParseAndAppend(com.android.tools.r8.graph.DexString):66:66 -> b
com.android.tools.r8.dex.CodeToKeep -> com.android.tools.r8.internal.Hb:
    1:1:void <init>():24:24 -> <init>
    void generateKeepRules(com.android.tools.r8.utils.InternalOptions) -> a
    boolean isNop() -> a
    void recordClass(com.android.tools.r8.graph.DexType) -> a
    void recordField(com.android.tools.r8.graph.DexField) -> a
    void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass) -> 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):27:28 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    3:3:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):29 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    4:4:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):29 -> a
    5:9:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):29:33 -> a
    10:10:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):31:31 -> a
com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep -> com.android.tools.r8.internal.Fb:
    java.util.Map toKeep -> b
    com.android.tools.r8.naming.NamingLens namingLens -> a
    com.android.tools.r8.utils.InternalOptions options -> c
    1:1:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):63:63 -> <init>
    2:7:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):60:65 -> <init>
    boolean isNop() -> a
    1:13:void recordMethod(com.android.tools.r8.graph.DexMethod):82:94 -> a
    14:22:void recordField(com.android.tools.r8.graph.DexField):101:109 -> a
    23:24:void recordClass(com.android.tools.r8.graph.DexType):115:116 -> a
    25:25:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):130:130 -> a
    26:28:void com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.recordClassAllAccesses(com.android.tools.r8.graph.DexType):122:124 -> a
    26:28:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):130 -> a
    29:29:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):131:131 -> a
    30:32:void com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.recordClassAllAccesses(com.android.tools.r8.graph.DexType):122:124 -> a
    30:32:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):132 -> a
    33:42:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):155:164 -> a
    43:43:java.util.Comparator com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.getComparator():205:205 -> a
    43:43:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):164 -> a
    44:46:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):164:166 -> a
    47:49:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):147:149 -> a
    47:49:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):166 -> a
    50:60:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):166:176 -> a
    61:61:java.util.Comparator com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.getComparator():205:205 -> a
    61:61:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):176 -> a
    62:63:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):176:177 -> a
    64:66:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):147:149 -> a
    64:66:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):178 -> a
    67:73:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):178:184 -> a
    74:74:java.util.Comparator com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.getComparator():205:205 -> a
    74:74:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):184 -> a
    75:76:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):184:185 -> a
    77:79:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):147:149 -> a
    77:79:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):186 -> a
    80:88:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):186:194 -> a
    89:91:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):147:149 -> a
    89:91:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):194 -> a
    92:99:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):194:201 -> a
    1:1:void keepClass(com.android.tools.r8.graph.DexType):137:137 -> b
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):427:427 -> b
    2:2:void keepClass(com.android.tools.r8.graph.DexType):137 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:9:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):431:434 -> b
    6:9:void keepClass(com.android.tools.r8.graph.DexType):137 -> b
    10:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):432:436 -> b
    10:14:void keepClass(com.android.tools.r8.graph.DexType):137 -> b
    15:15:void keepClass(com.android.tools.r8.graph.DexType):138:138 -> b
    1:5:boolean shouldKeep(com.android.tools.r8.graph.DexType):69:73 -> c
    6:6:boolean shouldKeep(com.android.tools.r8.graph.DexType):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":85,"2":86,"3":87}}
    85:85:boolean shouldKeep(com.android.tools.r8.graph.DexType):73:73 -> c
    86:86:boolean shouldKeep(com.android.tools.r8.graph.DexType):73:73 -> c
    87:87:boolean shouldKeep(com.android.tools.r8.graph.DexType):73:73 -> c
    79:83:boolean shouldKeep(com.android.tools.r8.graph.DexType):73:77 -> c
    84:84:boolean shouldKeep(com.android.tools.r8.graph.DexType):74:74 -> c
com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$2 -> com.android.tools.r8.internal.Db:
    1:1:void <init>():205:205 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):205:205 -> compare
    2:2:int com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$2.compare(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):208:208 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):205 -> compare
com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$KeepStruct -> com.android.tools.r8.internal.Eb:
    java.util.Set fields -> a
    java.util.Set methods -> b
    boolean all -> c
    1:5:void <init>():52:56 -> <init>
    6:6:void <init>(com.android.tools.r8.dex.CodeToKeep$1):52:52 -> <init>
com.android.tools.r8.dex.CodeToKeep$NopCodeToKeep -> com.android.tools.r8.internal.Gb:
    1:1:void <init>():214:214 -> <init>
    boolean isNop() -> a
    void recordClass(com.android.tools.r8.graph.DexType) -> a
    void recordField(com.android.tools.r8.graph.DexField) -> a
    void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass) -> a
    void recordMethod(com.android.tools.r8.graph.DexMethod) -> a
    1:1:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):238:238 -> a
com.android.tools.r8.dex.CompatByteBuffer -> com.android.tools.r8.internal.sc:
    java.nio.ByteBuffer buffer -> a
    1:2:void <init>(java.nio.ByteBuffer):21:22 -> <init>
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    1:1:byte[] array():57 -> a
    2:2:byte[] array():57:57 -> a
    3:3:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    3:3:byte get(int):101 -> a
    4:4:byte get(int):101:101 -> a
    5:5:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    5:5:void get(byte[]):105 -> a
    6:6:void get(byte[]):105:105 -> a
    7:7:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    7:7:void order(java.nio.ByteOrder):93 -> a
    8:8:void order(java.nio.ByteOrder):93:93 -> a
    9:9:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    9:9:void put(byte):121 -> a
    10:10:void put(byte):121:121 -> a
    11:11:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    11:11:void putShort(short):125 -> a
    12:12:void putShort(short):125:125 -> a
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> b
    1:1:int arrayOffset():61 -> b
    2:2:int arrayOffset():61:61 -> b
    3:3:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> b
    3:3:int getInt(int):113 -> b
    4:4:int getInt(int):113:113 -> b
    5:5:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> b
    5:5:void put(byte[]):133 -> b
    6:6:void put(byte[]):133:133 -> b
    1:1:com.android.tools.r8.dex.CompatByteBuffer wrap(byte[]):26:26 -> c
    2:2:java.nio.Buffer com.android.tools.r8.dex.CompatByteBuffer.asBuffer():30:30 -> c
    2:2:void position(int):43 -> c
    3:3:void position(int):43:43 -> c
    4:4:java.nio.ByteBuffer asByteBuffer():34:34 -> c
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> d
    1:1:java.nio.ShortBuffer asShortBuffer():89 -> d
    2:2:java.nio.ShortBuffer asShortBuffer():89:89 -> d
    3:3:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> d
    3:3:void putInt(int):129 -> d
    4:4:void putInt(int):129:129 -> d
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> e
    1:1:int capacity():65 -> e
    2:2:int capacity():65:65 -> e
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> f
    1:1:byte get():97 -> f
    2:2:byte get():97:97 -> f
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> g
    1:1:int getInt():109 -> g
    2:2:int getInt():109:109 -> g
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> h
    1:1:short getShort():117 -> h
    2:2:short getShort():117:117 -> h
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> i
    1:1:boolean hasArray():69 -> i
    2:2:boolean hasArray():69:69 -> i
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> j
    1:1:boolean hasRemaining():73 -> j
    2:2:boolean hasRemaining():73:73 -> j
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> k
    1:1:int position():77 -> k
    2:2:int position():77:77 -> k
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> l
    1:1:int remaining():81 -> l
    2:2:int remaining():81:81 -> l
    1:1:java.nio.Buffer com.android.tools.r8.dex.CompatByteBuffer.asBuffer():30:30 -> m
    1:1:void rewind():48 -> m
    2:2:void rewind():48:48 -> m
com.android.tools.r8.dex.Constants -> com.android.tools.r8.internal.yd:
    byte[] VDEX_FILE_MAGIC_PREFIX -> b
    byte[] DEX_FILE_MAGIC_PREFIX -> a
    com.android.tools.r8.cf.CfVersion CORRESPONDING_CLASS_FILE_VERSION -> c
    1:12:void <clinit>():10:21 -> <clinit>
com.android.tools.r8.dex.DebugBytecodeWriter -> com.android.tools.r8.internal.ye:
    com.android.tools.r8.graph.ObjectToOffsetMapping mapping -> a
    java.nio.ByteBuffer buffer -> d
    com.android.tools.r8.graph.DexDebugInfoForWriting info -> c
    com.android.tools.r8.graph.GraphLens graphLens -> b
    1:5:void <init>(com.android.tools.r8.graph.DexDebugInfoForWriting,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):23:27 -> <init>
    1:2:byte[] generate():31:32 -> a
    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):36:39 -> a
    3:6:void putByte(int):44 -> a
    7:7:void putByte(int):45:45 -> a
    8:8:void com.android.tools.r8.dex.DebugBytecodeWriter.putNoIndex():65:65 -> a
    8:8:void putString(com.android.tools.r8.graph.DexString):79 -> a
    9:9:void putString(com.android.tools.r8.graph.DexString):81:81 -> a
    10:10:void com.android.tools.r8.dex.DebugBytecodeWriter.putUleb128p1(int):61:61 -> a
    10:10:void putString(com.android.tools.r8.graph.DexString):82 -> a
    11:11:void com.android.tools.r8.dex.DebugBytecodeWriter.putNoIndex():65:65 -> a
    11:11:void putType(com.android.tools.r8.graph.DexType):70 -> a
    12:12:void putType(com.android.tools.r8.graph.DexType):72:72 -> a
    13:13:void com.android.tools.r8.dex.DebugBytecodeWriter.putUleb128p1(int):61:61 -> a
    13:13:void putType(com.android.tools.r8.graph.DexType):73 -> a
    1:2:void putSleb128(int):49:50 -> b
    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):36:39 -> b
    3:6:void putSleb128(int):50 -> b
    7:7:void putSleb128(int):51:51 -> b
    1:2:void putUleb128(int):55:56 -> c
    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):36:39 -> c
    3:6:void putUleb128(int):56 -> c
    7:7:void putUleb128(int):57:57 -> c
com.android.tools.r8.dex.DexOutputBuffer -> com.android.tools.r8.dex.e:
    com.android.tools.r8.dex.CompatByteBuffer byteBuffer -> b
    com.android.tools.r8.ByteBufferProvider byteBufferProvider -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():30:30 -> <init>
    2:4:void <init>(com.android.tools.r8.ByteBufferProvider):33:35 -> <init>
    1:6:void putInstructions(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.dex.CodeToKeep):99:104 -> a
    7:10:void putInstructions(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.dex.CodeToKeep):103:106 -> a
    11:12:void putByte(byte):110:111 -> a
    13:14:void putBytes(byte[]):115:116 -> a
    15:16:void putShort(short):120:121 -> a
    17:21:int align(int):136:140 -> a
    22:22:byte[] asArray():167:167 -> a
    1:20:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):50:69 -> b
    21:21:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):64:64 -> b
    22:22:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
    170:170:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):64:64 -> b
    171:171:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):64:64 -> b
    172:172:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):64:64 -> b
    88:88:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):66:66 -> b
    89:89:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    89:89:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):66 -> b
    90:90:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):66:66 -> b
    91:91:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    92:92:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":173,"2":174,"3":175,"4":176,"5":177}}
    173:173:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    174:174:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    175:175:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    176:176:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    177:177:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    153:153:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):61:61 -> b
    154:154:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    154:154:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):61 -> b
    155:155:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):61:61 -> b
    156:156:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):52:52 -> b
    157:157:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    157:157:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):52 -> b
    158:158:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):52:52 -> b
    178:178:int position():145:145 -> b
    1:6:void ensureSpaceFor(int):39:44 -> c
    7:8:void freeByteBuffer(com.android.tools.r8.dex.CompatByteBuffer):74:75 -> c
    7:8:void ensureSpaceFor(int):44 -> c
    9:9:void ensureSpaceFor(int):45:45 -> c
    10:11:com.android.tools.r8.dex.CompatByteBuffer stealByteBuffer():171:172 -> c
    1:2:void forward(int):149:150 -> d
    1:2:void moveTo(int):158:159 -> e
    1:2:void putInt(int):125:126 -> f
com.android.tools.r8.dex.DexOutputBuffer$1 -> com.android.tools.r8.dex.d:
    1:1:void <init>():30:30 -> <init>
com.android.tools.r8.dex.DexParser -> com.android.tools.r8.dex.i:
    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
    1:1:void <clinit>():89:89 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):135:135 -> <init>
    2:22:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):124:144 -> <init>
    1:1:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.nio.file.Path):101:101 -> a
    2:2:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.io.InputStream,com.android.tools.r8.origin.Origin):105:105 -> a
    3:5:com.android.tools.r8.dex.DexSection[] parseMapFrom(com.android.tools.r8.dex.DexReader):109:111 -> a
    3:5:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.io.InputStream,com.android.tools.r8.origin.Origin):105 -> a
    6:15:java.lang.Object cacheAt(int,java.util.function.Supplier):438:447 -> a
    16:17:com.android.tools.r8.graph.DexAnnotation parseAnnotation():452:453 -> a
    18:18:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    18:18:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    19:19:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453 -> a
    20:20:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    20:20:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453 -> a
    21:21:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455:455 -> a
    22:22:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> a
    22:22:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:23:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> a
    23:23:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455 -> a
    24:24:com.android.tools.r8.graph.DexAnnotation parseAnnotation():456:456 -> a
    25:25:com.android.tools.r8.graph.DexAnnotation annotationAt(int):460:460 -> a
    26:31:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):655:660 -> a
    32:32:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    32:32:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):660 -> a
    33:34:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):661:662 -> a
    35:35:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    35:35:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):662 -> a
    36:46:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):662:672 -> a
    47:48:java.lang.String com.android.tools.r8.graph.DexAnnotation.getSignature(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):286:287 -> a
    47:48:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):672 -> a
    49:52:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):674:677 -> a
    53:63:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):676:686 -> a
    64:64:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    64:64:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):687 -> a
    65:65:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):688:688 -> a
    66:73:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):698:705 -> a
    74:74:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    74:74:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):705 -> a
    75:75:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):706:706 -> a
    76:76:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    76:76:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):706 -> a
    77:78:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):706:707 -> a
    79:79:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    79:79:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):707 -> a
    80:81:void ensureCodesInited(int):152:153 -> a
    80:81:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    82:82:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    82:82:void ensureCodesInited(int):153 -> a
    82:82:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    83:96:void ensureCodesInited(int):153:166 -> a
    83:96:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    97:97:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    97:97:void ensureCodesInited(int):166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    97:97:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    98:98:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    98:98:void ensureCodesInited(int):166 -> a
    98:98:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    99:100:void ensureCodesInited(int):167:168 -> a
    99:100:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    101:101:void com.android.tools.r8.dex.BinaryReader.align(int):90:90 -> a
    101:101:void ensureCodesInited(int):168 -> a
    101:101:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    102:102:void com.android.tools.r8.dex.BinaryReader.align(int):91:91 -> a
    102:102:void ensureCodesInited(int):168 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    102:102:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    103:105:void com.android.tools.r8.dex.BinaryReader.align(int):91:93 -> a
    103:105:void ensureCodesInited(int):168 -> a
    103:105:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    106:118:com.android.tools.r8.graph.DexCode parseCodeItem():928:940 -> a
    106:118:void ensureCodesInited(int):169 -> a
    106:118:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    119:119:short com.android.tools.r8.dex.BinaryReader.getShort():68:68 -> a
    119:119:com.android.tools.r8.graph.DexCode parseCodeItem():940 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    119:119:void ensureCodesInited(int):169 -> a
    119:119:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    120:120:short com.android.tools.r8.dex.BinaryReader.getShort():68:68 -> a
    120:120:com.android.tools.r8.graph.DexCode parseCodeItem():940 -> a
    120:120:void ensureCodesInited(int):169 -> a
    120:120:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    121:136:com.android.tools.r8.graph.DexCode parseCodeItem():940:955 -> a
    121:136:void ensureCodesInited(int):169 -> a
    121:136:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    137:137:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    137:137:com.android.tools.r8.graph.DexCode parseCodeItem():955 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    137:137:void ensureCodesInited(int):169 -> a
    137:137:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    138:138:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    138:138:com.android.tools.r8.graph.DexCode parseCodeItem():955 -> a
    138:138:void ensureCodesInited(int):169 -> a
    138:138:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    139:139:com.android.tools.r8.graph.DexCode parseCodeItem():957:957 -> a
    139:139:void ensureCodesInited(int):169 -> a
    139:139:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    140:140:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    140:140:com.android.tools.r8.graph.DexCode parseCodeItem():957 -> a
    140:140:void ensureCodesInited(int):169 -> a
    140:140:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    141:145:com.android.tools.r8.graph.DexCode parseCodeItem():958:962 -> a
    141:145:void ensureCodesInited(int):169 -> a
    141:145:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    146:146:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    146:146:com.android.tools.r8.graph.DexCode parseCodeItem():962 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    146:146:void ensureCodesInited(int):169 -> a
    146:146:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    147:147:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    147:147:com.android.tools.r8.graph.DexCode parseCodeItem():962 -> a
    147:147:void ensureCodesInited(int):169 -> a
    147:147:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    148:150:com.android.tools.r8.graph.DexCode parseCodeItem():963:965 -> a
    148:150:void ensureCodesInited(int):169 -> a
    148:150:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    151:151:int com.android.tools.r8.dex.BinaryReader.getSleb128():48:48 -> a
    151:151:com.android.tools.r8.graph.DexCode parseCodeItem():965 -> a
    151:151:void ensureCodesInited(int):169 -> a
    151:151:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    152:156:com.android.tools.r8.graph.DexCode parseCodeItem():966:970 -> a
    152:156:void ensureCodesInited(int):169 -> a
    152:156:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    157:157:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    157:157:com.android.tools.r8.graph.DexCode parseCodeItem():970 -> a
    157:157:void ensureCodesInited(int):169 -> a
    157:157:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    158:158:com.android.tools.r8.graph.DexCode parseCodeItem():971:971 -> a
    158:158:void ensureCodesInited(int):169 -> a
    158:158:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    159:159:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    159:159:com.android.tools.r8.graph.DexCode parseCodeItem():971 -> a
    159:159:void ensureCodesInited(int):169 -> a
    159:159:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    160:164:com.android.tools.r8.graph.DexCode parseCodeItem():972:976 -> a
    160:164:void ensureCodesInited(int):169 -> a
    160:164:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    165:165:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    165:165:com.android.tools.r8.graph.DexCode parseCodeItem():976 -> a
    165:165:void ensureCodesInited(int):169 -> a
    165:165:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    166:169:com.android.tools.r8.graph.DexCode parseCodeItem():978:981 -> a
    166:169:void ensureCodesInited(int):169 -> a
    166:169:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    170:170:void com.android.tools.r8.graph.DexCode$Try.setHandlerIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):739:739 -> a
    170:170:com.android.tools.r8.graph.DexCode parseCodeItem():982 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    170:170:void ensureCodesInited(int):169 -> a
    170:170:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    171:171:void com.android.tools.r8.graph.DexCode$Try.setHandlerIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):739:739 -> a
    171:171:com.android.tools.r8.graph.DexCode parseCodeItem():982 -> a
    171:171:void ensureCodesInited(int):169 -> a
    171:171:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    172:172:com.android.tools.r8.graph.DexCode parseCodeItem():987:987 -> a
    172:172:void ensureCodesInited(int):169 -> a
    172:172:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    173:173:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    173:173:com.android.tools.r8.graph.DexCode parseCodeItem():987 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    173:173:void ensureCodesInited(int):169 -> a
    173:173:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    174:174:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    174:174:com.android.tools.r8.graph.DexCode parseCodeItem():987 -> a
    174:174:void ensureCodesInited(int):169 -> a
    174:174:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    175:180:com.android.tools.r8.graph.DexCode parseCodeItem():988:993 -> a
    175:180:void ensureCodesInited(int):169 -> a
    175:180:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    181:182:void ensureCodesInited(int):170:171 -> a
    181:182:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    183:191:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):711:719 -> a
    192:193:java.lang.String com.android.tools.r8.graph.DexAnnotation.getSignature(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):286:287 -> a
    192:193:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):719 -> a
    194:197:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):721:724 -> a
    198:215:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):723:740 -> a
    216:235:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):746:765 -> a
    236:236:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    236:236:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    237:237:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    237:237:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
    238:238:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    238:238:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
    239:241:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):767:769 -> a
    242:242:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    242:242:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    243:243:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    243:243:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769 -> a
    244:246:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769:771 -> a
    247:247:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    247:247:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    248:248:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    248:248:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771 -> a
    249:287:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771:809 -> a
    288:288:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    288:288:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):809 -> a
    289:289:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):810:810 -> a
    290:290:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    290:290:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):810 -> a
    291:291:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):811:811 -> a
    292:292:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    292:292:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):811 -> a
    293:293:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):812:812 -> a
    294:294:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    294:294:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):812 -> a
    295:297:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):814:814 -> a
    299:340:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):816:857 -> a
    341:362:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):839:860 -> a
    363:363:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    364:364:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1154,"2":1155,"3":1156}}
    1154:1154:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1155:1155:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1156:1156:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1151:1151:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1152:1152:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1152:1152:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1152:1152:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787 -> a
    1153:1153:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1157:1157:long lambda$addClassDefsTo$0(java.lang.Long,com.android.tools.r8.graph.DexProgramClass):836:836 -> a
    1:2:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():464:465 -> b
    3:3:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> b
    3:3:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():465 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> b
    4:4:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():465 -> b
    5:5:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    5:5:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():465 -> b
    6:14:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():467:475 -> b
    15:16:boolean retainAnnotation(com.android.tools.r8.graph.DexAnnotation):494:495 -> b
    15:16:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():476 -> b
    17:25:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():477:485 -> b
    26:26:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(com.android.tools.r8.graph.DexAnnotation[]):74:74 -> b
    26:26:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
    27:30:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(java.util.List):78:81 -> b
    27:30:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(com.android.tools.r8.graph.DexAnnotation[]):74 -> b
    27:30:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
    31:31:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():490:490 -> b
    32:32:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    33:33:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":38,"2":39,"3":40}}
    38:38:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    39:39:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    40:40:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    34:34:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"2":42,"3":43,"4":44}}
    41:41:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    42:42:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    43:43:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    44:44:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    35:35:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    35:35:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488 -> b
    36:36:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    36:36:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    36:36:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488 -> b
    37:37:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    45:45:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499:499 -> b
    46:48:java.lang.Object cacheAt(int,java.util.function.Supplier,java.util.function.Supplier):429:431 -> b
    46:48:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499 -> b
    49:49:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499:499 -> b
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList annotationSetRefListAt(int):388:388 -> c
    2:9:com.android.tools.r8.graph.ParameterAnnotationsList parseAnnotationSetRefList():392:399 -> c
    10:10:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.ParameterAnnotationsList.create(com.android.tools.r8.graph.DexAnnotationSet[]):72:72 -> c
    10:10:com.android.tools.r8.graph.ParameterAnnotationsList parseAnnotationSetRefList():401 -> c
    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):503:503 -> d
    2:4:java.lang.Object cacheAt(int,java.util.function.Supplier,java.util.function.Supplier):429:431 -> d
    2:4:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):503 -> d
    5:5:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):503:503 -> d
    6:9:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():508:511 -> d
    10:16:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):349:355 -> d
    10:16:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    17:17:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    17:17:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):355 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    18:18:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    18:18:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):355 -> d
    18:18:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    19:25:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):356:362 -> d
    19:25:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    26:32:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):370:376 -> d
    26:32:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    33:33:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    33:33:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):376 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    34:34:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    34:34:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):376 -> d
    34:34:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    35:41:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):377:383 -> d
    35:41:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    42:48:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):408:414 -> d
    42:48:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    49:49:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    49:49:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):414 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:49:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    50:50:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    50:50:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):414 -> d
    50:50:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    51:59:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):415:423 -> d
    51:59:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    60:61:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():515:516 -> d
    1:1:com.android.tools.r8.graph.DexDebugInfo debugInfoAt(int):523:523 -> e
    2:2:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():527:527 -> e
    3:3:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    3:3:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():527 -> e
    4:4:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():529:529 -> e
    5:5:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    5:5:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():529 -> e
    6:15:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():530:539 -> e
    16:16:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:101 -> e
    16:16:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():539 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:18:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
    17:18:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():539 -> e
    19:19:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():606:606 -> e
    20:23:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():597:600 -> e
    24:24:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():592:592 -> e
    25:25:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():587:587 -> e
    26:26:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582:582 -> e
    27:27:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    27:27:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582 -> e
    28:28:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582:582 -> e
    29:29:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577:577 -> e
    30:30:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    30:30:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577 -> e
    31:31:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577:577 -> e
    32:32:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():564:564 -> e
    33:33:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    33:33:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():564 -> e
    34:41:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():565:572 -> e
    42:42:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():568:568 -> e
    43:43:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():552:552 -> e
    44:44:int com.android.tools.r8.dex.BinaryReader.getUleb128() -> e
    44:44:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():552 -> e
    45:50:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():553:558 -> e
    51:51:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():555:555 -> e
    52:52:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548:548 -> e
    53:53:int com.android.tools.r8.dex.BinaryReader.getSleb128():48:48 -> e
    53:53:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548 -> e
    54:54:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548:548 -> e
    55:55:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544:544 -> e
    56:56:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    56:56:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544 -> e
    57:126:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544:613 -> e
    127:127:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541:541 -> e
    128:128:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:101 -> e
    128:128:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:130:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
    129:130:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541 -> e
    131:132:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():620:621 -> e
    1:1:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():316:316 -> f
    2:2:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> f
    2:2:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():316 -> f
    3:3:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():317:317 -> f
    4:4:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> f
    4:4:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():317 -> f
    5:7:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():318:320 -> f
    8:8:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> f
    8:8:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():320 -> f
    9:12:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():321:324 -> f
    13:13:com.android.tools.r8.graph.DexEncodedArray encodedArrayAt(int):342:342 -> f
    1:1:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338:338 -> g
    2:2:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328:328 -> g
    2:2:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338 -> g
    3:3:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> g
    3:3:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328 -> g
    3:3:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338 -> g
    4:6:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():329:331 -> g
    4:6:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338 -> g
    7:7:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338:338 -> g
    8:14:com.android.tools.r8.dex.DexSection lookupSection(int):877:883 -> g
    1:3:com.android.tools.r8.graph.DexTypeList typeListAt(int):185:187 -> h
    4:4:com.android.tools.r8.graph.DexValue parseEncodedValue():191:191 -> h
    5:5:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> h
    5:5:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> h
    6:6:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
    7:7:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):93:93 -> h
    7:7:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    8:8:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):91:91 -> h
    8:8:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    9:9:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):89:89 -> h
    9:9:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    10:10:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):87:87 -> h
    10:10:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    11:11:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):85:85 -> h
    11:11:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    12:12:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):83:83 -> h
    12:12:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    13:13:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):81:81 -> h
    13:13:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    14:14:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):79:79 -> h
    14:14:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    15:15:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):77:77 -> h
    15:15:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    16:16:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):75:75 -> h
    16:16:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    17:17:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):73:73 -> h
    17:17:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    18:18:com.android.tools.r8.graph.DexValue parseEncodedValue():194:194 -> h
    19:19:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):95:95 -> h
    19:19:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    20:20:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):71:71 -> h
    20:20:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    21:21:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):69:69 -> h
    21:21:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    22:22:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):65:65 -> h
    22:22:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    23:23:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):63:63 -> h
    23:23:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    24:30:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):61:67 -> h
    24:30:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    31:31:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):59:59 -> h
    31:31:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    32:140:com.android.tools.r8.graph.DexValue parseEncodedValue():194:302 -> h
    141:141:com.android.tools.r8.graph.DexValue parseEncodedValue():286:286 -> h
    142:143:com.android.tools.r8.graph.DexValue parseEncodedValue():280:281 -> h
    144:145:com.android.tools.r8.graph.DexValue parseEncodedValue():275:276 -> h
    146:147:com.android.tools.r8.graph.DexValue parseEncodedValue():270:271 -> h
    148:148:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328:328 -> h
    148:148:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
    149:149:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> h
    149:149:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328 -> h
    149:149:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
    150:152:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():329:331 -> h
    150:152:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
    153:153:com.android.tools.r8.graph.DexValue parseEncodedValue():271:271 -> h
    154:155:com.android.tools.r8.graph.DexValue parseEncodedValue():265:266 -> h
    156:157:com.android.tools.r8.graph.DexValue parseEncodedValue():258:259 -> h
    158:160:void checkName(com.android.tools.r8.graph.DexString):307:309 -> h
    158:160:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    161:161:com.android.tools.r8.graph.DexValue parseEncodedValue():0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":255,"2":256,"3":257}}
    255:255:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    255:255:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    256:256:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    256:256:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    257:257:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    257:257:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    162:162:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    162:162:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    163:163:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> h
    163:163:void checkName(com.android.tools.r8.graph.DexString):310 -> h
    163:163:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    164:164:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    164:164:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    165:165:com.android.tools.r8.graph.DexValue parseEncodedValue():260:260 -> h
    166:167:com.android.tools.r8.graph.DexValue parseEncodedValue():251:252 -> h
    168:170:void checkName(com.android.tools.r8.graph.DexString):307:309 -> h
    168:170:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    171:171:com.android.tools.r8.graph.DexValue parseEncodedValue():0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":258,"2":259,"3":260}}
    258:258:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    258:258:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    259:259:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    259:259:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    260:260:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    260:260:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    172:172:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    172:172:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    173:173:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> h
    173:173:void checkName(com.android.tools.r8.graph.DexString):310 -> h
    173:173:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    174:174:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    174:174:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    175:175:com.android.tools.r8.graph.DexValue parseEncodedValue():253:253 -> h
    176:177:com.android.tools.r8.graph.DexValue parseEncodedValue():245:246 -> h
    178:239:com.android.tools.r8.graph.DexValue parseEncodedValue():238:299 -> h
    240:241:com.android.tools.r8.graph.DexValue parseEncodedValue():291:292 -> h
    242:242:com.android.tools.r8.graph.DexValue parseEncodedValue():233:233 -> h
    243:243:com.android.tools.r8.graph.DexValue parseEncodedValue():228:228 -> h
    244:245:com.android.tools.r8.graph.DexValue parseEncodedValue():222:223 -> h
    246:247:com.android.tools.r8.graph.DexValue parseEncodedValue():216:217 -> h
    248:249:com.android.tools.r8.graph.DexValue parseEncodedValue():210:211 -> h
    250:251:com.android.tools.r8.graph.DexValue parseEncodedValue():204:205 -> h
    252:254:com.android.tools.r8.graph.DexValue parseEncodedValue():197:199 -> h
    1:1:com.android.tools.r8.dex.DexSection[] parseMap():888:888 -> i
    2:2:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:72 -> i
    2:2:com.android.tools.r8.dex.DexSection[] parseMap():888 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> i
    3:4:com.android.tools.r8.dex.DexSection[] parseMap():888 -> i
    5:13:com.android.tools.r8.dex.DexSection[] parseMap():889:897 -> i
    14:14:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    14:14:com.android.tools.r8.dex.DexSection[] parseMap():897 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    15:15:com.android.tools.r8.dex.DexSection[] parseMap():897 -> i
    16:16:com.android.tools.r8.dex.DexSection[] parseMap():910:910 -> i
    17:17:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    18:18:com.android.tools.r8.dex.DexSection[] parseMap():0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":946,"2":947,"3":948}}
    946:946:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    947:947:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    948:948:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    919:919:com.android.tools.r8.dex.DexSection[] parseMap():901:901 -> i
    920:920:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    920:920:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    921:921:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    921:921:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
    922:922:com.android.tools.r8.dex.DexSection[] parseMap():907:907 -> i
    923:923:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> i
    923:923:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> i
    923:923:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
    924:934:com.android.tools.r8.dex.DexSection[] parseMap():907:917 -> i
    935:942:com.android.tools.r8.dex.DexSection[] parseMap():916:923 -> i
    943:943:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    943:943:com.android.tools.r8.dex.DexSection[] parseMap():923 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    944:944:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    944:944:com.android.tools.r8.dex.DexSection[] parseMap():923 -> i
    945:945:com.android.tools.r8.dex.DexSection[] parseMap():923:923 -> i
    1:8:void parseStringIDs():865:872 -> j
    1:5:com.android.tools.r8.graph.DexTypeList parseTypeList():176:180 -> k
    1:3:void populateStrings():1009:1011 -> l
    1:3:void populateIndexTables():998 -> l
    4:6:com.android.tools.r8.graph.DexString stringAt(int):1238:1240 -> l
    4:6:void populateStrings():1011 -> l
    4:6:void populateIndexTables():998 -> l
    7:7:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> l
    7:7:com.android.tools.r8.graph.DexString stringAt(int):1240 -> l
    7:7:void populateStrings():1011 -> l
    7:7:void populateIndexTables():998 -> l
    8:11:com.android.tools.r8.graph.DexString stringAt(int):1241:1244 -> l
    8:11:void populateStrings():1011 -> l
    8:11:void populateIndexTables():998 -> l
    12:12:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> l
    12:12:com.android.tools.r8.graph.DexString stringAt(int):1244 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:void populateStrings():1011 -> l
    12:12:void populateIndexTables():998 -> l
    13:13:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> l
    13:13:com.android.tools.r8.graph.DexString stringAt(int):1244 -> l
    13:13:void populateStrings():1011 -> l
    13:13:void populateIndexTables():998 -> l
    14:16:com.android.tools.r8.graph.DexString stringAt(int):1245:1247 -> l
    14:16:void populateStrings():1011 -> l
    14:16:void populateIndexTables():998 -> l
    17:17:void populateStrings():1011:1011 -> l
    17:17:void populateIndexTables():998 -> l
    18:26:void populateChecksums():1044:1052 -> l
    18:26:void populateIndexTables():999 -> l
    27:28:void populateTypes():1032:1033 -> l
    27:28:void populateIndexTables():1000 -> l
    29:48:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1061:1080 -> l
    29:48:void populateTypes():1033 -> l
    29:48:void populateIndexTables():1000 -> l
    49:49:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1075:1075 -> l
    49:49:void populateTypes():1033 -> l
    49:49:void populateIndexTables():1000 -> l
    50:52:void populateTypes():1034:1036 -> l
    50:52:void populateIndexTables():1000 -> l
    53:58:com.android.tools.r8.graph.DexType typeAt(int):1251:1256 -> l
    53:58:void populateTypes():1037 -> l
    53:58:void populateIndexTables():1000 -> l
    59:59:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:72 -> l
    59:59:com.android.tools.r8.graph.DexType typeAt(int):1256 -> l
    59:59:void populateTypes():1037 -> l
    59:59:void populateIndexTables():1000 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    60:61:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> l
    60:61:com.android.tools.r8.graph.DexType typeAt(int):1256 -> l
    60:61:void populateTypes():1037 -> l
    60:61:void populateIndexTables():1000 -> l
    62:62:com.android.tools.r8.graph.DexType typeAt(int):1257:1257 -> l
    62:62:void populateTypes():1037 -> l
    62:62:void populateIndexTables():1000 -> l
    63:64:void populateTypes():1038:1039 -> l
    63:64:void populateIndexTables():1000 -> l
    65:66:void populateFields():1089:1090 -> l
    65:66:void populateIndexTables():1001 -> l
    67:102:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1105:1140 -> l
    67:102:void populateFields():1090 -> l
    67:102:void populateIndexTables():1001 -> l
    103:113:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1137:1147 -> l
    103:113:void populateFields():1090 -> l
    103:113:void populateIndexTables():1001 -> l
    114:118:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1144:1148 -> l
    114:118:void populateFields():1090 -> l
    114:118:void populateIndexTables():1001 -> l
    119:119:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1133:1133 -> l
    119:119:void populateFields():1090 -> l
    119:119:void populateIndexTables():1001 -> l
    120:122:void populateFields():1091:1093 -> l
    120:122:void populateIndexTables():1001 -> l
    123:135:com.android.tools.r8.graph.DexField fieldAt(int):1261:1273 -> l
    123:135:void populateFields():1093 -> l
    123:135:void populateIndexTables():1001 -> l
    136:136:void populateFields():1093:1093 -> l
    136:136:void populateIndexTables():1001 -> l
    137:140:void populateProtos():1159:1162 -> l
    137:140:void populateIndexTables():1002 -> l
    141:153:com.android.tools.r8.graph.DexProto protoAt(int):1334:1346 -> l
    141:153:void populateProtos():1162 -> l
    141:153:void populateIndexTables():1002 -> l
    154:154:void populateProtos():1162:1162 -> l
    154:154:void populateIndexTables():1002 -> l
    155:156:void populateMethods():1167:1168 -> l
    155:156:void populateIndexTables():1003 -> l
    157:192:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1184:1219 -> l
    157:192:void populateMethods():1168 -> l
    157:192:void populateIndexTables():1003 -> l
    193:203:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1216:1226 -> l
    193:203:void populateMethods():1168 -> l
    193:203:void populateIndexTables():1003 -> l
    204:208:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1223:1227 -> l
    204:208:void populateMethods():1168 -> l
    204:208:void populateIndexTables():1003 -> l
    209:209:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1212:1212 -> l
    209:209:void populateMethods():1168 -> l
    209:209:void populateIndexTables():1003 -> l
    210:212:void populateMethods():1169:1171 -> l
    210:212:void populateIndexTables():1003 -> l
    213:225:com.android.tools.r8.graph.DexMethod methodAt(int):1350:1362 -> l
    213:225:void populateMethods():1171 -> l
    213:225:void populateIndexTables():1003 -> l
    226:226:com.android.tools.r8.graph.DexMethod methodAt(int):1359:1359 -> l
    226:226:void populateMethods():1171 -> l
    226:226:void populateIndexTables():1003 -> l
    227:227:void populateMethods():1171:1171 -> l
    227:227:void populateIndexTables():1003 -> l
    228:231:void populateMethodHandles():1016:1019 -> l
    228:231:void populateIndexTables():1004 -> l
    232:259:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1277:1304 -> l
    232:259:void populateMethodHandles():1019 -> l
    232:259:void populateIndexTables():1004 -> l
    260:260:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1300:1300 -> l
    260:260:void populateMethodHandles():1019 -> l
    260:260:void populateIndexTables():1004 -> l
    261:277:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1292:1308 -> l
    261:277:void populateMethodHandles():1019 -> l
    261:277:void populateIndexTables():1004 -> l
    278:278:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2744:2744 -> l
    278:278:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1308 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    278:278:void populateMethodHandles():1019 -> l
    278:278:void populateIndexTables():1004 -> l
    279:279:void populateMethodHandles():1019:1019 -> l
    279:279:void populateIndexTables():1004 -> l
    280:283:void populateCallSites():1024:1027 -> l
    280:283:void populateIndexTables():1005 -> l
    284:288:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1313:1317 -> l
    284:288:void populateCallSites():1027 -> l
    284:288:void populateIndexTables():1005 -> l
    289:289:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:72 -> l
    289:289:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1318 -> l
    289:289:void populateCallSites():1027 -> l
    289:289:void populateIndexTables():1005 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    290:291:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> l
    290:291:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1318 -> l
    290:291:void populateCallSites():1027 -> l
    290:291:void populateIndexTables():1005 -> l
    292:294:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1319:1321 -> l
    292:294:void populateCallSites():1027 -> l
    292:294:void populateIndexTables():1005 -> l
    295:295:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> l
    295:295:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1321 -> l
    295:295:void populateCallSites():1027 -> l
    295:295:void populateIndexTables():1005 -> l
    296:298:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1321:1323 -> l
    296:298:void populateCallSites():1027 -> l
    296:298:void populateIndexTables():1005 -> l
    299:299:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> l
    299:299:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1323 -> l
    299:299:void populateCallSites():1027 -> l
    299:299:void populateIndexTables():1005 -> l
    300:307:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1323:1330 -> l
    300:307:void populateCallSites():1027 -> l
    300:307:void populateIndexTables():1005 -> l
    308:308:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1325:1325 -> l
    308:308:void populateCallSites():1027 -> l
    308:308:void populateIndexTables():1005 -> l
    309:309:void populateCallSites():1027:1027 -> l
    309:309:void populateIndexTables():1005 -> l
com.android.tools.r8.dex.DexParser$AnnotationsDirectory -> com.android.tools.r8.dex.f:
    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$DexMethodAnnotation[] methods -> c
    com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parameters -> d
    com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] NO_FIELD_ANNOTATIONS -> f
    1:11:void <clinit>():1367:1377 -> <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[]):1389:1393 -> <init>
    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory empty():1397:1397 -> a
com.android.tools.r8.dex.DexParser$AttributesAndAnnotations -> com.android.tools.r8.dex.g:
    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 -> f
    com.android.tools.r8.graph.GenericSignature$ClassSignature classSignature -> e
    1:1:void <clinit>():1401:1401 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1432:1432 -> <init>
    2:53:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1404:1455 -> <init>
    54:70:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1454:1470 -> <init>
    71:108:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1469:1506 -> <init>
    109:124:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1501:1516 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature access$100(com.android.tools.r8.dex.DexParser$AttributesAndAnnotations):1401:1401 -> a
    2:8:com.android.tools.r8.graph.DexAnnotationSet getAnnotations():1410:1416 -> a
    9:11:void ensureAnnotations(int):1522:1524 -> a
    12:13:void copyAnnotation(com.android.tools.r8.graph.DexAnnotation):1529:1530 -> a
    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1424:1424 -> b
    1:1:java.util.List getInnerClasses():1420:1420 -> c
com.android.tools.r8.dex.DexParser$MemberAnnotationIterator -> com.android.tools.r8.dex.h:
    java.util.function.Supplier emptyValue -> c
    com.android.tools.r8.graph.DexMemberAnnotation[] annotations -> b
    int index -> a
    1:1:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier,com.android.tools.r8.dex.DexParser$1):624:624 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier):631:631 -> <init>
    3:10:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier):626:633 -> <init>
    1:7:com.android.tools.r8.graph.DexItem getNextFor(com.android.tools.r8.graph.DexMember):643:649 -> a
    8:8:com.android.tools.r8.graph.DexItem getNextFor(com.android.tools.r8.graph.DexMember):647:647 -> a
com.android.tools.r8.dex.DexReader -> com.android.tools.r8.dex.j:
    com.android.tools.r8.utils.DexVersion version -> d
    1:2:void <init>(com.android.tools.r8.ProgramResource):27:28 -> <init>
    3:4:void <init>(com.android.tools.r8.origin.Origin,byte[]):37:38 -> <init>
    1:23:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):44:66 -> a
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    24:24:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):66 -> a
    25:45:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):66:86 -> a
    46:46:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):84:84 -> a
    47:47:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    47:47:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):84 -> a
    48:48:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):84:84 -> a
    49:49:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):76:76 -> a
    50:50:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    50:50:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):76 -> a
    51:51:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):76:76 -> a
    52:52:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):47:47 -> a
    53:53:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    53:53:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):47 -> a
    54:54:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):47:47 -> a
    1:1:com.android.tools.r8.utils.DexVersion getDexVersion():104:104 -> f
    1:7:void setByteOrder():92:98 -> g
    8:8:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> g
    8:8:void setByteOrder():98 -> g
    9:9:void setByteOrder():98:98 -> g
com.android.tools.r8.dex.DexSection -> com.android.tools.r8.dex.k:
    boolean $assertionsDisabled -> e
    int end -> d
    int length -> b
    int offset -> c
    int type -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:6:void <init>(int,int,int,int):15:20 -> <init>
    1:1:void setEnd(int):24:24 -> a
    2:2:int size():29:29 -> a
    1:1:java.lang.String typeName(int):77:77 -> b
    2:2:java.lang.String typeName(int):75:75 -> b
    3:3:java.lang.String typeName(int):73:73 -> b
    4:4:java.lang.String typeName(int):71:71 -> b
    5:5:java.lang.String typeName(int):69:69 -> b
    6:6:java.lang.String typeName(int):67:67 -> b
    7:7:java.lang.String typeName(int):65:65 -> b
    8:8:java.lang.String typeName(int):63:63 -> b
    9:9:java.lang.String typeName(int):61:61 -> b
    10:10:java.lang.String typeName(int):59:59 -> b
    11:11:java.lang.String typeName(int):57:57 -> b
    12:12:java.lang.String typeName(int):55:55 -> b
    13:13:java.lang.String typeName(int):53:53 -> b
    14:14:java.lang.String typeName(int):51:51 -> b
    15:15:java.lang.String typeName(int):49:49 -> b
    16:16:java.lang.String typeName(int):47:47 -> b
    17:17:java.lang.String typeName(int):45:45 -> b
    18:18:java.lang.String typeName(int):43:43 -> b
    19:19:java.lang.String typeName(int):41:41 -> b
    1:1:java.lang.String toString():83:83 -> toString
    2:2:java.lang.String typeName():33:33 -> toString
    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.internal.lk:
    com.android.tools.r8.graph.GraphLens graphLens -> d
    com.android.tools.r8.graph.ObjectToOffsetMapping mapping -> a
    com.android.tools.r8.graph.DexApplication application -> b
    boolean $assertionsDisabled -> j
    com.android.tools.r8.utils.InternalOptions options -> c
    java.util.Map staticFieldValues -> i
    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
    1:1:void <clinit>():84:84 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):115:115 -> <init>
    2:18:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):107:123 -> <init>
    1:1:com.android.tools.r8.dex.FileWriter$MixedSectionOffsets access$300(com.android.tools.r8.dex.FileWriter):84:84 -> a
    2:3:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):128:129 -> a
    4:4:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    4:4:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):129 -> a
    5:7:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):131:133 -> a
    8:8:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    8:8:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):133 -> a
    9:9:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):134:134 -> a
    10:10:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    10:10:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):134 -> a
    11:12:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):135:136 -> a
    13:13:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    13:13:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):136 -> a
    14:14:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):137:137 -> a
    15:15:int lambda$writeEncodedAnnotation$0(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):132:132 -> a
    16:16:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    16:16:int lambda$writeEncodedAnnotation$0(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):132 -> a
    17:35:com.android.tools.r8.dex.FileWriter collect():143:161 -> a
    36:36:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):268:268 -> a
    37:37:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2858:2858 -> a
    37:37:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):268 -> a
    38:42:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):271:275 -> a
    43:55:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):274:286 -> a
    56:66:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):285:295 -> a
    67:72:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):294:299 -> a
    73:73:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":682,"2":683,"3":684}}
    682:682:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
    683:683:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
    684:684:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
    375:375:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302:302 -> a
    376:376:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    376:376:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302 -> a
    377:377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    377:377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    377:377:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302 -> a
    378:378:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302:302 -> a
    379:379:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
    380:380:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":685,"2":686,"3":687}}
    685:685:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
    686:686:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
    687:687:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
    661:661:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
    662:662:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    662:662:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281 -> a
    663:663:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    663:663:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    663:663:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281 -> a
    664:664:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
    688:694:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):334:340 -> a
    695:701:java.lang.String com.android.tools.r8.dex.FileWriter.getKeyForDexCodeSorting(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.ClassNameMapper):353:359 -> a
    695:701:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):340 -> a
    702:702:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):339:339 -> a
    703:705:void writeFixedSectionItems(java.util.Collection,int,java.util.function.Consumer):364:366 -> a
    706:710:void writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer,int):385:389 -> a
    711:712:void writeTypeItem(com.android.tools.r8.graph.DexType):434:435 -> a
    713:715:void writeProtoItem(com.android.tools.r8.graph.DexProto):439:441 -> a
    716:723:void writeFieldItem(com.android.tools.r8.graph.DexField):445:452 -> a
    724:731:void writeMethodItem(com.android.tools.r8.graph.DexMethod):456:463 -> a
    732:732:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488:488 -> a
    733:747:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):492:506 -> a
    733:747:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    748:748:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    748:748:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):506 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    748:748:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    749:757:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):507:515 -> a
    749:757:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    758:758:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    758:758:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):515 -> a
    758:758:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    759:764:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):516:521 -> a
    759:764:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    765:765:void com.android.tools.r8.dex.DexOutputBuffer.putSleb128(int):83:83 -> a
    765:765:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):521 -> a
    765:765:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    766:767:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):522:523 -> a
    766:767:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    768:768:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    768:768:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):523 -> a
    768:768:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    769:769:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):524:524 -> a
    769:769:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    770:770:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    770:770:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):524 -> a
    770:770:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    771:774:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):525:528 -> a
    771:774:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    775:775:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    775:775:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):528 -> a
    775:775:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    776:785:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):531:540 -> a
    776:785:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    786:791:void writeTypeList(com.android.tools.r8.graph.DexTypeList):545:550 -> a
    792:793:void writeStringData(com.android.tools.r8.graph.DexString):555:556 -> a
    794:794:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    794:794:void writeStringData(com.android.tools.r8.graph.DexString):556 -> a
    795:795:void writeStringData(com.android.tools.r8.graph.DexString):557:557 -> a
    796:798:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):561:563 -> a
    799:799:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    799:799:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):563 -> a
    800:801:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):565:566 -> a
    802:804:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):570:572 -> a
    805:805:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    805:805:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):572 -> a
    806:812:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):574:580 -> a
    813:813:int lambda$writeAnnotationSet$2(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):577:577 -> a
    814:814:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    814:814:int lambda$writeAnnotationSet$2(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):577 -> a
    815:824:void writeAnnotationSetRefList(com.android.tools.r8.graph.ParameterAnnotationsList):585:594 -> a
    825:836:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):607:618 -> a
    837:839:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):600:602 -> a
    837:839:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):618 -> a
    840:840:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):620:620 -> a
    841:843:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):600:602 -> a
    841:843:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):620 -> a
    844:844:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):622:622 -> a
    845:847:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):600:602 -> a
    845:847:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):622 -> a
    848:848:int lambda$writeAnnotationDirectory$3(com.android.tools.r8.graph.DexEncodedField):619:619 -> a
    849:858:void writeEncodedFields(java.util.List):627:636 -> a
    859:859:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    859:859:void writeEncodedFields(java.util.List):636 -> a
    860:860:void writeEncodedFields(java.util.List):638:638 -> a
    861:861:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    861:861:void writeEncodedFields(java.util.List):638 -> a
    862:862:void writeEncodedFields(java.util.List):639:639 -> a
    863:863:int lambda$writeEncodedFields$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):630:630 -> a
    864:864:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> a
    864:864:int lambda$writeEncodedFields$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):630 -> a
    865:873:void writeEncodedMethods(java.lang.Iterable):644:652 -> a
    874:874:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    874:874:void writeEncodedMethods(java.lang.Iterable):652 -> a
    875:875:void writeEncodedMethods(java.lang.Iterable):654:654 -> a
    876:876:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    876:876:void writeEncodedMethods(java.lang.Iterable):654 -> a
    877:881:void writeEncodedMethods(java.lang.Iterable):655:659 -> a
    882:882:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    882:882:void writeEncodedMethods(java.lang.Iterable):659 -> a
    883:883:void writeEncodedMethods(java.lang.Iterable):661:661 -> a
    884:884:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    884:884:void writeEncodedMethods(java.lang.Iterable):661 -> a
    885:885:void writeEncodedMethods(java.lang.Iterable):664:664 -> a
    886:886:int lambda$writeEncodedMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):647:647 -> a
    887:887:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    887:887:int lambda$writeEncodedMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):647 -> a
    888:891:void addStaticFieldValues(com.android.tools.r8.graph.DexProgramClass):686:689 -> a
    892:894:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):726:728 -> a
    895:895:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    895:895:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):728 -> a
    896:896:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):730:730 -> a
    897:897:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    897:897:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):730 -> a
    898:899:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):731:732 -> a
    900:906:int writeMapItem(int,int,int):740:746 -> a
    907:907:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1384:1384 -> a
    907:907:void writeCallSite(com.android.tools.r8.graph.DexCallSite):720 -> a
    908:908:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721:721 -> a
    909:909:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
    909:909:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    910:910:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
    910:910:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721 -> a
    911:912:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721:722 -> a
    913:913:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
    913:913:void writeCallSite(com.android.tools.r8.graph.DexCallSite):720 -> a
    914:914:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1384:1384 -> a
    914:914:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):694 -> a
    915:920:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):696:701 -> a
    921:927:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):698:704 -> a
    928:928:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
    928:928:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    929:929:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
    929:929:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704 -> a
    930:932:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704:706 -> a
    933:933:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    933:933:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):708 -> a
    934:934:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):709:709 -> a
    935:935:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    935:935:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):711 -> a
    936:941:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):711:716 -> a
    942:942:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
    942:942:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):694 -> a
    1:7:void com.android.tools.r8.dex.FileWriter.checkInterfaceMethods():249:255 -> b
    1:7:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():168 -> b
    8:8:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171:171 -> b
    9:22:boolean com.android.tools.r8.dex.FileWriter.verifyNames():307:320 -> b
    9:22:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
    23:30:boolean com.android.tools.r8.graph.DexString.isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):404:411 -> b
    23:30:boolean com.android.tools.r8.dex.FileWriter.verifyNames():320 -> b
    23:30:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
    31:32:boolean com.android.tools.r8.dex.FileWriter.verifyNames():320:321 -> b
    31:32:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
    33:33:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> b
    33:33:boolean com.android.tools.r8.dex.FileWriter.verifyNames():321 -> b
    33:33:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
    34:41:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():173:180 -> b
    42:44:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):395:397 -> b
    42:44:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180 -> b
    45:64:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItem(com.android.tools.r8.graph.DexWritableCode):404:423 -> b
    45:64:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):397 -> b
    45:64:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180 -> b
    65:65:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    65:65:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItem(com.android.tools.r8.graph.DexWritableCode):424 -> b
    65:65:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):397 -> b
    65:65:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180 -> b
    66:76:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180:190 -> b
    77:78:void com.android.tools.r8.dex.FileWriter.writeDebugItem(com.android.tools.r8.graph.DexDebugInfoForWriting,com.android.tools.r8.graph.GraphLens):483:484 -> b
    77:78:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():190 -> b
    79:83:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():196:200 -> b
    84:84:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> b
    84:84:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():200 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:85:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> b
    85:85:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():200 -> b
    86:92:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():200:206 -> b
    93:93:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    93:93:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():206 -> b
    94:94:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():207:207 -> b
    95:95:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    95:95:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():207 -> b
    96:96:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():209:209 -> b
    97:97:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    97:97:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():209 -> b
    98:98:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():211:211 -> b
    99:99:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    99:99:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():211 -> b
    100:100:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():213:213 -> b
    101:101:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    101:101:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():213 -> b
    102:110:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():215:223 -> b
    111:116:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):751:756 -> b
    111:116:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    117:120:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):755:758 -> b
    117:120:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    121:124:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):757:760 -> b
    121:124:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    125:128:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):759:762 -> b
    125:128:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    129:132:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):761:764 -> b
    129:132:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    133:136:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):763:766 -> b
    133:136:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    137:140:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):765:768 -> b
    137:140:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    141:144:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):767:770 -> b
    141:144:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    145:148:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):769:772 -> b
    145:148:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    149:152:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):771:774 -> b
    149:152:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    153:156:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):773:776 -> b
    153:156:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    157:160:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):775:778 -> b
    157:160:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    161:164:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):777:780 -> b
    161:164:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    165:168:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):779:782 -> b
    165:168:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    169:172:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):781:784 -> b
    169:172:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    173:176:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):783:786 -> b
    173:176:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    177:181:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):785:789 -> b
    177:181:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    182:187:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):787:792 -> b
    182:187:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    188:194:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):790:796 -> b
    188:194:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    195:204:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225:234 -> b
    205:207:void com.android.tools.r8.dex.FileWriter.writeFixedSectionItems(com.android.tools.r8.graph.DexProgramClass[],int,java.util.function.Consumer):372:374 -> b
    205:207:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():234 -> b
    208:210:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():235:237 -> b
    211:211:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():236:236 -> b
    212:217:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):800:805 -> b
    212:217:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():240 -> b
    218:251:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):802:835 -> b
    218:251:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():240 -> b
    252:254:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):840:842 -> b
    252:254:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
    255:257:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):841:843 -> b
    255:257:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
    258:260:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):850:852 -> b
    258:260:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
    261:264:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):851:854 -> b
    261:264:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
    265:265:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():245:245 -> b
    266:266:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):845:845 -> b
    266:266:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
    267:267:void writeStringItem(com.android.tools.r8.graph.DexString):430:430 -> b
    268:268:int lambda$writeAnnotationDirectory$4(com.android.tools.r8.graph.DexEncodedMethod):621:621 -> b
    269:269:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670:670 -> b
    270:270:boolean com.android.tools.r8.graph.DexProgramClass.hasMethodsOrFields():601:601 -> b
    270:270:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    271:271:boolean com.android.tools.r8.graph.DexProgramClass.hasMethodsOrFields():601:601 -> b
    271:271:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670 -> b
    272:274:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670:672 -> b
    275:275:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
    275:275:void writeClassData(com.android.tools.r8.graph.DexProgramClass):672 -> b
    276:276:void writeClassData(com.android.tools.r8.graph.DexProgramClass):673:673 -> b
    277:277:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
    277:277:void writeClassData(com.android.tools.r8.graph.DexProgramClass):673 -> b
    278:278:void writeClassData(com.android.tools.r8.graph.DexProgramClass):674:674 -> b
    279:279:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
    279:279:void writeClassData(com.android.tools.r8.graph.DexProgramClass):674 -> b
    280:280:void writeClassData(com.android.tools.r8.graph.DexProgramClass):675:675 -> b
    281:281:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
    281:281:void writeClassData(com.android.tools.r8.graph.DexProgramClass):675 -> b
    282:285:void writeClassData(com.android.tools.r8.graph.DexProgramClass):676:679 -> b
    1:16:java.util.List sortDexCodesByClassName():329:344 -> c
    17:22:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):467:472 -> c
    23:27:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):471:475 -> c
    28:31:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):474:477 -> c
    32:32:boolean com.android.tools.r8.graph.DexProgramClass.hasMethodsOrFields():601:601 -> c
    32:32:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):478 -> c
    33:33:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):478:478 -> c
    34:36:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):477:479 -> c
    37:37:int lambda$writeAnnotationDirectory$5(com.android.tools.r8.graph.DexEncodedMethod):623:623 -> c
com.android.tools.r8.dex.FileWriter$ByteBufferResult -> com.android.tools.r8.internal.hk:
    com.android.tools.r8.dex.CompatByteBuffer buffer -> a
    int length -> b
    1:1:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int,com.android.tools.r8.dex.FileWriter$1):87:87 -> <init>
    2:4:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int):93:95 -> <init>
com.android.tools.r8.dex.FileWriter$Layout -> com.android.tools.r8.internal.ik:
    int annotationSetsOffset -> n
    int annotationSetRefListsOffset -> o
    int stringDataOffsets -> l
    int annotationsOffset -> m
    int debugInfosOffset -> j
    int typeListsOffset -> k
    int dataSectionOffset -> h
    int codesOffset -> i
    int callSiteIdsOffset -> f
    boolean $assertionsDisabled -> u
    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
    1:1:void <clinit>():862:862 -> <clinit>
    1:1:void <init>(int,int,int,int,int,int,int,int,int):894:894 -> <init>
    2:35:void <init>(int,int,int,int,int,int,int,int,int):878:911 -> <init>
    void alreadySetOffset(int) -> a
    1:10:com.android.tools.r8.dex.FileWriter$Layout from(com.android.tools.r8.graph.ObjectToOffsetMapping):916:925 -> a
    11:11:boolean isValidOffset(int,boolean):935:935 -> a
    12:13:int getAnnotationDirectoriesOffset():1013:1014 -> a
    1:2:int getAnnotationSetRefListsOffset():1003:1004 -> b
    3:4:void setAnnotationDirectoriesOffset(int):1018:1019 -> b
    1:2:int getAnnotationSetsOffset():989:990 -> c
    3:4:void setAnnotationSetRefListsOffset(int):1008:1009 -> c
    1:2:int getAnnotationsOffset():979:980 -> d
    3:4:void setAnnotationSetsOffset(int):998:999 -> d
    1:2:void setAnnotationsOffset(int):984:985 -> e
    3:4:int getClassDataOffset():1023:1024 -> e
    1:2:int getCodesOffset():939:940 -> f
    3:4:void setClassDataOffset(int):1028:1029 -> f
    1:2:void setCodesOffset(int):944:945 -> g
    3:3:int com.android.tools.r8.dex.FileWriter$Layout.getEndOfFile():1051:1051 -> g
    3:3:int getDataSectionSize():929 -> g
    4:5:int getDataSectionSize():929:930 -> g
    1:2:int getDebugInfosOffset():949:950 -> h
    3:4:void setDebugInfosOffset(int):954:955 -> h
    1:2:int getEncodedArrarysOffset():1033:1034 -> i
    3:4:void setEncodedArrarysOffset(int):1038:1039 -> i
    1:1:int getEndOfFile():1051:1051 -> j
    2:2:void setEndOfFile(int):1055:1055 -> j
    1:1:int getMapOffset():1043:1043 -> k
    2:2:void setMapOffset(int):1047:1047 -> k
    1:2:int getStringDataOffsets():969:970 -> l
    3:4:void setStringDataOffsets(int):974:975 -> l
    1:2:int getTypeListsOffset():959:960 -> m
    3:4:void setTypeListsOffset(int):964:965 -> m
com.android.tools.r8.dex.FileWriter$MixedSectionOffsets -> com.android.tools.r8.internal.jk:
    boolean $assertionsDisabled -> m
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap debugInfos -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap typeLists -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotations -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationSets -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap stringData -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap codes -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationSetRefLists -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationDirectories -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap classesWithData -> i
    java.util.Map clazzToAnnotationDirectory -> k
    com.android.tools.r8.utils.AndroidApiLevel minApiLevel -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap encodedArrays -> j
    1:1:void <clinit>():1066:1066 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.dex.FileWriter$1):1066:1066 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.InternalOptions):1100:1100 -> <init>
    3:33:void <init>(com.android.tools.r8.utils.InternalOptions):1071:1101 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.dex.FileWriter$MixedSectionOffsets):1066:1066 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap createObject2IntMap():1089:1089 -> a
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.<init>():176:176 -> a
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap createObject2IntMap():1089 -> a
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap createObject2IntMap():1090:1090 -> a
    5:6:boolean add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,java.lang.Object):1105:1106 -> a
    7:7:boolean add(com.android.tools.r8.graph.DexProgramClass):1122:1122 -> a
    8:8:boolean add(com.android.tools.r8.graph.DexEncodedArray):1127:1127 -> a
    9:12:boolean add(com.android.tools.r8.graph.DexAnnotationSet):1134:1137 -> a
    13:13:boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1147:1147 -> a
    14:15:boolean com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.lang.Object):1113:1114 -> a
    14:15:boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1147 -> a
    16:16:boolean add(com.android.tools.r8.graph.DexDebugInfoForWriting):1152:1152 -> a
    17:20:boolean add(com.android.tools.r8.graph.DexTypeList):1157:1160 -> a
    21:24:boolean add(com.android.tools.r8.graph.ParameterAnnotationsList):1165:1168 -> a
    25:25:boolean add(com.android.tools.r8.graph.DexAnnotation):1173:1173 -> a
    26:28:boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory):1179:1181 -> a
    29:29:boolean add(com.android.tools.r8.graph.DexString):1185:1185 -> a
    30:31:boolean com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.lang.Object):1113:1114 -> a
    30:31:boolean add(com.android.tools.r8.graph.DexString):1185 -> a
    32:33:int lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap):1232:1233 -> a
    34:35:void setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap):1304:1305 -> a
    36:36:void setOffsetFor(com.android.tools.r8.graph.DexDebugInfoForWriting,int):1314:1314 -> a
    37:37:void setOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode,int):1318:1318 -> a
    38:39:void com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1309:1310 -> a
    38:39:void setOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode,int):1318 -> a
    40:41:void setOffsetFor(com.android.tools.r8.graph.DexTypeList,int):1322:1323 -> a
    42:42:void setOffsetFor(com.android.tools.r8.graph.DexString,int):1327:1327 -> a
    43:44:void com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1309:1310 -> a
    43:44:void setOffsetFor(com.android.tools.r8.graph.DexString,int):1327 -> a
    45:45:void setOffsetFor(com.android.tools.r8.graph.DexAnnotation,int):1331:1331 -> a
    46:47:void setOffsetFor(com.android.tools.r8.graph.DexAnnotationSet,int):1337:1338 -> a
    48:48:void setOffsetForAnnotationsDirectory(com.android.tools.r8.graph.DexAnnotationDirectory,int):1342:1342 -> a
    49:49:void setOffsetFor(com.android.tools.r8.graph.DexProgramClass,int):1346:1346 -> a
    50:50:void setOffsetFor(com.android.tools.r8.graph.DexEncodedArray,int):1350:1350 -> a
    51:52:void setOffsetFor(com.android.tools.r8.graph.ParameterAnnotationsList,int):1354:1355 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap createReference2IntMap():1095:1095 -> b
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>():176:176 -> b
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap createReference2IntMap():1095 -> b
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap createReference2IntMap():1096:1096 -> b
    4:4:void visit(com.android.tools.r8.graph.DexEncodedMethod):1142:1142 -> b
    5:5:int getOffsetFor(com.android.tools.r8.graph.DexString):1247:1247 -> b
    6:7:int com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1241:1242 -> b
    6:7:int getOffsetFor(com.android.tools.r8.graph.DexString):1247 -> b
    8:11:int getOffsetFor(com.android.tools.r8.graph.DexTypeList):1251:1254 -> b
    12:12:int getOffsetFor(com.android.tools.r8.graph.DexProgramClass):1258:1258 -> b
    13:13:int getOffsetFor(com.android.tools.r8.graph.DexEncodedArray):1262:1262 -> b
    14:14:int getOffsetFor(com.android.tools.r8.graph.DexDebugInfoForWriting):1266:1266 -> b
    15:15:int getOffsetFor(com.android.tools.r8.graph.DexAnnotation):1280:1280 -> b
    16:19:int getOffsetFor(com.android.tools.r8.graph.DexAnnotationSet):1286:1289 -> b
    20:23:int getOffsetFor(com.android.tools.r8.graph.ParameterAnnotationsList):1293:1296 -> b
    1:1:java.util.Collection getAnnotationDirectories():1221:1221 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> c
    2:2:java.util.Collection getAnnotationDirectories():1221 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:int getOffsetForAnnotationsDirectory(com.android.tools.r8.graph.DexProgramClass):1271:1275 -> c
    8:8:int getOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1300:1300 -> c
    9:10:int com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1241:1242 -> c
    9:10:int getOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1300 -> c
    1:1:java.util.Collection getAnnotationSetRefLists():1213:1213 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> d
    2:2:java.util.Collection getAnnotationSetRefLists():1213 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getAnnotationSets():1209:1209 -> e
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> e
    2:2:java.util.Collection getAnnotationSets():1209 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getAnnotations():1205:1205 -> f
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> f
    2:2:java.util.Collection getAnnotations():1205 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getClassesWithData():1217:1217 -> g
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> g
    2:2:java.util.Collection getClassesWithData():1217 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getCodes():1189:1189 -> h
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> h
    2:2:java.util.Collection getCodes():1189 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getDebugInfos():1193:1193 -> i
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> i
    2:2:java.util.Collection getDebugInfos():1193 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getEncodedArrays():1225:1225 -> j
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> j
    2:2:java.util.Collection getEncodedArrays():1225 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getStringData():1201:1201 -> k
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> k
    2:2:java.util.Collection getStringData():1201 -> k
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getTypeLists():1197:1197 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> l
    2:2:java.util.Collection getTypeLists():1197 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.dex.FileWriter$ProgramClassDependencyCollector -> com.android.tools.r8.internal.kk:
    java.util.Set includedClasses -> c
    com.android.tools.r8.dex.FileWriter this$0 -> d
    1:2:void <init>(com.android.tools.r8.dex.FileWriter,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexProgramClass[]):1363:1364 -> <init>
    3:7:void <init>(com.android.tools.r8.dex.FileWriter,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexProgramClass[]):1361:1365 -> <init>
    1:4:void visit(com.android.tools.r8.graph.DexClass):1376:1379 -> b
com.android.tools.r8.dex.IndexedItemCollection -> com.android.tools.r8.internal.Uo:
    boolean addCallSite(com.android.tools.r8.graph.DexCallSite) -> a
    boolean addClass(com.android.tools.r8.graph.DexProgramClass) -> a
    boolean addMethod(com.android.tools.r8.graph.DexMethod) -> a
    boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle) -> a
    boolean addProto(com.android.tools.r8.graph.DexProto) -> a
    boolean addString(com.android.tools.r8.graph.DexString) -> a
    boolean addType(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.InitClassLens getInitClassLens():109:109 -> a
    2:2:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):117:117 -> a
    boolean addField(com.android.tools.r8.graph.DexField) -> b
    1:1:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexMethod):113:113 -> b
    2:2:com.android.tools.r8.graph.DexString getRenamedDescriptor(com.android.tools.r8.graph.DexType):121:121 -> b
com.android.tools.r8.dex.InheritanceClassInDexDistributor -> com.android.tools.r8.internal.bp:
    java.util.Comparator DEX_PROGRAM_CLASS_COMPARATOR -> l
    boolean $assertionsDisabled -> m
    com.android.tools.r8.graph.InitClassLens initClassLens -> i
    com.android.tools.r8.graph.GraphLens graphLens -> h
    com.android.tools.r8.graph.AppView appView -> f
    int dexIndexOffset -> g
    com.android.tools.r8.naming.NamingLens namingLens -> j
    com.android.tools.r8.dex.VirtualFile mainDex -> b
    java.util.Set classes -> e
    com.android.tools.r8.dex.InheritanceClassInDexDistributor$DirectSubClassesInfo directSubClasses -> k
    java.util.List dexes -> c
    java.util.concurrent.ExecutorService executorService -> a
    java.util.BitSet fullDex -> d
    1:3:void <clinit>():45:47 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.VirtualFile,java.util.List,java.util.Set,int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):303:303 -> <init>
    2:31:void <init>(com.android.tools.r8.dex.VirtualFile,java.util.List,java.util.Set,int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):285:314 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> a
    2:2:java.util.Comparator access$500():45:45 -> a
    3:3:int lambda$static$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):48:48 -> a
    4:7:java.util.Collection assignGroup(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,java.util.List):381:384 -> a
    8:8:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.canFitInOneDex():84:84 -> a
    8:8:java.util.Collection assignGroup(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,java.util.List):385 -> a
    9:33:java.util.Collection assignGroup(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,java.util.List):388:412 -> a
    34:34:boolean lambda$assignGroup$1(java.util.List,com.android.tools.r8.dex.VirtualFile):388:388 -> a
    35:35:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> a
    35:35:boolean lambda$assignGroup$1(java.util.List,com.android.tools.r8.dex.VirtualFile):388 -> a
    36:36:boolean lambda$assignClassesWithLinkingError$3(java.util.Set,com.android.tools.r8.dex.VirtualFile):443:443 -> a
    37:37:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> a
    37:37:boolean lambda$assignClassesWithLinkingError$3(java.util.Set,com.android.tools.r8.dex.VirtualFile):443 -> a
    38:38:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):489:489 -> a
    38:38:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    39:43:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.getTopologicalOrder(java.util.Set):702:706 -> a
    39:43:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):490 -> a
    39:43:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    44:68:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):491:515 -> a
    44:68:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    69:70:int com.android.tools.r8.dex.InheritanceClassInDexDistributor.getTotalClassNumber(java.util.List):374:375 -> a
    69:70:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):515 -> a
    69:70:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    71:71:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):515:515 -> a
    71:71:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    72:90:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):428:446 -> a
    91:92:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.getSortedCopy(java.util.Collection):693:694 -> a
    91:92:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):446 -> a
    93:95:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):446:448 -> a
    96:96:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    96:96:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):449 -> a
    97:104:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):450:457 -> a
    105:105:void com.android.tools.r8.dex.InheritanceClassInDexDistributor.markDexFull(com.android.tools.r8.dex.VirtualFile):727:727 -> a
    105:105:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):458 -> a
    106:109:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):461:464 -> a
    110:110:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    111:111:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":582,"2":583,"3":584}}
    582:582:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    583:583:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    584:584:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    564:564:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    565:565:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    565:565:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454 -> a
    566:566:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454:454 -> a
    567:567:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    567:567:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454 -> a
    568:568:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    568:568:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    568:568:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454 -> a
    569:581:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454:466 -> a
    585:599:void updateGroupsNumberOfIds(java.util.List):549:563 -> a
    600:600:void updateGroupsNumberOfIds(java.util.List):558:558 -> a
    601:614:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):573:586 -> a
    615:615:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    615:615:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    616:616:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    616:616:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    616:616:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    617:617:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    617:617:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586 -> a
    618:620:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586:588 -> a
    621:621:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    621:621:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    622:622:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    622:622:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    622:622:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    623:623:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    623:623:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588 -> a
    624:629:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588:593 -> a
    630:634:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):602:606 -> a
    635:635:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    635:635:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):608 -> a
    636:637:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):609:610 -> a
    638:638:void com.android.tools.r8.dex.InheritanceClassInDexDistributor.markDexFull(com.android.tools.r8.dex.VirtualFile):727:727 -> a
    638:638:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):611 -> a
    639:645:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):613:619 -> a
    646:646:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):618:618 -> a
    647:648:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.getSortedCopy(java.util.Collection):693:694 -> a
    647:648:java.util.List access$400(java.util.Collection):45 -> a
    649:649:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713:713 -> a
    650:650:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    650:650:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    651:651:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    651:651:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    651:651:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    652:652:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    652:652:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713 -> a
    653:659:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):714:720 -> a
    1:1:com.android.tools.r8.graph.GraphLens access$100(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> b
    2:2:boolean lambda$assignGroup$2(java.util.List,com.android.tools.r8.dex.VirtualFile):402:402 -> b
    3:3:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> b
    3:3:boolean lambda$assignGroup$2(java.util.List,com.android.tools.r8.dex.VirtualFile):402 -> b
    4:4:boolean lambda$assignClassesWithLinkingError$4(java.util.Set,com.android.tools.r8.dex.VirtualFile):462:462 -> b
    5:5:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> b
    5:5:boolean lambda$assignClassesWithLinkingError$4(java.util.Set,com.android.tools.r8.dex.VirtualFile):462 -> b
    6:17:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectInheritanceGroups():533:544 -> b
    6:17:void distribute():318 -> b
    18:19:int com.android.tools.r8.dex.InheritanceClassInDexDistributor.getTotalClassNumber(java.util.List):374:375 -> b
    18:19:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectInheritanceGroups():544 -> b
    18:19:void distribute():318 -> b
    20:20:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectInheritanceGroups():544:544 -> b
    20:20:void distribute():318 -> b
    21:31:void distribute():320:330 -> b
    32:32:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.canFitInOneDex():84:84 -> b
    32:32:void distribute():333 -> b
    33:33:void distribute():333:333 -> b
    34:34:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> b
    34:34:void distribute():334 -> b
    35:68:void distribute():334:367 -> b
    69:76:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):630:637 -> b
    77:78:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.getSortedCopy(java.util.Collection):693:694 -> b
    77:78:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):639 -> b
    79:79:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):639:639 -> b
    80:80:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671:671 -> b
    80:80:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    81:81:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> b
    81:81:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    81:81:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    82:82:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> b
    82:82:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> b
    82:82:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    82:82:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    83:83:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> b
    83:83:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671 -> b
    83:83:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    84:88:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671:675 -> b
    84:88:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    89:89:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> b
    89:89:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:89:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    90:90:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> b
    90:90:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> b
    90:90:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    90:90:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    91:91:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> b
    91:91:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675 -> b
    91:91:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    92:92:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675:675 -> b
    92:92:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    93:93:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):643:643 -> b
    94:94:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> b
    94:94:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):644 -> b
    95:103:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):645:653 -> b
    104:104:void com.android.tools.r8.dex.InheritanceClassInDexDistributor.markDexFull(com.android.tools.r8.dex.VirtualFile):727:727 -> b
    104:104:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):654 -> b
    105:105:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    106:106:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":796,"2":797,"3":798}}
    796:796:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    797:797:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    798:798:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    754:754:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    755:755:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> b
    755:755:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649 -> b
    756:756:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649:649 -> b
    757:757:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    757:757:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649 -> b
    758:758:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    758:758:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    758:758:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649 -> b
    759:769:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649:659 -> b
    770:794:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):641:665 -> b
    795:795:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):664:664 -> b
    1:1:com.android.tools.r8.graph.InitClassLens access$200(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> c
    1:1:com.android.tools.r8.naming.NamingLens access$300(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> d
    1:1:com.android.tools.r8.dex.VirtualFile access$600(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> e
com.android.tools.r8.dex.InheritanceClassInDexDistributor$CategorizedInheritanceGroupWithMainDexDependency -> com.android.tools.r8.internal.Yo:
    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
    1:1:void <clinit>():126:126 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):135:135 -> <init>
    2:30:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):129:157 -> <init>
    31:31:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):154:154 -> <init>
    1:12:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):168:179 -> a
    13:13:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    13:13:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):179 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    14:14:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    14:14:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):179 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    15:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    15:15:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):179 -> a
    16:22:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):178:184 -> a
    23:23:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    23:23:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    24:24:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    24:24:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    25:25:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    25:25:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):184 -> a
    26:37:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):183:194 -> a
    38:51:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):205:218 -> a
    52:52:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    52:52:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:53:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    53:53:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    53:53:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    54:54:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    54:54:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218 -> a
    55:59:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218:222 -> a
    60:60:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    60:60:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    61:61:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    61:61:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    61:61:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    62:62:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    62:62:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222 -> a
    63:73:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222:232 -> a
com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup -> com.android.tools.r8.internal.Zo:
    com.android.tools.r8.dex.InheritanceClassInDexDistributor this$0 -> f
    boolean dependsOnMainDexClasses -> e
    int numberOfMethodIds -> d
    boolean $assertionsDisabled -> g
    java.util.Set members -> b
    int numberOfFieldIds -> c
    1:1:void <clinit>():56:56 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor):63:63 -> <init>
    2:7:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor):59:64 -> <init>
    8:8:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,java.util.Set):67:67 -> <init>
    9:19:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,java.util.Set):59:69 -> <init>
    1:7:void updateNumbersOfIds():74:80 -> a
    1:1:int compareTo(java.lang.Object):56:56 -> compareTo
    2:5:int com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.compareTo(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):91:91 -> compareTo
    2:5:int compareTo(java.lang.Object):56 -> compareTo
    12:25:int com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.compareTo(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):98:111 -> compareTo
    12:25:int compareTo(java.lang.Object):56 -> compareTo
    26:29:int com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.compareTo(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):109:112 -> compareTo
    26:29:int compareTo(java.lang.Object):56 -> compareTo
com.android.tools.r8.dex.InheritanceClassInDexDistributor$DirectSubClassesInfo -> com.android.tools.r8.internal.ap:
    java.util.Map directSubClasses -> a
    java.util.Set classes -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():243:243 -> <clinit>
    1:11:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):248:258 -> <init>
    1:1:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    1:1:void addDirectSubClass(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):272 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    2:2:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    2:2:void addDirectSubClass(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):272 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    3:3:void addDirectSubClass(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):272 -> a
    4:7:void addDirectSubClass(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):274:277 -> a
    8:9:java.util.Collection getDirectSubClasses(com.android.tools.r8.graph.DexProgramClass):262:263 -> a
    1:1:java.util.Collection lambda$addDirectSubClass$0(com.android.tools.r8.graph.DexProgramClass):276:276 -> b
com.android.tools.r8.dex.JumboStringRewriter -> com.android.tools.r8.internal.Mv:
    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
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap tryRangeStartAndEndTargets -> i
    boolean $assertionsDisabled -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap debugEventTargets -> f
    java.util.Map handlerTargets -> j
    java.util.Map payloadToSwitch -> g
    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo debugEventBasedInfo -> e
    java.util.Map tryTargets -> h
    1:1:void <clinit>():57:57 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):106:106 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):96:109 -> <init>
    com.android.tools.r8.code.Instruction lambda$replaceTarget$0(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction) -> a
    1:12:int rewriteIfToIfAndGoto(int,java.util.ListIterator,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):402:413 -> a
    13:25:void replaceTarget(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):418:430 -> a
    26:26:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():551:551 -> a
    26:26:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    27:27:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    27:27:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():551 -> a
    27:27:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    28:42:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():552:566 -> a
    28:42:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    43:73:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):435:465 -> a
    43:73:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():570 -> a
    43:73:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    74:88:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):464:478 -> a
    74:88:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():570 -> a
    74:88:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    89:108:void com.android.tools.r8.dex.JumboStringRewriter.recordDebugEventTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):488:507 -> a
    89:108:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():571 -> a
    89:108:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    109:109:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():572:572 -> a
    109:109:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    110:141:void com.android.tools.r8.dex.JumboStringRewriter.recordTryAndHandlerTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.code.Instruction):515:546 -> a
    110:141:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():573 -> a
    110:141:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    142:184:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():254:296 -> a
    142:184:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    185:185:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():293:293 -> a
    185:185:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    186:186:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():290:290 -> a
    186:186:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    187:187:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():287:287 -> a
    187:187:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    188:188:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():284:284 -> a
    188:188:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    189:232:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():281:324 -> a
    189:232:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    233:233:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():321:321 -> a
    233:233:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    234:234:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():318:318 -> a
    234:234:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    235:235:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():315:315 -> a
    235:235:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    236:236:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():312:312 -> a
    236:236:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    237:266:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():309:338 -> a
    237:266:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    267:319:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():336:388 -> a
    267:319:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    320:357:void com.android.tools.r8.dex.JumboStringRewriter.rewriteInstructionOffsets(java.util.List):142:179 -> a
    320:357:com.android.tools.r8.graph.DexCode rewrite():120 -> a
    358:364:com.android.tools.r8.graph.DexCode$Try[] com.android.tools.r8.dex.JumboStringRewriter.rewriteTryOffsets():186:192 -> a
    358:364:com.android.tools.r8.graph.DexCode rewrite():121 -> a
    365:380:com.android.tools.r8.graph.DexCode$TryHandler[] com.android.tools.r8.dex.JumboStringRewriter.rewriteHandlerOffsets():198:213 -> a
    365:380:com.android.tools.r8.graph.DexCode rewrite():122 -> a
    381:412:com.android.tools.r8.graph.DexDebugInfo com.android.tools.r8.dex.JumboStringRewriter.rewriteDebugInfoOffsets():219:250 -> a
    381:412:com.android.tools.r8.graph.DexCode rewrite():123 -> a
    413:425:com.android.tools.r8.graph.DexCode rewrite():125:137 -> 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$1 -> com.android.tools.r8.internal.Kv:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():279:279 -> <clinit>
com.android.tools.r8.dex.JumboStringRewriter$TryTargets -> com.android.tools.r8.internal.Lv:
    com.android.tools.r8.code.Instruction start -> a
    com.android.tools.r8.code.Instruction end -> b
    boolean endsAfterLastInstruction -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():59:59 -> <clinit>
    1:6:void <init>(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,boolean):64:69 -> <init>
    1:5:void replaceTarget(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):73:77 -> a
    6:6:int getStartOffset():82:82 -> a
    1:4:int getStartToEndDelta():86:89 -> b
com.android.tools.r8.dex.Marker -> com.android.tools.r8.internal.ED:
    com.android.tools.r8.dex.Marker$Tool tool -> b
    boolean $assertionsDisabled -> f
    java.lang.String D8_PREFIX -> c
    com.android.tools.r8.com.google.gson.JsonObject jsonObject -> a
    java.lang.String L8_PREFIX -> e
    java.lang.String R8_PREFIX -> d
    1:1:void <clinit>():23:23 -> <clinit>
    2:2:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
    170:170:void <clinit>():54:54 -> <clinit>
    171:171:void <clinit>():54:54 -> <clinit>
    172:172:void <clinit>():54:54 -> <clinit>
    56:56:void <clinit>():54:54 -> <clinit>
    57:57:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
    170:170:void <clinit>():55:55 -> <clinit>
    171:171:void <clinit>():55:55 -> <clinit>
    172:172:void <clinit>():55:55 -> <clinit>
    112:112:void <clinit>():55:55 -> <clinit>
    113:113:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
    170:170:void <clinit>():56:56 -> <clinit>
    171:171:void <clinit>():56:56 -> <clinit>
    172:172:void <clinit>():56:56 -> <clinit>
    169:169:void <clinit>():56:56 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.Marker$Tool):62:62 -> <init>
    2:4:void <init>(com.android.tools.r8.dex.Marker$Tool,com.android.tools.r8.com.google.gson.JsonObject):65:67 -> <init>
    1:12:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):71:82 -> a
    13:34:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):81:102 -> a
    35:35:boolean com.android.tools.r8.dex.Marker.isDexBackend():232:232 -> a
    35:35:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):91 -> a
    36:38:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):92:94 -> a
    39:39:boolean com.android.tools.r8.dex.Marker.isCfBackend():228:228 -> a
    39:39:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):94 -> a
    40:61:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):94:115 -> a
    62:62:boolean lambda$checkCompatibleDesugaredLibrary$0(com.android.tools.r8.dex.Marker):82:82 -> a
    63:64:com.android.tools.r8.dex.Marker setMinApi(long):164:165 -> a
    65:70:com.android.tools.r8.dex.Marker setDesugaredLibraryIdentifiers(java.lang.String[]):186:191 -> a
    71:72:com.android.tools.r8.dex.Marker setCompilationMode(com.android.tools.r8.CompilationMode):210:211 -> a
    73:73:boolean com.android.tools.r8.dex.Marker.hasBackend():216:216 -> a
    73:73:java.lang.String getBackend():220 -> a
    74:76:java.lang.String getBackend():222:224 -> a
    77:77:com.android.tools.r8.dex.Marker setBackend(com.android.tools.r8.dex.Marker$Backend):236:236 -> a
    78:78:boolean com.android.tools.r8.dex.Marker.hasBackend():216:216 -> a
    78:78:com.android.tools.r8.dex.Marker setBackend(com.android.tools.r8.dex.Marker$Backend):236 -> a
    79:80:com.android.tools.r8.dex.Marker setBackend(com.android.tools.r8.dex.Marker$Backend):236:237 -> a
    81:82:com.android.tools.r8.dex.Marker setHasChecksums(boolean):246:247 -> a
    83:84:com.android.tools.r8.dex.Marker setPgMapId(java.lang.String):256:257 -> a
    85:85:void lambda$toString$1(com.android.tools.r8.com.google.gson.JsonObject,java.util.Map$Entry):277:277 -> a
    86:91:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):302:307 -> a
    92:92:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):321:321 -> a
    92:92:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):307 -> a
    93:93:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    93:93:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):322 -> a
    93:93:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):307 -> a
    94:94:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):323:323 -> a
    94:94:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):307 -> a
    95:96:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):309:310 -> a
    97:97:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):321:321 -> a
    97:97:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):310 -> a
    98:98:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    98:98:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):322 -> a
    98:98:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):310 -> a
    99:99:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):323:323 -> a
    99:99:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):310 -> a
    100:101:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):312:313 -> a
    102:102:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):321:321 -> a
    102:102:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):313 -> a
    103:103:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    103:103:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):322 -> a
    103:103:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):313 -> a
    104:104:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):323:323 -> a
    104:104:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):313 -> a
    1:1:java.lang.String getCompilationMode():206:206 -> b
    2:3:com.android.tools.r8.dex.Marker setR8Mode(java.lang.String):266:267 -> b
    1:9:java.lang.String[] getDesugaredLibraryIdentifiers():174:182 -> c
    10:11:com.android.tools.r8.dex.Marker setSha1(java.lang.String):200:201 -> c
    1:2:com.android.tools.r8.dex.Marker setVersion(java.lang.String):144:145 -> d
    3:3:boolean getHasChecksums():242:242 -> d
    1:1:java.lang.Long getMinApi():160:160 -> e
    1:3:boolean equals(java.lang.Object):283:285 -> equals
    1:1:java.lang.String getPgMapId():252:252 -> f
    1:1:java.lang.String getR8Mode():262:262 -> g
    1:1:com.android.tools.r8.dex.Marker$Tool getTool():120:120 -> h
    1:1:int hashCode():292:292 -> hashCode
    1:1:java.lang.String getVersion():140:140 -> i
    1:1:boolean hasDesugaredLibraryIdentifiers():170:170 -> j
    1:1:boolean hasMinApi():156:156 -> k
    1:1:boolean isD8():124:124 -> l
    1:1:boolean isDesugared():152:152 -> m
    1:1:boolean isL8():132:132 -> n
    1:1:boolean isRelocator():136:136 -> o
    1:5:java.lang.String toString():274:278 -> toString
com.android.tools.r8.dex.Marker$Backend$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.DD:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String name(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.dex.Marker$Tool -> com.android.tools.r8.internal.ED$a:
    com.android.tools.r8.dex.Marker$Tool D8 -> b
    com.android.tools.r8.dex.Marker$Tool Relocator -> e
    com.android.tools.r8.dex.Marker$Tool L8 -> d
    com.android.tools.r8.dex.Marker$Tool R8 -> c
    1:4:void <clinit>():37:40 -> <clinit>
    1:1:void <init>(java.lang.String,int):36:36 -> <init>
    1:1:com.android.tools.r8.dex.Marker$Tool[] valuesR8andD8():43:43 -> a
com.android.tools.r8.dex.MixedSectionCollection -> com.android.tools.r8.internal.fF:
    1:1:void <init>():27:27 -> <init>
    boolean add(com.android.tools.r8.graph.DexAnnotation) -> a
    boolean add(com.android.tools.r8.graph.DexAnnotationSet) -> a
    boolean add(com.android.tools.r8.graph.DexEncodedArray) -> a
    boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode) -> a
    boolean add(com.android.tools.r8.graph.DexProgramClass) -> a
    boolean add(com.android.tools.r8.graph.DexTypeList) -> a
    boolean add(com.android.tools.r8.graph.ParameterAnnotationsList) -> a
    boolean add(com.android.tools.r8.graph.DexDebugInfoForWriting) -> a
    boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory) -> a
    1:1:void visit(com.android.tools.r8.graph.DexEncodedMethod):62:62 -> b
com.android.tools.r8.dex.ResourceAdapter -> com.android.tools.r8.internal.DS:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.naming.NamingLens namingLens -> d
    com.android.tools.r8.graph.GraphLens graphLens -> c
    1:1:void <clinit>():32:32 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):45:50 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$000(com.android.tools.r8.dex.ResourceAdapter):32:32 -> a
    2:2:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):56:56 -> a
    3:9:java.lang.String com.android.tools.r8.dex.ResourceAdapter.adaptFileName(com.android.tools.r8.DataEntryResource):113:119 -> a
    3:9:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):57 -> a
    10:14:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):58:62 -> a
    15:24:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):133:133 -> a
    15:24:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    32:36:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):141:145 -> a
    32:36:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    37:37:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    37:37:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    38:38:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48}}
    46:46:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    46:46:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    47:47:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    47:47:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    48:48:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    48:48:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    39:39:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):143:143 -> a
    39:39:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    40:40:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    40:40:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    41:45:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):70:74 -> a
    49:53:com.android.tools.r8.DataDirectoryResource adaptIfNeeded(com.android.tools.r8.DataDirectoryResource):82:86 -> a
    54:58:java.lang.String com.android.tools.r8.dex.ResourceAdapter.adaptDirectoryName(com.android.tools.r8.DataDirectoryResource):123:127 -> a
    54:58:com.android.tools.r8.DataDirectoryResource adaptIfNeeded(com.android.tools.r8.DataDirectoryResource):89 -> a
    59:59:com.android.tools.r8.DataDirectoryResource adaptIfNeeded(com.android.tools.r8.DataDirectoryResource):89:89 -> a
    60:68:boolean shouldAdapt(com.android.tools.r8.DataEntryResource,com.android.tools.r8.utils.InternalOptions,java.util.function.Function):96:104 -> a
    1:1:com.android.tools.r8.graph.GraphLens access$100(com.android.tools.r8.dex.ResourceAdapter):32:32 -> b
    1:1:com.android.tools.r8.naming.NamingLens access$200(com.android.tools.r8.dex.ResourceAdapter):32:32 -> c
    1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.dex.ResourceAdapter):32:32 -> d
com.android.tools.r8.dex.ResourceAdapter$DefaultFileNameAdapter -> com.android.tools.r8.internal.xS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):420:420 -> <init>
    1:1:boolean isRenamingCandidate(int,int):425:425 -> b
com.android.tools.r8.dex.ResourceAdapter$DirectoryNameAdapter -> com.android.tools.r8.internal.yS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):452:452 -> <init>
    boolean isRenamingCandidate(int,int) -> b
com.android.tools.r8.dex.ResourceAdapter$FileContentsAdapter -> com.android.tools.r8.internal.zS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):354:354 -> <init>
    boolean allowRenamingOfPrefixes() -> a
    1:1:boolean shouldRecordPrefix(char):369:369 -> a
    2:2:boolean handlePrefix(int,int):374:374 -> a
    char getClassNameSeparator() -> b
    1:2:boolean isRenamingCandidate(int,int):380:381 -> b
com.android.tools.r8.dex.ResourceAdapter$FileNameAdapter -> com.android.tools.r8.internal.AS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):391:391 -> <init>
    boolean allowRenamingOfPrefixes() -> a
    1:1:boolean shouldRecordPrefix(char):406:406 -> a
    2:5:boolean handlePrefix(int,int):411:414 -> a
    6:6:boolean handlePrefix(int,int):412:412 -> a
    char getClassNameSeparator() -> b
com.android.tools.r8.dex.ResourceAdapter$ServiceFileNameAdapter -> com.android.tools.r8.internal.BS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):431:431 -> <init>
    char getClassNameSeparator() -> b
    1:1:boolean isRenamingCandidate(int,int):446:446 -> b
com.android.tools.r8.dex.ResourceAdapter$StringAdapter -> com.android.tools.r8.internal.CS:
    java.lang.StringBuilder result -> b
    java.lang.String contents -> a
    int outputFrom -> d
    com.android.tools.r8.dex.ResourceAdapter this$0 -> g
    int position -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntStack prefixEndPositionsExclusive -> f
    boolean changed -> c
    1:1:void <clinit>():152:152 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):175:175 -> <init>
    2:24:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):155:177 -> <init>
    boolean allowRenamingOfPrefixes() -> a
    boolean handlePrefix(int,int) -> a
    boolean shouldRecordPrefix(char) -> a
    1:1:boolean eof(int):347:347 -> a
    char getClassNameSeparator() -> b
    boolean isRenamingCandidate(int,int) -> b
    1:2:java.lang.String getResult():199:200 -> c
    3:10:boolean renameJavaPackageInRange(int,int):303:310 -> c
    11:11:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputRangeFromInput(int,int):334:334 -> c
    11:11:boolean renameJavaPackageInRange(int,int):310 -> c
    12:13:boolean renameJavaPackageInRange(int,int):312:313 -> c
    14:14:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputJavaType(java.lang.String):339:339 -> c
    14:14:boolean renameJavaPackageInRange(int,int):311 -> c
    15:16:boolean renameJavaPackageInRange(int,int):315:316 -> c
    1:7:boolean renameJavaTypeInRange(int,int):273:279 -> d
    8:12:boolean renameJavaTypeInRange(int,int):278:282 -> d
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    13:13:boolean renameJavaTypeInRange(int,int):282 -> d
    14:20:boolean renameJavaTypeInRange(int,int):282:288 -> d
    21:21:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputRangeFromInput(int,int):334:334 -> d
    21:21:boolean renameJavaTypeInRange(int,int):288 -> d
    22:23:boolean renameJavaTypeInRange(int,int):290:291 -> d
    24:24:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputJavaType(java.lang.String):339:339 -> d
    24:24:boolean renameJavaTypeInRange(int,int):289 -> d
    25:26:boolean renameJavaTypeInRange(int,int):293:294 -> d
    27:27:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    27:27:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleMisc():205 -> d
    27:27:boolean run():182 -> d
    28:29:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleMisc():205:206 -> d
    28:29:boolean run():182 -> d
    30:30:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    30:30:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():213 -> d
    30:30:boolean run():183 -> d
    31:34:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():217:220 -> d
    31:34:boolean run():183 -> d
    35:35:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    35:35:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():221 -> d
    35:35:boolean run():183 -> d
    36:41:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():222:227 -> d
    36:41:boolean run():183 -> d
    42:42:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.push(int):487:487 -> d
    42:42:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():227 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:boolean run():183 -> d
    43:53:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():229:239 -> d
    43:53:boolean run():183 -> d
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.push(int):487:487 -> d
    54:54:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():239 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    54:54:boolean run():183 -> d
    55:63:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():242:250 -> d
    55:63:boolean run():183 -> d
    64:64:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    64:64:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():250 -> d
    64:64:boolean run():183 -> d
    65:66:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():250:251 -> d
    65:66:boolean run():183 -> d
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.push(int):487:487 -> d
    67:67:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():251 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    67:67:boolean run():183 -> d
    68:72:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():254:258 -> d
    68:72:boolean run():183 -> d
    73:73:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:492 -> d
    73:73:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():258 -> d
    73:73:boolean run():183 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    74:74:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():493:493 -> d
    74:74:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():258 -> d
    74:74:boolean run():183 -> d
    75:76:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():259:260 -> d
    75:76:boolean run():183 -> d
    77:77:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:492 -> d
    77:77:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():258 -> d
    77:77:boolean run():183 -> d
    78:80:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():264:266 -> d
    78:80:boolean run():183 -> d
    81:81:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:492 -> d
    81:81:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():266 -> d
    81:81:boolean run():183 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    82:82:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():493:493 -> d
    82:82:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():266 -> d
    82:82:boolean run():183 -> d
    83:83:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:492 -> d
    83:83:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():266 -> d
    83:83:boolean run():183 -> d
    84:84:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    84:84:boolean run():184 -> d
    85:88:boolean run():185:188 -> d
    89:89:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputRangeFromInput(int,int):334:334 -> d
    89:89:boolean run():188 -> d
    90:93:boolean run():192:195 -> d
com.android.tools.r8.dex.VDexParser -> com.android.tools.r8.dex.l:
    java.util.List dexFiles -> b
    com.android.tools.r8.dex.VDexReader vDexReader -> a
    1:1:void <init>(com.android.tools.r8.dex.VDexReader):26:26 -> <init>
    2:12:void <init>(com.android.tools.r8.dex.VDexReader):19:29 -> <init>
    1:1:java.util.List getDexFiles():33:33 -> a
    1:10:void parseDexFiles():37:46 -> b
    11:11:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:72 -> b
    11:11:void parseDexFiles():46 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:13:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> b
    12:13:void parseDexFiles():46 -> b
    14:15:void parseDexFiles():47:48 -> b
    16:17:byte[] com.android.tools.r8.dex.BinaryReader.getByteArray(int):38:39 -> b
    16:17:void parseDexFiles():48 -> b
    18:23:void parseDexFiles():48:53 -> b
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    24:24:void parseDexFiles():53 -> b
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    25:25:void parseDexFiles():53 -> b
    26:26:void parseDexFiles():53:53 -> b
com.android.tools.r8.dex.VDexReader -> com.android.tools.r8.dex.m:
    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>
    5:5:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38,"4":39,"5":40}}
    36:36:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    37:37:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    38:38:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    39:39:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    40:40:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    35:35:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    1:3:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):41:43 -> a
    4:4:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    4:4:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):43 -> a
    5:13:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):43:51 -> a
    14:14:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):49:49 -> a
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    15:15:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):49 -> a
    16:28:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):49:61 -> a
    29:29:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    29:29:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):61 -> a
    30:30:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):61:61 -> a
    31:31:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):54:54 -> a
    32:32:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    32:32:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):54 -> a
    33:33:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):54:54 -> a
    boolean supportedVersion(int) -> b
    1:13:void setByteOrder():75:87 -> f
    14:14:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> f
    14:14:void setByteOrder():87 -> f
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> f
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> f
    15:15:void setByteOrder():87 -> f
    16:16:void setByteOrder():87:87 -> f
com.android.tools.r8.dex.VirtualFile -> com.android.tools.r8.internal.R10:
    com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection indexedItems -> b
    com.android.tools.r8.graph.ObjectToOffsetMapping objectMapping -> f
    boolean $assertionsDisabled -> g
    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
    1:1:void <clinit>():60:60 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,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):60:60 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):93:93 -> <init>
    3:3:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.FeatureSplit):103:103 -> <init>
    4:4:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):113:113 -> <init>
    5:94:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.FeatureSplit):123:212 -> <init>
    95:100:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.FeatureSplit):124:129 -> <init>
    1:1:java.util.Map access$1100(java.util.Collection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.ClassNameMapper):60:60 -> a
    2:2:com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction access$1200(com.android.tools.r8.dex.VirtualFile):60:60 -> a
    3:5:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):154:156 -> a
    6:6:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":506,"3":507}}
    506:506:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):159:159 -> a
    507:507:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):159:159 -> a
    167:178:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):161:172 -> a
    179:179:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):167:167 -> a
    180:180:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):164:164 -> a
    181:181:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":512,"2":513,"3":514,"4":515,"5":516,"6":517}}
    512:512:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):164:164 -> a
    513:513:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):164:164 -> a
    514:514:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):164:164 -> a
    515:515:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):164:164 -> a
    516:516:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):164:164 -> a
    517:517:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):164:164 -> a
    345:345:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):164:164 -> a
    346:346:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):157:157 -> a
    347:347:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":518,"2":519,"3":520,"4":521,"5":522,"6":523}}
    518:518:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):157:157 -> a
    519:519:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):157:157 -> a
    520:520:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):157:157 -> a
    521:521:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):157:157 -> a
    522:522:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):157:157 -> a
    523:523:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):157:157 -> a
    504:504:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):157:157 -> a
    524:527:void lambda$computeOriginalNameMapping$0(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexProgramClass):188:191 -> a
    528:528:void lambda$computeOriginalNameMapping$0(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexProgramClass):189:189 -> a
    529:545:void computeMapping(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.InitClassLens,int,com.android.tools.r8.utils.Timing):226:242 -> a
    546:546:void addClass(com.android.tools.r8.graph.DexProgramClass):248:248 -> a
    547:548:boolean isFull(int):252:253 -> a
    549:549:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    549:549:void throwIfFull(boolean,com.android.tools.r8.utils.Reporter):273 -> a
    550:553:void throwIfFull(boolean,com.android.tools.r8.utils.Reporter):276:276 -> a
    554:554:void abortTransaction():286:286 -> a
    555:555:boolean containsString(com.android.tools.r8.graph.DexString):294:294 -> a
    556:556:boolean containsType(com.android.tools.r8.graph.DexType):298:298 -> a
    1:1:int access$1300(com.android.tools.r8.dex.VirtualFile):60:60 -> b
    2:2:void injectString(com.android.tools.r8.graph.DexString):179:179 -> b
    3:3:void com.android.tools.r8.dex.VirtualFile.commitTransaction():290:290 -> b
    3:3:void injectString(com.android.tools.r8.graph.DexString):180 -> b
    4:5:java.util.Map computeOriginalNameMapping(java.util.Collection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.ClassNameMapper):185:186 -> b
    6:6:java.util.Collection classes():306:306 -> b
    1:1:void commitTransaction():290:290 -> c
    1:4:java.util.Set getClassDescriptors():137:140 -> d
    1:1:com.android.tools.r8.FeatureSplit getFeatureSplit():146:146 -> e
    1:1:int getId():133:133 -> f
    1:1:int getNumberOfClasses():269:269 -> g
    1:1:int getNumberOfFields():265:265 -> h
    1:1:int getNumberOfMethods():261:261 -> i
    1:2:com.android.tools.r8.graph.ObjectToOffsetMapping getObjectMapping():215:216 -> j
    1:1:java.lang.String getPrimaryClassDescriptor():150:150 -> k
    1:1:boolean isEmpty():302:302 -> l
com.android.tools.r8.dex.VirtualFile$Distributor -> com.android.tools.r8.internal.I10:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List virtualFiles -> c
    com.android.tools.r8.dex.ApplicationWriter writer -> b
    1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter):314:314 -> <init>
    2:6:void <init>(com.android.tools.r8.dex.ApplicationWriter):312:316 -> <init>
    java.util.List run() -> a
com.android.tools.r8.dex.VirtualFile$DistributorBase -> com.android.tools.r8.internal.J10:
    com.android.tools.r8.dex.VirtualFile mainDexFile -> f
    java.util.Set classes -> d
    com.android.tools.r8.utils.InternalOptions options -> g
    boolean $assertionsDisabled -> h
    java.util.Map originalNames -> e
    1:1:void <clinit>():379:379 -> <clinit>
    1:15:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions):386:400 -> <init>
    16:16:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions):399:399 -> <init>
    1:5:void addMarkers(com.android.tools.r8.dex.VirtualFile):404:408 -> a
    6:20:void fillForMainDexList(java.util.Set):413:427 -> a
    21:21:void fillForMainDexList(java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465}}
    463:463:void fillForMainDexList(java.util.Set):428:428 -> a
    464:464:void fillForMainDexList(java.util.Set):428:428 -> a
    465:465:void fillForMainDexList(java.util.Set):428:428 -> a
    450:450:void fillForMainDexList(java.util.Set):429:429 -> a
    451:454:void fillForMainDexList(java.util.Set):428:431 -> a
    455:458:void fillForMainDexList(java.util.Set):430:433 -> a
    459:462:void fillForMainDexList(java.util.Set):432:435 -> a
    466:471:void lambda$fillForMainDexList$0(com.android.tools.r8.dex.VirtualFile,java.util.Set,com.android.tools.r8.graph.DexType):420:425 -> a
    472:498:java.util.TreeSet sortClassesByPackage(java.util.Set,java.util.Map):440:466 -> a
    499:521:int lambda$sortClassesByPackage$1(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):442:464 -> a
    522:554:void addFeatureSplitFiles(java.util.Map,com.android.tools.r8.dex.VirtualFile$FillStrategy):501:533 -> a
    1:17:java.util.Map removeFeatureSplitClassesGetMapping():471:487 -> b
com.android.tools.r8.dex.VirtualFile$FilePerInputClassDistributor -> com.android.tools.r8.internal.K10:
    boolean $assertionsDisabled -> e
    boolean combineSyntheticClassesWithPrimaryClass -> d
    1:1:void <clinit>():328:328 -> <clinit>
    1:2:void <init>(com.android.tools.r8.dex.ApplicationWriter,boolean):333:334 -> <init>
    1:8:java.util.List run():339:346 -> a
    9:9:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    9:9:java.util.List run():346 -> a
    10:10:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    10:10:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    10:10:java.util.List run():346 -> a
    11:11:java.util.List run():362:362 -> a
    12:40:java.util.List run():347:375 -> a
com.android.tools.r8.dex.VirtualFile$FillFilesDistributor -> com.android.tools.r8.internal.L10:
    com.android.tools.r8.dex.VirtualFile$FillStrategy fillStrategy -> i
    java.util.concurrent.ExecutorService executorService -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():538:538 -> <clinit>
    1:3:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):544:546 -> <init>
    1:58:java.util.List run():551:608 -> a
    1:1:int lambda$run$0(com.android.tools.r8.dex.VirtualFile):607:607 -> b
com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction -> com.android.tools.r8.internal.M10:
    com.android.tools.r8.ir.conversion.LensCodeRewriterUtils rewriter -> e
    boolean $assertionsDisabled -> n
    com.android.tools.r8.naming.NamingLens namingLens -> d
    com.android.tools.r8.graph.InitClassLens initClassLens -> c
    java.util.Set fields -> g
    java.util.Set methods -> h
    java.util.Set types -> i
    java.util.Set protos -> j
    com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection base -> a
    java.util.Set classes -> f
    java.util.Set strings -> k
    java.util.Set callSites -> l
    com.android.tools.r8.graph.GraphLens graphLens -> b
    java.util.Set methodHandles -> m
    1:1:void <clinit>():740:740 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.VirtualFile$1):740:740 -> <init>
    2:2:void <init>(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):762:762 -> <init>
    3:22:void <init>(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):748:767 -> <init>
    1:1:java.util.Set access$1500(com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction):740:740 -> a
    2:5:boolean maybeInsert(com.android.tools.r8.graph.DexItem,java.util.Set,java.util.Set):771:774 -> a
    6:6:boolean addClass(com.android.tools.r8.graph.DexProgramClass):784:784 -> a
    7:7:boolean addMethod(com.android.tools.r8.graph.DexMethod):794:794 -> a
    8:8:boolean addString(com.android.tools.r8.graph.DexString):799:799 -> a
    9:9:boolean addProto(com.android.tools.r8.graph.DexProto):804:804 -> a
    10:10:boolean addType(com.android.tools.r8.graph.DexType):809:809 -> a
    11:11:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> a
    11:11:boolean addType(com.android.tools.r8.graph.DexType):809 -> a
    12:12:boolean addType(com.android.tools.r8.graph.DexType):810:810 -> a
    13:13:boolean addCallSite(com.android.tools.r8.graph.DexCallSite):815:815 -> a
    14:14:boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle):820:820 -> a
    15:15:com.android.tools.r8.graph.InitClassLens getInitClassLens():830:830 -> a
    16:16:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):846:846 -> a
    17:21:void commitItemsIn(java.util.Set,java.util.function.Function):862:866 -> a
    22:23:void lambda$commitItemsIn$0(java.util.function.Function,com.android.tools.r8.graph.DexItem):863:864 -> a
    1:1:com.android.tools.r8.ir.conversion.LensCodeRewriterUtils access$200(com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction):740:740 -> b
    2:2:void addClassAndDependencies(com.android.tools.r8.graph.DexProgramClass):779:779 -> b
    3:3:boolean addField(com.android.tools.r8.graph.DexField):789:789 -> b
    4:4:com.android.tools.r8.graph.DexString getRenamedDescriptor(com.android.tools.r8.graph.DexType):835:835 -> b
    5:6:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexMethod):840:841 -> b
    7:12:void abort():881:886 -> b
    1:8:void commit():870:877 -> c
    1:1:int getNumberOfClasses():854:854 -> d
    1:1:int getNumberOfFields():858:858 -> e
    1:1:int getNumberOfMethods():850:850 -> f
    1:2:boolean isEmpty():890:891 -> g
com.android.tools.r8.dex.VirtualFile$MonoDexDistributor -> com.android.tools.r8.internal.N10:
    1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions):614:614 -> <init>
    1:9:java.util.List run():620:628 -> a
    10:10:void com.android.tools.r8.dex.VirtualFile$DistributorBase.addFeatureSplitFiles(java.util.Map):495:495 -> a
    10:10:java.util.List run():630 -> a
    11:11:java.util.List run():633:633 -> a
com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator -> com.android.tools.r8.internal.O10:
    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
    com.android.tools.r8.utils.InternalOptions options -> e
    boolean $assertionsDisabled -> g
    com.android.tools.r8.dex.VirtualFile$VirtualFileCycler cycler -> f
    1:1:void <clinit>():1014:1014 -> <clinit>
    1:7:void <init>(java.util.List,com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.dex.VirtualFile$FillStrategy,int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):1045:1051 -> <init>
    1:5:java.util.Map call():1078:1082 -> a
    6:6:java.lang.String com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getOriginalName(com.android.tools.r8.graph.DexProgramClass):1069:1069 -> a
    6:6:java.util.Map call():1083 -> a
    7:11:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.coveredByPrefix(java.lang.String,java.lang.String):1060:1064 -> a
    7:11:java.util.Map call():1084 -> a
    12:32:java.util.Map call():1086:1106 -> a
    33:35:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):202:204 -> a
    33:35:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):60 -> a
    33:35:java.util.Map call():1106 -> a
    36:38:java.util.Map call():1107:1109 -> a
    39:41:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):202:204 -> a
    39:41:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):60 -> a
    39:41:java.util.Map call():1110 -> a
    42:42:java.util.Map call():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1267,"2":1268,"3":1269,"4":1270,"5":1271}}
    1267:1267:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):207:207 -> a
    1267:1267:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):60 -> a
    1267:1267:java.util.Map call():1110 -> a
    1268:1268:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):207:207 -> a
    1268:1268:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):60 -> a
    1268:1268:java.util.Map call():1110 -> a
    1269:1269:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):207:207 -> a
    1269:1269:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):60 -> a
    1269:1269:java.util.Map call():1110 -> a
    1270:1270:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):207:207 -> a
    1270:1270:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):60 -> a
    1270:1270:java.util.Map call():1110 -> a
    1271:1271:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):207:207 -> a
    1271:1271:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):60 -> a
    1271:1271:java.util.Map call():1110 -> a
    1157:1196:java.util.Map call():1115:1154 -> a
    1197:1242:java.util.Map call():1118:1163 -> a
    1243:1247:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1178:1182 -> a
    1243:1247:java.util.Map call():1163 -> a
    1248:1248:boolean com.android.tools.r8.dex.VirtualFile.isFilledEnough(com.android.tools.r8.dex.VirtualFile$FillStrategy):282:282 -> a
    1248:1248:boolean com.android.tools.r8.dex.VirtualFile.access$1600(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.dex.VirtualFile$FillStrategy):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1248:1248:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1182 -> a
    1248:1248:java.util.Map call():1163 -> a
    1249:1251:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1203:1205 -> a
    1249:1251:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1183 -> a
    1249:1251:java.util.Map call():1163 -> a
    1252:1252:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1185:1185 -> a
    1252:1252:java.util.Map call():1163 -> a
    1253:1253:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    1253:1253:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1186 -> a
    1253:1253:java.util.Map call():1163 -> a
    1254:1254:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1188:1188 -> a
    1254:1254:java.util.Map call():1163 -> a
    1255:1257:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1203:1205 -> a
    1255:1257:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1189 -> a
    1255:1257:java.util.Map call():1163 -> a
    1258:1259:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1190:1191 -> a
    1258:1259:java.util.Map call():1163 -> a
    1260:1260:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    1260:1260:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1192 -> a
    1260:1260:java.util.Map call():1163 -> a
    1261:1261:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1193:1193 -> a
    1261:1261:java.util.Map call():1163 -> a
    1262:1262:java.util.Map call():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1272,"2":1273,"3":1274}}
    1272:1272:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1193:1193 -> a
    1272:1272:java.util.Map call():1163 -> a
    1273:1273:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1193:1193 -> a
    1273:1273:java.util.Map call():1163 -> a
    1274:1274:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1193:1193 -> a
    1274:1274:java.util.Map call():1163 -> a
    1263:1266:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1194:1197 -> a
    1263:1266:java.util.Map call():1163 -> a
    1275:1279:boolean isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1169:1173 -> a
    1280:1280:boolean com.android.tools.r8.dex.VirtualFile.isFilledEnough(com.android.tools.r8.dex.VirtualFile$FillStrategy):282:282 -> a
    1280:1280:boolean com.android.tools.r8.dex.VirtualFile.access$1600(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.dex.VirtualFile$FillStrategy):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1280:1280:boolean isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1173 -> a
    1281:1281:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    1281:1281:boolean isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1173 -> a
    1:1:java.lang.Object call():1014:1014 -> call
com.android.tools.r8.dex.VirtualFile$VirtualFileCycler -> com.android.tools.r8.internal.P10:
    java.util.List files -> a
    com.android.tools.r8.FeatureSplit featuresplit -> i
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> j
    int nextFileId -> f
    com.android.tools.r8.naming.NamingLens namingLens -> e
    java.util.Iterator activeFiles -> h
    java.util.Iterator allFilesCyclic -> g
    com.android.tools.r8.graph.GraphLens graphLens -> c
    com.android.tools.r8.graph.InitClassLens initClassLens -> d
    1:1:void <clinit>():907:907 -> <clinit>
    1:13:void <init>(java.util.List,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,int):926:938 -> <init>
    1:1:boolean com.android.tools.r8.dex.VirtualFile$VirtualFileCycler.hasNext():947:947 -> a
    1:1:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$VirtualFileCycler.nextOrCreate():958 -> a
    1:1:com.android.tools.r8.dex.VirtualFile nextOrCreate(java.util.function.Predicate):978 -> a
    2:8:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$VirtualFileCycler.nextOrCreate():959:965 -> a
    2:8:com.android.tools.r8.dex.VirtualFile nextOrCreate(java.util.function.Predicate):978 -> a
    9:12:com.android.tools.r8.dex.VirtualFile nextOrCreate(java.util.function.Predicate):979:982 -> a
    13:18:com.android.tools.r8.dex.VirtualFile addFile():994:999 -> a
    1:1:boolean hasNext():947:947 -> b
    1:1:com.android.tools.r8.dex.VirtualFile next():951:951 -> c
    1:2:void reset():942:943 -> d
    1:1:void restart():990:990 -> e
com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection -> com.android.tools.r8.internal.Q10:
    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 -> l
    java.util.Set methodHandles -> k
    com.android.tools.r8.graph.GraphLens graphLens -> a
    com.android.tools.r8.graph.InitClassLens initClassLens -> b
    1:1:void <clinit>():637:637 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):653:653 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):643:656 -> <init>
    1:1:java.util.Set access$100(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):637:637 -> a
    2:2:boolean addClass(com.android.tools.r8.graph.DexProgramClass):661:661 -> a
    3:3:boolean addMethod(com.android.tools.r8.graph.DexMethod):671:671 -> a
    4:4:boolean addString(com.android.tools.r8.graph.DexString):676:676 -> a
    5:5:boolean addProto(com.android.tools.r8.graph.DexProto):681:681 -> a
    6:6:boolean addType(com.android.tools.r8.graph.DexType):686:686 -> a
    7:7:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> a
    7:7:boolean addType(com.android.tools.r8.graph.DexType):686 -> a
    8:8:boolean addType(com.android.tools.r8.graph.DexType):687:687 -> a
    9:9:boolean addCallSite(com.android.tools.r8.graph.DexCallSite):692:692 -> a
    10:10:boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle):697:697 -> a
    11:11:com.android.tools.r8.graph.InitClassLens getInitClassLens():719:719 -> a
    12:12:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):736:736 -> a
    13:13:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    13:13:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):736 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):736:736 -> a
    1:1:java.util.Set access$300(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):637:637 -> b
    2:2:boolean addField(com.android.tools.r8.graph.DexField):666:666 -> b
    3:3:int getNumberOfFields():705:705 -> b
    4:4:com.android.tools.r8.graph.DexString getRenamedDescriptor(com.android.tools.r8.graph.DexType):724:724 -> b
    5:7:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexMethod):729:731 -> b
    1:1:java.util.Set access$400(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):637:637 -> c
    2:2:int getNumberOfMethods():701:701 -> c
    1:1:java.util.Set access$500(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):637:637 -> d
    1:1:java.util.Set access$600(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):637:637 -> e
    1:1:java.util.Set access$700(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):637:637 -> f
    1:1:java.util.Set access$800(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):637:637 -> g
    1:1:java.util.Set access$900(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):637:637 -> h
com.android.tools.r8.dexsplitter.DexSplitter -> com.android.tools.r8.dexsplitter.DexSplitter:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    1:6:com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar parseFeatureJarArgument(java.lang.String):204:209 -> a
    1:6:void lambda$parseArguments$0(com.android.tools.r8.dexsplitter.DexSplitter$Options,java.lang.String):225 -> a
    7:11:com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar parseFeatureJarArgument(java.lang.String):207:211 -> a
    7:11:void lambda$parseArguments$0(com.android.tools.r8.dexsplitter.DexSplitter$Options,java.lang.String):225 -> a
    12:12:void lambda$parseArguments$0(com.android.tools.r8.dexsplitter.DexSplitter$Options,java.lang.String):225:225 -> a
    13:14:void run(java.lang.String[]):283:284 -> a
    13:14:void lambda$main$1(java.lang.String[]):362 -> a
    15:15:void lambda$main$1(java.lang.String[]):365:365 -> a
    16:16:void lambda$main$1(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":382,"2":383,"3":384}}
    382:382:void lambda$main$1(java.lang.String[]):365:365 -> a
    383:383:void lambda$main$1(java.lang.String[]):365:365 -> a
    384:384:void lambda$main$1(java.lang.String[]):365:365 -> a
    381:381:void lambda$main$1(java.lang.String[]):365:365 -> a
    1:51:com.android.tools.r8.dexsplitter.DexSplitter$Options parseArguments(java.lang.String[]):215:265 -> b
    1:1:void main(java.lang.String[]):359:359 -> main
    1:24:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):290:313 -> run
    25:27:com.android.tools.r8.utils.FeatureClassMapping createFeatureClassMapping(com.android.tools.r8.dexsplitter.DexSplitter$Options):272:274 -> run
    25:27:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):316 -> run
    28:33:com.android.tools.r8.utils.FeatureClassMapping createFeatureClassMapping(com.android.tools.r8.dexsplitter.DexSplitter$Options):273:278 -> run
    28:33:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):316 -> run
    34:34:com.android.tools.r8.utils.FeatureClassMapping createFeatureClassMapping(com.android.tools.r8.dexsplitter.DexSplitter$Options):277:277 -> run
    34:34:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):316 -> run
    35:35:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):319:319 -> run
    36:39:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):318:321 -> run
    40:46:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):328:334 -> run
    40:46:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    47:48:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> run
    47:48:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):334 -> run
    47:48:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    49:58:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):334:343 -> run
    49:58:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    59:59:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):347:347 -> run
    59:59:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):344 -> run
    59:59:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    60:60:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):337:337 -> run
    60:60:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    61:61:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):347:347 -> run
    61:61:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):344 -> run
    61:61:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    62:62:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):344:344 -> run
    62:62:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    63:63:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):347:347 -> run
    63:63:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):347 -> run
    63:63:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    64:64:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):329:329 -> run
    64:64:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    65:65:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):347:347 -> run
    65:65:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):347 -> run
    65:65:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    66:69:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):347:350 -> run
    66:69:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    70:70:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):300:300 -> run
com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar -> com.android.tools.r8.internal.Yg:
    java.lang.String jar -> a
    java.lang.String outputName -> b
    1:3:void <init>(java.lang.String,java.lang.String):49:51 -> <init>
    4:4:void <init>(java.lang.String):55:55 -> <init>
    1:1:java.lang.String getJar():59:59 -> a
    2:4:java.lang.String featureNameFromJar(java.lang.String):67:69 -> a
    5:5:java.lang.String featureNameFromJar(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":75,"3":76}}
    75:75:java.lang.String featureNameFromJar(java.lang.String):70:70 -> a
    76:76:java.lang.String featureNameFromJar(java.lang.String):70:70 -> a
    1:1:java.lang.String getOutputName():63:63 -> b
com.android.tools.r8.dexsplitter.DexSplitter$Options -> com.android.tools.r8.dexsplitter.DexSplitter$Options:
    java.util.List inputArchives -> b
    java.lang.String featureSplitMapping -> g
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> a
    java.lang.String output -> f
    java.lang.String mainDexList -> i
    java.lang.String proguardMap -> h
    boolean splitNonClassResources -> j
    java.util.List baseJars -> d
    java.util.List featureJars -> c
    java.lang.String baseOutputName -> e
    1:1:void <init>():102:102 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):105:105 -> <init>
    3:18:void <init>(com.android.tools.r8.DiagnosticsHandler):91:106 -> <init>
    1:1:com.android.tools.r8.DiagnosticsHandler access$000(com.android.tools.r8.dexsplitter.DexSplitter$Options):89:89 -> a
    2:2:void addFeatureJar(com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar):162:162 -> a
    2:2:void access$300(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void addFeatureJar(com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar):162:162 -> a
    3:3:void access$300(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar):89 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList getBaseJars():186:186 -> a
    1:1:void addBaseJar(java.lang.String):158:158 -> addBaseJar
    1:1:void addFeatureJar(java.lang.String):166:166 -> addFeatureJar
    2:2:void addFeatureJar(java.lang.String,java.lang.String):170:170 -> addFeatureJar
    1:1:void addInputArchive(java.lang.String):154:154 -> addInputArchive
    1:1:java.util.List access$100(com.android.tools.r8.dexsplitter.DexSplitter$Options):89:89 -> b
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList getFeatureJars():182:182 -> b
    1:1:boolean access$200(com.android.tools.r8.dexsplitter.DexSplitter$Options):89:89 -> c
    1:2:com.android.tools.r8.Diagnostic error(java.lang.String):191:192 -> error
    1:1:java.lang.String getBaseOutputName():146:146 -> getBaseOutputName
    1:1:com.android.tools.r8.DiagnosticsHandler getDiagnosticsHandler():110:110 -> getDiagnosticsHandler
    1:1:java.lang.String getFeatureSplitMapping():130:130 -> getFeatureSplitMapping
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList getInputArchives():178:178 -> getInputArchives
    1:1:java.lang.String getMainDexList():114:114 -> getMainDexList
    1:1:java.lang.String getOutput():122:122 -> getOutput
    1:1:java.lang.String getProguardMap():138:138 -> getProguardMap
    1:1:void setBaseOutputName(java.lang.String):150:150 -> setBaseOutputName
    1:1:void setFeatureSplitMapping(java.lang.String):134:134 -> setFeatureSplitMapping
    1:1:void setMainDexList(java.lang.String):118:118 -> setMainDexList
    1:1:void setOutput(java.lang.String):126:126 -> setOutput
    1:1:void setProguardMap(java.lang.String):142:142 -> setProguardMap
    1:1:void setSplitNonClassResources(boolean):174:174 -> setSplitNonClassResources
com.android.tools.r8.dexsplitter.DexSplitter$Options$1 -> com.android.tools.r8.dexsplitter.a:
    1:1:void <init>():102:102 -> <init>
com.android.tools.r8.dexsplitter.DexSplitter$ZipFileOrigin -> com.android.tools.r8.dexsplitter.b:
    1:1:void <init>(java.nio.file.Path):79:79 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":87,"2":88,"3":89}}
    87:87:java.lang.String part():84:84 -> part
    88:88:java.lang.String part():84:84 -> part
    89:89:java.lang.String part():84:84 -> part
    85:85:java.lang.String part():84:84 -> part
    86:86:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":87,"2":88,"3":89}}
    87:87:java.lang.String part():84:84 -> part
    88:88:java.lang.String part():84:84 -> part
    89:89:java.lang.String part():84:84 -> part
com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl -> com.android.tools.r8.diagnostic.internal.a:
    com.android.tools.r8.references.ClassReference classReference -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.origin.Origin,com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$1):11:11 -> <init>
    2:3:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.origin.Origin):17:18 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$Builder builder():22:22 -> a
    1:1:com.android.tools.r8.references.ClassReference getClassReference():27:27 -> getClassReference
com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$Builder -> com.android.tools.r8.diagnostic.internal.a$a:
    com.android.tools.r8.references.ClassReference classReference -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$1):30:30 -> <init>
    2:2:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.diagnostic.DefinitionContext build():30:30 -> a
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$Builder setClassContext(com.android.tools.r8.references.ClassReference):37:37 -> a
    com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder self() -> b
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl build():48:48 -> c
    2:2:boolean com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder.validate():37:37 -> c
    2:2:boolean validate():54 -> c
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl build():48 -> c
    3:3:boolean validate():55:55 -> c
    3:3:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl build():48 -> c
    4:4:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl build():49:49 -> c
com.android.tools.r8.diagnostic.internal.DefinitionContextBase -> com.android.tools.r8.diagnostic.internal.c:
    com.android.tools.r8.origin.Origin origin -> a
    1:2:void <init>(com.android.tools.r8.origin.Origin):14:15 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():20:20 -> getOrigin
com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder -> com.android.tools.r8.diagnostic.internal.b:
    com.android.tools.r8.origin.Origin origin -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    com.android.tools.r8.diagnostic.DefinitionContext build() -> a
    1:2:com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder setOrigin(com.android.tools.r8.origin.Origin):28:29 -> a
    com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder self() -> b
com.android.tools.r8.diagnostic.internal.DefinitionContextUtils -> com.android.tools.r8.diagnostic.internal.d:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:7:void accept(com.android.tools.r8.diagnostic.DefinitionContext,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):26:32 -> a
    8:25:com.android.tools.r8.diagnostic.DefinitionContext create(com.android.tools.r8.graph.ProgramDerivedContext):52:69 -> a
    26:26:com.android.tools.r8.diagnostic.DefinitionContext create(com.android.tools.r8.graph.ProgramDerivedContext):67:67 -> a
    27:27:java.lang.String toSourceString(com.android.tools.r8.diagnostic.DefinitionContext):73:73 -> a
    28:34:java.lang.Object apply(com.android.tools.r8.diagnostic.DefinitionContext,java.util.function.Function,java.util.function.Function,java.util.function.Function):41:47 -> a
    28:34:java.lang.String toSourceString(com.android.tools.r8.diagnostic.DefinitionContext):73 -> a
    35:35:java.lang.String toSourceString(com.android.tools.r8.diagnostic.DefinitionContext):73:73 -> a
    36:36:java.lang.String lambda$toSourceString$0(com.android.tools.r8.diagnostic.DefinitionClassContext):75:75 -> a
    37:37:java.lang.String lambda$toSourceString$1(com.android.tools.r8.diagnostic.DefinitionFieldContext):76:76 -> a
    38:38:java.lang.String lambda$toSourceString$2(com.android.tools.r8.diagnostic.DefinitionMethodContext):77:77 -> a
com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl -> com.android.tools.r8.diagnostic.internal.e:
    com.android.tools.r8.references.FieldReference fieldReference -> b
    1:1:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.origin.Origin,com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$1):11:11 -> <init>
    2:3:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.origin.Origin):17:18 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$Builder builder():22:22 -> a
    1:1:com.android.tools.r8.references.FieldReference getFieldReference():27:27 -> getFieldReference
com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$Builder -> com.android.tools.r8.diagnostic.internal.e$a:
    com.android.tools.r8.references.FieldReference fieldReference -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$1):30:30 -> <init>
    2:2:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.diagnostic.DefinitionContext build():30:30 -> a
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$Builder setFieldContext(com.android.tools.r8.references.FieldReference):37:37 -> a
    com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder self() -> b
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl build():48:48 -> c
    2:2:boolean com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder.validate():37:37 -> c
    2:2:boolean validate():54 -> c
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl build():48 -> c
    3:3:boolean validate():55:55 -> c
    3:3:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl build():48 -> c
    4:4:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl build():49:49 -> c
com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl -> com.android.tools.r8.diagnostic.internal.f:
    com.android.tools.r8.references.MethodReference methodReference -> b
    1:1:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.origin.Origin,com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$1):11:11 -> <init>
    2:3:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.origin.Origin):17:18 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$Builder builder():22:22 -> a
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():27:27 -> getMethodReference
com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$Builder -> com.android.tools.r8.diagnostic.internal.f$a:
    com.android.tools.r8.references.MethodReference methodReference -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$1):30:30 -> <init>
    2:2:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.diagnostic.DefinitionContext build():30:30 -> a
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$Builder setMethodContext(com.android.tools.r8.references.MethodReference):37:37 -> a
    com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder self() -> b
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():48:48 -> c
    2:2:boolean com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder.validate():37:37 -> c
    2:2:boolean validate():54 -> c
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():48 -> c
    3:3:boolean validate():55:55 -> c
    3:3:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():48 -> c
    4:4:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():49:49 -> c
com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl -> com.android.tools.r8.internal.TE:
    com.android.tools.r8.references.ClassReference classReference -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$1):13:13 -> <init>
    2:3:void <init>(com.android.tools.r8.references.ClassReference,java.util.Collection):19:20 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder builder():24:24 -> a
    1:1:com.android.tools.r8.references.ClassReference getClassReference():29:29 -> getClassReference
com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder -> com.android.tools.r8.internal.SE:
    com.android.tools.r8.references.ClassReference classReference -> b
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$1):32:32 -> <init>
    2:2:void <init>():36:36 -> <init>
    com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
    1:1:com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder setClass(com.android.tools.r8.references.ClassReference):39:39 -> a
    1:1:com.android.tools.r8.diagnostic.MissingDefinitionInfo build():44:44 -> b
com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase -> com.android.tools.r8.internal.XE:
    java.util.Collection referencedFromContexts -> a
    1:2:void <init>(java.util.Collection):16:17 -> <init>
    1:3:java.lang.String getDiagnosticMessage():22:24 -> getDiagnosticMessage
    1:1:java.util.Collection getReferencedFromContexts():29:29 -> getReferencedFromContexts
com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder -> com.android.tools.r8.internal.WE:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder referencedFromContextsBuilder -> a
    1:1:void <init>():37:37 -> <init>
    2:2:void <init>():35:35 -> <init>
    com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
    1:2:com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder addReferencedFromContext(com.android.tools.r8.diagnostic.DefinitionContext):40:41 -> a
    3:4:com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder addReferencedFromContexts(java.lang.Iterable):45:46 -> a
com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoUtils -> com.android.tools.r8.internal.YE:
    boolean $assertionsDisabled -> b
    java.util.Comparator COMPARATOR -> a
    1:3:void <clinit>():26:28 -> <clinit>
    1:5:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):30:34 -> a
    6:11:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):33:38 -> a
    12:16:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):37:41 -> a
    17:24:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):40:47 -> a
    25:25:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):46:46 -> a
    26:26:int com.android.tools.r8.utils.FieldReferenceUtils.compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.ClassReference):35:35 -> a
    26:26:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):46 -> a
    27:29:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):49:51 -> a
    30:34:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):50:54 -> a
    35:35:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):53:53 -> a
    36:36:int com.android.tools.r8.utils.FieldReferenceUtils.compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.MethodReference):44:44 -> a
    36:36:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):53 -> a
    37:40:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):56:59 -> a
    41:41:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):58:58 -> a
    42:42:int com.android.tools.r8.utils.MethodReferenceUtils.compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.ClassReference):59:59 -> a
    42:42:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):58 -> a
    43:45:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):61:63 -> a
    46:46:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):62:62 -> a
    47:47:int com.android.tools.r8.utils.MethodReferenceUtils.compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.FieldReference):63:63 -> a
    47:47:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):62 -> a
    48:48:int com.android.tools.r8.utils.FieldReferenceUtils.compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.MethodReference):44:44 -> a
    48:48:int com.android.tools.r8.utils.MethodReferenceUtils.compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.FieldReference):63 -> a
    48:48:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):62 -> a
    49:49:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):66:66 -> a
    50:50:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):65:65 -> a
    51:51:java.util.Comparator getComparator():85:85 -> a
    52:52:void writeDiagnosticMessage(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):90:90 -> a
    53:59:void com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoUtils.accept(com.android.tools.r8.diagnostic.MissingDefinitionInfo,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):74:80 -> a
    53:59:void writeDiagnosticMessage(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):90 -> a
    60:60:void writeDiagnosticMessage(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):105:105 -> a
    61:62:void lambda$writeDiagnosticMessage$1(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingClassInfo):94:95 -> a
    63:64:void lambda$writeDiagnosticMessage$2(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingFieldInfo):98:99 -> a
    65:67:void lambda$writeDiagnosticMessage$3(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingMethodInfo):102:104 -> a
    68:68:void lambda$writeDiagnosticMessage$3(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingMethodInfo):103:103 -> a
    69:69:void lambda$writeReferencedFromSuffix$4(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionClassContext):119:119 -> a
    70:70:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:37 -> a
    70:70:void lambda$writeReferencedFromSuffix$4(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionClassContext):118 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:72:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:38 -> a
    71:72:void lambda$writeReferencedFromSuffix$4(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionClassContext):118 -> a
    73:73:void lambda$writeReferencedFromSuffix$5(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionFieldContext):122:122 -> a
    74:74:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:37 -> a
    74:74:void lambda$writeReferencedFromSuffix$5(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionFieldContext):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    75:76:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:38 -> a
    75:76:void lambda$writeReferencedFromSuffix$5(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionFieldContext):121 -> a
    77:78:void lambda$writeReferencedFromSuffix$6(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionMethodContext):125:126 -> a
    79:79:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:37 -> a
    79:79:void lambda$writeReferencedFromSuffix$6(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionMethodContext):124 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    80:81:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:38 -> a
    80:81:void lambda$writeReferencedFromSuffix$6(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionMethodContext):124 -> a
    82:91:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo,java.lang.String):143:152 -> a
    1:23:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):110:132 -> b
    24:28:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):131:135 -> b
    29:32:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):134:137 -> b
com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl -> com.android.tools.r8.internal.aF:
    java.util.Collection missingDefinitions -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$1):17:17 -> <init>
    2:4:void <init>(java.util.Collection):21:23 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder builder():27:27 -> a
    2:2:void lambda$getDiagnosticMessage$0(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):70:70 -> a
    3:3:void lambda$getDiagnosticMessage$0(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):69:69 -> a
    1:1:java.lang.String getDiagnosticMessage():56:56 -> getDiagnosticMessage
    2:4:java.util.Collection com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl.getMissingDefinitionsWithDeterministicOrder():36:38 -> getDiagnosticMessage
    2:4:java.lang.String getDiagnosticMessage():58 -> getDiagnosticMessage
    5:19:java.lang.String getDiagnosticMessage():58:72 -> getDiagnosticMessage
    1:3:java.util.Collection com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl.getMissingDefinitionsWithDeterministicOrder():36:38 -> getMissingDefinitions
    1:3:java.util.Collection getMissingDefinitions():32 -> getMissingDefinitions
    1:1:com.android.tools.r8.origin.Origin getOrigin():45:45 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():51:51 -> getPosition
com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder -> com.android.tools.r8.internal.ZE:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder missingDefinitionsBuilder -> a
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$1):75:75 -> <init>
    2:2:void <init>():80:80 -> <init>
    3:3:void <init>():78:78 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder addMissingDefinitionInfo(com.android.tools.r8.diagnostic.MissingDefinitionInfo):83:83 -> a
    2:2:com.android.tools.r8.diagnostic.MissingDefinitionsDiagnostic build():88:88 -> a
com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl -> com.android.tools.r8.internal.cF:
    com.android.tools.r8.references.FieldReference fieldReference -> b
    1:1:void <init>(com.android.tools.r8.references.FieldReference,java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$1):13:13 -> <init>
    2:3:void <init>(com.android.tools.r8.references.FieldReference,java.util.Collection):19:20 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder builder():24:24 -> a
    1:1:com.android.tools.r8.references.FieldReference getFieldReference():29:29 -> getFieldReference
com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder -> com.android.tools.r8.internal.bF:
    com.android.tools.r8.references.FieldReference fieldReference -> b
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$1):32:32 -> <init>
    2:2:void <init>():36:36 -> <init>
    com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
    1:1:com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder setField(com.android.tools.r8.references.FieldReference):39:39 -> a
    1:1:com.android.tools.r8.diagnostic.MissingDefinitionInfo build():44:44 -> b
com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl -> com.android.tools.r8.internal.eF:
    com.android.tools.r8.references.MethodReference methodReference -> b
    1:1:void <init>(com.android.tools.r8.references.MethodReference,java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$1):13:13 -> <init>
    2:3:void <init>(com.android.tools.r8.references.MethodReference,java.util.Collection):19:20 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$Builder builder():24:24 -> a
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():29:29 -> getMethodReference
com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$Builder -> com.android.tools.r8.internal.dF:
    com.android.tools.r8.references.MethodReference methodReference -> b
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$1):32:32 -> <init>
    2:2:void <init>():36:36 -> <init>
    com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
    1:1:com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$Builder setMethod(com.android.tools.r8.references.MethodReference):39:39 -> a
    1:1:com.android.tools.r8.diagnostic.MissingDefinitionInfo build():44:44 -> b
com.android.tools.r8.errors.ApiLevelDiagnostic -> com.android.tools.r8.internal.f2:
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():15:15 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():20:20 -> getPosition
com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic -> com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic:
    java.util.List methods -> b
    com.android.tools.r8.origin.Origin origin -> c
    com.android.tools.r8.position.Position position -> d
    1:1:void <init>(java.util.List,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$1):19:19 -> <init>
    2:5:void <init>(java.util.List,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):26:29 -> <init>
    1:5:java.lang.String getDiagnosticMessage():44:48 -> getDiagnosticMessage
    6:6:java.lang.String com.android.tools.r8.utils.MethodReferenceUtils.toSourceStringWithoutHolderAndReturnType(com.android.tools.r8.references.MethodReference):102:102 -> getDiagnosticMessage
    6:6:java.lang.String getDiagnosticMessage():48 -> getDiagnosticMessage
    7:11:java.lang.String getDiagnosticMessage():48:52 -> getDiagnosticMessage
    12:12:java.lang.String com.android.tools.r8.utils.MethodReferenceUtils.toSourceStringWithoutHolderAndReturnType(com.android.tools.r8.references.MethodReference):102:102 -> getDiagnosticMessage
    12:12:java.lang.String getDiagnosticMessage():53 -> getDiagnosticMessage
    13:19:java.lang.String getDiagnosticMessage():53:59 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():34:34 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():39:39 -> getPosition
com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$Builder -> com.android.tools.r8.errors.a:
    java.util.List methods -> a
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    1:1:void <init>():68:68 -> <init>
    2:2:void <init>():64:64 -> <init>
    1:2:com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$Builder addMatchedMethods(java.util.Set):71:72 -> a
    3:3:com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$Builder setOrigin(com.android.tools.r8.origin.Origin):78:78 -> a
    4:4:com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$Builder setPosition(com.android.tools.r8.position.Position):83:83 -> a
    5:5:com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic build():88:88 -> a
com.android.tools.r8.errors.CheckDiscardDiagnostic -> com.android.tools.r8.errors.CheckDiscardDiagnostic:
    java.util.List messages -> b
    1:1:void <init>(java.util.List,com.android.tools.r8.errors.CheckDiscardDiagnostic$1):19:19 -> <init>
    2:3:void <init>(java.util.List):48:49 -> <init>
    1:2:void lambda$getDiagnosticMessage$0(java.lang.StringBuilder,java.lang.String):72:73 -> a
    1:11:java.lang.String getDiagnosticMessage():66:76 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():55:55 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():61:61 -> getPosition
com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder -> com.android.tools.r8.errors.b:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder messagesBuilder -> a
    1:2:void <init>():23:24 -> <init>
    1:4:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):30:33 -> a
    5:7:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):32:34 -> a
    8:8:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":48,"2":49,"3":50}}
    48:48:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):34:34 -> a
    49:49:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):34:34 -> a
    50:50:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):34:34 -> a
    44:46:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):36:38 -> a
    47:47:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):34:34 -> a
    51:51:com.android.tools.r8.errors.CheckDiscardDiagnostic build():44:44 -> a
com.android.tools.r8.errors.ClassFileOverflowDiagnostic -> com.android.tools.r8.errors.ClassFileOverflowDiagnostic:
    com.android.tools.r8.origin.Origin origin -> b
    1:2:void <init>(com.android.tools.r8.origin.Origin):16:17 -> <init>
    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.errors.CodeSizeOverflowDiagnostic -> com.android.tools.r8.errors.CodeSizeOverflowDiagnostic:
    com.android.tools.r8.position.MethodPosition position -> e
    com.android.tools.r8.references.MethodReference method -> c
    int codeSize -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.references.MethodReference,int):24:27 -> <init>
    1:1:int getCodeSize():32:32 -> getCodeSize
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":48,"2":49,"3":50}}
    48:48:java.lang.String getDiagnosticMessage():42:42 -> getDiagnosticMessage
    49:49:java.lang.String getDiagnosticMessage():42:42 -> getDiagnosticMessage
    50:50:java.lang.String getDiagnosticMessage():42:42 -> getDiagnosticMessage
    43:47:java.lang.String getDiagnosticMessage():42:46 -> getDiagnosticMessage
    1:1:com.android.tools.r8.position.Position getPosition():37:37 -> getPosition
com.android.tools.r8.errors.CompilationError -> com.android.tools.r8.internal.yc:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    1:1:void <init>(java.lang.String):22:22 -> <init>
    2:2:void <init>(java.lang.String,java.lang.Throwable):26:26 -> <init>
    3:3:void <init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> <init>
    4:4:void <init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> <init>
    5:7:void <init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):42:44 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():48:48 -> a
    1:1:com.android.tools.r8.position.Position getPosition():52:52 -> b
    1:1:com.android.tools.r8.Diagnostic toStringDiagnostic():56:56 -> c
com.android.tools.r8.errors.ConstantPoolOverflowDiagnostic -> com.android.tools.r8.errors.ConstantPoolOverflowDiagnostic:
    com.android.tools.r8.references.ClassReference clazz -> d
    int constantPoolSize -> c
    1:3:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.references.ClassReference,int):21:23 -> <init>
    1:1:int getConstantPoolSize():28:28 -> getConstantPoolSize
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":39,"2":40,"3":41}}
    39:39:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
    40:40:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
    41:41:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
    34:38:java.lang.String getDiagnosticMessage():33:37 -> getDiagnosticMessage
com.android.tools.r8.errors.DefaultInterfaceMethodDiagnostic -> com.android.tools.r8.internal.Pe:
    com.android.tools.r8.position.MethodPosition position -> b
    boolean $assertionsDisabled -> c
    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.DesugaredLibraryMismatchDiagnostic -> com.android.tools.r8.internal.Hf:
    java.util.Set markers -> c
    java.util.Set desugaredLibraryIdentifiers -> b
    1:3:void <init>(java.util.Set,java.util.Set):20:22 -> <init>
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":43,"2":44,"3":45}}
    43:43:java.lang.String getDiagnosticMessage():37:37 -> getDiagnosticMessage
    44:44:java.lang.String getDiagnosticMessage():37:37 -> getDiagnosticMessage
    45:45:java.lang.String getDiagnosticMessage():37:37 -> getDiagnosticMessage
    38:42:java.lang.String getDiagnosticMessage():37:41 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():27:27 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():32:32 -> getPosition
com.android.tools.r8.errors.DexFileOverflowDiagnostic -> com.android.tools.r8.errors.DexFileOverflowDiagnostic:
    long numOfFields -> d
    long numOfMethods -> c
    boolean hasMainDexSpecification -> b
    1:4:void <init>(boolean,long,long):26:29 -> <init>
    1:26:java.lang.String getDiagnosticMessage():71:96 -> getDiagnosticMessage
    1:1:long getNumberOfFields():34:34 -> getNumberOfFields
    1:1:long getNumberOfMethods():39:39 -> getNumberOfMethods
    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:
    java.util.Collection origins -> c
    com.android.tools.r8.references.ClassReference type -> b
    boolean $assertionsDisabled -> d
    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
    1:1:com.android.tools.r8.origin.Origin getOrigin():56:56 -> getOrigin
    1:1:java.util.Collection getOrigins():43:43 -> getOrigins
    1:1:com.android.tools.r8.position.Position getPosition():61:61 -> getPosition
    1:1:com.android.tools.r8.references.ClassReference getType():30:30 -> getType
com.android.tools.r8.errors.ExperimentalClassFileVersionDiagnostic -> com.android.tools.r8.internal.gj:
    com.android.tools.r8.origin.Origin origin -> c
    java.lang.String message -> b
    1:3:void <init>(com.android.tools.r8.origin.Origin,java.lang.String):16:18 -> <init>
    1:1:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():23:23 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():28:28 -> getPosition
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.InlinableStaticFinalFieldPreconditionDiagnostic -> com.android.tools.r8.errors.InlinableStaticFinalFieldPreconditionDiagnostic:
    java.util.Collection fields -> c
    com.android.tools.r8.shaking.ProguardIfRule rule -> b
    1:3:void <init>(com.android.tools.r8.shaking.ProguardIfRule,java.util.List):26:28 -> <init>
    1:6:java.lang.String getDiagnosticMessage():43:48 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():33:33 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():38:38 -> getPosition
com.android.tools.r8.errors.InterfaceDesugarMissingTypeDiagnostic -> com.android.tools.r8.errors.InterfaceDesugarMissingTypeDiagnostic:
    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 -> g
    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
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":90}}
    88:88:java.lang.String getDiagnosticMessage():68:68 -> getDiagnosticMessage
    89:89:java.lang.String getDiagnosticMessage():68:68 -> getDiagnosticMessage
    90:90:java.lang.String getDiagnosticMessage():70:70 -> getDiagnosticMessage
    71:87:java.lang.String getDiagnosticMessage():70:86 -> getDiagnosticMessage
    1:1:com.android.tools.r8.references.ClassReference getMissingType():58:58 -> getMissingType
    1:1:com.android.tools.r8.origin.Origin getOrigin():47:47 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():53:53 -> getPosition
com.android.tools.r8.errors.InternalCompilerError -> com.android.tools.r8.internal.Rt:
    1:1:void <init>():17:17 -> <init>
    2:2:void <init>(java.lang.String):21:21 -> <init>
    3:3:void <init>(java.lang.String,java.lang.Throwable):25:25 -> <init>
    4:4:void <init>(java.lang.Throwable):29:29 -> <init>
com.android.tools.r8.errors.InvalidDebugInfoException -> com.android.tools.r8.internal.hu:
    1:1:void <init>(java.lang.String):9:9 -> <init>
com.android.tools.r8.errors.InvalidDescriptorException -> com.android.tools.r8.internal.iu:
    1:1:void <init>(java.lang.String):8:8 -> <init>
com.android.tools.r8.errors.InvalidLibrarySuperclassDiagnostic -> com.android.tools.r8.errors.InvalidLibrarySuperclassDiagnostic:
    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 -> g
    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:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":73}}
    71:71:java.lang.String getDiagnosticMessage():57:57 -> getDiagnosticMessage
    72:72:java.lang.String getDiagnosticMessage():57:57 -> getDiagnosticMessage
    73:73:java.lang.String getDiagnosticMessage():59:59 -> getDiagnosticMessage
    60:70:java.lang.String getDiagnosticMessage():59:69 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():47:47 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():52:52 -> getPosition
com.android.tools.r8.errors.InvokeCustomDiagnostic -> com.android.tools.r8.internal.nu:
    1:1:void <init>():9:9 -> <init>
    1:1:java.lang.String getDiagnosticMessage():13:13 -> getDiagnosticMessage
com.android.tools.r8.errors.MissingNestHostNestDesugarDiagnostic -> com.android.tools.r8.errors.MissingNestHostNestDesugarDiagnostic:
    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.NestDesugarDiagnostic -> com.android.tools.r8.errors.NestDesugarDiagnostic:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):18:21 -> <init>
    1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
    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.internal.yM:
    com.android.tools.r8.position.MethodPosition position -> b
    boolean $assertionsDisabled -> c
    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.internal.dW:
    com.android.tools.r8.position.MethodPosition position -> b
    boolean $assertionsDisabled -> c
    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.Unimplemented -> com.android.tools.r8.internal.l00:
    1:1:void <init>():11:11 -> <init>
    2:2:void <init>(java.lang.String):15:15 -> <init>
com.android.tools.r8.errors.Unreachable -> com.android.tools.r8.internal.E00:
    1:1:void <init>():19:19 -> <init>
    2:2:void <init>(java.lang.String):23:23 -> <init>
    3:3:void <init>(java.lang.Throwable):27:27 -> <init>
com.android.tools.r8.errors.UnsupportedMainDexListUsageDiagnostic -> com.android.tools.r8.errors.UnsupportedMainDexListUsageDiagnostic:
    com.android.tools.r8.origin.Origin origin -> b
    1:2:void <init>(com.android.tools.r8.origin.Origin):20:21 -> <init>
    1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
    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.dontwarn.DontWarnConfiguration -> com.android.tools.r8.internal.qh:
    1:1:void <init>():12:12 -> <init>
    boolean matches(com.android.tools.r8.graph.DexType) -> a
    boolean validate(com.android.tools.r8.utils.InternalOptions) -> a
    1:3:com.android.tools.r8.errors.dontwarn.DontWarnConfiguration create(com.android.tools.r8.shaking.ProguardConfiguration):15:17 -> a
    4:4:com.android.tools.r8.errors.dontwarn.EmptyDontWarnConfiguration com.android.tools.r8.errors.dontwarn.DontWarnConfiguration.empty():23:23 -> a
    4:4:com.android.tools.r8.errors.dontwarn.DontWarnConfiguration create(com.android.tools.r8.shaking.ProguardConfiguration):19 -> a
com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$Witness -> com.android.tools.r8.internal.ph:
    1:1:void <init>(com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$1):36:36 -> <init>
    2:2:void <init>():38:38 -> <init>
com.android.tools.r8.errors.dontwarn.EmptyDontWarnConfiguration -> com.android.tools.r8.internal.Jh:
    1:1:void <init>():10:10 -> <init>
    boolean matches(com.android.tools.r8.graph.DexType) -> a
    boolean validate(com.android.tools.r8.utils.InternalOptions) -> a
com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration -> com.android.tools.r8.internal.iH:
    java.util.List dontWarnPatterns -> a
    java.util.Map matchedDontWarnPatterns -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardClassFilter):25:25 -> <init>
    2:8:void <init>(com.android.tools.r8.shaking.ProguardClassFilter):22:28 -> <init>
    1:3:boolean matches(com.android.tools.r8.graph.DexType):33:35 -> a
    4:7:void recordMatch(com.android.tools.r8.shaking.ProguardClassNameList,com.android.tools.r8.graph.DexType):43:46 -> a
    8:8:java.util.Set lambda$recordMatch$0(com.android.tools.r8.shaking.ProguardClassNameList):45:45 -> a
    9:9:boolean validate(com.android.tools.r8.utils.InternalOptions):52:52 -> a
    10:12:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():59:61 -> a
    10:12:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    13:13:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():60:60 -> a
    13:13:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    14:14:boolean validate(com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":25,"2":26,"3":27}}
    25:25:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():60:60 -> a
    25:25:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    26:26:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():60:60 -> a
    26:26:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    27:27:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():60:60 -> a
    27:27:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    15:17:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():63:65 -> a
    15:17:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    18:18:boolean validate(com.android.tools.r8.utils.InternalOptions):54:54 -> a
    19:21:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):72:74 -> a
    19:21:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    22:22:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):73:73 -> a
    22:22:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    23:23:boolean validate(com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":28,"2":29,"3":30}}
    28:28:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):73:73 -> a
    28:28:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    29:29:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):73:73 -> a
    29:29:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    30:30:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):73:73 -> a
    30:30:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    24:24:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):75:75 -> a
    24:24:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode -> com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode:
    com.android.tools.r8.experimental.graphinfo.ClassGraphNode annotationClassNode -> d
    com.android.tools.r8.experimental.graphinfo.GraphNode annotatedNode -> c
    1:3:void <init>(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.ClassGraphNode):16:18 -> <init>
    1:6:boolean equals(java.lang.Object):34:39 -> equals
    1:1:com.android.tools.r8.experimental.graphinfo.GraphNode getAnnotatedNode():22:22 -> getAnnotatedNode
    1:1:com.android.tools.r8.experimental.graphinfo.ClassGraphNode getAnnotationClassNode():26:26 -> getAnnotationClassNode
    1:1:int hashCode():44:44 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":51,"2":52,"3":53}}
    51:51:java.lang.String toString():49:49 -> toString
    52:52:java.lang.String toString():49:49 -> toString
    53:53:java.lang.String toString():49:49 -> toString
    50:50:java.lang.String toString():49:49 -> 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
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(boolean,com.android.tools.r8.references.ClassReference):15:17 -> <init>
    1:2:boolean equals(java.lang.Object):26:27 -> equals
    1:1:com.android.tools.r8.references.ClassReference getReference():21:21 -> getReference
    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
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(boolean,com.android.tools.r8.references.FieldReference):15:17 -> <init>
    1:2:boolean equals(java.lang.Object):26:27 -> equals
    1:1:com.android.tools.r8.references.FieldReference getReference():21:21 -> getReference
    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.internal.Wl:
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo UNKNOWN -> b
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind kind -> a
    boolean $assertionsDisabled -> 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
    1:40:java.lang.String getInfoPrefix():50:89 -> b
    41:41:java.lang.String getInfoPrefix():87:87 -> b
    42:42:java.lang.String getInfoPrefix():85:85 -> b
    43:43:java.lang.String getInfoPrefix():83:83 -> b
    44:44:java.lang.String getInfoPrefix():81:81 -> b
    45:45:java.lang.String getInfoPrefix():78:78 -> b
    46:46:java.lang.String getInfoPrefix():76:76 -> b
    47:47:java.lang.String getInfoPrefix():74:74 -> b
    48:48:java.lang.String getInfoPrefix():72:72 -> b
    49:49:java.lang.String getInfoPrefix():70:70 -> b
    50:50:java.lang.String getInfoPrefix():68:68 -> b
    51:51:java.lang.String getInfoPrefix():66:66 -> b
    52:52:java.lang.String getInfoPrefix():64:64 -> b
    53:53:java.lang.String getInfoPrefix():62:62 -> b
    54:54:java.lang.String getInfoPrefix():60:60 -> b
    55:55:java.lang.String getInfoPrefix():58:58 -> b
    56:56:java.lang.String getInfoPrefix() -> b
    57:95:java.lang.String getInfoPrefix():54:92 -> b
    96:96:java.lang.String getInfoPrefix():89:89 -> b
    97:97:java.lang.String getInfoPrefix():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":187,"2":188,"3":189}}
    187:187:java.lang.String getInfoPrefix():89:89 -> b
    188:188:java.lang.String getInfoPrefix():89:89 -> b
    189:189:java.lang.String getInfoPrefix():89:89 -> b
    186:186:java.lang.String getInfoPrefix():89:89 -> b
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo unknown():11:11 -> c
    1:1:boolean equals(java.lang.Object):103:103 -> equals
    1:1:int hashCode():108:108 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102}}
    100:100:java.lang.String toString():98:98 -> toString
    101:101:java.lang.String toString():98:98 -> toString
    102:102:java.lang.String toString():98:98 -> toString
    99:99:java.lang.String toString():98:98 -> toString
com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$1 -> com.android.tools.r8.internal.Vl:
    int[] $SwitchMap$com$android$tools$r8$experimental$graphinfo$GraphEdgeInfo$EdgeKind -> a
    1:1:void <clinit>():50:50 -> <clinit>
com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind -> com.android.tools.r8.internal.Wl$a:
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind[] $VALUES -> t
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReflectiveUseFrom -> m
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReferencedFrom -> l
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReferencedInAnnotation -> o
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReachableFromLiveType -> n
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind OverridingMethod -> q
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind IsLibraryMethod -> p
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind Unknown -> s
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind MethodHandleUseFrom -> r
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind KeepRulePrecondition -> e
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ConditionalKeepRule -> d
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind InvokedViaSuper -> g
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind InstantiatedIn -> f
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind InvokedFrom -> i
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind TargetedBySuper -> h
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind AnnotatedOn -> k
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind InvokedFromLambdaCreatedIn -> j
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind CompatibilityRule -> c
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind KeepRule -> b
    1:20:void <clinit>():17:36 -> <clinit>
    21:21:void <clinit>():15:15 -> <clinit>
    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
    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
    1:1:boolean isCycle():40:40 -> isCycle
    1:1:boolean isLibraryNode():44:44 -> isLibraryNode
com.android.tools.r8.experimental.graphinfo.GraphNode$1 -> com.android.tools.r8.experimental.graphinfo.a:
    1:1:void <init>(boolean):12:12 -> <init>
    1:1:java.lang.String toString():25:25 -> toString
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
    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>
    1:8:boolean equals(java.lang.Object):46:53 -> equals
    1:1:java.lang.String getContent():70:70 -> getContent
    1:1:com.android.tools.r8.origin.Origin getOrigin():62:62 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():66:66 -> getPosition
    1:1:java.util.Set getPreconditions():74:74 -> getPreconditions
    1:1:int hashCode():58:58 -> hashCode
    1:3:java.lang.String toString():85:87 -> toString
    4:12:java.lang.String shortPositionInfo(com.android.tools.r8.position.Position):91:99 -> toString
    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
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(boolean,com.android.tools.r8.references.MethodReference):15:17 -> <init>
    1:2:boolean equals(java.lang.Object):26:27 -> equals
    1:1:com.android.tools.r8.references.MethodReference getReference():21:21 -> getReference
    1:1:int hashCode():32:32 -> hashCode
    1:1:java.lang.String toString():37:37 -> toString
com.android.tools.r8.experimental.startup.StartupConfiguration -> com.android.tools.r8.internal.NV:
    java.util.List startupClasses -> a
    1:2:void <init>(java.util.List):23:24 -> <init>
    1:23:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):29:51 -> a
    24:24:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99,"4":100,"5":101}}
    97:97:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    98:98:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    99:99:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    100:100:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    101:101:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    75:83:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:59 -> a
    84:84:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):38:38 -> a
    102:102:java.util.List getStartupClasses():67:67 -> a
    1:1:boolean hasStartupClasses():63:63 -> b
com.android.tools.r8.features.ClassToFeatureSplitMap -> com.android.tools.r8.internal.Ra:
    java.util.Map classToFeatureSplitMap -> b
    java.util.Map representativeStringsForFeatureSplit -> c
    com.android.tools.r8.FeatureSplit baseStartup -> a
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():29:29 -> <clinit>
    1:4:void <init>(com.android.tools.r8.FeatureSplit,java.util.Map,java.util.Map):38:41 -> <init>
    1:1:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":220,"2":221,"3":222}}
    220:220:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):211:211 -> a
    221:221:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    221:221:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):211 -> a
    222:222:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    222:222:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):211 -> a
    213:219:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):212:218 -> a
    223:223:com.android.tools.r8.features.ClassToFeatureSplitMap createEmptyClassToFeatureSplitMap():45:45 -> a
    224:270:com.android.tools.r8.features.ClassToFeatureSplitMap createInitialClassToFeatureSplitMap(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,com.android.tools.r8.utils.Reporter):63:109 -> a
    271:276:com.android.tools.r8.features.ClassToFeatureSplitMap createInitialClassToFeatureSplitMap(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,com.android.tools.r8.utils.Reporter):108:113 -> a
    277:291:int compareFeatureSplits(com.android.tools.r8.FeatureSplit,com.android.tools.r8.FeatureSplit):118:132 -> a
    292:293:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):145:146 -> a
    294:294:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    294:294:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    294:294:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):147 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    295:295:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    295:295:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):147 -> a
    296:297:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):148:149 -> a
    298:298:java.util.Set lambda$getFeatureSplitClasses$0(com.android.tools.r8.FeatureSplit):149:149 -> a
    299:307:com.android.tools.r8.FeatureSplit getFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticItems):160:168 -> a
    308:320:com.android.tools.r8.features.ClassToFeatureSplitMap rewrittenWithLens(com.android.tools.r8.graph.GraphLens):208:220 -> a
    321:328:com.android.tools.r8.features.ClassToFeatureSplitMap withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):225:232 -> a
    329:330:void lambda$withoutPrunedItems$2(com.android.tools.r8.graph.PrunedItems,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):228:229 -> a
    1:1:com.android.tools.r8.FeatureSplit getBaseStartup():140:140 -> b
    1:1:boolean isEmpty():175:175 -> c
com.android.tools.r8.features.FeatureSplitConfiguration -> com.android.tools.r8.internal.qj:
    java.util.List featureSplits -> a
    1:2:void <init>(java.util.List):20:21 -> <init>
    1:16:java.util.Collection getDataResourceProvidersAndConsumers():44:59 -> a
    1:1:java.util.List getFeatureSplits():68:68 -> b
com.android.tools.r8.features.FeatureSplitConfiguration$DataResourceProvidersAndConsumer -> com.android.tools.r8.internal.pj:
    com.android.tools.r8.DataResourceConsumer consumer -> b
    java.util.Set providers -> a
    1:3:void <init>(java.util.Set,com.android.tools.r8.DataResourceConsumer):29:31 -> <init>
    1:1:com.android.tools.r8.DataResourceConsumer getConsumer():39:39 -> a
    1:1:java.util.Set getProviders():35:35 -> b
com.android.tools.r8.graph.AbstractAccessContexts -> com.android.tools.r8.internal.k:
    1:1:void <init>():37:37 -> <init>
    com.android.tools.r8.graph.AbstractAccessContexts$ConcreteAccessContexts asConcrete() -> a
    void flattenAccessContexts(com.android.tools.r8.graph.DexField) -> a
    void forEachAccessContext(java.util.function.Consumer) -> a
    boolean isAccessedInMethodSatisfying(java.util.function.Predicate) -> a
    boolean isAccessedOutside(com.android.tools.r8.graph.DexEncodedMethod) -> a
    com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts) -> a
    com.android.tools.r8.graph.AbstractAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens) -> a
    int getNumberOfAccessContexts() -> b
    boolean isAccessedOnlyInMethodSatisfying(java.util.function.Predicate) -> b
    boolean isEmpty() -> c
com.android.tools.r8.graph.AbstractAccessContexts$ConcreteAccessContexts -> com.android.tools.r8.internal.h:
    java.util.Map accessesWithContexts -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():153:153 -> <clinit>
    1:1:void <init>():158:158 -> <init>
    2:3:void <init>(java.util.Map):161:162 -> <init>
    com.android.tools.r8.graph.AbstractAccessContexts$ConcreteAccessContexts asConcrete() -> a
    1:1:com.android.tools.r8.graph.AbstractAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):153:153 -> a
    2:3:void forEachAccess(java.util.function.Consumer,java.util.function.Predicate):166:167 -> a
    4:5:void lambda$forEachAccess$0(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):169:170 -> a
    6:11:void forEachAccessContext(java.util.function.Consumer):181:186 -> a
    12:25:void flattenAccessContexts(com.android.tools.r8.graph.DexField):218:231 -> a
    26:26:void lambda$flattenAccessContexts$2(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):224:224 -> a
    27:29:boolean isAccessedInMethodSatisfying(java.util.function.Predicate):240:242 -> a
    30:32:boolean isAccessedOutside(com.android.tools.r8.graph.DexEncodedMethod):271:273 -> a
    33:35:boolean recordAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):297:299 -> a
    36:36:com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts):321:321 -> a
    37:37:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    37:37:com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts):324 -> a
    38:49:com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts):327:338 -> a
    50:50:void lambda$join$6(java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):330:330 -> a
    51:51:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    51:51:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):309 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    52:52:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):309:309 -> a
    53:55:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):308:310 -> a
    56:56:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375:375 -> a
    56:56:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):311 -> a
    57:57:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    57:57:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375 -> a
    57:57:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):311 -> a
    58:59:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):376:377 -> a
    58:59:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):311 -> a
    60:60:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:312 -> a
    61:61:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":375,"2":376,"3":377}}
    375:375:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:312 -> a
    376:376:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:312 -> a
    377:377:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:312 -> a
    373:374:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:313 -> a
    1:4:int getNumberOfAccessContexts():199:202 -> b
    5:5:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$flattenAccessContexts$1(com.android.tools.r8.graph.DexField):220:220 -> b
    6:8:boolean isAccessedOnlyInMethodSatisfying(java.util.function.Predicate):256:258 -> b
    9:21:com.android.tools.r8.graph.AbstractAccessContexts$ConcreteAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):304:316 -> b
    22:23:void lambda$join$8(java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):335:336 -> b
    1:1:boolean isEmpty():293:293 -> c
    2:2:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$join$7(com.android.tools.r8.graph.DexField):335:335 -> c
    1:1:java.util.Map getAccessesWithContexts():194:194 -> d
    2:2:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$recordAccess$3(com.android.tools.r8.graph.DexField):298:298 -> d
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$rewrittenWithLens$4(com.android.tools.r8.graph.DexField):309:309 -> e
com.android.tools.r8.graph.AbstractAccessContexts$EmptyAccessContexts -> com.android.tools.r8.internal.i:
    com.android.tools.r8.graph.AbstractAccessContexts$EmptyAccessContexts INSTANCE -> a
    1:1:void <clinit>():94:94 -> <clinit>
    1:1:void <init>():96:96 -> <init>
    void flattenAccessContexts(com.android.tools.r8.graph.DexField) -> a
    void forEachAccessContext(java.util.function.Consumer) -> a
    boolean isAccessedInMethodSatisfying(java.util.function.Predicate) -> a
    boolean isAccessedOutside(com.android.tools.r8.graph.DexEncodedMethod) -> a
    com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts) -> a
    com.android.tools.r8.graph.AbstractAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens) -> a
    int getNumberOfAccessContexts() -> b
    boolean isAccessedOnlyInMethodSatisfying(java.util.function.Predicate) -> b
    boolean isEmpty() -> c
com.android.tools.r8.graph.AbstractAccessContexts$UnknownAccessContexts -> com.android.tools.r8.internal.j:
    com.android.tools.r8.graph.AbstractAccessContexts$UnknownAccessContexts INSTANCE -> a
    1:1:void <clinit>():344:344 -> <clinit>
    1:1:void <init>():346:346 -> <init>
    void flattenAccessContexts(com.android.tools.r8.graph.DexField) -> a
    boolean isAccessedInMethodSatisfying(java.util.function.Predicate) -> a
    boolean isAccessedOutside(com.android.tools.r8.graph.DexEncodedMethod) -> a
    com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts) -> a
    com.android.tools.r8.graph.AbstractAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens) -> a
    1:1:void forEachAccessContext(java.util.function.Consumer):359:359 -> a
    boolean isAccessedOnlyInMethodSatisfying(java.util.function.Predicate) -> b
    1:1:int getNumberOfAccessContexts():379:379 -> b
    boolean isEmpty() -> c
com.android.tools.r8.graph.AccessControl -> com.android.tools.r8.graph.a:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    2:2:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):61:61 -> a
    4:4:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):60:60 -> a
    5:11:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):69:75 -> a
    12:24:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):71:83 -> a
    25:31:boolean isNestMate(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):102:108 -> a
    25:31:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):83 -> a
    32:42:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):84:94 -> a
    43:43:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    43:43:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):31 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    44:44:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):31 -> a
    45:51:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):31:37 -> a
    52:52:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):36:36 -> a
    53:53:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    53:53:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:53:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):36 -> a
    54:55:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):189:190 -> a
    54:55:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    54:55:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):36 -> a
    56:56:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    56:56:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):190 -> a
    56:56:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    56:56:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):36 -> a
    57:59:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):38:40 -> a
com.android.tools.r8.graph.AccessFlags -> com.android.tools.r8.graph.c:
    java.util.List NAMES -> d
    boolean $assertionsDisabled -> e
    int originalFlags -> b
    int modifiedFlags -> c
    1:12:void <clinit>():15:26 -> <clinit>
    1:3:void <init>(int,int):54:56 -> <init>
    1:1:void setFinal():216:216 -> A
    1:2:void setPrivate():178:179 -> B
    1:2:void setProtected():191:192 -> C
    1:2:void setPublic():165:166 -> D
    1:1:com.android.tools.r8.utils.structural.StructuralItem self():15:15 -> E
    1:1:void setStatic():204:204 -> G
    1:1:void setSynthetic():229:229 -> H
    1:14:java.lang.String toStringInternal(boolean):307:320 -> I
    1:14:java.lang.String toSmaliString():298 -> I
    1:2:com.android.tools.r8.graph.AccessFlags unsetFinal():220:221 -> J
    1:1:void unsetPrivate():183:183 -> K
    1:1:void unsetProtected():196:196 -> L
    1:1:void unsetPublic():170:170 -> M
    1:2:com.android.tools.r8.graph.AccessFlags unsetSynthetic():233:234 -> N
    1:1:int lambda$specify$0(com.android.tools.r8.graph.AccessFlags):60:60 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):60:60 -> a
    3:4:com.android.tools.r8.graph.AccessFlags demoteFromFinal():246:247 -> a
    5:5:void demote(int):294:294 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.AccessFlags):60:60 -> b
    2:2:void demoteFromSynthetic():238:238 -> b
    1:1:java.util.List getNames():48:48 -> c
    boolean isSet(int,int) -> d
    1:1:int getOriginalAccessFlags():82:82 -> d
    2:3:void set(int):276:277 -> d
    1:1:java.util.List getPredicates():37:37 -> e
    1:3:boolean equals(java.lang.Object):99:101 -> equals
    1:7:int getVisibilityOrdinal():135:141 -> f
    8:9:void unset(int):281:282 -> f
    1:1:boolean isSet(int):268:268 -> g
    1:1:boolean isFinal():212 -> g
    1:1:boolean isPackagePrivate():153:153 -> h
    1:1:int hashCode():108:108 -> hashCode
    1:1:boolean isPackagePrivateOrProtected():157:157 -> i
    1:1:boolean isSet(int):268:268 -> k
    1:1:boolean isPrivate():174 -> k
    1:1:boolean wasSet(int):264:264 -> l
    1:1:boolean isPromoted(int):286 -> l
    1:1:boolean isPromotedToPublic():251 -> l
    2:2:boolean isSet(int):268:268 -> l
    2:2:boolean isPromoted(int):286 -> l
    2:2:boolean isPromotedToPublic():251 -> l
    1:1:boolean isSet(int):268:268 -> m
    1:1:boolean isProtected():187 -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():65:65 -> n
    1:1:boolean isSet(int):268:268 -> o
    1:1:boolean isPublic():161 -> o
    1:1:boolean isSet(int):268:268 -> p
    1:1:boolean isStatic():200 -> p
    1:1:boolean isSet(int):268:268 -> s
    1:1:boolean isSynthetic():225 -> s
    1:1:boolean isVisibilityDependingOnPackage():149:149 -> t
    1:14:java.lang.String toStringInternal(boolean):307:320 -> toString
    1:14:java.lang.String toString():303 -> toString
    1:1:int materialize():74:74 -> u
    1:1:void promote(int):290:290 -> v
    1:1:void promoteToFinal():242 -> v
    1:1:void promoteToPublic():255:255 -> w
    2:2:void promote(int):290:290 -> w
    2:2:void promoteToPublic():256 -> w
    1:1:void promote(int):290:290 -> x
    1:1:void promoteToStatic():260 -> x
    com.android.tools.r8.graph.AccessFlags self() -> z
com.android.tools.r8.graph.AccessFlags$BuilderBase -> com.android.tools.r8.graph.b:
    com.android.tools.r8.graph.AccessFlags flags -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():323:323 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AccessFlags):327:328 -> <init>
com.android.tools.r8.graph.AppInfo -> com.android.tools.r8.graph.d:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> d
    com.android.tools.r8.utils.BooleanBox obsolete -> e
    com.android.tools.r8.graph.DexApplication app -> a
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> c
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():19:19 -> <clinit>
    1:2:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):40:41 -> <init>
    3:3:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):39:39 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo,com.android.tools.r8.graph.AppInfo):49:49 -> <init>
    5:10:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.utils.BooleanBox):57:62 -> <init>
    1:1:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication):31:31 -> a
    2:2:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):35:35 -> a
    3:4:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):40:41 -> a
    3:4:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):35 -> a
    5:5:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):39:39 -> a
    5:5:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):35 -> a
    6:14:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):67:75 -> a
    15:16:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):40:41 -> a
    15:16:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):75 -> a
    17:17:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):39:39 -> a
    17:17:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):75 -> a
    18:19:com.android.tools.r8.graph.AppInfo rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):79:80 -> a
    20:21:com.android.tools.r8.graph.DexItemFactory dexItemFactory():111:112 -> a
    22:23:void forEachMethod(java.util.function.Consumer):136:137 -> a
    24:27:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):210:213 -> a
    28:28:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> a
    28:28:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):213 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> a
    29:29:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):213 -> a
    30:30:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):214:214 -> a
    31:32: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):246:247 -> a
    33:33:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():20:20 -> a
    33:33: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):247 -> a
    34:38: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:253 -> a
    39:39:com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.unknown():24:24 -> a
    39:39: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):253 -> a
    1:2:com.android.tools.r8.graph.DexApplication app():105:106 -> b
    3:6:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):191:194 -> b
    7:7:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> b
    7:7:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):194 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> b
    8:8:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):194 -> b
    9:9:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):195:195 -> b
    1:1:boolean checkIfObsolete():100:100 -> c
    2:2:boolean isObsolete():88:88 -> c
    2:2:boolean checkIfObsolete():100 -> c
    3:3:boolean checkIfObsolete():100:100 -> c
    4:7:com.android.tools.r8.graph.DexClass definitionForWithoutExistenceAssert(com.android.tools.r8.graph.DexType):154:157 -> c
    1:2:java.util.Collection classes():126:127 -> d
    3:4:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):143:144 -> d
    1:2:java.util.Collection classesWithDeterministicOrder():131:132 -> e
    3:3:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):150:150 -> e
    1:2:com.android.tools.r8.shaking.MainDexInfo getMainDexInfo():116:117 -> f
    1:2:com.android.tools.r8.synthesis.SyntheticItems getSyntheticItems():121:122 -> g
    1:1:boolean hasClassHierarchy():221:221 -> h
    1:1:boolean hasLiveness():231:231 -> i
    1:1:boolean isObsolete():88:88 -> j
    1:1:void markObsolete():92:92 -> k
    1:1:com.android.tools.r8.utils.InternalOptions options():84:84 -> l
    1:1:void unsetObsolete():96:96 -> m
    2:2:void com.android.tools.r8.utils.BooleanBox.unset():48:48 -> m
    2:2:void unsetObsolete():96 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy withClassHierarchy():226:226 -> n
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():236:236 -> o
com.android.tools.r8.graph.AppInfoWithClassHierarchy -> com.android.tools.r8.graph.g:
    com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo WITNESS -> i
    boolean $assertionsDisabled -> j
    com.android.tools.r8.features.ClassToFeatureSplitMap classToFeatureSplitMap -> g
    com.android.tools.r8.shaking.MissingClasses missingClasses -> h
    1:3:void <clinit>():49:51 -> <clinit>
    1:92:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo,com.android.tools.r8.graph.AppInfo):0:91 -> <init>
    93:95:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.shaking.MissingClasses):80:82 -> <init>
    1:1:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):49:49 -> a
    2:2:com.android.tools.r8.graph.AppInfo rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):49:49 -> a
    3:7:com.android.tools.r8.graph.AppInfoWithClassHierarchy createInitialAppInfoWithClassHierarchy(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo):61:65 -> a
    8:9:com.android.tools.r8.graph.AppInfoWithClassHierarchy createForDesugaring(com.android.tools.r8.graph.AppInfo):95:96 -> a
    10:10:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):100:100 -> a
    11:11:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> a
    11:11:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):101 -> a
    12:12:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):101:101 -> a
    13:13:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> a
    13:13:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):101 -> a
    14:14:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):101:101 -> a
    15:17:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):106:108 -> a
    18:18:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> a
    18:18:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):109 -> a
    19:19:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):110:110 -> a
    20:20:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> a
    20:20:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):111 -> a
    21:21:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):111:111 -> a
    22:74:com.android.tools.r8.utils.TraversalContinuation traverseSuperTypes(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriFunction):194:246 -> a
    75:75:void forEachSuperType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):255:255 -> a
    76:77:com.android.tools.r8.utils.TraversalContinuation lambda$forEachSuperType$0(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):258:259 -> a
    78:78:com.android.tools.r8.utils.TraversalContinuation lambda$isStrictSubtypeOf$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):295:295 -> a
    79:94:boolean isStrictSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):316:331 -> a
    95:99:com.android.tools.r8.utils.TraversalContinuation traverseSuperClasses(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriFunction):165:169 -> a
    95:99:boolean isStrictSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):331 -> a
    100:100:boolean isStrictSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):346:346 -> a
    101:111:com.android.tools.r8.utils.TraversalContinuation lambda$isStrictSubtypeOfClass$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):334:344 -> a
    112:114:boolean inSameHierarchy(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):350:352 -> a
    112:114:boolean inDifferentHierarchy(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):356 -> a
    115:128:java.util.List computeProgramClassRelationChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):449:462 -> a
    129:137:boolean isInterfaceInSuperTypes(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList):471:479 -> a
    129:137:java.util.List computeProgramClassRelationChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):462 -> a
    138:141:java.util.List computeProgramClassRelationChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):463:466 -> a
    142:146:java.util.List computeChainInClassHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):487:491 -> a
    147:159:java.util.List computeChainInClassHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):489:501 -> a
    160:166:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):520:526 -> a
    167:167:boolean com.android.tools.r8.graph.AccessFlags.isSameVisibility(com.android.tools.r8.graph.AccessFlags):130:130 -> a
    167:167:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):527 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    168:168:boolean com.android.tools.r8.graph.AccessFlags.isSameVisibility(com.android.tools.r8.graph.AccessFlags):130:130 -> a
    168:168:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):527 -> a
    169:170:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):531:532 -> a
    171:171:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):566:566 -> a
    172:173:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):559:560 -> a
    172:173:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):566 -> a
    174:175:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1020:1021 -> a
    174:175:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):561 -> a
    174:175:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):566 -> a
    176:177:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):561:562 -> a
    176:177:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):566 -> a
    178:179:com.android.tools.r8.graph.DexClassAndMethod lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):618:619 -> a
    180:181:com.android.tools.r8.graph.MethodResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,boolean):671:672 -> a
    182:185:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,boolean):703:706 -> a
    186:191:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnArray(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):718:723 -> a
    192:192:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):732:732 -> a
    193:205:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):748:760 -> a
    206:216:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexType):764:774 -> a
    217:217:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexClass):784:784 -> a
    217:217:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexType):776 -> a
    218:218:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):780:780 -> a
    219:223:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):789:793 -> a
    224:224:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):850:850 -> a
    224:224:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):798 -> a
    225:227:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> a
    225:227:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):851 -> a
    225:227:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):798 -> a
    228:228:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):852:852 -> a
    228:228:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):798 -> a
    229:229:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):814:814 -> a
    230:230: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):618:618 -> a
    230:230:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):814 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    231:244: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):618:631 -> a
    231:244:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):814 -> a
    245:245:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):816:816 -> a
    246:246:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> a
    246:246:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):819 -> a
    247:248:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):826:827 -> a
    249:249:void com.android.tools.r8.graph.MethodResolutionResult$IllegalAccessOrNoSuchMethodResult.<init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):988:988 -> a
    249:249:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):827 -> a
    250:256:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):829:835 -> a
    257:258:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):861:862 -> a
    257:258:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):884 -> a
    257:258:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):544 -> a
    259:261:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> a
    259:261:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):862 -> a
    259:261:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):884 -> a
    259:261:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):544 -> a
    262:262:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):884:884 -> a
    262:262:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):544 -> a
    263:267:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):872:876 -> a
    263:267:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):867 -> a
    268:268:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):873:873 -> a
    268:268:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):867 -> a
    269:269:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):867:867 -> a
    270:276:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):908:914 -> a
    277:277:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> a
    277:277:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):915 -> a
    278:278:boolean isMaximallySpecificCandidate(com.android.tools.r8.graph.DexEncodedMethod):939:939 -> a
    278:278:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):916 -> a
    279:279:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):918:918 -> a
    280:282:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> a
    280:282:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):921 -> a
    283:283:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):926:926 -> a
    284:286:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> a
    284:286:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):928 -> a
    287:301:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):958:972 -> a
    302:303:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):981:982 -> a
    304:304:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> a
    304:304:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):984 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    305:305:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> a
    305:305:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):984 -> a
    306:311:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):986:991 -> a
    312:312:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> a
    312:312:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):993 -> a
    313:314:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):994:995 -> a
    315:315:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):850:850 -> a
    315:315:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):999 -> a
    316:318:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> a
    316:318:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):851 -> a
    316:318:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):999 -> a
    319:319:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):852:852 -> a
    319:319:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):999 -> a
    320:320: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):1014:1014 -> a
    321:322:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1020:1021 -> a
    321:322: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):1015 -> a
    323:324:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField):1026:1027 -> a
    1:4:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):116:119 -> b
    5:5:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> b
    5:5:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):120 -> b
    6:6:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> b
    6:6:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):122 -> b
    7:7:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):122:122 -> b
    8:15:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):128:135 -> b
    16:16:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> b
    16:16:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):136 -> b
    17:18:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):136:137 -> b
    19:19:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> b
    19:19:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):138 -> b
    20:20:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):138:138 -> b
    21:45:boolean isStrictSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):272:296 -> b
    46:47:boolean isSubtype(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):300:301 -> b
    48:54:boolean isSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):306:312 -> b
    48:54:boolean isSubtype(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):302 -> b
    55:55:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):583:583 -> b
    56:57:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):576:577 -> b
    56:57:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):583 -> b
    58:59:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1020:1021 -> b
    58:59:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):578 -> b
    58:59:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):583 -> b
    60:61:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):578:579 -> b
    60:61:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):583 -> b
    62:62:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod):728:728 -> b
    63:64:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):861:862 -> b
    63:64:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):856 -> b
    65:67:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> b
    65:67:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):862 -> b
    65:67:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):856 -> b
    68:68:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):856:856 -> b
    1:5:boolean isSubtype(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):264:268 -> c
    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):643:643 -> c
    7:8:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):637:638 -> c
    7:8:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):643 -> c
    9:9:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):676:676 -> c
    10:12:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):685:687 -> c
    10:12:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):676 -> c
    13:13:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexMethod):943:943 -> c
    14:15:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField):1007:1008 -> c
    16:17:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1020:1021 -> c
    16:17:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField):1008 -> c
    1:1:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):603:603 -> d
    2:3:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):597:598 -> d
    2:3:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):603 -> d
    4:13:com.android.tools.r8.graph.MethodResolutionResult unsafeResolveMethodDueToDexFormat(com.android.tools.r8.graph.DexMethod):657:666 -> d
    14:14:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):976:976 -> d
    1:30:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):366:395 -> f
    31:33:boolean com.android.tools.r8.ir.analysis.type.InterfaceCollection.isKnownToImplement(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):24:26 -> f
    31:33:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):395 -> f
    34:63:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):396:425 -> f
    64:66:boolean com.android.tools.r8.ir.analysis.type.InterfaceCollection.isKnownToImplement(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):24:26 -> f
    64:66:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):425 -> f
    67:77:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):426:436 -> f
    1:1:boolean isMissingOrHasMissingSuperType(com.android.tools.r8.graph.DexType):360:360 -> g
    2:6:boolean com.android.tools.r8.graph.DexClass.hasMissingSuperType(com.android.tools.r8.graph.AppInfoWithClassHierarchy):812:816 -> g
    2:6:boolean isMissingOrHasMissingSuperType(com.android.tools.r8.graph.DexType):361 -> g
    1:1:boolean hasClassHierarchy():151:151 -> h
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy withClassHierarchy():157:157 -> n
    1:1:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> p
    1:1:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> q
com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo -> com.android.tools.r8.graph.e:
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$1):53:53 -> <init>
    2:2:void <init>():54:54 -> <init>
com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder -> com.android.tools.r8.graph.f:
    java.util.LinkedHashMap maximallySpecificMethods -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():1030:1030 -> <clinit>
    1:9:void <init>():1030:1038 -> <init>
    10:10:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$1):1030:1030 -> <init>
    1:1:com.android.tools.r8.graph.MethodResolutionResult access$200(com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder,com.android.tools.r8.graph.DexClass):1030:1030 -> a
    2:10:void addCandidate(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfo):1042:1050 -> a
    11:25:void markShadowed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfo):1058:1072 -> a
    26:26:com.android.tools.r8.graph.DexClassAndMethod lookup():1077:1077 -> a
    27:33:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1086:1092 -> a
    34:37:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):1124:1127 -> a
    34:37:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1091 -> a
    38:55:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1095:1112 -> a
    56:59:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):1124:1127 -> a
    56:59:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1113 -> a
    60:61:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1116:1117 -> a
    62:65:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):1124:1127 -> a
    62:65:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1117 -> a
    66:66:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1119:1119 -> a
    1:2:com.android.tools.r8.graph.MethodResolutionResult resolve(com.android.tools.r8.graph.DexClass):1081:1082 -> b
com.android.tools.r8.graph.AppServices -> com.android.tools.r8.internal.p2:
    java.util.Map services -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.GraphLens applied -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.AppServices$1):37:37 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):49:52 -> <init>
    1:2:java.util.Set allServiceTypes():60:61 -> a
    3:3:void lambda$computeAllServiceImplementations$1(java.util.Set,com.android.tools.r8.graph.DexType,java.util.Map):69:69 -> a
    4:4:void lambda$computeAllServiceImplementations$0(java.util.Set,com.android.tools.r8.FeatureSplit,java.util.List):71:71 -> a
    5:12:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):76:83 -> a
    13:13:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):79:79 -> a
    14:14:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107}}
    105:105:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):79:79 -> a
    106:106:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):79:79 -> a
    107:107:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):79:79 -> a
    15:15:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111,"4":112}}
    109:109:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:81 -> a
    110:110:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:81 -> a
    111:111:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:81 -> a
    112:112:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:81 -> a
    96:104:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:89 -> a
    113:133:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):94:114 -> a
    134:134:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    134:134:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    134:134:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    134:134:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):114 -> a
    135:135:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    135:135:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    135:135:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):114 -> a
    136:144:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):117:125 -> a
    145:145:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    145:145:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    145:145:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    145:145:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):124 -> a
    146:146:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    146:146:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    146:146:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):124 -> a
    147:147:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:100 -> a
    148:148:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":252,"2":253,"3":254}}
    252:252:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:100 -> a
    253:253:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:100 -> a
    254:254:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:100 -> a
    149:149:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":256,"2":257,"3":258,"4":259}}
    256:256:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    257:257:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    258:258:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    259:259:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    251:251:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    260:260:boolean lambda$hasServiceImplementationsInFeature$2(com.android.tools.r8.FeatureSplit):106:106 -> a
    261:271:com.android.tools.r8.graph.AppServices rewrittenWithLens(com.android.tools.r8.graph.GraphLens):135:145 -> a
    272:276:com.android.tools.r8.graph.AppServices rewrittenWithLens(com.android.tools.r8.graph.GraphLens):144:148 -> a
    277:282:com.android.tools.r8.graph.AppServices rewrittenWithLens(com.android.tools.r8.graph.GraphLens):147:152 -> a
    283:302:com.android.tools.r8.graph.AppServices prunedCopy(com.android.tools.r8.graph.PrunedItems):157:176 -> a
    303:313:com.android.tools.r8.graph.AppServices prunedCopy(com.android.tools.r8.graph.PrunedItems):175:185 -> a
    314:314:void visit(java.util.function.BiConsumer):201:201 -> a
    315:317:void lambda$visit$3(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,java.util.Map):203:205 -> a
    318:318:com.android.tools.r8.graph.AppServices$Builder builder(com.android.tools.r8.graph.AppView):210:210 -> a
    1:3:java.util.Set computeAllServiceImplementations():65:67 -> b
    1:1:boolean isEmpty():56:56 -> c
    1:5:boolean verifyRewrittenWithLens():189:193 -> d
com.android.tools.r8.graph.AppServices$Builder -> com.android.tools.r8.internal.p2$a:
    java.util.Map services -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.AppServices$1):213:213 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):219:219 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView):217:221 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.graph.AppServices$Builder):213:213 -> a
    2:4:com.android.tools.r8.graph.AppServices build():225:227 -> a
    5:7:void com.android.tools.r8.graph.AppServices$Builder.readServices(com.android.tools.r8.DataResourceProvider,com.android.tools.r8.FeatureSplit):246:248 -> a
    5:7:com.android.tools.r8.graph.AppServices build():227 -> a
    8:12:com.android.tools.r8.graph.AppServices build():229:233 -> a
    13:15:void com.android.tools.r8.graph.AppServices$Builder.readServices(com.android.tools.r8.DataResourceProvider,com.android.tools.r8.FeatureSplit):246:248 -> a
    13:15:com.android.tools.r8.graph.AppServices build():235 -> a
    16:16:com.android.tools.r8.graph.AppServices build():240:240 -> a
    1:1:java.util.Map access$300(com.android.tools.r8.graph.AppServices$Builder):213:213 -> b
    1:1:com.android.tools.r8.utils.InternalOptions access$400(com.android.tools.r8.graph.AppServices$Builder):213:213 -> c
com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor -> com.android.tools.r8.internal.o2:
    com.android.tools.r8.graph.AppServices$Builder this$0 -> b
    com.android.tools.r8.FeatureSplit featureSplit -> a
    1:2:void <init>(com.android.tools.r8.graph.AppServices$Builder,com.android.tools.r8.FeatureSplit):256:257 -> <init>
    1:1:java.util.Map lambda$visit$0(com.android.tools.r8.graph.DexType):293:293 -> a
    2:2:java.util.List lambda$visit$1(com.android.tools.r8.FeatureSplit):295:295 -> a
    3:44:void readServiceImplementationsForService(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexType,java.util.List):309:350 -> a
    45:45:boolean lambda$readServiceImplementationsForService$2(java.lang.String):312:312 -> a
    46:46:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):318:318 -> a
    47:47:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):320:320 -> a
    64:64:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):320:320 -> a
    65:65:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):320:320 -> a
    48:48:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":67,"2":68,"3":69}}
    67:67:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):322:322 -> a
    68:68:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):322:322 -> a
    69:69:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):322:322 -> a
    49:49:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":73,"4":74}}
    71:71:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):324:324 -> a
    72:72:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):324:324 -> a
    73:73:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):324:324 -> a
    74:74:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):324:324 -> a
    50:51:void com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor.warn(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin):360:361 -> a
    50:51:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):320 -> a
    52:56:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):330:334 -> a
    57:57:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":86,"2":87,"3":88}}
    86:86:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):336:336 -> a
    87:87:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):336:336 -> a
    88:88:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):336:336 -> a
    58:58:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":91,"2":92,"3":93}}
    91:91:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):339:339 -> a
    92:92:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):339:339 -> a
    93:93:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):339:339 -> a
    59:59:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97,"4":98}}
    95:95:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):341:341 -> a
    96:96:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):341:341 -> a
    97:97:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):341:341 -> a
    98:98:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):341:341 -> a
    60:61:void com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor.warn(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin):360:361 -> a
    60:61:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):336 -> a
    62:62:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):348:348 -> a
    1:2:java.lang.String prefixUntilCommentChar(java.lang.String):355:356 -> b
    1:20:void visit(com.android.tools.r8.DataEntryResource):268:287 -> visit
    21:22:void com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor.warn(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin):360:361 -> visit
    21:22:void visit(com.android.tools.r8.DataEntryResource):282 -> visit
    23:30:void visit(com.android.tools.r8.DataEntryResource):290:297 -> visit
    31:34:void visit(com.android.tools.r8.DataEntryResource):296:299 -> visit
com.android.tools.r8.graph.AppView -> com.android.tools.r8.graph.h:
    com.android.tools.r8.graph.GraphLens graphLens -> g
    com.android.tools.r8.graph.AppView$WholeProgramOptimizations wholeProgramOptimizations -> e
    com.android.tools.r8.ir.desugar.TypeRewriter typeRewriter -> p
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> l
    boolean allCodeProcessed -> u
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> G
    java.util.Set cfByteCodePassThrough -> A
    com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums -> z
    java.util.Map sourceDebugExtensions -> B
    java.lang.Thread mainThread -> F
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForDesugaring -> b
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory simpleInliningConstraintFactory -> o
    java.util.Set alreadyLibraryDesugared -> D
    com.android.tools.r8.graph.classmerging.VerticallyMergedClasses verticallyMergedClasses -> y
    com.android.tools.r8.shaking.RootSetUtils$RootSet rootSet -> j
    com.android.tools.r8.androidapi.ComputedApiLevel computedMinApiLevel -> H
    com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses -> x
    com.android.tools.r8.graph.GraphLens codeLens -> f
    com.android.tools.r8.graph.InitClassLens initClassLens -> h
    boolean $assertionsDisabled -> I
    com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer libraryMemberOptimizer -> s
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator argumentPropagator -> r
    java.util.function.Predicate classesEscapingIntoLibrary -> v
    com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet mainDexRootSet -> k
    com.android.tools.r8.graph.AppServices appServices -> c
    com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection libraryMethodSideEffectModelCollection -> q
    com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods initializedClassesInInstanceMethods -> w
    com.android.tools.r8.naming.SeedMapper applyMappingSeedMapper -> C
    com.android.tools.r8.shaking.ProguardCompatibilityActions proguardCompatibilityActions -> i
    com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> m
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory instanceFieldInitializationInfoFactory -> n
    com.android.tools.r8.graph.AppInfo appInfo -> a
    com.android.tools.r8.ir.analysis.proto.ProtoShrinker protoShrinker -> t
    com.android.tools.r8.errors.dontwarn.DontWarnConfiguration dontWarnConfiguration -> d
    com.android.tools.r8.contexts.CompilationContext context -> E
    1:1:void <clinit>():62:62 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.AppView$WholeProgramOptimizations,com.android.tools.r8.ir.desugar.TypeRewriter):126:126 -> <init>
    2:74:void <init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.AppView$WholeProgramOptimizations,com.android.tools.r8.ir.desugar.TypeRewriter):74:146 -> <init>
    1:1:boolean hasMainDexRootSet():524:524 -> A
    1:1:boolean hasProguardCompatibilityActions():548:548 -> B
    1:1:boolean hasUnboxedEnums():614:614 -> C
    1:1:boolean hasVerticallyMergedClasses():596:596 -> D
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses():581:581 -> E
    1:1:com.android.tools.r8.graph.InitClassLens initClassLens():466:466 -> F
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory instanceFieldInitializationInfoFactory():204:204 -> G
    1:1:boolean isAllCodeProcessed():257:257 -> H
    1:1:com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer libraryMethodOptimizer():355:355 -> I
    1:4:void loadApplyMappingSeedMapper():828:831 -> J
    5:5:void loadApplyMappingSeedMapper():830:830 -> J
    1:1:com.android.tools.r8.utils.InternalOptions options():495:495 -> K
    1:1:com.android.tools.r8.ir.analysis.proto.ProtoShrinker protoShrinker():363:363 -> L
    1:1:com.android.tools.r8.shaking.RootSetUtils$RootSet rootSet():511:511 -> M
    1:1:void setAllCodeProcessed():261:261 -> N
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory simpleInliningConstraintFactory():208:208 -> O
    1:1:com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums():618:618 -> P
    2:2:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumDataMap.empty():20:20 -> P
    2:2:com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums():618 -> P
    1:4:boolean validateUnboxedEnumsHaveBeenPruned():628:631 -> Q
    1:1:com.android.tools.r8.graph.classmerging.VerticallyMergedClasses verticallyMergedClasses():604:604 -> R
    1:1:com.android.tools.r8.graph.AppView withClassHierarchy():643:643 -> S
    com.android.tools.r8.graph.AppView withLiveness() -> T
    1:1:com.android.tools.r8.graph.AppView withoutClassHierarchy():650:650 -> U
    2:2:boolean hasClassHierarchy():638:638 -> U
    2:2:com.android.tools.r8.graph.AppView withoutClassHierarchy():650 -> U
    3:3:com.android.tools.r8.graph.AppView withoutClassHierarchy():650:650 -> U
    1:428:java.lang.Object withGeneratedMessageLiteBuilderShrinker(java.util.function.Function,java.lang.Object):0:427 -> a
    429:429:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo):165:165 -> a
    430:431:com.android.tools.r8.ir.desugar.TypeRewriter defaultTypeRewriter(com.android.tools.r8.graph.AppInfo):160:161 -> a
    430:431:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo):165 -> a
    432:432:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo):165:165 -> a
    433:433:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.ir.desugar.TypeRewriter):169:169 -> a
    434:434:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication):173:173 -> a
    435:436:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):178:179 -> a
    437:437:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.createInitialClassToFeatureSplitMap(com.android.tools.r8.utils.InternalOptions):51:51 -> a
    437:437:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):179 -> a
    438:438:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.createInitialClassToFeatureSplitMap(com.android.tools.r8.utils.InternalOptions):50:50 -> a
    438:438:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):179 -> a
    439:441:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):181:183 -> a
    442:443:com.android.tools.r8.ir.desugar.TypeRewriter defaultTypeRewriter(com.android.tools.r8.graph.AppInfo):160:161 -> a
    442:443:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):183 -> a
    444:444:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):183:183 -> a
    445:445:com.android.tools.r8.graph.AppView createForTracer(com.android.tools.r8.graph.AppInfoWithClassHierarchy):196:196 -> a
    446:447:com.android.tools.r8.ir.desugar.TypeRewriter defaultTypeRewriter(com.android.tools.r8.graph.AppInfo):160:161 -> a
    446:447:com.android.tools.r8.graph.AppView createForTracer(com.android.tools.r8.graph.AppInfoWithClassHierarchy):196 -> a
    448:448:com.android.tools.r8.graph.AppView createForTracer(com.android.tools.r8.graph.AppInfoWithClassHierarchy):196:196 -> a
    449:449:void setAppServices(com.android.tools.r8.graph.AppServices):275:275 -> a
    450:450:void setClassesEscapingIntoLibrary(java.util.function.Predicate):288:288 -> a
    451:451:void setSourceDebugExtensionForType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexValue$DexValueString):292:292 -> a
    452:452:com.android.tools.r8.graph.DexValue$DexValueString getSourceDebugExtensionForType(com.android.tools.r8.graph.DexClass):296:296 -> a
    453:453:com.android.tools.r8.graph.DexItemFactory dexItemFactory():325:325 -> a
    454:455:void withArgumentPropagator(com.android.tools.r8.utils.ThrowingConsumer):349:350 -> a
    456:456:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):381:381 -> a
    457:457:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.isEnumLiteProtoShrinkingEnabled():1581:1581 -> a
    457:457:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):381 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    458:458:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):382:382 -> a
    459:460:java.lang.Object withGeneratedExtensionRegistryShrinker(java.util.function.Function,java.lang.Object):396:397 -> a
    461:468:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):446:453 -> a
    469:469:boolean com.android.tools.r8.graph.GraphLens.isAppliedLens():0:0 -> a
    469:469:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):453 -> a
    470:470:boolean com.android.tools.r8.graph.GraphLens.isClearCodeRewritingLens():0:0 -> a
    470:470:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):453 -> a
    471:471:void setCodeLens(com.android.tools.r8.graph.GraphLens):437:437 -> a
    471:471:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):454 -> a
    472:472:void setInitClassLens(com.android.tools.r8.graph.InitClassLens):474:474 -> a
    473:473:void setInitializedClassesInInstanceMethods(com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods):479:479 -> a
    474:474:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():503:503 -> a
    474:474:boolean checkForTesting(java.util.function.Supplier):844 -> a
    475:475:boolean checkForTesting(java.util.function.Supplier):844:844 -> a
    476:476:void setRootSet(com.android.tools.r8.shaking.RootSetUtils$RootSet):515:515 -> a
    477:478:void setMainDexRootSet(com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet):519:520 -> a
    479:479:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():532:532 -> a
    479:479:com.android.tools.r8.shaking.KeepClassInfo getKeepInfo(com.android.tools.r8.graph.DexProgramClass):536 -> a
    480:480:com.android.tools.r8.shaking.KeepClassInfo getKeepInfo(com.android.tools.r8.graph.DexProgramClass):536:536 -> a
    481:481:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():532:532 -> a
    481:481:com.android.tools.r8.shaking.KeepFieldInfo getKeepInfo(com.android.tools.r8.graph.ProgramField):540 -> a
    482:482:com.android.tools.r8.shaking.KeepFieldInfo getKeepInfo(com.android.tools.r8.graph.ProgramField):540:540 -> a
    483:483:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    483:483:com.android.tools.r8.shaking.KeepFieldInfo getKeepInfo(com.android.tools.r8.graph.ProgramField):540 -> a
    484:484:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():532:532 -> a
    484:484:com.android.tools.r8.shaking.KeepMethodInfo getKeepInfo(com.android.tools.r8.graph.ProgramMethod):544 -> a
    485:485:com.android.tools.r8.shaking.KeepMethodInfo getKeepInfo(com.android.tools.r8.graph.ProgramMethod):544:544 -> a
    486:486:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    486:486:com.android.tools.r8.shaking.KeepMethodInfo getKeepInfo(com.android.tools.r8.graph.ProgramMethod):544 -> a
    487:488:void setProguardCompatibilityActions(com.android.tools.r8.shaking.ProguardCompatibilityActions):557:558 -> a
    489:489:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):586:586 -> a
    490:490:boolean hasHorizontallyMergedClasses():573:573 -> a
    490:490:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):586 -> a
    491:491:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):586:586 -> a
    492:492:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses():581:581 -> a
    492:492:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):587 -> a
    493:494:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):587:588 -> a
    495:495:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():503:503 -> a
    495:495:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):589 -> a
    496:498:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):589:591 -> a
    499:499:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses():581:581 -> a
    499:499:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):591 -> a
    500:500:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):591:591 -> a
    501:502:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):608:609 -> a
    503:503:com.android.tools.r8.utils.InternalOptions$TestingOptions testing() -> a
    503:503:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):610 -> a
    504:504:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):610:610 -> a
    505:506:void setUnboxedEnums(com.android.tools.r8.ir.optimize.enums.EnumDataMap):622:623 -> a
    507:507:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():503:503 -> a
    507:507:void setUnboxedEnums(com.android.tools.r8.ir.optimize.enums.EnumDataMap):624 -> a
    508:508:void setUnboxedEnums(com.android.tools.r8.ir.optimize.enums.EnumDataMap):624:624 -> a
    509:509:boolean hasLiveness():655:655 -> a
    509:509:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):792 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    510:510:boolean hasLiveness():655:655 -> a
    510:510:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):792 -> a
    511:512:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):794:795 -> a
    513:513:com.android.tools.r8.graph.AppServices appServices():271:271 -> a
    513:513:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):797 -> a
    514:514:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):797:797 -> a
    515:515:boolean hasInitClassLens():470:470 -> a
    515:515:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):798 -> a
    516:516:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):799:799 -> a
    517:517:void setInitClassLens(com.android.tools.r8.graph.InitClassLens):474:474 -> a
    517:517:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):799 -> a
    518:518:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):801:801 -> a
    519:519:com.android.tools.r8.shaking.ProguardCompatibilityActions getProguardCompatibilityActions():552:552 -> a
    519:519:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):803 -> a
    520:520:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):803:803 -> a
    521:524:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):802:805 -> a
    525:525:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet getMainDexRootSet():528:528 -> a
    525:525:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):806 -> a
    526:526:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):806:806 -> a
    527:527:void setMainDexRootSet(com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet):520:520 -> a
    527:527:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):806 -> a
    528:528:boolean hasRootSet():507:507 -> a
    528:528:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):808 -> a
    529:529:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):809:809 -> a
    530:532:com.android.tools.r8.utils.OptionalBool isSubtype(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):668:670 -> a
    533:533:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):674:674 -> a
    534:534:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    534:534:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):674 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    535:535:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    535:535:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):674 -> a
    536:540:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):677:681 -> a
    541:550:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):690:699 -> a
    551:551:void pruneAppInfo(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):723:723 -> a
    551:551:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):701 -> a
    552:552:com.android.tools.r8.graph.AppServices appServices():271:271 -> a
    552:552:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):703 -> a
    553:555:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):704:706 -> a
    556:556:com.android.tools.r8.shaking.ProguardCompatibilityActions getProguardCompatibilityActions():552:552 -> a
    556:556:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):708 -> a
    557:557:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):708:708 -> a
    558:558:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):707:707 -> a
    559:559:boolean hasRootSet():507:507 -> a
    559:559:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):710 -> a
    560:563:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):711:714 -> a
    564:564:void setMainDexRootSet(com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet):520:520 -> a
    564:564:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):714 -> a
    565:567:void rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):739:741 -> a
    568:587:void rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):753:772 -> a
    588:588:boolean com.android.tools.r8.graph.GraphLens.isMemberRebindingLens():0:0 -> a
    588:588:void rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):778 -> a
    589:598:void rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):780:789 -> a
    599:599:boolean lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):774:774 -> a
    600:600:boolean com.android.tools.r8.graph.GraphLens.isMemberRebindingLens():0:0 -> a
    600:600:boolean lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):774 -> a
    601:601:boolean com.android.tools.r8.graph.GraphLens.isMemberRebindingIdentityLens():0:0 -> a
    601:601:boolean lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):774 -> a
    602:603:void setAlreadyLibraryDesugared(java.util.Set):815:816 -> a
    1:490:java.lang.Object withInitializedClassesInInstanceMethods(java.util.function.Function,java.lang.Object):0:489 -> b
    491:491:com.android.tools.r8.graph.AppView createForL8(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.ir.desugar.TypeRewriter):187:187 -> b
    492:492:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo):191:191 -> b
    493:494:com.android.tools.r8.ir.desugar.TypeRewriter defaultTypeRewriter(com.android.tools.r8.graph.AppInfo):160:161 -> b
    493:494:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo):191 -> b
    495:495:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo):191:191 -> b
    496:496:com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory():200:200 -> b
    497:498:void withGeneratedExtensionRegistryShrinker(com.android.tools.r8.utils.ThrowingConsumer):389:390 -> b
    499:500:java.lang.Object withGeneratedMessageLiteShrinker(java.util.function.Function,java.lang.Object):418:419 -> b
    501:501:void setCfByteCodePassThrough(java.util.Set):483:483 -> b
    502:502:void rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):728:728 -> b
    503:507:boolean isAlreadyLibraryDesugared(com.android.tools.r8.graph.DexProgramClass):820:824 -> b
    1:376:java.lang.Object withProtoShrinker(java.util.function.Function,java.lang.Object):0:375 -> c
    377:377:boolean isModeled(com.android.tools.r8.graph.DexType):156:156 -> c
    378:380:com.android.tools.r8.graph.AppView setAppInfo(com.android.tools.r8.graph.AppInfo):241:243 -> c
    381:381:void unsetAppInfoForDesugaring():237:237 -> c
    381:381:com.android.tools.r8.graph.AppView setAppInfo(com.android.tools.r8.graph.AppInfo):244 -> c
    382:385:com.android.tools.r8.graph.AppView setAppInfo(com.android.tools.r8.graph.AppInfo):246:249 -> c
    386:387:void withGeneratedMessageLiteBuilderShrinker(com.android.tools.r8.utils.ThrowingConsumer):411:412 -> c
    388:388:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():562:562 -> c
    389:389:boolean hasHorizontallyMergedClasses():573:573 -> c
    389:389:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():563 -> c
    390:393:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():564:567 -> c
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):301:301 -> d
    2:3:void withGeneratedMessageLiteShrinker(com.android.tools.r8.utils.ThrowingConsumer):404:405 -> d
    4:4:com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute():848:848 -> d
    1:1:com.android.tools.r8.graph.DexApplication app():212:212 -> e
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):306:306 -> e
    3:4:void withProtoShrinker(com.android.tools.r8.utils.ThrowingConsumer):368:369 -> e
    1:2:com.android.tools.r8.graph.AppInfo appInfo():216:217 -> f
    3:4:boolean isClassEscapingIntoLibrary(com.android.tools.r8.graph.DexType):283:284 -> f
    1:9:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForDesugaring():225:233 -> g
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness appInfoWithLiveness():221:221 -> h
    1:1:com.android.tools.r8.graph.AppServices appServices():271:271 -> i
    1:1:boolean canUseInitClass():462:462 -> j
    2:2:boolean com.android.tools.r8.graph.InitClassLens.isFinal():0:0 -> j
    2:2:boolean canUseInitClass():462 -> j
    1:1:void clearApplyMappingSeedMapper():840:840 -> k
    1:1:com.android.tools.r8.graph.GraphLens clearCodeRewritings():265:265 -> l
    2:2:com.android.tools.r8.graph.GraphLens com.android.tools.r8.graph.GraphLens.withCodeRewritingsApplied(com.android.tools.r8.graph.DexItemFactory):579:579 -> l
    2:2:com.android.tools.r8.graph.GraphLens clearCodeRewritings():265 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.GraphLens com.android.tools.r8.graph.GraphLens.withCodeRewritingsApplied(com.android.tools.r8.graph.DexItemFactory):580:580 -> l
    3:3:com.android.tools.r8.graph.GraphLens clearCodeRewritings():265 -> l
    4:4:com.android.tools.r8.graph.GraphLens clearCodeRewritings():266:266 -> l
    1:1:com.android.tools.r8.graph.GraphLens codeLens():433:433 -> m
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel computedMinApiLevel():852:852 -> n
    1:1:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():339:339 -> o
    2:2:boolean verifyMainThread():150:150 -> o
    2:2:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():339 -> o
    3:3:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():340:340 -> o
    1:1:boolean enableWholeProgramOptimizations():329:329 -> p
    1:1:com.android.tools.r8.naming.SeedMapper getApplyMappingSeedMapper():836:836 -> q
    1:1:com.android.tools.r8.errors.dontwarn.DontWarnConfiguration getDontWarnConfiguration():279:279 -> r
    1:1:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():532:532 -> s
    1:1:com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection getLibraryMethodSideEffectModelCollection():359:359 -> t
    1:1:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet getMainDexRootSet():528:528 -> u
    1:1:com.android.tools.r8.shaking.ProguardCompatibilityActions getProguardCompatibilityActions():552:552 -> v
    1:1:com.android.tools.r8.synthesis.SyntheticItems getSyntheticItems():344:344 -> w
    1:1:com.android.tools.r8.graph.GraphLens graphLens():441:441 -> x
    1:1:boolean hasCfByteCodePassThroughMethods():685:685 -> y
    1:1:boolean hasClassHierarchy():638:638 -> z
com.android.tools.r8.graph.ApplicationReaderMap -> com.android.tools.r8.internal.u2:
    1:1:void <init>():9:9 -> <init>
    java.lang.String getDescriptor(java.lang.String) -> a
    com.android.tools.r8.graph.DexType getInvertedType(com.android.tools.r8.graph.DexType) -> a
    1:4:com.android.tools.r8.graph.ApplicationReaderMap getInstance(com.android.tools.r8.utils.InternalOptions):20:23 -> a
    com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexType) -> b
com.android.tools.r8.graph.ApplicationReaderMap$EmptyMap -> com.android.tools.r8.internal.s2:
    1:1:void <init>():26:26 -> <init>
    java.lang.String getDescriptor(java.lang.String) -> a
    com.android.tools.r8.graph.DexType getInvertedType(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexType) -> b
com.android.tools.r8.graph.ApplicationReaderMap$RecordMap -> com.android.tools.r8.internal.t2:
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:2:void <init>(com.android.tools.r8.graph.DexItemFactory):48:49 -> <init>
    1:2:java.lang.String getDescriptor(java.lang.String):54:55 -> a
    3:3:com.android.tools.r8.graph.DexType getInvertedType(com.android.tools.r8.graph.DexType):66:66 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexType):61:61 -> b
com.android.tools.r8.graph.AppliedGraphLens -> com.android.tools.r8.graph.i:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap renamedTypeNames -> f
    boolean $assertionsDisabled -> j
    java.util.Map extraOriginalMethodSignatures -> i
    com.android.tools.r8.com.google.common.collect.BiMap originalFieldSignatures -> g
    com.android.tools.r8.com.google.common.collect.BiMap originalMethodSignatures -> h
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):41:41 -> <init>
    2:54:void <init>(com.android.tools.r8.graph.AppView):31:83 -> <init>
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod) -> a
    1:11:void recordOriginalTypeNames(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):88:98 -> a
    12:13:void lambda$recordOriginalTypeNames$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):95:96 -> a
    14:14:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):109:109 -> a
    15:15:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> a
    15:15:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):109 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):109:109 -> a
    17:17:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):120:120 -> a
    18:18:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):128:128 -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    1:2:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):114:115 -> b
    3:3:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):134:134 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):141:141 -> c
    1:1:com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType):146:146 -> d
    1:4:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):162:165 -> e
    boolean isContextFreeForMethods() -> g
com.android.tools.r8.graph.AssemblyWriter -> com.android.tools.r8.internal.x3:
    com.android.tools.r8.kotlin.Kotlin kotlin -> i
    com.android.tools.r8.contexts.CompilationContext compilationContext -> k
    com.android.tools.r8.graph.AppInfo appInfo -> h
    boolean $assertionsDisabled -> l
    boolean writeAnnotations -> e
    boolean writeIR -> f
    boolean writeCode -> g
    boolean writeAllClassInfo -> c
    boolean writeFields -> d
    com.android.tools.r8.utils.Timing timing -> j
    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,boolean):43:43 -> <init>
    2:29:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions,boolean,boolean,boolean):34:61 -> <init>
    1:1:java.lang.String getFileEnding():66:66 -> a
    2:11:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):129:138 -> a
    12:12:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":154,"2":155,"3":156}}
    154:154:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):139:139 -> a
    155:155:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):139:139 -> a
    156:156:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):139:139 -> a
    151:153:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):139:141 -> a
    157:165:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):152:160 -> a
    166:166:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":339,"2":340,"3":341}}
    339:339:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):161:161 -> a
    340:340:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):161:161 -> a
    341:341:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):161:161 -> a
    327:338:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):161:172 -> a
    342:342:void lambda$writeIR$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):186:186 -> a
    343:343:void lambda$writeIR$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):184:184 -> a
    344:358:void writeAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationSet,java.io.PrintStream):194:208 -> a
    359:359:void writeAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationSet,java.io.PrintStream):207:207 -> a
    360:360:void writeAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationSet,java.io.PrintStream):204:204 -> 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):178:179 -> b
    3:3:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):319:319 -> b
    3:3:void writeIR(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):179 -> b
    4:13:void writeIR(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):180:189 -> b
    1:9:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):72:80 -> c
    10:10:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":616,"2":617,"3":618}}
    616:616:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):81:81 -> c
    617:617:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):81:81 -> c
    618:618:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):81:81 -> c
    91:92:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):81:82 -> c
    93:93:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":620,"2":621,"3":622}}
    620:620:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):83:83 -> c
    621:621:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):83:83 -> c
    622:622:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):83:83 -> c
    176:178:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):83:85 -> c
    179:179:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":625,"2":626,"3":627}}
    625:625:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):86:86 -> c
    626:626:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):86:86 -> c
    627:627:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):86:86 -> c
    265:269:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):86:90 -> c
    270:270:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":632,"2":633,"3":634}}
    632:632:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:91 -> c
    633:633:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:91 -> c
    634:634:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:91 -> c
    363:371:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):93:101 -> c
    372:388:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:107 -> c
    389:389:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":651,"2":652,"3":653}}
    651:651:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):108:108 -> c
    652:652:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):108:108 -> c
    653:653:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):108:108 -> c
    497:497:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):108:108 -> c
    498:498:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":655,"2":656,"3":657}}
    655:655:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):110:110 -> c
    656:656:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):110:110 -> c
    657:657:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):110:110 -> c
    609:609:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):111:111 -> c
    610:615:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):110:115 -> c
    658:658:void writeFieldsFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):147:147 -> c
    1:4:void writeFieldsHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):120:123 -> d
com.android.tools.r8.graph.BottomUpClassHierarchyTraversal -> com.android.tools.r8.internal.P5:
    java.util.function.Function immediateSubtypesProvider -> g
    1:2:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):18:19 -> <init>
    1:1:com.android.tools.r8.graph.BottomUpClassHierarchyTraversal forAllClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):28:28 -> a
    2:2:com.android.tools.r8.graph.BottomUpClassHierarchyTraversal forProgramClasses(com.android.tools.r8.graph.AppView,java.util.function.Function):48:48 -> a
    3:4:com.android.tools.r8.graph.ClassHierarchyTraversal com.android.tools.r8.graph.ClassHierarchyTraversal.excludeInterfaces():60:61 -> a
    3:4:com.android.tools.r8.graph.ClassHierarchyTraversal excludeInterfaces():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:20:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):62:77 -> a
    com.android.tools.r8.graph.ClassHierarchyTraversal self() -> b
    1:1:com.android.tools.r8.graph.BottomUpClassHierarchyTraversal forProgramClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):38:38 -> b
com.android.tools.r8.graph.CachedHashValueDexItem -> com.android.tools.r8.graph.j:
    int hash -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:5:void <init>():9:13 -> <init>
    1:1:boolean equals(java.lang.Object):51:51 -> equals
    boolean computeEquals(java.lang.Object) -> h
    1:9:int hashCode():21:29 -> hashCode
    10:14:boolean verifyHashCodeConsistent(int):34:38 -> hashCode
    10:14:int hashCode():29 -> hashCode
    int computeHashCode() -> m0
com.android.tools.r8.graph.CfCode -> com.android.tools.r8.graph.k:
    boolean $assertionsDisabled -> m
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata metadata -> l
    com.android.tools.r8.graph.DexType originalHolder -> d
    int maxStack -> f
    java.util.List localVariables -> i
    java.util.List tryCatchRanges -> h
    int maxLocals -> e
    java.util.List instructions -> g
    com.android.tools.r8.graph.CfCode$StackMapStatus stackMapStatus -> j
    com.android.tools.r8.position.Position diagnosticPosition -> k
    1:1:void <clinit>():69:69 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List):166:167 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List):161:161 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> <init>
    5:5:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> <init>
    6:6:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata):214:214 -> <init>
    8:75:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata):155:222 -> <init>
    1:1:java.util.List getInstructions():288:288 -> A0
    1:1:java.util.List getLocalVariables():296:296 -> B0
    1:1:int getMaxLocals():263:263 -> C0
    1:1:int getMaxStack():259:259 -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType getOriginalHolder():255:255 -> E0
    1:2:com.android.tools.r8.graph.CfCode$StackMapStatus getStackMapStatus():267:268 -> F0
    1:1:java.util.List getTryCatchRanges():284:284 -> G0
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> O
    com.android.tools.r8.graph.CfCode asCfCode() -> W
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):69:69 -> a
    2:2:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):242:242 -> a
    3:3:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.cf.code.CfInstruction):246:246 -> a
    3:3:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):242 -> a
    4:4:void setInstructions(java.util.List):292:292 -> a
    5:8:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):354:357 -> a
    9:9:void lambda$acceptHashing$0(com.android.tools.r8.utils.structural.HashingVisitor,com.android.tools.r8.cf.code.CfInstruction):357:357 -> a
    10:11:int acceptCompareTo(com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.structural.CompareToVisitor):362:363 -> a
    12:12:java.util.Collection lambda$acceptCompareTo$1(com.android.tools.r8.graph.CfCode):367:367 -> a
    13:13:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):367:367 -> a
    14:14:com.android.tools.r8.utils.structural.StructuralAcceptor com.android.tools.r8.graph.CfCompareHelper.instructionAcceptor():106:106 -> a
    14:14:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):367 -> a
    15:15:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):367:367 -> a
    16:16:com.android.tools.r8.utils.structural.StructuralAcceptor com.android.tools.r8.graph.CfCompareHelper.tryCatchRangeAcceptor():122:122 -> a
    16:16:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):368 -> a
    17:17:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):368:368 -> a
    18:18:com.android.tools.r8.utils.structural.StructuralAcceptor com.android.tools.r8.graph.CfCompareHelper.localVariableAcceptor():137:137 -> a
    18:18:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):369 -> a
    19:19:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):369:369 -> a
    20:21:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):406:407 -> a
    22:22:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):878:878 -> a
    22:22:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):407 -> a
    23:29:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):407:413 -> a
    30:46:boolean shouldAddParameterNames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):376:392 -> a
    30:46:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):413 -> a
    47:47:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):414:414 -> a
    48:48:void com.android.tools.r8.cf.code.CfLabel.write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):73:73 -> a
    48:48:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):415 -> a
    49:65:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):418:434 -> a
    66:66:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":552,"2":553,"3":554}}
    552:552:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):435:435 -> a
    553:553:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    553:553:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):435 -> a
    554:554:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    554:554:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):435 -> a
    502:509:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):436:443 -> a
    510:530:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):437:457 -> a
    531:531:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):475:475 -> a
    531:531:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):450 -> a
    532:532:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":555,"2":556,"3":557}}
    555:555:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):475:475 -> a
    555:555:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):450 -> a
    556:556:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    556:556:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):475 -> a
    556:556:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):450 -> a
    557:557:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    557:557:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):475 -> a
    557:557:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):450 -> a
    533:539:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):476:476 -> a
    533:539:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):450 -> a
    540:542:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):460:462 -> a
    543:543:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):475:475 -> a
    543:543:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):461 -> a
    544:544:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":558,"2":559,"3":560}}
    558:558:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):475:475 -> a
    558:558:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):461 -> a
    559:559:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    559:559:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):475 -> a
    559:559:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):461 -> a
    560:560:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    560:560:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):475 -> a
    560:560:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):461 -> a
    545:551:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):476:476 -> a
    545:551:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):461 -> a
    561:561: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):510:510 -> a
    562:562:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.ir.conversion.IRBuilder.lookupPrototypeChanges(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):459:459 -> a
    562:562: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):510 -> a
    563:563:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):461:461 -> a
    563:563:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.ir.conversion.IRBuilder.lookupPrototypeChanges(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):459 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    563:563: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):510 -> a
    564:567: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):509:512 -> a
    568:570:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):563:565 -> a
    568:570: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):511 -> a
    571:571:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):564:564 -> a
    571:571: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):511 -> a
    572:574:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):598:598 -> a
    572:574:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):575 -> a
    572:574: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):511 -> a
    585:587:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):609:611 -> a
    585:587:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):575 -> a
    585:587: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):511 -> a
    588:588:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):610:610 -> a
    588:588:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):575 -> a
    588:588: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):511 -> a
    589:592: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):525:528 -> a
    593:595:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):563:565 -> a
    593:595: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):529 -> a
    596:596:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):564:564 -> a
    596:596: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):529 -> a
    597:599:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):598:598 -> a
    597:599:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):575 -> a
    597:599: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):529 -> a
    610:612:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):609:611 -> a
    610:612:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):575 -> a
    610:612: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):529 -> a
    613:613:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):610:610 -> a
    613:613:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):575 -> a
    613:613: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):529 -> a
    614:619:com.android.tools.r8.ir.code.IRCode internalBuild(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):634:639 -> a
    620:620:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    620:620:com.android.tools.r8.ir.code.IRCode internalBuild(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):639 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    621:634:com.android.tools.r8.ir.code.IRCode internalBuild(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):639:652 -> a
    635:646:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):657:668 -> a
    647:652:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):676:681 -> a
    653:653:void lambda$registerCodeReferencesForDesugaring$5(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.cf.code.CfTryCatch):681:681 -> a
    654:694:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):688:728 -> a
    695:695:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):727:727 -> a
    696:696:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):699:699 -> a
    697:697:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):776:776 -> a
    698:708:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):784:794 -> a
    709:709:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    709:709:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):794 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    710:710:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    710:710:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):794 -> a
    711:711:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMonitor():275:275 -> a
    711:711:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):795 -> a
    712:720:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):796:804 -> a
    721:727:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):803:809 -> a
    728:728:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMoveException():283:283 -> a
    728:728:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):812 -> a
    729:729:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):812:812 -> a
    730:739:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):818:827 -> a
    740:743:int com.android.tools.r8.graph.DexCode.getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):312:315 -> a
    740:743:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):827 -> a
    744:759:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):827:842 -> a
    760:761:void com.android.tools.r8.graph.CfCode$LocalVariableInfo.<init>(int,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel):100:101 -> a
    760:761:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):842 -> a
    762:762:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):839:839 -> a
    763:766:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):847:850 -> a
    767:767:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    767:767:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):850 -> a
    768:775:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):851:858 -> a
    776:776:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    776:776:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):858 -> a
    777:781:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):860:864 -> a
    782:782:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):861:861 -> a
    783:783:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    783:783:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):866 -> a
    784:790:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):867:873 -> a
    791:791:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    791:791:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):873 -> a
    792:802:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):886:896 -> a
    803:803:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    803:803:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):896 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    804:821:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):897:914 -> a
    822:822:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    822:822:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):914 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    823:823:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):912:912 -> a
    824:828:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.multipleFramesForLabel(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):31:35 -> a
    824:828:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):912 -> a
    829:829:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):1005:1005 -> a
    829:829:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):911 -> a
    830:837:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):918:925 -> a
    838:838:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    838:838:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):925 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    839:839:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):923:923 -> a
    840:844:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.unexpectedStackMapFrame(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):22:26 -> a
    840:844:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):923 -> a
    845:845:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):1005:1005 -> a
    845:845:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):922 -> a
    846:846:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    846:846:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):932 -> a
    847:847:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    847:847:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):934 -> a
    848:853:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):935:940 -> a
    854:854:boolean com.android.tools.r8.cf.code.CfInstruction.isThrow():0:0 -> a
    854:854:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):1010 -> a
    854:854:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):940 -> a
    855:864:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):1010:1019 -> a
    855:864:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):940 -> a
    865:865:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    865:865:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):1019 -> a
    865:865:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):940 -> a
    866:866:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    866:866:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):1019 -> a
    866:866:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):940 -> a
    867:867:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):1024:1024 -> a
    867:867:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):940 -> a
    868:872:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):944:948 -> a
    873:873:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    873:873:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):948 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    874:874:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):946:946 -> a
    875:880:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.noFramesForMethodWithJumps(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):40:45 -> a
    875:880:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):946 -> a
    881:881:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):1005:1005 -> a
    881:881:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):945 -> a
    882:882:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):952:952 -> a
    883:883:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2893,"2":2894,"3":2895}}
    2893:2893:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):952:952 -> a
    2894:2894:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2894:2894:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):952 -> a
    2895:2895:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2895:2895:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):952 -> a
    1836:1836:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):953:953 -> a
    1837:1837:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2896,"2":2897,"3":2898}}
    2896:2896:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):953:953 -> a
    2897:2897:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2897:2897:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):953 -> a
    2898:2898:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2898:2898:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):953 -> a
    2791:2804:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):954:967 -> a
    2805:2806:boolean shouldComputeInitialFrame():1028:1029 -> a
    2805:2806:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):967 -> a
    2807:2807:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    2807:2807:boolean shouldComputeInitialFrame():1031 -> a
    2807:2807:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):967 -> a
    2808:2808:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    2808:2808:boolean shouldComputeInitialFrame():1031 -> a
    2808:2808:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):967 -> a
    2809:2809:boolean shouldComputeInitialFrame():1036:1036 -> a
    2809:2809:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):967 -> a
    2810:2810:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):967:967 -> a
    2811:2811:boolean shouldComputeInitialFrame():1036:1036 -> a
    2811:2811:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):967 -> a
    2812:2812:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):968:968 -> a
    2813:2814:boolean shouldComputeInitialFrame():1028:1029 -> a
    2813:2814:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):969 -> a
    2815:2815:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    2815:2815:boolean shouldComputeInitialFrame():1031 -> a
    2815:2815:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):969 -> a
    2816:2816:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    2816:2816:boolean shouldComputeInitialFrame():1031 -> a
    2816:2816:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):969 -> a
    2817:2817:boolean shouldComputeInitialFrame():1036:1036 -> a
    2817:2817:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):969 -> a
    2818:2818:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):970:970 -> a
    2819:2839:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1042:1062 -> a
    2819:2839:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):971 -> a
    2840:2840:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    2840:2840:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1064 -> a
    2840:2840:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):971 -> a
    2841:2851:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1065:1075 -> a
    2841:2851:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):971 -> a
    2852:2852:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):971:971 -> a
    2853:2863:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):970:980 -> a
    2864:2864:boolean com.android.tools.r8.cf.code.CfInstruction.isStore():0:0 -> a
    2864:2864:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):980 -> a
    2865:2869:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):980:984 -> a
    2870:2876:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):983:989 -> a
    2877:2877:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    2877:2877:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):989 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2878:2878:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):992:992 -> a
    2879:2890:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.toDiagnostics(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.cf.code.CfInstruction,java.lang.String,com.android.tools.r8.graph.AppView):55:66 -> a
    2879:2890:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):987 -> a
    2891:2891:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):1005:1005 -> a
    2891:2891:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):986 -> a
    2892:2892:boolean shouldComputeInitialFrame():1036:1036 -> a
    2892:2892:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):969 -> a
    2899:2899:boolean lambda$isAssignablePredicate$6(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1082:1082 -> a
    2900:2900:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1087:1087 -> a
    2901:2901:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
    2901:2901:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1118 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2901:2901:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1088 -> a
    2902:2902:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
    2902:2902:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1118 -> a
    2902:2902:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1088 -> a
    2903:2904:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1118:1119 -> a
    2903:2904:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1088 -> a
    2905:2905:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
    2905:2905:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1118 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2905:2905:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1089 -> a
    2906:2906:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
    2906:2906:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1118 -> a
    2906:2906:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1089 -> a
    2907:2908:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1118:1119 -> a
    2907:2908:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1089 -> a
    2909:2926:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1093:1110 -> a
    2927:2931:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1109:1113 -> a
    1:1:java.util.Collection lambda$acceptCompareTo$2(com.android.tools.r8.graph.CfCode):368:368 -> b
    2:6:void verifyFramesOrRemove(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):545:549 -> b
    7:7:java.util.function.BiPredicate isAssignablePredicate(com.android.tools.r8.graph.AppView):1082:1082 -> b
    1:1:java.util.Collection lambda$acceptCompareTo$3(com.android.tools.r8.graph.CfCode):369:369 -> c
    1:2:int countNonStackOperations(int):316:317 -> h
    1:2:boolean estimatedSizeForInliningAtMost(int):306 -> h
    3:3:boolean computeEquals(java.lang.Object):492:492 -> h
    1:1:void setMaxLocals(int):276:276 -> i
    1:1:void setMaxStack(int):280:280 -> j
    1:1:int computeHashCode():487:487 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():251:251 -> n
    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> n0
    1:2:int countNonStackOperations(int):316:317 -> q0
    1:2:int estimatedSizeForInlining():301 -> q0
    1:2:int estimatedDexCodeSizeUpperBoundInBytes():311 -> q0
    1:2:int countNonStackOperations(int):316:317 -> r0
    1:2:int estimatedSizeForInlining():301 -> r0
    boolean isCfCode() -> s0
    boolean isCfWritableCode() -> t0
    1:1:java.lang.String toString():771:771 -> toString
    2:2:void com.android.tools.r8.cf.CfPrinter.<init>(com.android.tools.r8.graph.CfCode):132:132 -> toString
    2:2:java.lang.String toString():771 -> toString
    3:3:java.lang.String toString():771:771 -> toString
    1:1:com.android.tools.r8.position.Position getDiagnosticPosition():272:272 -> z0
com.android.tools.r8.graph.CfCode$LocalVariableInfo -> com.android.tools.r8.graph.k$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
    1:1:void <clinit>():86:86 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel):93:96 -> <init>
    1:1:com.android.tools.r8.graph.DebugLocalInfo access$000(com.android.tools.r8.graph.CfCode$LocalVariableInfo):86:86 -> a
    2:4:void setEnd(com.android.tools.r8.cf.code.CfLabel):105:107 -> a
    5:5:com.android.tools.r8.cf.code.CfLabel getEnd():123:123 -> a
    6:6:int acceptCompareTo(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):128:128 -> a
    7:8:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):132:133 -> a
    9:9:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    9:9:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):133 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:11:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):133:134 -> a
    12:12:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    12:12:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):134 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:14:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):134:135 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel access$100(com.android.tools.r8.graph.CfCode$LocalVariableInfo):86:86 -> b
    2:2:int getIndex():111:111 -> b
    1:1:com.android.tools.r8.cf.code.CfLabel access$200(com.android.tools.r8.graph.CfCode$LocalVariableInfo):86:86 -> c
    2:2:com.android.tools.r8.graph.DebugLocalInfo getLocal():115:115 -> c
    1:1:int access$300(com.android.tools.r8.graph.CfCode$LocalVariableInfo):86:86 -> d
    2:2:com.android.tools.r8.cf.code.CfLabel getStart():119:119 -> d
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":142,"2":143,"3":144}}
    142:142:java.lang.String toString():140:140 -> toString
    143:143:java.lang.String toString():140:140 -> toString
    144:144:java.lang.String toString():140:140 -> toString
    141:141:java.lang.String toString():140:140 -> toString
com.android.tools.r8.graph.CfCodeDiagnostics -> com.android.tools.r8.internal.Q6:
    com.android.tools.r8.position.MethodPosition methodPosition -> c
    com.android.tools.r8.origin.Origin origin -> b
    java.lang.String diagnosticMessage -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,java.lang.String):33:36 -> <init>
    1:1:java.lang.String getDiagnosticMessage():26:26 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():16:16 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():21:21 -> getPosition
com.android.tools.r8.graph.CfCodeStackMapValidatingException -> com.android.tools.r8.internal.S6:
    int $r8$clinit -> b
    1:1:void <init>(java.lang.String):13:13 -> <init>
    1:1:com.android.tools.r8.graph.CfCodeStackMapValidatingException error(java.lang.String):17:17 -> a
com.android.tools.r8.graph.CfCompareHelper -> com.android.tools.r8.graph.p:
    com.android.tools.r8.graph.CfCode code2 -> b
    com.android.tools.r8.graph.CfCode code1 -> a
    com.android.tools.r8.utils.structural.StructuralAcceptor lazyLabelAcceptor -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.CfCode):74:74 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.CfCode):72:76 -> <init>
    1:1:com.android.tools.r8.graph.CfCode access$000(com.android.tools.r8.graph.CfCompareHelper):18:18 -> a
    2:4:int compareIdUniquelyDeterminesEquality(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.cf.code.CfInstruction):54:56 -> a
    5:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap getLabelOrdering(com.android.tools.r8.graph.CfCode):61:63 -> a
    5:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.graph.CfCode):18 -> a
    8:8:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap getLabelOrdering(com.android.tools.r8.graph.CfCode):63 -> a
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.graph.CfCode):18 -> a
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap getLabelOrdering(com.android.tools.r8.graph.CfCode):64:64 -> a
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.graph.CfCode):18 -> a
    10:27:com.android.tools.r8.utils.structural.StructuralAcceptor labelAcceptor():84:101 -> a
    1:1:com.android.tools.r8.graph.CfCode access$200(com.android.tools.r8.graph.CfCompareHelper):18:18 -> b
com.android.tools.r8.graph.CfCompareHelper$1 -> com.android.tools.r8.graph.l:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labels1 -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labels2 -> b
    1:3:void <init>(com.android.tools.r8.graph.CfCompareHelper):86:88 -> <init>
    1:1:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):86:86 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):92:92 -> a
    2:2:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):86 -> a
    3:3:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):86:86 -> a
    4:4:void acceptHashing(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.HashingVisitor):97:97 -> a
    4:4:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):86 -> a
com.android.tools.r8.graph.CfCompareHelper$2 -> com.android.tools.r8.graph.m:
    com.android.tools.r8.graph.CfCompareHelper val$helper -> a
    1:1:void <init>(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.graph.CfCompareHelper):106:106 -> <init>
    1:1:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):106:106 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor):110:110 -> a
    2:2:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):106 -> a
    3:3:int com.android.tools.r8.cf.code.CfInstruction.acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):71:71 -> a
    3:3:int acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor):110 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):106 -> a
    4:8:int com.android.tools.r8.cf.code.CfInstruction.acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):71:75 -> a
    4:8:int acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor):110 -> a
    4:8:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):106 -> a
    9:9:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):106:106 -> a
    10:10:void acceptHashing(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.HashingVisitor):115:115 -> a
    10:10:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):106 -> a
com.android.tools.r8.graph.CfCompareHelper$3 -> com.android.tools.r8.graph.n:
    com.android.tools.r8.graph.CfCompareHelper val$helper -> a
    1:1:void <init>(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.graph.CfCompareHelper):122:122 -> <init>
    1:1:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):122:122 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.cf.code.CfTryCatch,com.android.tools.r8.cf.code.CfTryCatch,com.android.tools.r8.utils.structural.CompareToVisitor):125:125 -> a
    2:2:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):122 -> a
    3:3:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):122:122 -> a
    4:4:void acceptHashing(com.android.tools.r8.cf.code.CfTryCatch,com.android.tools.r8.utils.structural.HashingVisitor):130:130 -> a
    4:4:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):122 -> a
com.android.tools.r8.graph.CfCompareHelper$4 -> com.android.tools.r8.graph.o:
    com.android.tools.r8.graph.CfCompareHelper val$helper -> a
    1:1:void <init>(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.graph.CfCompareHelper):137:137 -> <init>
    1:1:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):137:137 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.utils.structural.CompareToVisitor):141:141 -> a
    2:2:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):137 -> a
    3:3:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):137:137 -> a
    4:4:void acceptHashing(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.utils.structural.HashingVisitor):146:146 -> a
    4:4:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):137 -> a
com.android.tools.r8.graph.CfWritableCode -> com.android.tools.r8.internal.V8:
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> O
    com.android.tools.r8.graph.CfCode asCfCode() -> W
    void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> a
    void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor) -> a
com.android.tools.r8.graph.ClassAccessFlags -> com.android.tools.r8.graph.q:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(int,int):58:58 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.ClassAccessFlags createPublicFinalSynthetic():62:62 -> O
    2:2:void <init>(int):54:54 -> O
    2:2:com.android.tools.r8.graph.ClassAccessFlags createPublicFinalSynthetic():62 -> O
    1:1:void demoteFromAbstract():160:160 -> P
    1:4:int getAsCfAccessFlags():92:95 -> Q
    5:5:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> Q
    5:5:int getAsCfAccessFlags():96 -> Q
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> R
    1:1:int getAsDexAccessFlags():103 -> R
    2:2:int getAsDexAccessFlags():104:104 -> R
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> S
    1:1:boolean isAbstract():156 -> S
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> T
    1:1:boolean isAnnotation():172 -> T
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> U
    1:1:boolean isEnum():184 -> U
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> W
    1:1:boolean isInterface():144 -> W
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> X
    1:1:boolean isRecord():192 -> X
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> Y
    1:1:boolean isSuper():204 -> Y
    1:1:void setAbstract():164:164 -> Z
    1:16:boolean areValid(com.android.tools.r8.cf.CfVersion,boolean):120:135 -> a
    1:1:void setAnnotation():176:176 -> a0
    1:1:void setSuper():208:208 -> b0
    1:9:java.util.List getNames():29:37 -> c
    1:1:void unsetAbstract():168:168 -> c0
    1:1:void unsetInterface():152:152 -> d0
    1:9:java.util.List getPredicates():42:50 -> e
    1:1:void unsetRecord():200:200 -> e0
    1:1:void unsetSuper():212:212 -> f0
    1:1:com.android.tools.r8.graph.ClassAccessFlags fromCfAccessFlags(int):77:77 -> h
    2:2:void <init>(int):54:54 -> h
    2:2:com.android.tools.r8.graph.ClassAccessFlags fromCfAccessFlags(int):77 -> h
    1:1:com.android.tools.r8.graph.ClassAccessFlags fromDexAccessFlags(int):73:73 -> i
    2:2:void <init>(int):54:54 -> i
    2:2:com.android.tools.r8.graph.ClassAccessFlags fromDexAccessFlags(int):73 -> i
    1:3:com.android.tools.r8.graph.ClassAccessFlags fromSharedAccessFlags(int):67:69 -> j
    com.android.tools.r8.graph.AccessFlags self() -> z
com.android.tools.r8.graph.ClassDefinition -> com.android.tools.r8.internal.K9:
    boolean isClasspathClass() -> G
    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> H
    void forEachClassField(java.util.function.Consumer) -> b
    void forEachClassMethod(java.util.function.Consumer) -> c
    com.android.tools.r8.graph.MethodCollection getMethodCollection() -> c0
    boolean isLibraryClass() -> g0
    java.lang.Iterable allImmediateSupertypes() -> h0
    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
com.android.tools.r8.graph.ClassHierarchyTraversal -> com.android.tools.r8.internal.M9:
    java.util.Deque worklist -> d
    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.DexDefinitionSupplier definitionSupplier -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):52:52 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):47:54 -> <init>
    void addDependentsToWorklist(com.android.tools.r8.graph.DexClass) -> a
    1:22:void visit(java.lang.Iterable,java.util.function.Consumer):65:86 -> a
    23:36:void visit(java.lang.Iterable,java.util.function.Consumer):69:82 -> a
com.android.tools.r8.graph.ClassKind -> com.android.tools.r8.graph.s:
    com.android.tools.r8.graph.ClassKind CLASSPATH -> d
    com.android.tools.r8.graph.ClassKind LIBRARY -> e
    java.util.function.Predicate check -> b
    com.android.tools.r8.graph.ClassKind$Factory factory -> a
    com.android.tools.r8.graph.ClassKind PROGRAM -> c
    1:87:void <clinit>():17:103 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.ClassKind$Factory,java.util.function.Predicate):173:175 -> <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.GenericSignature$ClassSignature,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,com.android.tools.r8.synthesis.SyntheticMarker):199:199 -> a
    2:2:boolean isOfKind(com.android.tools.r8.graph.DexClass):223:223 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass lambda$static$0(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.GenericSignature$ClassSignature,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,com.android.tools.r8.synthesis.SyntheticMarker):39:39 -> b
    1:1:com.android.tools.r8.graph.DexClasspathClass lambda$static$1(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.GenericSignature$ClassSignature,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,com.android.tools.r8.synthesis.SyntheticMarker):83:83 -> c
    1:1:com.android.tools.r8.graph.DexLibraryClass lambda$static$2(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.GenericSignature$ClassSignature,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,com.android.tools.r8.synthesis.SyntheticMarker):125:125 -> d
com.android.tools.r8.graph.ClassKind$Factory -> com.android.tools.r8.graph.r:
    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.GenericSignature$ClassSignature,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,com.android.tools.r8.synthesis.SyntheticMarker) -> a
com.android.tools.r8.graph.ClassResolutionResult -> com.android.tools.r8.internal.Pa:
    com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary() -> D
    boolean hasClassResolutionResult() -> Y
    void forEachClassResolutionResult(java.util.function.Consumer) -> a
com.android.tools.r8.graph.ClassResolutionResult$Builder -> com.android.tools.r8.graph.t:
    com.android.tools.r8.graph.DexLibraryClass libraryClass -> b
    com.android.tools.r8.graph.ProgramOrClasspathClass programOrClasspathClass -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    1:2:com.android.tools.r8.graph.ClassResolutionResult$Builder add(com.android.tools.r8.graph.DexProgramClass):29:30 -> a
    3:4:com.android.tools.r8.graph.ClassResolutionResult$Builder add(com.android.tools.r8.graph.DexClasspathClass):35:36 -> a
    5:6:com.android.tools.r8.graph.ClassResolutionResult$Builder add(com.android.tools.r8.graph.DexLibraryClass):41:42 -> a
    7:8:com.android.tools.r8.graph.ClassResolutionResult$Builder add(com.android.tools.r8.graph.ProgramOrClasspathClass):47:48 -> a
    9:19:com.android.tools.r8.graph.ClassResolutionResult build():53:63 -> a
    20:20:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    20:20:com.android.tools.r8.graph.ClassResolutionResult build():63 -> a
    21:23:com.android.tools.r8.graph.ClassResolutionResult build():63:65 -> a
com.android.tools.r8.graph.ClassResolutionResult$ClasspathAndLibraryClassResolutionResult -> com.android.tools.r8.internal.Ma:
    1:1:void <init>(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexLibraryClass):136:136 -> <init>
    1:1:com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary():141:141 -> D
com.android.tools.r8.graph.ClassResolutionResult$MultipleClassResolutionResult -> com.android.tools.r8.internal.Na:
    com.android.tools.r8.graph.DexClass programOrClasspathClass -> b
    com.android.tools.r8.graph.DexLibraryClass libraryClass -> c
    1:3:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexLibraryClass):100:102 -> <init>
    boolean hasClassResolutionResult() -> Y
    1:2:void forEachClassResolutionResult(java.util.function.Consumer):112:113 -> a
com.android.tools.r8.graph.ClassResolutionResult$NoResolutionResult -> com.android.tools.r8.graph.u:
    com.android.tools.r8.graph.ClassResolutionResult$NoResolutionResult NO_RESULT -> b
    1:1:void <clinit>():72:72 -> <clinit>
    1:1:void <init>():70:70 -> <init>
    com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary() -> D
    boolean hasClassResolutionResult() -> Y
    void forEachClassResolutionResult(java.util.function.Consumer) -> a
    1:1:com.android.tools.r8.graph.ClassResolutionResult noResult():75:75 -> a
com.android.tools.r8.graph.ClassResolutionResult$ProgramAndLibraryClassResolutionResult -> com.android.tools.r8.internal.Oa:
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexLibraryClass):122:122 -> <init>
    1:1:com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary():127:127 -> D
com.android.tools.r8.graph.ClasspathDefinition -> com.android.tools.r8.internal.jb:
    1:1:com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext):22:22 -> a
com.android.tools.r8.graph.ClasspathField -> com.android.tools.r8.graph.v:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexEncodedField):11:11 -> <init>
    1:2:com.android.tools.r8.graph.DexClasspathClass getHolder():31:32 -> q
    1:2:com.android.tools.r8.graph.DexClass getHolder():7 -> q
    3:3:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> q
    3:3:com.android.tools.r8.graph.DexClasspathClass getHolder():32 -> q
    3:3:com.android.tools.r8.graph.DexClass getHolder():7 -> q
    4:5:com.android.tools.r8.graph.DexClasspathClass getHolder():32:33 -> q
    4:5:com.android.tools.r8.graph.DexClass getHolder():7 -> q
com.android.tools.r8.graph.ClasspathMethod -> com.android.tools.r8.graph.w:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexEncodedMethod):13:13 -> <init>
    1:2:com.android.tools.r8.graph.DexClasspathClass getHolder():43:44 -> L
    3:3:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> L
    3:3:com.android.tools.r8.graph.DexClasspathClass getHolder():44 -> L
    4:5:com.android.tools.r8.graph.DexClasspathClass getHolder():44:45 -> L
    com.android.tools.r8.graph.ClasspathMethod asClasspathMethod() -> N
    1:1:com.android.tools.r8.graph.DexClass getHolder():9:9 -> q
com.android.tools.r8.graph.ClasspathOrLibraryClass -> com.android.tools.r8.internal.kb:
    com.android.tools.r8.graph.DexClass asDexClass() -> h
com.android.tools.r8.graph.ClasspathOrLibraryContext -> com.android.tools.r8.internal.lb:
    com.android.tools.r8.graph.Definition context -> b
    com.android.tools.r8.graph.ProgramDerivedContext programDerivedContext -> c
    1:3:void <init>(com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.ProgramDerivedContext):17:19 -> <init>
    1:1:com.android.tools.r8.graph.ClasspathOrLibraryContext create(com.android.tools.r8.graph.ClasspathDefinition,com.android.tools.r8.graph.ProgramDerivedContext):24:24 -> a
    2:2:com.android.tools.r8.graph.ClasspathOrLibraryContext create(com.android.tools.r8.graph.LibraryDefinition,com.android.tools.r8.graph.ProgramDerivedContext):29:29 -> a
    1:1:com.android.tools.r8.graph.Definition getContext():34:34 -> getContext
com.android.tools.r8.graph.ClasspathOrLibraryDefinition -> com.android.tools.r8.internal.mb:
    com.android.tools.r8.graph.ClasspathOrLibraryDefinition asClasspathOrLibraryDefinition() -> g
com.android.tools.r8.graph.Code -> com.android.tools.r8.graph.x:
    1:1:void <init>():19:19 -> <init>
    1:1:com.android.tools.r8.graph.DexCode asDexCode():144:144 -> C
    com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> S
    1:1:com.android.tools.r8.graph.CfCode asCfCode():132:132 -> W
    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) -> a
    com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction) -> a
    void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry) -> a
    void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry) -> a
    java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper) -> a
    1:1: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):32:32 -> a
    2: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38}}
    36:36: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):32:32 -> a
    37:37: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):32:32 -> a
    38:38: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):32:32 -> a
    35:35: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):33:33 -> a
    39:39:com.android.tools.r8.graph.GraphLens getCodeLens(com.android.tools.r8.graph.AppView):37:37 -> a
    40:40:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):59:59 -> a
    41:41:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):153:153 -> a
    42:42:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):163:163 -> a
    1:1:boolean estimatedSizeForInliningAtMost(int):126:126 -> h
    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():136:136 -> n0
    1:1:com.android.tools.r8.graph.DexWritableCode asDexWritableCode():148:148 -> o0
    1:1:com.android.tools.r8.graph.LazyCfCode asLazyCfCode():140:140 -> p0
    int estimatedDexCodeSizeUpperBoundInBytes() -> q0
    int estimatedSizeForInlining() -> r0
    boolean isCfCode() -> s0
    boolean isCfWritableCode() -> t0
    boolean isDexCode() -> u0
    boolean isDexWritableCode() -> v0
    boolean isHorizontalClassMergingCode() -> w0
    boolean isSharedCodeObject() -> x0
    boolean verifyNoInputReaders() -> y0
com.android.tools.r8.graph.DebugLocalInfo -> com.android.tools.r8.internal.ze:
    com.android.tools.r8.graph.DexString name -> b
    com.android.tools.r8.graph.DexString signature -> d
    com.android.tools.r8.graph.DexType type -> c
    int $r8$clinit -> e
    1:4:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):36:39 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexString lambda$specify$0(com.android.tools.r8.graph.DebugLocalInfo):31:31 -> a
    2:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):31:33 -> a
    5:9:boolean localsInfoMapsEqual(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):60:64 -> a
    10:14:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):132:136 -> a
    15:15:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):130:130 -> a
    16:16:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):128:128 -> a
    17:17:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):126:126 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$specify$1(com.android.tools.r8.graph.DebugLocalInfo):32:32 -> b
    1:1:com.android.tools.r8.graph.DexString lambda$specify$2(com.android.tools.r8.graph.DebugLocalInfo):33:33 -> c
    1:5:boolean equals(java.lang.Object):104:108 -> equals
    1:3:int hashCode():113:115 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():49:49 -> n
    1:1:java.lang.String toString():122:122 -> toString
com.android.tools.r8.graph.DefaultInstanceInitializerCode -> com.android.tools.r8.graph.z:
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.graph.DefaultInstanceInitializerCode INSTANCE -> d
    1:4:void <clinit>():55:58 -> <clinit>
    1:1:void <init>():61:61 -> <init>
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> O
    com.android.tools.r8.graph.Code asCode() -> R
    int getOutgoingRegisterSize() -> U
    int codeSizeInBytes() -> Z
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean) -> a
    void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep) -> a
    1:2:boolean canonicalizeCodeIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):68:69 -> a
    3:4:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):81:82 -> a
    5:5:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    5:5:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):82 -> a
    6:7:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):82:83 -> a
    8:12:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):330:334 -> a
    8:12:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):83 -> a
    13:18:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):331:336 -> a
    13:18:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):83 -> a
    19:19:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):83:83 -> a
    20:49:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):88:117 -> a
    50:50:boolean com.android.tools.r8.cf.code.CfInvoke.isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):141:141 -> a
    50:50:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):119 -> a
    51:51:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):120:120 -> a
    52:52:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():22:22 -> a
    52:52:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229 -> a
    52:52:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):120 -> a
    53:53:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    53:53:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):120 -> a
    54:54:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):123:123 -> a
    55:55:boolean com.android.tools.r8.cf.code.CfInstruction.isReturnVoid():0:0 -> a
    55:55:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):123 -> a
    56:56:boolean lambda$hasDefaultInstanceInitializerCode$0(com.android.tools.r8.cf.code.CfInstruction):111:111 -> a
    57:57:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    57:57:boolean lambda$hasDefaultInstanceInitializerCode$0(com.android.tools.r8.cf.code.CfInstruction):111 -> a
    58:58:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    58:58:boolean lambda$hasDefaultInstanceInitializerCode$0(com.android.tools.r8.cf.code.CfInstruction):111 -> a
    59:59:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):133:133 -> a
    60:60: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):139:139 -> a
    61:61:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    61:61: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):139 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62: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):140:140 -> a
    63:63:void com.android.tools.r8.graph.DefaultInstanceInitializerCode$DefaultInstanceInitializerSourceCode.<init>(com.android.tools.r8.graph.DexMethod):389:389 -> a
    63:63: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):140 -> a
    64:64: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):142:142 -> a
    65:65: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):156:156 -> a
    66:66:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    66:66: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):156 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    67:71: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):157:161 -> a
    72:72:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175:175 -> a
    73:73:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():22:22 -> a
    73:73:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229 -> a
    73:73:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    74:74:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    74:74:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
    75:75:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    75:75:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    76:76:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    76:76:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    76:76:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
    77:77:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    77:77:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    77:77:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    77:77:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
    78:78:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):225:225 -> a
    78:78:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):251 -> a
    79:79:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310:310 -> a
    79:79:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):301 -> a
    80:80:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    80:80:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310 -> a
    80:80:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):301 -> a
    81:81:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310:310 -> a
    81:81:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):301 -> a
    82:82:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310:310 -> a
    82:82:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):306 -> a
    83:83:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    83:83:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310 -> a
    83:83:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):306 -> a
    84:84:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310:310 -> a
    84:84:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):306 -> a
    85:88:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):347:350 -> a
    89:97:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):348:356 -> a
    98:98:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):366:366 -> a
    99:99:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():22:22 -> a
    99:99:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229 -> a
    99:99:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):366 -> a
    100:100:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    100:100:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):366 -> a
    101:103:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):366:368 -> a
    104:104:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):383:383 -> a
    1:1:boolean lambda$hasDefaultInstanceInitializerCode$1(com.android.tools.r8.cf.code.CfInstruction):112:112 -> b
    2:2:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> b
    2:2:boolean lambda$hasDefaultInstanceInitializerCode$1(com.android.tools.r8.cf.code.CfInstruction):112 -> b
    3:3:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):225:225 -> b
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    1:3:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):233:235 -> d
    boolean computeEquals(java.lang.Object) -> h
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():205:205 -> m
    1:1:int computeHashCode():185:185 -> m0
    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> n0
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():256:256 -> o
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> o0
    int estimatedDexCodeSizeUpperBoundInBytes() -> q0
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():215:215 -> s
    1:1:java.lang.String toString():378:378 -> toString
    com.android.tools.r8.graph.DexString getHighestSortingString() -> u
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> w
    1:1:com.android.tools.r8.graph.DefaultInstanceInitializerCode get():64:64 -> z0
com.android.tools.r8.graph.DefaultInstanceInitializerCode$DefaultInstanceInitializerSourceCode -> com.android.tools.r8.graph.y:
    1:6:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):394:399 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):393:393 -> <init>
    1:1:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):406:406 -> d
    2:2:com.android.tools.r8.ir.code.InvokeDirect$Builder com.android.tools.r8.ir.code.InvokeDirect.builder():50:50 -> d
    2:2:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):406 -> d
    3:3:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):409:409 -> d
    4:4:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> d
    4:4:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):409 -> d
    5:5:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):408:408 -> d
    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():22:22 -> d
    6:6:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DefaultInstanceInitializerCode.getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):408 -> d
    7:7:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DefaultInstanceInitializerCode.getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> d
    7:7:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):408 -> d
    8:11:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):407:410 -> d
    12:12:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> d
    12:12:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):410 -> d
    13:14:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):410:411 -> d
    15:15:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):405:405 -> d
    1:1:java.util.List getInstructionBuilders():403:403 -> f
com.android.tools.r8.graph.Definition -> com.android.tools.r8.internal.Ve:
    com.android.tools.r8.graph.ClasspathOrLibraryClass asClasspathOrLibraryClass() -> A
    com.android.tools.r8.graph.ProgramMethod asProgramMethod() -> I
    boolean isMethod() -> J
    boolean isField() -> K
    boolean isProgramField() -> M
    com.android.tools.r8.graph.ClasspathMethod asClasspathMethod() -> N
    boolean isProgramMethod() -> P
    com.android.tools.r8.graph.ProgramMember asProgramMember() -> Q
    com.android.tools.r8.graph.DexType getContextType() -> T
    com.android.tools.r8.graph.ProgramField asProgramField() -> X
    com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext) -> a
    com.android.tools.r8.graph.DexClass getContextClass() -> a
    com.android.tools.r8.graph.LibraryMethod asLibraryMethod() -> a0
    boolean isProgramMember() -> b0
    com.android.tools.r8.graph.DexClassAndMethod asMethod() -> c
    com.android.tools.r8.graph.DexClassAndField asField() -> d
    com.android.tools.r8.graph.ProgramDefinition asProgramDefinition() -> e
    com.android.tools.r8.graph.DexProgramClass asProgramClass() -> e0
    boolean isProgramDefinition() -> f
    boolean isProgramClass() -> f0
    com.android.tools.r8.graph.ClasspathOrLibraryDefinition asClasspathOrLibraryDefinition() -> g
    com.android.tools.r8.graph.DexDefinition getDefinition() -> i
    com.android.tools.r8.graph.DexClassAndMember asMember() -> i0
    com.android.tools.r8.graph.LibraryField asLibraryField() -> k
    1:1:boolean isMember():64:64 -> t
com.android.tools.r8.graph.DexAnnotation -> com.android.tools.r8.graph.A:
    com.android.tools.r8.graph.DexEncodedAnnotation annotation -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexAnnotation[] EMPTY_ARRAY -> d
    int visibility -> b
    1:26:void <clinit>():27:52 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.graph.DexEncodedAnnotation):63:65 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):60:60 -> a
    2:2:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):110:110 -> a
    3:9:boolean retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):114:120 -> a
    10:10:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    10:10:boolean retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):120 -> a
    11:14:boolean retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):123:126 -> a
    15:15:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
    15:15:boolean retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):126 -> a
    16:16:com.android.tools.r8.graph.DexAnnotation createEnclosingClassAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):134:134 -> a
    17:21:com.android.tools.r8.graph.DexType getEnclosingClassFromAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):140:144 -> a
    22:22:com.android.tools.r8.graph.DexAnnotation createEnclosingMethodAnnotation(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):149:149 -> a
    23:27:com.android.tools.r8.graph.DexAnnotation createMemberClassesAnnotation(java.util.List,com.android.tools.r8.graph.DexItemFactory):216:220 -> a
    28:36:com.android.tools.r8.graph.DexAnnotation createMethodParametersAnnotation(com.android.tools.r8.graph.DexValue[],com.android.tools.r8.graph.DexValue[],com.android.tools.r8.graph.DexItemFactory):249:257 -> a
    37:41:com.android.tools.r8.graph.DexAnnotation createAnnotationDefaultAnnotation(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):264:264 -> a
    42:42:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):272:272 -> a
    43:70:com.android.tools.r8.graph.DexValue compressSignature(java.lang.String,com.android.tools.r8.graph.DexItemFactory):353:380 -> a
    43:70:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):273 -> a
    71:71:com.android.tools.r8.graph.DexValue toDexValue(java.lang.String,com.android.tools.r8.graph.DexItemFactory):388:388 -> a
    71:71:com.android.tools.r8.graph.DexValue compressSignature(java.lang.String,com.android.tools.r8.graph.DexItemFactory):380 -> a
    71:71:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):273 -> a
    72:76:com.android.tools.r8.graph.DexValue compressSignature(java.lang.String,com.android.tools.r8.graph.DexItemFactory):380:384 -> a
    72:76:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):273 -> a
    77:77:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):272:272 -> a
    78:83:java.lang.String getSignature(com.android.tools.r8.graph.DexAnnotation):277:282 -> a
    84:84:com.android.tools.r8.graph.DexAnnotation createThrowsAnnotation(com.android.tools.r8.graph.DexValue[],com.android.tools.r8.graph.DexItemFactory):292:292 -> a
    85:87:com.android.tools.r8.graph.DexAnnotation createSystemValueAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexValue):298:300 -> a
    88:92:com.android.tools.r8.graph.DexValue getSystemValueAnnotationValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotation):305:309 -> a
    93:114:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSynthesizedClassAnnotationInfo(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):410:431 -> a
    115:116:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.fromDescriptor(java.lang.String):118:119 -> a
    115:116:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSynthesizedClassAnnotationInfo(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):430 -> a
    117:124:com.android.tools.r8.graph.DexAnnotation rewrite(java.util.function.Function):436:443 -> a
    1:1:com.android.tools.r8.graph.DexEncodedAnnotation lambda$specify$0(com.android.tools.r8.graph.DexAnnotation):60:60 -> b
    2:6:com.android.tools.r8.graph.DexMethod getEnclosingMethodFromAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):155:159 -> b
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexAnnotation):60:60 -> c
    2:12:com.android.tools.r8.utils.Pair getInnerClassFromAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):198:208 -> c
    1:8:java.util.List getMemberClassesFromAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):226:233 -> d
    1:1:boolean isEnclosingClassAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):164:164 -> e
    1:3:boolean equals(java.lang.Object):92:94 -> equals
    1:1:boolean isEnclosingMethodAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):169:169 -> f
    1:1:boolean isInnerClassAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):173:173 -> g
    1:1:boolean isMemberClassesAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):178:178 -> h
    1:1:int hashCode():84:84 -> hashCode
    1:1:boolean isSignatureAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):319:319 -> i
    1:1:com.android.tools.r8.graph.DexType getAnnotationType():79:79 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():75:75 -> n
    1:1:java.lang.String toString():101:101 -> toString
com.android.tools.r8.graph.DexAnnotation$AnnotatedKind -> com.android.tools.r8.internal.Wf:
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind FIELD -> b
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind METHOD -> c
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind TYPE -> d
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind PARAMETER -> e
    1:4:void <clinit>():30:33 -> <clinit>
    1:1:void <init>(java.lang.String,int):29:29 -> <init>
    1:1:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    2:2:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind from(com.android.tools.r8.graph.DexReference):44:44 -> a
    3:3:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$from$0(com.android.tools.r8.graph.DexType):44:44 -> a
    4:4:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$from$1(com.android.tools.r8.graph.DexField):44:44 -> a
    5:5:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$from$2(com.android.tools.r8.graph.DexMethod):44:44 -> a
com.android.tools.r8.graph.DexAnnotationDirectory -> com.android.tools.r8.graph.B:
    java.util.List fieldAnnotations -> e
    com.android.tools.r8.graph.DexProgramClass clazz -> b
    java.util.List parameterAnnotations -> d
    java.util.List methodAnnotations -> c
    boolean classHasOnlyInternalizableAnnotations -> f
    1:20:void <init>(com.android.tools.r8.graph.DexProgramClass):20:39 -> <init>
    1:5:void lambda$new$0(com.android.tools.r8.graph.DexEncodedMethod):30:34 -> a
    6:6:int lambda$sortMethodAnnotations$1(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):49:49 -> a
    7:7:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    7:7:int lambda$sortMethodAnnotations$1(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):49 -> a
    8:8:int lambda$sortFieldAnnotations$3(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):60:60 -> a
    9:9:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> a
    9:9:int lambda$sortFieldAnnotations$3(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):60 -> a
    10:11:java.util.List sortFieldAnnotations(com.android.tools.r8.utils.structural.CompareToVisitor):60:61 -> a
    12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):96:96 -> a
    1:2:java.util.List sortMethodAnnotations(com.android.tools.r8.utils.structural.CompareToVisitor):49:50 -> b
    3:3:int lambda$sortParameterAnnotations$2(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):55:55 -> b
    4:4:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> b
    4:4:int lambda$sortParameterAnnotations$2(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):55 -> b
    1:3:java.util.List sortParameterAnnotations(com.android.tools.r8.utils.structural.CompareToVisitor):54:56 -> c
    1:11:boolean equals(java.lang.Object):73:83 -> equals
    1:4:int hashCode():88:91 -> hashCode
    1:1:com.android.tools.r8.graph.DexAnnotationSet getClazzAnnotations():45:45 -> m0
com.android.tools.r8.graph.DexAnnotationElement -> com.android.tools.r8.graph.C:
    com.android.tools.r8.graph.DexValue value -> c
    com.android.tools.r8.graph.DexString name -> b
    com.android.tools.r8.graph.DexAnnotationElement[] EMPTY_ARRAY -> d
    boolean $assertionsDisabled -> e
    1:2:void <clinit>():12:13 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexValue):22:24 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexString lambda$specify$0(com.android.tools.r8.graph.DexAnnotationElement):19:19 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):19:19 -> a
    3:3:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):71:71 -> a
    1:1:com.android.tools.r8.graph.DexValue lambda$specify$1(com.android.tools.r8.graph.DexAnnotationElement):19:19 -> b
    1:3:boolean equals(java.lang.Object):51:53 -> equals
    1:1:int hashCode():43:43 -> hashCode
    1:1:com.android.tools.r8.graph.DexValue getValue():38:38 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():34:34 -> n
    1:1:java.lang.String toString():60:60 -> toString
com.android.tools.r8.graph.DexAnnotationSet -> com.android.tools.r8.graph.D:
    com.android.tools.r8.graph.DexAnnotation[] annotations -> d
    int sorted -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexAnnotationSet THE_EMPTY_ANNOTATIONS_SET -> g
    com.android.tools.r8.graph.DexAnnotationSet[] EMPTY_ARRAY -> f
    1:7:void <clinit>():27:33 -> <clinit>
    1:1:void <init>():42:42 -> <init>
    2:9:void <init>():36:43 -> <init>
    10:10:void <init>(com.android.tools.r8.graph.DexAnnotation[]):46:46 -> <init>
    11:23:void <init>(com.android.tools.r8.graph.DexAnnotation[]):36:48 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexAnnotation[] lambda$specify$0(com.android.tools.r8.graph.DexAnnotationSet):39:39 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):39:39 -> a
    3:3:com.android.tools.r8.graph.DexAnnotationSet create(com.android.tools.r8.graph.DexAnnotation[]):52:52 -> a
    4:4:boolean com.android.tools.r8.utils.ArrayUtils.isEmpty(java.lang.Object[]):51:51 -> a
    4:4:com.android.tools.r8.graph.DexAnnotationSet create(com.android.tools.r8.graph.DexAnnotation[]):52 -> a
    5:5:com.android.tools.r8.graph.DexAnnotationSet create(com.android.tools.r8.graph.DexAnnotation[]):52:52 -> a
    6:7:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> a
    8:9:void sort(com.android.tools.r8.naming.NamingLens):136:137 -> a
    10:10:int sortedHashCode():175:175 -> a
    10:10:void sort(com.android.tools.r8.naming.NamingLens):137 -> a
    11:20:void sort(com.android.tools.r8.naming.NamingLens):137:146 -> a
    21:21:int lambda$sort$1(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):142:142 -> a
    22:23:com.android.tools.r8.graph.DexAnnotation getFirstMatching(com.android.tools.r8.graph.DexType):150:151 -> a
    24:24:com.android.tools.r8.graph.DexAnnotation lambda$removeIf$2(java.util.function.Predicate,com.android.tools.r8.graph.DexAnnotation):204:204 -> a
    25:25:com.android.tools.r8.graph.DexAnnotationSet removeIf(java.util.function.Predicate):204:204 -> a
    26:30:com.android.tools.r8.graph.DexAnnotationSet rewrite(java.util.function.Function):208:212 -> a
    31:54:com.android.tools.r8.graph.DexAnnotationSet methodParametersWithFakeThisArguments(com.android.tools.r8.graph.DexItemFactory):217:240 -> a
    55:65:com.android.tools.r8.graph.DexAnnotationSet methodParametersWithFakeThisArguments(com.android.tools.r8.graph.DexItemFactory):239:249 -> a
    1:8:com.android.tools.r8.graph.DexAnnotationSet getWithout(com.android.tools.r8.graph.DexType):160:167 -> b
    1:2:void forEach(java.util.function.Consumer):92:93 -> forEach
    1:3:boolean computeEquals(java.lang.Object):112:114 -> h
    1:1:boolean isEmpty():132:132 -> isEmpty
    1:1:int computeHashCode():107:107 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():70:70 -> n
    1:1:com.android.tools.r8.graph.DexAnnotationSet empty():88:88 -> n0
    1:1:com.android.tools.r8.graph.DexAnnotation get(int):56:56 -> o0
    1:1:com.android.tools.r8.graph.DexAnnotation getFirst():60 -> o0
    1:1:int size():102:102 -> size
    1:1:java.util.stream.Stream stream():98:98 -> stream
    1:1:java.lang.String toString():254:254 -> toString
com.android.tools.r8.graph.DexApplication -> com.android.tools.r8.graph.F:
    com.android.tools.r8.naming.ClassNameMapper proguardMap -> b
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
    com.android.tools.r8.utils.Timing timing -> c
    com.android.tools.r8.graph.DexApplicationReadFlags flags -> f
    com.android.tools.r8.graph.DexString highestSortingString -> g
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> h
    com.android.tools.r8.com.google.common.collect.ImmutableList dataResourceProviders -> a
    1:1:void <clinit>():25:25 -> <clinit>
    1:8:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):47:54 -> <init>
    1:1:com.android.tools.r8.graph.DexApplicationReadFlags access$000(com.android.tools.r8.graph.DexApplication):25:25 -> a
    2:2:com.android.tools.r8.graph.DexItemFactory dexItemFactory():61:61 -> a
    3:3:com.android.tools.r8.graph.DexDefinitionSupplier getDefinitionsSupplier(com.android.tools.r8.synthesis.SyntheticDefinitionsProvider):67:67 -> a
    4:4:java.util.List classesWithDeterministicOrder(java.util.List):136:136 -> a
    5:6:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):263:264 -> a
    7:7:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):269:269 -> a
    7:7:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):263 -> a
    8:8:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):269:269 -> a
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication asDirect():273:273 -> b
    com.android.tools.r8.graph.DexApplication$Builder builder() -> c
    com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType) -> c
    1:3:java.util.Collection classes():120:122 -> d
    com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType) -> e
    1:1:java.util.Collection classesWithDeterministicOrder():126:126 -> e
    1:1:com.android.tools.r8.graph.DexApplicationReadFlags getFlags():141:141 -> f
    1:1:com.android.tools.r8.naming.ClassNameMapper getProguardMap():153:153 -> g
    java.util.Collection programClasses() -> h
    com.android.tools.r8.graph.DirectMappedDexApplication toDirect() -> i
com.android.tools.r8.graph.DexApplication$1 -> com.android.tools.r8.graph.E:
    com.android.tools.r8.graph.DexApplication val$self -> b
    com.android.tools.r8.synthesis.SyntheticDefinitionsProvider val$syntheticDefinitionsProvider -> a
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.synthesis.SyntheticDefinitionsProvider,com.android.tools.r8.graph.DexApplication):67:67 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():84:84 -> a
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):71:71 -> d
    1:3:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):77:79 -> e
com.android.tools.r8.graph.DexApplication$Builder -> com.android.tools.r8.graph.F$a:
    java.util.List dataResourceProviders -> b
    java.util.List programClasses -> a
    com.android.tools.r8.utils.Timing timing -> e
    com.android.tools.r8.graph.DexApplicationReadFlags flags -> f
    com.android.tools.r8.naming.ClassNameMapper proguardMap -> d
    com.android.tools.r8.utils.InternalOptions options -> c
    com.android.tools.r8.graph.DexString highestSortingString -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():156:156 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):171:171 -> <init>
    2:19:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):158:175 -> <init>
    20:20:void <init>(com.android.tools.r8.graph.DexApplication):180:180 -> <init>
    21:52:void <init>(com.android.tools.r8.graph.DexApplication):158:189 -> <init>
    com.android.tools.r8.graph.DirectMappedDexApplication$Builder asDirect() -> a
    1:1:void setFlags(com.android.tools.r8.graph.DexApplicationReadFlags):201:201 -> a
    2:4:com.android.tools.r8.graph.DexApplication$Builder setProguardMap(com.android.tools.r8.naming.ClassNameMapper):205:207 -> a
    5:6:com.android.tools.r8.graph.DexApplication$Builder removeProgramClasses(java.util.function.Predicate):211:212 -> a
    7:10:com.android.tools.r8.graph.DexApplication$Builder replaceProgramClasses(java.util.Collection):216:219 -> a
    11:11:com.android.tools.r8.graph.DexApplication$Builder addDataResourceProvider(com.android.tools.r8.DataResourceProvider):223:223 -> a
    12:13:com.android.tools.r8.graph.DexApplication$Builder setHighestSortingString(com.android.tools.r8.graph.DexString):228:229 -> a
    14:15:com.android.tools.r8.graph.DexApplication$Builder addProgramClass(com.android.tools.r8.graph.DexProgramClass):233:234 -> a
    void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass) -> b
    com.android.tools.r8.graph.DexApplication build() -> b
    1:1:java.util.List getProgramClasses():252:252 -> c
    com.android.tools.r8.graph.DexApplication$Builder self() -> d
com.android.tools.r8.graph.DexApplication$ReorderBox -> com.android.tools.r8.graph.G:
    java.util.Collection classes -> a
    1:2:void <init>(java.util.Collection):99:100 -> <init>
    1:1:java.util.Collection getClasses():113:113 -> a
    1:3:boolean reorderClasses():105:107 -> b
com.android.tools.r8.graph.DexApplicationReadFlags -> com.android.tools.r8.internal.Xf:
    boolean hasReadProgramClassFromDex -> a
    boolean hasReadProgramClassFromCf -> b
    boolean hasReadRecordReferenceFromProgramClass -> c
    1:4:void <init>(boolean,boolean,boolean):17:20 -> <init>
    1:1:boolean hasReadProgramClassFromCf():24:24 -> a
    1:1:boolean hasReadProgramClassFromDex():28:28 -> b
    1:1:boolean hasReadRecordReferenceFromProgramClass():32:32 -> c
com.android.tools.r8.graph.DexByteCodeWriter -> com.android.tools.r8.internal.lg:
    com.android.tools.r8.graph.DexApplication application -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    1:3:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions):27:29 -> <init>
    java.lang.String getFileEnding() -> a
    java.io.PrintStream lambda$write$1(java.io.PrintStream,com.android.tools.r8.graph.DexClass) -> a
    void lambda$write$2(java.io.PrintStream) -> a
    void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream) -> a
    void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream) -> a
    1:1:com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider oneFilePerClass(java.nio.file.Path):40:40 -> a
    2:4:java.io.PrintStream lambda$oneFilePerClass$0(java.nio.file.Path,com.android.tools.r8.graph.DexClass):41:41 -> a
    6:8:java.io.PrintStream lambda$oneFilePerClass$0(java.nio.file.Path,com.android.tools.r8.graph.DexClass):43:43 -> a
    9:11:void com.android.tools.r8.graph.DexByteCodeWriter.ensureParentExists(java.nio.file.Path):33:35 -> a
    9:11:java.io.PrintStream lambda$oneFilePerClass$0(java.nio.file.Path,com.android.tools.r8.graph.DexClass):45 -> a
    12:12:java.io.PrintStream lambda$oneFilePerClass$0(java.nio.file.Path,com.android.tools.r8.graph.DexClass):46:46 -> a
    13:14:boolean anyMethodMatches(com.android.tools.r8.graph.DexClass):86:87 -> a
    15:22:void writeClass(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:98 -> a
    23:23:void lambda$writeClass$3(java.io.PrintStream,com.android.tools.r8.graph.DexEncodedField):93:93 -> a
    24:24:void lambda$writeClass$4(java.io.PrintStream,com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    void writeClassFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> b
    1:2:void write(java.nio.file.Path):51:52 -> b
    3:10:void com.android.tools.r8.graph.DexByteCodeWriter.write(com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider,java.util.function.Consumer):72:79 -> b
    3:10:void write(java.nio.file.Path):52 -> b
    11:13:void com.android.tools.r8.graph.DexByteCodeWriter.ensureParentExists(java.nio.file.Path):33:35 -> b
    11:13:void write(java.nio.file.Path):54 -> b
    14:17:void write(java.nio.file.Path):55:55 -> b
    19:19:void write(java.nio.file.Path):57:57 -> b
    20:21:void write(java.io.PrintStream):62:63 -> b
    22:22:void write(java.io.PrintStream):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:void write(java.io.PrintStream):63:63 -> b
    99:99:void write(java.io.PrintStream):63:63 -> b
    100:100:void write(java.io.PrintStream):63:63 -> b
    85:89:void write(java.io.PrintStream):63:67 -> b
    90:97:void com.android.tools.r8.graph.DexByteCodeWriter.write(com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider,java.util.function.Consumer):72:79 -> b
    90:97:void write(java.io.PrintStream):67 -> b
    void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> c
    void writeFieldsFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> c
    void writeFieldsHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> d
com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider -> com.android.tools.r8.internal.kg:
    java.io.PrintStream get(com.android.tools.r8.graph.DexClass) -> a
com.android.tools.r8.graph.DexCallSite -> com.android.tools.r8.graph.I:
    com.android.tools.r8.graph.DexString methodName -> e
    com.android.tools.r8.graph.DexMethod method -> j
    int instructionOffset -> k
    com.android.tools.r8.graph.DexProto methodProto -> f
    com.android.tools.r8.graph.DexEncodedArray encodedArray -> i
    boolean $assertionsDisabled -> l
    java.util.List bootstrapArgs -> h
    com.android.tools.r8.graph.DexMethodHandle bootstrapMethod -> g
    1:1:void <clinit>():28:28 -> <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):62:62 -> <init>
    2:36:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):37:71 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:11:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):45:55 -> a
    12:12:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexCallSite):49:49 -> a
    13:18:void setContext(com.android.tools.r8.graph.DexMethod,int):124:129 -> a
    19:19:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):176:176 -> a
    20:20:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):181:181 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCallSite):50:50 -> b
    1:1:com.android.tools.r8.graph.DexString lambda$specify$2(com.android.tools.r8.graph.DexCallSite):52:52 -> c
    1:1:com.android.tools.r8.graph.DexProto lambda$specify$3(com.android.tools.r8.graph.DexCallSite):53:53 -> d
    1:1:com.android.tools.r8.graph.DexMethodHandle lambda$specify$4(com.android.tools.r8.graph.DexCallSite):54:54 -> e
    1:1:java.util.Collection lambda$specify$5(com.android.tools.r8.graph.DexCallSite):55:55 -> f
    boolean computeEquals(java.lang.Object) -> h
    1:1:java.lang.String toSmaliString():187:187 -> k0
    1:1:int computeHashCode():137:137 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():120:120 -> n
    1:14:com.android.tools.r8.graph.DexEncodedArray getEncodedArray():297:310 -> n0
    1:1:java.lang.String getHash():191:191 -> o0
    1:11:java.lang.String toString():150:160 -> toString
com.android.tools.r8.graph.DexCallSite$HashBuilder -> com.android.tools.r8.graph.H:
    java.io.ByteArrayOutputStream bytes -> a
    com.android.tools.r8.graph.DexCallSite this$0 -> c
    java.io.ObjectOutputStream out -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():194:194 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexCallSite):194:194 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexCallSite$1):194:194 -> <init>
    1:2:void write(com.android.tools.r8.graph.DexString):199:200 -> a
    3:4:void write(com.android.tools.r8.graph.DexProto):217:218 -> a
    5:5:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    5:5:void write(com.android.tools.r8.graph.DexProto):218 -> a
    6:8:void write(com.android.tools.r8.graph.DexProto):219:221 -> a
    9:9:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    9:9:void write(com.android.tools.r8.graph.DexProto):222 -> a
    10:39:void write(java.util.List):239:268 -> a
    40:40:void write(java.util.List):265:265 -> a
    41:41:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    41:41:void write(java.util.List):265 -> a
    42:42:void write(java.util.List):262:262 -> a
    43:43:void write(java.util.List):256:256 -> a
    44:44:void write(com.android.tools.r8.graph.DexMethodHandle):208:208 -> a
    44:44:void write(java.util.List):256 -> a
    45:45:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    45:45:void write(com.android.tools.r8.graph.DexMethodHandle):209 -> a
    45:45:void write(java.util.List):256 -> a
    46:46:void write(com.android.tools.r8.graph.DexMethodHandle):210:210 -> a
    46:46:void write(java.util.List):256 -> a
    47:47:void write(com.android.tools.r8.graph.DexField):233:233 -> a
    47:47:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    47:47:void write(java.util.List):256 -> a
    48:48:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    48:48:void write(com.android.tools.r8.graph.DexField):233 -> a
    48:48:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    48:48:void write(java.util.List):256 -> a
    49:49:void write(com.android.tools.r8.graph.DexField):234:234 -> a
    49:49:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    49:49:void write(java.util.List):256 -> a
    50:50:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    50:50:void write(com.android.tools.r8.graph.DexField):234 -> a
    50:50:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    50:50:void write(java.util.List):256 -> a
    51:51:void write(com.android.tools.r8.graph.DexField):235:235 -> a
    51:51:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    51:51:void write(java.util.List):256 -> a
    52:52:void write(com.android.tools.r8.graph.DexMethodHandle):212:212 -> a
    52:52:void write(java.util.List):256 -> a
    53:53:void write(com.android.tools.r8.graph.DexMethod):227:227 -> a
    53:53:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    53:53:void write(java.util.List):256 -> a
    54:54:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    54:54:void write(com.android.tools.r8.graph.DexMethod):227 -> a
    54:54:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    54:54:void write(java.util.List):256 -> a
    55:56:void write(com.android.tools.r8.graph.DexMethod):228:229 -> a
    55:56:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    55:56:void write(java.util.List):256 -> a
    57:57:void write(java.util.List):259:259 -> a
    58:67:void write(java.util.List):244:253 -> a
    68:86:void write(java.util.List):250:268 -> a
    87:95:java.lang.String build():275:283 -> a
    96:96:void write(com.android.tools.r8.graph.DexMethodHandle):208:208 -> a
    96:96:java.lang.String build():283 -> a
    97:97:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    97:97:void write(com.android.tools.r8.graph.DexMethodHandle):209 -> a
    97:97:java.lang.String build():283 -> a
    98:98:void write(com.android.tools.r8.graph.DexMethodHandle):210:210 -> a
    98:98:java.lang.String build():283 -> a
    99:99:void write(com.android.tools.r8.graph.DexField):233:233 -> a
    99:99:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    99:99:java.lang.String build():283 -> a
    100:100:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    100:100:void write(com.android.tools.r8.graph.DexField):233 -> a
    100:100:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    100:100:java.lang.String build():283 -> a
    101:101:void write(com.android.tools.r8.graph.DexField):234:234 -> a
    101:101:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    101:101:java.lang.String build():283 -> a
    102:102:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    102:102:void write(com.android.tools.r8.graph.DexField):234 -> a
    102:102:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    102:102:java.lang.String build():283 -> a
    103:103:void write(com.android.tools.r8.graph.DexField):235:235 -> a
    103:103:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    103:103:java.lang.String build():283 -> a
    104:104:void write(com.android.tools.r8.graph.DexMethodHandle):212:212 -> a
    104:104:java.lang.String build():283 -> a
    105:105:void write(com.android.tools.r8.graph.DexMethod):227:227 -> a
    105:105:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    105:105:java.lang.String build():283 -> a
    106:106:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    106:106:void write(com.android.tools.r8.graph.DexMethod):227 -> a
    106:106:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    106:106:java.lang.String build():283 -> a
    107:108:void write(com.android.tools.r8.graph.DexMethod):228:229 -> a
    107:108:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    107:108:java.lang.String build():283 -> a
    109:116:java.lang.String build():284:291 -> a
com.android.tools.r8.graph.DexClass -> com.android.tools.r8.graph.J:
    com.android.tools.r8.graph.GenericSignature$ClassSignature classSignature -> r
    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
    boolean $assertionsDisabled -> s
    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
    com.android.tools.r8.graph.DexType type -> e
    1:1:void <clinit>():43:43 -> <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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):103:103 -> <init>
    2:72: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):57:127 -> <init>
    73:73: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":464,"2":465,"3":466}}
    464:464: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):127:127 -> <init>
    465:465: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):127:127 -> <init>
    466:466: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):127:127 -> <init>
    200:204: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):127:131 -> <init>
    205:205: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":464,"2":465,"3":466}}
    464:464: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):131:131 -> <init>
    465:465: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):131:131 -> <init>
    466:466: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):131:131 -> <init>
    336:338: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):131:133 -> <init>
    339:339: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    340:340: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":464,"2":465,"3":466}}
    464:464: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    465:465: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    466:466: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    463:463: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.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    1:1:java.lang.Iterable classMethods():228:228 -> A0
    1:1:void clearClassSignature():1059:1059 -> B0
    1:1:void clearEnclosingMethodAttribute():1045:1045 -> C0
    com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary() -> D
    1:1:void clearInnerClasses():1055:1055 -> D0
    1:2:com.android.tools.r8.graph.DexEncodedField[] clearInstanceFields():495:496 -> E0
    1:1:void clearNestHost():1120:1120 -> F0
    boolean isClasspathClass() -> G
    1:1:void clearNestMembers():1124:1124 -> G0
    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> H
    1:2:com.android.tools.r8.graph.DexEncodedField[] clearStaticFields():403:404 -> H0
    1:2:boolean defaultValuesForStaticFieldsMayTriggerAllocation():1019:1020 -> I0
    1:1:java.lang.Iterable directMethods():245:245 -> J0
    1:1:java.lang.Iterable fields():205:205 -> K0
    1:1:com.android.tools.r8.graph.ClassAccessFlags getAccessFlags():181:181 -> L0
    1:2:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():755:756 -> M0
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature getClassSignature():1088:1088 -> N0
    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1037:1037 -> O0
    1:2:com.android.tools.r8.graph.InnerClassAttribute getInnerClassAttributeForThisClass():1067:1068 -> P0
    1:1:java.util.List getInnerClasses():1025:1025 -> Q0
    1:1:com.android.tools.r8.graph.DexTypeList getInterfaces():185:185 -> R0
    1:5:com.android.tools.r8.graph.DexType getNestHost():1145:1149 -> S0
    1:1:com.android.tools.r8.graph.NestHostClassAttribute getNestHostClassAttribute():1160:1160 -> T0
    1:1:java.util.List getNestMembersClassAttributes():1168:1168 -> U0
    1:1:java.lang.String getSimpleName():1183:1183 -> V0
    1:1:com.android.tools.r8.graph.DexString getSourceFile():193:193 -> W0
    1:1:com.android.tools.r8.graph.DexType getSuperType():786:786 -> X0
    boolean hasClassResolutionResult() -> Y
    1:1:java.lang.String getTypeName():1187:1187 -> Y0
    1:1:boolean hasClassInitializer():790:790 -> Z0
    void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer) -> a
    com.android.tools.r8.graph.DexClass getContextClass() -> a
    boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set) -> a
    java.util.Iterator lambda$allImmediateSupertypes$9(java.util.Iterator) -> a
    1:1:void forEachClassResolutionResult(java.util.function.Consumer):145:145 -> a
    2:2:void forEachClassFieldMatching(java.util.function.Predicate,java.util.function.Consumer):165:165 -> a
    3:3:void forEachFieldMatching(java.util.function.Predicate,java.util.function.Consumer):338:338 -> a
    3:3:void forEachClassFieldMatching(java.util.function.Predicate,java.util.function.Consumer):165 -> a
    4:4:void lambda$forEachClassFieldMatching$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):165:165 -> a
    5:5:void lambda$forEachClassMethodMatching$1(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):176:176 -> a
    6:6:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):241:241 -> a
    7:7:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):253:253 -> a
    8:8:void addDirectMethods(java.util.Collection):257:257 -> a
    9:9:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):269:269 -> a
    10:10:void setVirtualMethods(java.util.List):285:285 -> a
    11:11:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):289:289 -> a
    11:11:void setVirtualMethods(java.util.List):285 -> a
    12:12:void virtualizeMethods(java.util.Set):314:314 -> a
    13:18:com.android.tools.r8.utils.TraversalContinuation traverseFields(java.util.function.Function):360:365 -> a
    19:24:void appendInstanceField(com.android.tools.r8.graph.DexEncodedField):453:458 -> a
    25:27:void setInstanceField(int,com.android.tools.r8.graph.DexEncodedField):483:485 -> a
    28:29:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):489:490 -> a
    30:31:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):511:512 -> a
    30:31:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):490 -> a
    32:32:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):491:491 -> a
    33:33:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> a
    33:33:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):489 -> a
    34:35:com.android.tools.r8.graph.DexEncodedField lookupField(com.android.tools.r8.graph.DexField):560:561 -> a
    36:36:com.android.tools.r8.graph.DexClassAndMethod lookupClassMethod(com.android.tools.r8.graph.DexMethod):595:595 -> a
    37:37:com.android.tools.r8.graph.DexClassAndMethod toClassMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):599:599 -> a
    37:37:com.android.tools.r8.graph.DexClassAndMethod lookupClassMethod(com.android.tools.r8.graph.DexMethod):595 -> a
    38:38:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> a
    39:41:boolean isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):641:641 -> a
    43:46:boolean isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):643:646 -> a
    47:49:com.android.tools.r8.graph.DexEncodedMethod getInitializer(com.android.tools.r8.graph.DexType[]):798:800 -> a
    50:50:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):852:852 -> a
    51:51:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):858:858 -> a
    51:51:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):852 -> a
    52:52:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):857:857 -> a
    52:52:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):852 -> a
    53:53:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):858:858 -> a
    54:54:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):857:857 -> a
    55:55:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):864:864 -> a
    56:56:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):858:858 -> a
    56:56:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):864 -> a
    57:57:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):857:857 -> a
    57:57:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):864 -> a
    58:58:boolean lambda$classInitializationMayHaveSideEffectsInContext$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexType):865:865 -> a
    59:62:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):901:904 -> a
    63:63:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    63:63:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):904 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:65:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):904:905 -> a
    66:67:void forEachImmediateInterface(java.util.function.Consumer):875:876 -> a
    66:67:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):905 -> a
    68:70:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):911:913 -> a
    71:71:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    71:71:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):913 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    72:78:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):913:919 -> a
    79:82:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):934:937 -> a
    83:83:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    83:83:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):937 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    84:85:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):937:938 -> a
    86:87:void forEachImmediateInterface(java.util.function.Consumer):875:876 -> a
    86:87:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):938 -> a
    88:90:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):943:945 -> a
    91:91:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    91:91:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):945 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    92:100:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):945:953 -> a
    101:101:boolean com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.hasTypeVariableArguments():651:651 -> a
    101:101:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):953 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    102:103:boolean com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.hasTypeVariableArguments():651:652 -> a
    102:103:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):953 -> a
    104:110:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):954:960 -> a
    111:111:void lambda$forEachImmediateInterfaceWithAppliedTypeArguments$7(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):939:939 -> a
    112:114:java.util.List applyTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):975:977 -> a
    115:115:java.util.List com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.typeArguments():605:605 -> a
    115:115:java.util.List applyTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):980 -> a
    116:137:java.util.List applyTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):980:1001 -> a
    138:139:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):983:984 -> a
    140:140:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    140:140:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):984 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    141:143:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):984:986 -> a
    144:144:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    144:144:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):986 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    145:145:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):986:986 -> a
    146:146:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    146:146:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):988 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    147:147:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):989:989 -> a
    148:148:java.lang.String com.android.tools.r8.graph.GenericSignature$TypeVariableSignature.typeVariable():747:747 -> a
    148:148:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):989 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    149:158:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):989:998 -> a
    159:159:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):1015:1015 -> a
    160:160:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> a
    160:160:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):1015 -> a
    161:161:void setInnerClasses(java.util.List):1029:1029 -> a
    162:162:void setEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):1041:1041 -> a
    163:163:void setClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):1092:1092 -> a
    164:165:void setNestHost(com.android.tools.r8.graph.DexType):1128:1129 -> a
    166:166:void setNestHostAttribute(com.android.tools.r8.graph.NestHostClassAttribute):1133:1133 -> a
    167:167:void lambda$forEachNestMember$11(java.util.function.Consumer,com.android.tools.r8.graph.NestMemberClassAttribute):1156:1156 -> a
    168:168:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220:1220 -> a
    169:171:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):294:296 -> a
    169:171:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    172:172:boolean isValid(com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":180,"2":181,"3":182}}
    180:180:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):296:296 -> a
    180:180:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    181:181:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):296:296 -> a
    181:181:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    182:182:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):296:296 -> a
    182:182:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    173:173:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):298:298 -> a
    173:173:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    174:175:boolean isValid(com.android.tools.r8.utils.InternalOptions):1221:1222 -> a
    176:177:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):511:512 -> a
    176:177:boolean isValid(com.android.tools.r8.utils.InternalOptions):1222 -> a
    178:179:boolean isValid(com.android.tools.r8.utils.InternalOptions):1223:1224 -> a
    1:1:boolean hasEnclosingMethodAttribute():1033:1033 -> a1
    1:1:void forEachClassField(java.util.function.Consumer):160:160 -> b
    2:2:void forEachClassMethodMatching(java.util.function.Predicate,java.util.function.Consumer):175:175 -> b
    3:3:com.android.tools.r8.graph.DexClassAndMethod lambda$classMethods$3(com.android.tools.r8.graph.DexEncodedMethod):228:228 -> b
    4:4:java.lang.Iterable directMethods(java.util.function.Predicate):249:249 -> b
    5:5:void addVirtualMethods(java.util.Collection):281:281 -> b
    6:6:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):289:289 -> b
    7:12:void appendStaticField(com.android.tools.r8.graph.DexEncodedField):381:386 -> b
    13:15:void setStaticField(int,com.android.tools.r8.graph.DexEncodedField):416:418 -> b
    16:17:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):422:423 -> b
    18:19:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):511:512 -> b
    18:19:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):423 -> b
    20:20:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):424:424 -> b
    21:21:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> b
    21:21:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):422 -> b
    22:22:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):533:533 -> b
    23:24:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):651:652 -> b
    23:24:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):533 -> b
    25:25:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> b
    26:26:boolean isFinal():672:672 -> b
    26:26:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):676 -> b
    27:30:void forEachImmediateSupertype(java.util.function.BiConsumer):888:891 -> b
    31:32:void forEachImmediateInterface(java.util.function.Consumer):875:876 -> b
    31:32:void forEachImmediateSupertype(java.util.function.BiConsumer):891 -> b
    33:33:void lambda$forEachImmediateInterfaceWithSignature$6(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):907:907 -> b
    34:36:void forEachImmediateSupertypeWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):966:968 -> b
    37:40:void forEachImmediateSupertypeWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):967:970 -> b
    41:41:void setNestMemberAttributes(java.util.List):1172:1172 -> b
    1:1:boolean hasInstanceFields():1195:1195 -> b1
    1:1:void forEachClassMethod(java.util.function.Consumer):170:170 -> c
    2:2:com.android.tools.r8.graph.DexClassAndField lambda$classFields$2(com.android.tools.r8.graph.DexEncodedField):201:201 -> c
    3:5:java.lang.Iterable fields(java.util.function.Predicate):209:211 -> c
    6:6:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> c
    6:6:java.lang.Iterable fields(java.util.function.Predicate):209 -> c
    7:7:void forEachFieldMatching(java.util.function.Predicate,java.util.function.Consumer):338:338 -> c
    8:16:void appendStaticFields(java.util.Collection):390:398 -> c
    17:18:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):511:512 -> c
    17:18:void appendStaticFields(java.util.Collection):398 -> c
    19:19:void appendStaticFields(java.util.Collection):399:399 -> c
    20:20:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):528:528 -> c
    21:22:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):651:652 -> c
    21:22:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):528 -> c
    23:23:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> c
    24:31:boolean isResolvable(com.android.tools.r8.graph.AppView):824:831 -> c
    32:33:boolean com.android.tools.r8.graph.DexType.isResolvable(com.android.tools.r8.graph.AppView):379:380 -> c
    32:33:boolean isResolvable(com.android.tools.r8.graph.AppView):831 -> c
    34:37:boolean isResolvable(com.android.tools.r8.graph.AppView):837:840 -> c
    38:38:void lambda$forEachImmediateSupertype$5(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):891:891 -> c
    39:42:void forEachImmediateSupertypeWithSignature(java.util.function.BiConsumer):925:928 -> c
    1:1:com.android.tools.r8.graph.MethodCollection getMethodCollection():224:224 -> c0
    1:1:boolean hasNestMemberAttributes():1164:1164 -> c1
    1:1:void setDirectMethods(java.util.Collection):265:265 -> d
    2:2:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):269:269 -> d
    2:2:void setDirectMethods(java.util.Collection):265 -> d
    3:3:void forEachField(java.util.function.Consumer):333:333 -> d
    4:4:void forEachFieldMatching(java.util.function.Predicate,java.util.function.Consumer):338:338 -> d
    4:4:void forEachField(java.util.function.Consumer):333 -> d
    5:5:java.lang.Iterable instanceFields(java.util.function.Predicate):449:449 -> d
    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> d
    7:7:boolean lambda$defaultValuesForStaticFieldsMayTriggerAllocation$10(com.android.tools.r8.graph.DexEncodedField):1021:1021 -> d
    1:1:boolean hasStaticFields():1191:1191 -> d1
    1:1:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):261:261 -> e
    2:2:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):501:501 -> e
    3:3:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1013,"2":1014,"3":1015}}
    1013:1013:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):501:501 -> e
    1014:1014:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):501:501 -> e
    1015:1015:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):501:501 -> e
    506:506:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):503:503 -> e
    507:507:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1019,"2":1020,"3":1021,"4":1022}}
    1019:1019:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1020:1020:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1021:1021:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1022:1022:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1012:1012:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1023:1023:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(java.util.function.Predicate):571:571 -> e
    1024:1025:void forEachImmediateSupertype(java.util.function.Consumer):881:882 -> e
    1026:1027:void forEachImmediateInterface(java.util.function.Consumer):875:876 -> e
    1026:1027:void forEachImmediateSupertype(java.util.function.Consumer):884 -> e
    1:5:java.util.List instanceFields():441:445 -> e1
    1:1:void forEachInstanceField(java.util.function.Consumer):342:342 -> f
    2:2:void forEachInstanceFieldMatching(java.util.function.Predicate,java.util.function.Consumer):347:347 -> f
    2:2:void forEachInstanceField(java.util.function.Consumer):342 -> f
    3:3:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(java.util.function.Predicate):581:581 -> f
    1:1:boolean isAbstract():664:664 -> f1
    1:1:java.lang.Iterable members(java.util.function.Predicate):219:219 -> g
    2:2:java.lang.Iterable methods(java.util.function.Predicate):236:236 -> g
    2:2:java.lang.Iterable members(java.util.function.Predicate):219 -> g
    3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> g
    3:3:java.lang.Iterable members(java.util.function.Predicate):219 -> g
    4:4:void forEachMethod(java.util.function.Consumer):306:306 -> g
    5:5:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):98:98 -> g
    5:5:void forEachMethod(java.util.function.Consumer):306 -> g
    6:6:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):98:98 -> g
    6:6:void forEachMethod(java.util.function.Consumer):306 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    boolean isLibraryClass() -> g0
    1:1:boolean isAnnotation():668:668 -> g1
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():43:43 -> getAccessFlags
    1:1:com.android.tools.r8.references.ClassReference getClassReference():762:762 -> getClassReference
    1:1:com.android.tools.r8.origin.Origin getOrigin():777:777 -> getOrigin
    1:1:com.android.tools.r8.graph.DexReference getReference():696:696 -> getReference
    1:1:com.android.tools.r8.graph.DexType getType():782:782 -> getType
    com.android.tools.r8.graph.DexClass asDexClass() -> h
    1:1:java.lang.Iterable methods(java.util.function.Predicate):236:236 -> h
    2:3:void forEachNestMember(java.util.function.Consumer):1155:1156 -> h
    1:3:java.lang.Iterable allImmediateSupertypes():1007:1009 -> h0
    4:7:java.lang.Iterable allImmediateSupertypes():1008:1011 -> h0
    1:4:boolean isAnonymousClass():1109:1112 -> h1
    1:1:void forEachStaticField(java.util.function.Consumer):351:351 -> i
    2:2:java.lang.Iterable staticFields(java.util.function.Predicate):377:377 -> i
    2:2:void forEachStaticFieldMatching(java.util.function.Predicate,java.util.function.Consumer):356 -> i
    2:2:void forEachStaticField(java.util.function.Consumer):351 -> i
    3:3:void forEachStaticFieldMatching(java.util.function.Predicate,java.util.function.Consumer):356:356 -> i
    3:3:void forEachStaticField(java.util.function.Consumer):351 -> i
    4:5:void removeEnclosingMethodAttribute(java.util.function.Predicate):1049:1050 -> i
    1:1:boolean isEnum():685:685 -> i1
    1:1:boolean isInterface():681:681 -> isInterface
    1:1:void removeInnerClasses(java.util.function.Predicate):1063:1063 -> j
    1:1:boolean isFinal():672:672 -> j1
    1:1:void removeNestMemberAttributes(java.util.function.Predicate):1176:1176 -> k
    1:1:boolean isInANest():1116:1116 -> k1
    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
    1:1:java.lang.Iterable virtualMethods(java.util.function.Predicate):277:277 -> l
    1:3:boolean isLocalClass():1096:1098 -> l1
    1:3:boolean isMemberClass():1102:1104 -> m1
    1:1:boolean isNestHost():1137:1137 -> n1
    1:1:boolean isNestMember():1141:1141 -> o1
    boolean isNotProgramClass() -> p1
    1:1:boolean isPublic():741:741 -> q1
    1:1:boolean isRecord():689:689 -> r1
    1:1:java.lang.Iterable members():215:215 -> s1
    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> s1
    2:2:java.lang.Iterable members():215 -> s1
    boolean isDexClass() -> t0
    1:1:java.lang.Iterable methods():232:232 -> t1
    1:5:java.util.List staticFields():369:373 -> u1
    1:1:boolean validInterfaceSignatures():895:895 -> v1
    2:2:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> v1
    2:2:boolean validInterfaceSignatures():895 -> v1
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:boolean validInterfaceSignatures():895:896 -> v1
    1:4:boolean verifyNoDuplicateFields():518:521 -> w1
    5:5:boolean verifyNoDuplicateFields():0:0 -> w1
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":527,"2":528,"3":529}}
    527:527:boolean verifyNoDuplicateFields():521:521 -> w1
    528:528:boolean verifyNoDuplicateFields():521:521 -> w1
    529:529:boolean verifyNoDuplicateFields():521:521 -> w1
    526:526:boolean verifyNoDuplicateFields():521:521 -> w1
    boolean isStaticMember() -> x0
    1:1:java.lang.Iterable virtualMethods():273:273 -> x1
    1:1:java.util.List allMethodsSorted():310:310 -> y0
    1:1:java.lang.Iterable classFields():201:201 -> z0
com.android.tools.r8.graph.DexClass$FieldSetter -> com.android.tools.r8.internal.mg:
    void setField(int,com.android.tools.r8.graph.DexEncodedField) -> a
com.android.tools.r8.graph.DexClassAndField -> com.android.tools.r8.graph.K:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():10:10 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):13:16 -> <init>
    boolean isField() -> K
    1:2:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):20:21 -> a
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    3:3:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):23 -> a
    4:6:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):24:26 -> a
    7:7:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    7:7:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):26 -> a
    8:9:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):26:27 -> a
    com.android.tools.r8.graph.DexClassAndField asField() -> d
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():10:10 -> getAccessFlags
    1:1:com.android.tools.r8.graph.DexType getType():45:45 -> getType
    com.android.tools.r8.graph.DexClassAndMember asMember() -> i0
    1:1:com.android.tools.r8.graph.FieldAccessFlags getAccessFlags():32:32 -> w
    1:1:com.android.tools.r8.references.FieldReference getFieldReference():36:36 -> x
com.android.tools.r8.graph.DexClassAndMember -> com.android.tools.r8.graph.L:
    com.android.tools.r8.graph.DexClass holder -> b
    com.android.tools.r8.graph.DexEncodedMember definition -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():11:11 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMember):17:22 -> <init>
    1:1:com.android.tools.r8.graph.DexType getContextType():36:36 -> T
    1:1:com.android.tools.r8.graph.DexClass getContextClass():31:31 -> a
    1:1:boolean equals(java.lang.Object):81:81 -> equals
    1:1:com.android.tools.r8.origin.Origin getOrigin():67:67 -> getOrigin
    1:1:com.android.tools.r8.graph.DexReference getReference():11:11 -> getReference
    1:1:int hashCode():86:86 -> hashCode
    1:1:com.android.tools.r8.graph.DexDefinition getDefinition():11:11 -> i
    2:2:com.android.tools.r8.graph.DexEncodedMember getDefinition():49:49 -> i
    1:1:com.android.tools.r8.graph.DexAnnotationSet getAnnotations():26:26 -> p
    1:1:com.android.tools.r8.graph.DexClass getHolder():40:40 -> q
    1:1:com.android.tools.r8.graph.DexType getHolderType():44:44 -> r
    1:1:com.android.tools.r8.graph.DexMember getReference():58:58 -> s
    1:1:java.lang.String toString():76:76 -> toString
    1:1:java.lang.String toSourceString():71:71 -> u
com.android.tools.r8.graph.DexClassAndMethod -> com.android.tools.r8.graph.M:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():11:11 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):15:18 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():59:59 -> C
    1:1:com.android.tools.r8.graph.DexTypeList getParameters():71:71 -> D
    1:1:com.android.tools.r8.graph.DexProto getProto():83:83 -> E
    1:1:com.android.tools.r8.graph.DexType getReturnType():87:87 -> F
    boolean isMethod() -> J
    1:1:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexClassAndMethod):22:22 -> a
    2:3:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):26:27 -> a
    4:4:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    4:4:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):29 -> a
    5:7:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):30:32 -> a
    8:8:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    8:8:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):32 -> a
    9:10:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):32:33 -> a
    11:11:com.android.tools.r8.graph.DexType getArgumentType(int):63:63 -> a
    12:12:void accept(java.util.function.Consumer,java.util.function.Consumer):118:118 -> a
    1:1:com.android.tools.r8.graph.DexType getParameter(int):67:67 -> b
    com.android.tools.r8.graph.DexClassAndMethod asMethod() -> c
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():11:11 -> getAccessFlags
    com.android.tools.r8.graph.DexClassAndMember asMember() -> i0
    com.android.tools.r8.graph.DexClassAndMethod asMethodTarget() -> j
    boolean isMethodTarget() -> m
    1:1:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():46:46 -> w
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():50:50 -> x
    1:1:com.android.tools.r8.graph.DexMethodSignature getMethodSignature():54:54 -> y
    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> y
    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethod.getSignature():173 -> y
    2:2:com.android.tools.r8.graph.DexMethodSignature getMethodSignature():54 -> y
com.android.tools.r8.graph.DexClasspathClass -> com.android.tools.r8.graph.N:
    boolean $assertionsDisabled -> t
    1:1:void <clinit>():24:24 -> <clinit>
    1:19: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.GenericSignature$ClassSignature,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):46:64 -> <init>
    com.android.tools.r8.graph.ClasspathOrLibraryClass asClasspathOrLibraryClass() -> A
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):72:72 -> a
    2:5:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):136:139 -> a
    6:18:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):153:165 -> a
    19:19:boolean lambda$specify$1(com.android.tools.r8.graph.DexClasspathClass):162:162 -> a
    1:1:void lambda$forEachClasspathMethodMatching$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):82:82 -> b
    2:2:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$2(com.android.tools.r8.graph.DexClasspathClass):163:163 -> b
    1:1:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$3(com.android.tools.r8.graph.DexClasspathClass):164:164 -> c
    1:1:void forEachClasspathMethodMatching(java.util.function.Predicate,java.util.function.Consumer):81:81 -> d
    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():149:149 -> n
    boolean isNotProgramClass() -> p1
    1:1:java.lang.String toString():87:87 -> toString
com.android.tools.r8.graph.DexCode -> com.android.tools.r8.graph.O:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexDebugInfoForWriting debugInfoForWriting -> l
    com.android.tools.r8.code.Instruction[] instructions -> i
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata metadata -> m
    int outgoingRegisterSize -> f
    int registerSize -> d
    com.android.tools.r8.graph.DexString highestSortingString -> j
    int incomingRegisterSize -> e
    com.android.tools.r8.graph.DexCode$TryHandler[] handlers -> h
    com.android.tools.r8.graph.DexCode$Try[] tries -> g
    com.android.tools.r8.graph.DexDebugInfo debugInfo -> k
    1:1:void <clinit>():51:51 -> <clinit>
    1:1: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):95:95 -> <init>
    2:2: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):87:87 -> <init>
    3:15: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,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata):106:118 -> <init>
    1:1:boolean isEmptyVoidMethod():360:360 -> A0
    com.android.tools.r8.graph.DexCode asDexCode() -> C
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    com.android.tools.r8.graph.Code asCode() -> R
    1:1:int getOutgoingRegisterSize():639:639 -> U
    1:3:int codeSizeInBytes():658:660 -> Z
    4:5:int computeCodeSizeInBytes():667:668 -> Z
    4:5:int codeSizeInBytes():661 -> Z
    6:6:int codeSizeInBytes():661:661 -> Z
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode):70:70 -> a
    2:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):70:76 -> a
    9:9:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):133:133 -> a
    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.Instruction):137:137 -> a
    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):133 -> a
    11:14:com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):155:158 -> a
    15:24:com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):157:166 -> a
    25:27:void setDebugInfo(com.android.tools.r8.graph.DexDebugInfo):232:234 -> a
    28:35:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):239:246 -> a
    36:39:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):312:315 -> a
    36:39:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):247 -> a
    40:44:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):247:251 -> a
    45:48:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):312:315 -> a
    45:48:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):252 -> a
    49:58:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):252:261 -> a
    59:59:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):266:266 -> a
    60:90:com.android.tools.r8.graph.DexDebugInfo debugInfoAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):278:308 -> a
    60:90:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):273 -> a
    91:91:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):273:273 -> a
    92:92:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):339:339 -> a
    93:97: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):370:374 -> a
    98:98:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    98:98: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):374 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    99:100: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):376:377 -> a
    101:105: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):390:394 -> a
    106:106:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    106:106: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):394 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    107:110: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):396:399 -> a
    111:111:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):404:404 -> a
    112:112:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):409:409 -> a
    113:123:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):413:423 -> a
    124:153:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):437:466 -> a
    154:155:com.android.tools.r8.graph.DexDebugEntry advanceToOffset(int,com.android.tools.r8.graph.DexDebugEntry,java.util.Iterator):515:516 -> a
    154:155:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):466 -> a
    156:177:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):467:488 -> a
    178:179:com.android.tools.r8.graph.DexDebugEntry advanceToOffset(int,com.android.tools.r8.graph.DexDebugEntry,java.util.Iterator):515:516 -> a
    178:179:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):488 -> a
    180:180:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):492:492 -> a
    181:201:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):490:510 -> a
    202:204:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):586:588 -> a
    205:205:boolean com.android.tools.r8.code.Instruction.isDexItemBasedConstString():0:0 -> a
    205:205:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):588 -> a
    206:209:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):588:591 -> a
    210:212:void updateHighestSortingString(com.android.tools.r8.graph.DexString):643:645 -> a
    210:212:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):591 -> a
    213:213:boolean com.android.tools.r8.code.Instruction.isConstStringJumbo():0:0 -> a
    213:213:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):592 -> a
    214:214:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):593:593 -> a
    215:217:void updateHighestSortingString(com.android.tools.r8.graph.DexString):643:645 -> a
    215:217:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):593 -> a
    218:221:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):596:599 -> a
    222:222:void com.android.tools.r8.graph.DexCode$TryHandler.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):807:807 -> a
    222:222:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):600 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    223:224:void com.android.tools.r8.graph.DexCode$TryHandler.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):807:808 -> a
    223:224:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):600 -> a
    225:225:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):629:629 -> a
    226:227:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):651:652 -> a
    228:235:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):675:682 -> a
    236:236:boolean com.android.tools.r8.code.Instruction.isConstClass():0:0 -> a
    236:236:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):683 -> a
    237:237:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):684:684 -> a
    238:238:boolean com.android.tools.r8.code.Instruction.isInstanceOf():0:0 -> a
    238:238:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):685 -> a
    239:241:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):686:688 -> a
    242:243:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):700:701 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode):71:71 -> b
    2:2:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):634:634 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode):72:72 -> c
    2:5:void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod):172:175 -> c
    1:1:com.android.tools.r8.graph.DexCode$Try[] lambda$specify$3(com.android.tools.r8.graph.DexCode):73:73 -> d
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] lambda$specify$4(com.android.tools.r8.graph.DexCode):74:74 -> e
    1:1:com.android.tools.r8.graph.DexDebugInfo lambda$specify$5(com.android.tools.r8.graph.DexCode):75:75 -> f
    1:1:com.android.tools.r8.code.Instruction[] lambda$specify$6(com.android.tools.r8.graph.DexCode):76:76 -> g
    1:1:boolean computeEquals(java.lang.Object):355:355 -> h
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():142:142 -> m
    1:7:int computeHashCode():344:350 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():147:147 -> n
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():624:624 -> o
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> o0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():219:219 -> q0
    1:1:int estimatedSizeForInlining():214:214 -> r0
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():614:614 -> s
    1:1:java.lang.String toString():432:432 -> toString
    1:1:com.android.tools.r8.graph.DexString getHighestSortingString():619:619 -> u
    boolean isDexCode() -> u0
    boolean isDexWritableCode() -> v0
    1:4:com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting():606:609 -> w
    1:1:com.android.tools.r8.graph.DexDebugInfo getDebugInfo():228:228 -> z0
com.android.tools.r8.graph.DexCode$Try -> com.android.tools.r8.graph.O$a:
    boolean $assertionsDisabled -> f
    int instructionCount -> d
    int handlerIndex -> e
    int handlerOffset -> b
    int startAddress -> c
    1:1:void <clinit>():705:705 -> <clinit>
    1:5:void <init>(int,int,int):721:725 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$Try):716:716 -> a
    2:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):716:718 -> a
    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):765:765 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$Try):717:717 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode$Try):718:718 -> c
    1:1:boolean equals(java.lang.Object):749:749 -> equals
    1:1:int hashCode():744:744 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():735:735 -> n
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":759,"2":760,"3":761}}
    759:759:java.lang.String toString():754:754 -> toString
    760:760:java.lang.String toString():754:754 -> toString
    761:761:java.lang.String toString():754:754 -> toString
    755:758:java.lang.String toString():754:757 -> toString
com.android.tools.r8.graph.DexCode$TryHandler -> com.android.tools.r8.graph.O$b:
    com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] pairs -> b
    int catchAllAddr -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():770:770 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[],int):781:783 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler):778:778 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):778:778 -> a
    3:3:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):815:815 -> a
    1:1:com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler):778:778 -> b
    1:1:boolean equals(java.lang.Object):803:803 -> equals
    1:1:int hashCode():798:798 -> hashCode
    2:2:int com.android.tools.r8.utils.structural.HashCodeVisitor.run(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> hashCode
    2:2:int hashCode():798 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():793:793 -> n
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":837,"2":838,"3":839}}
    837:837:java.lang.String toString():820:820 -> toString
    838:838:java.lang.String toString():820:820 -> toString
    839:839:java.lang.String toString():821:821 -> toString
    823:836:java.lang.String toString():822:835 -> toString
com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair -> com.android.tools.r8.graph.O$b$a:
    com.android.tools.r8.graph.DexType type -> b
    int addr -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():838:838 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexType,int):847:849 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType access$000(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):838:838 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):844:844 -> a
    3:3:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867:867 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):871 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):871 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872:872 -> a
    6:6:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8,"2":9,"3":10}}
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872 -> a
    10:10:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    10:10:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872 -> a
    11:11:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867:867 -> a
    12:12:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":879,"2":880,"3":881}}
    879:879:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867:867 -> a
    880:880:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    880:880:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867 -> a
    881:881:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    881:881:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867 -> a
    882:882:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):878:878 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):844:844 -> b
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):844:844 -> c
    1:1:boolean equals(java.lang.Object):888:888 -> equals
    1:1:com.android.tools.r8.graph.DexType getType():863:863 -> getType
    1:1:int hashCode():883:883 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():859:859 -> n
com.android.tools.r8.graph.DexDebugEntry -> com.android.tools.r8.internal.pg:
    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
    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.Q:
    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
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod):62:62 -> <init>
    2:21:void <init>(int,com.android.tools.r8.graph.DexMethod):46:65 -> <init>
    22:22:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):68:68 -> <init>
    23:71:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):46:94 -> <init>
    1:2:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvancePC):104:105 -> a
    3:3:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvanceLine):110:110 -> a
    4:4:void visit(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):115:115 -> a
    5:5:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame):120:120 -> a
    6:6:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):125:125 -> a
    7:8:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):130:131 -> a
    9:9:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):136:136 -> a
    10:10:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):141:141 -> a
    11:11:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):146:146 -> a
    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157:157 -> a
    13:16:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
    13:16:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157 -> a
    17:17:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157:157 -> a
    18:19:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):213:214 -> a
    18:19:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):158 -> a
    20:21:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.set(com.android.tools.r8.graph.DebugLocalInfo):32:33 -> a
    20:21:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):158 -> a
    22:22:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):163:163 -> a
    23:26:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
    23:26:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):163 -> a
    27:27:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.unset():37:37 -> a
    27:27:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):163 -> a
    28:28:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):168:168 -> a
    29:32:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
    29:32:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):168 -> a
    33:33:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.reset():41:41 -> a
    33:33:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):168 -> a
    34:36:void entryEventReceived(boolean):172:174 -> a
    37:45:com.android.tools.r8.com.google.common.collect.ImmutableMap getLocals():228:236 -> a
    37:45:void entryEventReceived(boolean):182 -> a
    46:46:void entryEventReceived(boolean):182:182 -> a
    47:71:void entryEventReceived(boolean):174:198 -> a
    72:77:java.util.List build():203:208 -> a
    78:79:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):213:214 -> a
    78:79:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):150 -> a
    80:80:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):151:151 -> a
    81:84:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
    81:84:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):152 -> a
    85:86:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.set(com.android.tools.r8.graph.DebugLocalInfo):32:33 -> a
    85:86:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):152 -> a
com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry -> com.android.tools.r8.graph.P:
    com.android.tools.r8.graph.DebugLocalInfo current -> a
    com.android.tools.r8.graph.DebugLocalInfo last -> b
    1:1:void <init>():27:27 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexDebugEntryBuilder$1):27:27 -> <init>
com.android.tools.r8.graph.DexDebugEvent -> com.android.tools.r8.graph.T:
    com.android.tools.r8.graph.DexDebugEvent[] EMPTY_ARRAY -> b
    boolean $assertionsDisabled -> c
    1:8:void <clinit>():20:27 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    void accept(com.android.tools.r8.graph.DexDebugEventVisitor) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens) -> a
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):20:20 -> a
    2:3:int acceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):68:69 -> a
    4:5:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):74:75 -> a
    6:6:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):90:90 -> a
    int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor) -> b
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    1:1:boolean equals(java.lang.Object):47:47 -> equals
    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame asSetInlineFrame() -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():63:63 -> n
    int getCompareToId() -> n0
    boolean isWritableEvent() -> o0
com.android.tools.r8.graph.DexDebugEvent$AdvanceLine -> com.android.tools.r8.graph.S:
    int delta -> d
    1:2:void <init>(int):271:272 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):267:267 -> a
    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):283:284 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):289:289 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):310:310 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):315:315 -> b
    1:1:int hashCode():299:299 -> hashCode
    int getCompareToId() -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":296,"2":297,"3":298}}
    296:296:java.lang.String toString():294:294 -> toString
    297:297:java.lang.String toString():294:294 -> toString
    298:298:java.lang.String toString():294:294 -> toString
    295:295:java.lang.String toString():294:294 -> toString
com.android.tools.r8.graph.DexDebugEvent$AdvancePC -> com.android.tools.r8.graph.T$a:
    boolean $assertionsDisabled -> e
    int delta -> d
    1:1:void <clinit>():115:115 -> <clinit>
    1:2:void <init>(int):131:132 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):115:115 -> a
    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):127:128 -> a
    4:5:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):137:138 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):160:160 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):165:165 -> b
    1:1:int hashCode():149:149 -> hashCode
    int getCompareToId() -> n0
    boolean isWritableEvent() -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":146,"2":147,"3":148}}
    146:146:java.lang.String toString():144:144 -> toString
    147:147:java.lang.String toString():144:144 -> toString
    148:148:java.lang.String toString():144:144 -> toString
    145:145:java.lang.String toString():144:144 -> toString
com.android.tools.r8.graph.DexDebugEvent$Default -> com.android.tools.r8.graph.T$b:
    boolean $assertionsDisabled -> e
    int value -> d
    1:1:void <clinit>():738:738 -> <clinit>
    1:3:void <init>(int):742:744 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):738:738 -> a
    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):767:767 -> a
    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):772:772 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):803:803 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):808:808 -> b
    1:1:int hashCode():792:792 -> hashCode
    int getCompareToId() -> n0
    boolean isWritableEvent() -> o0
    1:2:int getLineDelta():781:782 -> p0
    1:2:int getPCDelta():776:777 -> q0
    1:1:java.lang.String toString():787:787 -> toString
com.android.tools.r8.graph.DexDebugEvent$EndLocal -> com.android.tools.r8.graph.U:
    int registerNum -> d
    1:2:void <init>(int):420:421 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):416:416 -> a
    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):432:433 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):438:438 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):459:459 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):464:464 -> b
    1:1:int hashCode():448:448 -> hashCode
    int getCompareToId() -> n0
    boolean isWritableEvent() -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":445,"2":446,"3":447}}
    445:445:java.lang.String toString():443:443 -> toString
    446:446:java.lang.String toString():443:443 -> toString
    447:447:java.lang.String toString():443:443 -> toString
    444:444:java.lang.String toString():443:443 -> toString
com.android.tools.r8.graph.DexDebugEvent$RestartLocal -> com.android.tools.r8.graph.V:
    int registerNum -> d
    1:2:void <init>(int):472:473 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):468:468 -> a
    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):484:485 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):490:490 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):511:511 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):516:516 -> b
    1:1:int hashCode():500:500 -> hashCode
    int getCompareToId() -> n0
    boolean isWritableEvent() -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":497,"2":498,"3":499}}
    497:497:java.lang.String toString():495:495 -> toString
    498:498:java.lang.String toString():495:495 -> toString
    499:499:java.lang.String toString():495:495 -> toString
    496:496:java.lang.String toString():495:495 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin -> com.android.tools.r8.graph.W:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():219:219 -> <clinit>
    1:1:void <init>():221:221 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):219:219 -> a
    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):232:232 -> a
    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):237:237 -> a
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):257:257 -> b
    int getCompareToId() -> n0
    boolean isWritableEvent() -> o0
    1:1:java.lang.String toString():242:242 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetFile -> com.android.tools.r8.graph.T$c:
    com.android.tools.r8.graph.DexString fileName -> d
    1:2:void <init>(com.android.tools.r8.graph.DexString):531:532 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):527:527 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):543:543 -> a
    3:3:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):543 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):548:548 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):569:569 -> b
    2:2:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):569 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):574:574 -> b
    1:2:int hashCode():558:559 -> hashCode
    int getCompareToId() -> n0
    boolean isWritableEvent() -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":555,"2":556,"3":557}}
    555:555:java.lang.String toString():553:553 -> toString
    556:556:java.lang.String toString():553:553 -> toString
    557:557:java.lang.String toString():553:553 -> toString
    554:554:java.lang.String toString():553:553 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame -> com.android.tools.r8.graph.X:
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexMethod callee -> d
    com.android.tools.r8.ir.code.Position caller -> e
    1:1:void <clinit>():578:578 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):587:590 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):578:578 -> a
    2:2:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):584:584 -> a
    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):584:584 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):595:595 -> a
    5:6:boolean hasOuterPosition(com.android.tools.r8.graph.DexMethod):634:635 -> a
    1:1:com.android.tools.r8.ir.code.Position lambda$specify$1(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):584:584 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):615:615 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):620:620 -> b
    1:1:int hashCode():605:605 -> hashCode
    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame asSetInlineFrame() -> m0
    int getCompareToId() -> n0
    1:1:java.lang.String toString():600:600 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame -> com.android.tools.r8.graph.Y:
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexMethod outlineCallee -> d
    com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> e
    1:1:void <clinit>():672:672 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):682:686 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):672:672 -> a
    2:2:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):678:678 -> a
    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):678:678 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):699:699 -> a
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap lambda$specify$1(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):678:678 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):719:719 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):724:724 -> b
    1:1:int hashCode():709:709 -> hashCode
    int getCompareToId() -> n0
    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():690:690 -> p0
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions():694:694 -> q0
    1:1:java.lang.String toString():704:704 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame -> com.android.tools.r8.graph.Z:
    1:1:void <init>():639:639 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):639:639 -> a
    2:2:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):668:668 -> a
    int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor) -> b
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    int getCompareToId() -> n0
    1:1:java.lang.String toString():643:643 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd -> com.android.tools.r8.graph.a0:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():169:169 -> <clinit>
    1:1:void <init>():171:171 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):169:169 -> a
    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):182:182 -> a
    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):187:187 -> a
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):208:208 -> b
    int getCompareToId() -> n0
    boolean isWritableEvent() -> o0
    1:1:java.lang.String toString():192:192 -> toString
com.android.tools.r8.graph.DexDebugEvent$StartLocal -> com.android.tools.r8.graph.T$d:
    com.android.tools.r8.graph.DexString name -> e
    com.android.tools.r8.graph.DexString signature -> g
    int registerNum -> d
    com.android.tools.r8.graph.DexType type -> f
    1:5:void <init>(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):337:341 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):319:319 -> a
    2:2:int lambda$spec$0(com.android.tools.r8.graph.DexDebugEvent$StartLocal):327:327 -> a
    3:6:void spec(com.android.tools.r8.utils.structural.StructuralSpecification):327:330 -> a
    7:12:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):356:361 -> a
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    13:13:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):361 -> a
    14:16:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):361:363 -> a
    17:17:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):369:369 -> a
    18:18:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    18:18:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):370 -> a
    19:20:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):372:373 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    21:21:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):373 -> a
    22:22:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374:374 -> a
    23:23:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    23:23:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
    24:24:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":402,"2":403,"3":404}}
    402:402:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    402:402:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
    403:403:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    403:403:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
    404:404:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    404:404:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    404:404:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
    400:400:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):376:376 -> a
    401:401:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    401:401:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):377 -> a
    405:405:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):383:383 -> a
    1:1:com.android.tools.r8.graph.DexString lambda$spec$1(com.android.tools.r8.graph.DexDebugEvent$StartLocal):328:328 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):407:407 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):412:412 -> b
    1:1:com.android.tools.r8.graph.DexType lambda$spec$2(com.android.tools.r8.graph.DexDebugEvent$StartLocal):329:329 -> c
    1:1:com.android.tools.r8.graph.DexString lambda$spec$3(com.android.tools.r8.graph.DexDebugEvent$StartLocal):330:330 -> d
    1:5:int hashCode():393:397 -> hashCode
    int getCompareToId() -> n0
    boolean isWritableEvent() -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":390,"2":391,"3":392}}
    390:390:java.lang.String toString():388:388 -> toString
    391:391:java.lang.String toString():388:388 -> toString
    392:392:java.lang.String toString():388:388 -> toString
    389:389:java.lang.String toString():388:388 -> toString
com.android.tools.r8.graph.DexDebugEventBuilder -> com.android.tools.r8.graph.b0:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    boolean $assertionsDisabled -> m
    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
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):64:64 -> <init>
    2:22:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):47:67 -> <init>
    1:2:void add(int,int,com.android.tools.r8.ir.code.Instruction):72:73 -> a
    3:9:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):128:134 -> a
    3:9:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    10:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    10:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    10:11:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):134 -> a
    10:11:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    12:15:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):134:137 -> a
    12:15:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    16:26:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):143:153 -> a
    16:26:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    16:26:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    27:27:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    27:27:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):153 -> a
    27:27:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    27:27:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    28:34:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):153:159 -> a
    28:34:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    28:34:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    35:35: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
    35:35:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):159 -> a
    35:35:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    35:35:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    36:36:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):159:159 -> a
    36:36:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    36:36:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    37:46:void add(int,int,com.android.tools.r8.ir.code.Instruction):79:88 -> a
    47:51:void startArgument(com.android.tools.r8.ir.code.Argument):163:167 -> a
    47:51:void add(int,int,com.android.tools.r8.ir.code.Instruction):88 -> a
    52:52:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    52:52:void add(int,int,com.android.tools.r8.ir.code.Instruction):89 -> a
    53:53:void add(int,int,com.android.tools.r8.ir.code.Instruction):90:90 -> a
    54:55:void updateLocals(com.android.tools.r8.ir.code.DebugLocalsChange):172:173 -> a
    54:55:void add(int,int,com.android.tools.r8.ir.code.Instruction):90 -> a
    56:57:void add(int,int,com.android.tools.r8.ir.code.Instruction):92:93 -> a
    58:60:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):185:187 -> a
    58:60:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
    61:61:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    61:61:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):188 -> a
    61:61:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
    62:84:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):188:210 -> a
    62:84:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
    85:85:void add(int,int,com.android.tools.r8.ir.code.Instruction):97:97 -> a
    86:96:void emitLocalChanges(int):215:225 -> a
    86:96:void add(int,int,com.android.tools.r8.ir.code.Instruction):98 -> a
    97:98:void add(int,int,com.android.tools.r8.ir.code.Instruction):104:105 -> a
    99:112:com.android.tools.r8.graph.DexDebugInfo build():111:124 -> a
    113:126:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):237:250 -> a
    127:134:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):248:255 -> a
    135:144:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):254:263 -> a
    145:145:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):262:262 -> a
    146:146:com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame com.android.tools.r8.graph.DexItemFactory.createSetOutlineCallerFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):2850:2850 -> a
    146:146:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):262 -> a
    147:151:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):261:265 -> a
    152:164:void addDefaultEventWithAdvancePcIfNecessary(int,int,java.util.List,com.android.tools.r8.graph.DexItemFactory):272:284 -> a
    165:165:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):294:294 -> a
    166:171:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.endingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):74:79 -> a
    166:171:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):294 -> a
    172:177:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.startingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):88:93 -> a
    172:177:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):296 -> a
    178:193:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):297:312 -> a
    194:194:void com.android.tools.r8.graph.DexDebugEvent$StartLocal.<init>(int,com.android.tools.r8.graph.DebugLocalInfo):345:345 -> a
    194:194:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):312 -> a
    195:196:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):312:313 -> a
    1:4:boolean localsChanged():177:180 -> b
com.android.tools.r8.graph.DexDebugEventVisitor -> com.android.tools.r8.graph.c0:
    void visit(com.android.tools.r8.graph.DexDebugEvent$AdvanceLine) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$AdvancePC) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$Default) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame) -> a
    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.d0:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>():26:26 -> <init>
    1:1:com.android.tools.r8.utils.structural.StructuralItem self():26:26 -> E
    int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):26:26 -> a
    2:6:int acceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):74:78 -> a
    2:6:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):26 -> a
    7:10:com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo convertToEventBased(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexItemFactory):285:288 -> a
    11:11:boolean isEventBasedInfo():43:43 -> a
    11:11:com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo convertToEventBased(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexItemFactory):288 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:32:com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo convertToEventBased(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexItemFactory):289:309 -> a
    33:40:com.android.tools.r8.graph.DexDebugInfoForWriting convertToWritable(com.android.tools.r8.graph.DexDebugInfo):316:323 -> a
    1:1:boolean computeEquals(java.lang.Object):83:83 -> h
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():66:66 -> n
    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo asEventBasedInfo() -> n0
    com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo asPcBasedInfo() -> o0
    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> p0
    int getStartLine() -> q0
    1:1:boolean isPcBasedInfo():47:47 -> r0
    com.android.tools.r8.graph.DexDebugInfo self() -> s0
com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo -> com.android.tools.r8.graph.d0$a:
    com.android.tools.r8.graph.DexString[] parameters -> f
    com.android.tools.r8.graph.DexDebugEvent[] events -> g
    int startLine -> e
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():186:186 -> <clinit>
    1:5:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):198:202 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):186:186 -> a
    2:6:int com.android.tools.r8.graph.DexDebugInfo.acceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):74:78 -> a
    2:6:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):186 -> a
    7:7:int lambda$specify$0(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):193:193 -> a
    8:10:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):193:195 -> a
    11:15:java.util.List computeEntries(com.android.tools.r8.graph.DexMethod):231:235 -> a
    16:16:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):245:245 -> a
    17:17:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):250:250 -> a
    18:18:boolean com.android.tools.r8.graph.DexDebugInfo.isEventBasedInfo():43:43 -> a
    18:18:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):250 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:20:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):250:251 -> a
    21:21:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):268:268 -> a
    1:1:com.android.tools.r8.graph.DexString[] lambda$specify$1(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):194:194 -> b
    1:1:com.android.tools.r8.graph.DexDebugEvent[] lambda$specify$2(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):195:195 -> c
    1:1:int computeHashCode():240:240 -> m0
    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo asEventBasedInfo() -> n0
    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> p0
    1:1:int getStartLine():222:222 -> q0
    com.android.tools.r8.graph.DexDebugInfo self() -> s0
    1:1:java.lang.String toString():273:273 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":283,"2":284,"3":285}}
    283:283:java.lang.String toString():274:274 -> toString
    284:284:java.lang.String toString():274:274 -> toString
    285:285:java.lang.String toString():274:274 -> toString
    276:282:java.lang.String toString():274:280 -> toString
com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo -> com.android.tools.r8.graph.e0:
    int maxPc -> f
    boolean $assertionsDisabled -> g
    int parameterCount -> e
    1:1:void <clinit>():86:86 -> <clinit>
    1:3:void <init>(int,int):95:97 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens) -> a
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):86:86 -> a
    2:6:int com.android.tools.r8.graph.DexDebugInfo.acceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):74:78 -> a
    2:6:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):86 -> a
    7:7:int access$000(com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo):86:86 -> a
    8:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):92:92 -> a
    9:9:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):132:132 -> a
    10:11:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):137:138 -> a
    12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):143:143 -> a
    13:18:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):164:169 -> a
    19:19:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    19:19:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):169 -> a
    20:21:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:81 -> a
    20:21:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):169 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:23:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):170:171 -> a
    24:24:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    24:24:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):171 -> a
    25:26:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:81 -> a
    25:26:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):171 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):173:173 -> a
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo):92:92 -> b
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo):92:92 -> c
    1:3:int estimatedWriteSize():153:155 -> j0
    1:1:int computeHashCode():127:127 -> m0
    com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo asPcBasedInfo() -> o0
    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> p0
    int getStartLine() -> q0
    com.android.tools.r8.graph.DexDebugInfo self() -> s0
    1:1:int getParameterCount():107:107 -> t0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":183,"2":184,"3":185}}
    183:183:java.lang.String toString():178:178 -> toString
    184:184:java.lang.String toString():178:178 -> toString
    185:185:java.lang.String toString():178:178 -> toString
    179:182:java.lang.String toString():178:181 -> toString
com.android.tools.r8.graph.DexDebugInfo$WritableEventBasedDebugInfo -> com.android.tools.r8.graph.f0:
    1:1:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[],com.android.tools.r8.graph.DexDebugInfo$1):327:327 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):332:332 -> <init>
    1:1:void com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):255:255 -> a
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):337 -> a
    2:2:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    2:2:void com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):257 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):337 -> a
    3:4:void com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):260:261 -> a
    3:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):337 -> a
    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):342:342 -> a
    6:11:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):358:363 -> a
    12:12:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    12:12:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):364 -> a
    13:13:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    13:13:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):364 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    14:14:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):364 -> a
    15:15:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):81:81 -> a
    15:15:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):364 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):366:366 -> a
    1:2:int estimatedWriteSize():347:348 -> j0
com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod -> com.android.tools.r8.graph.g0:
    com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod INSTANCE -> i
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):16:16 -> <init>
    1:1:com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod getInstance():20:20 -> t0
com.android.tools.r8.graph.DexDebugInfoForWriting -> com.android.tools.r8.internal.qg:
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens) -> a
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens) -> a
    int estimatedWriteSize() -> j0
com.android.tools.r8.graph.DexDebugPositionState -> com.android.tools.r8.graph.h0:
    com.android.tools.r8.graph.DexString currentFile -> c
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexMethod outlineCallee -> g
    boolean isOutline -> 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.utils.Int2StructuralItemArrayMap outlineCallerPositions -> h
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod):37:37 -> <init>
    2:13:void <init>(int,com.android.tools.r8.graph.DexMethod):28:39 -> <init>
    void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal) -> a
    1:2:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvancePC):44:45 -> a
    3:3:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvanceLine):50:50 -> a
    4:5:void visit(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):55:56 -> a
    6:6:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame):61:61 -> a
    7:8:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):66:67 -> a
    9:11:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):72:74 -> a
    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):79:79 -> a
    13:13:com.android.tools.r8.ir.code.Position getCurrentCallerPosition():124:124 -> a
    1:1:com.android.tools.r8.graph.DexString getCurrentFile():116:116 -> b
    1:1:int getCurrentLine():112:112 -> c
    1:1:com.android.tools.r8.graph.DexMethod getCurrentMethod():120:120 -> d
    1:1:int getCurrentPc():108:108 -> e
    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():132:132 -> f
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlineCallerPositions():136:136 -> g
    1:1:boolean isOutline():128:128 -> h
    1:3:void resetOutlineInformation():140:142 -> i
com.android.tools.r8.graph.DexDefinition -> com.android.tools.r8.graph.i0:
    com.android.tools.r8.graph.DexAnnotationSet annotations -> b
    boolean $assertionsDisabled -> c
    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.DexType getContextType():149:149 -> T
    1:1:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.DexDefinition):36:36 -> a
    1:1:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$0(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):58 -> a
    2:2:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$0(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):58:58 -> a
    3:3:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> a
    4:4:void removeAnnotations(java.util.function.Predicate):52:52 -> a
    5:5:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> a
    5:5:void removeAnnotations(java.util.function.Predicate):52 -> a
    6:6:void rewriteAllAnnotations(java.util.function.BiFunction):58:58 -> a
    7:7:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> a
    7:7:void rewriteAllAnnotations(java.util.function.BiFunction):57 -> a
    8:8:java.util.stream.Stream filterDexEncodedField(java.util.stream.Stream,java.util.function.Function):118:118 -> a
    9:9:java.util.stream.Stream filter(java.util.stream.Stream,java.util.function.Predicate,java.util.function.Function):109:109 -> a
    9:9:java.util.stream.Stream filterDexEncodedField(java.util.stream.Stream,java.util.function.Function):118 -> a
    10:10:java.lang.Object lambda$filterDexEncodedField$1(java.util.function.Function,com.android.tools.r8.graph.DexDefinition):121:121 -> a
    1:1:java.util.stream.Stream filterDexEncodedMethod(java.util.stream.Stream,java.util.function.Function):130:130 -> b
    2:2:java.util.stream.Stream filter(java.util.stream.Stream,java.util.function.Predicate,java.util.function.Function):109:109 -> b
    2:2:java.util.stream.Stream filterDexEncodedMethod(java.util.stream.Stream,java.util.function.Function):130 -> b
    3:3:java.lang.Object lambda$filterDexEncodedMethod$2(java.util.function.Function,com.android.tools.r8.graph.DexDefinition):133:133 -> b
    com.android.tools.r8.graph.DexProgramClass asProgramClass() -> e0
    boolean isProgramClass() -> f0
    com.android.tools.r8.graph.DexClass asDexClass() -> h
    1:1:com.android.tools.r8.graph.DexAnnotationSet annotations():34:34 -> m0
    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> n0
    com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> o0
    com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod() -> p0
    1:1:void clearAnnotations():40:40 -> q0
    2:2:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> q0
    2:2:void clearAnnotations():40 -> q0
    1:1:boolean hasAnnotations():25:25 -> r0
    1:1:boolean hasAnyAnnotations():30:30 -> s0
    boolean isDexClass() -> t0
    boolean isDexEncodedField() -> u0
    boolean isDexEncodedMember() -> v0
    boolean isDexEncodedMethod() -> w0
    boolean isStaticMember() -> x0
    1:1:void clearAnnotations():40:40 -> z
    1:1:void clearAllAnnotations():44 -> z
    2:2:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> z
    2:2:void clearAnnotations():40 -> z
    2:2:void clearAllAnnotations():44 -> z
com.android.tools.r8.graph.DexDefinitionSupplier -> com.android.tools.r8.graph.k0:
    1:1:void <clinit>():7:7 -> <clinit>
    com.android.tools.r8.graph.DexItemFactory dexItemFactory() -> a
    1:1:com.android.tools.r8.graph.DexClass contextIndependentDefinitionFor(com.android.tools.r8.graph.DexType):18:18 -> a
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    4:4:com.android.tools.r8.graph.DexClassAndMethod definitionFor(com.android.tools.r8.graph.DexMethod):91:91 -> a
    5:5:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):595:595 -> a
    5:5:com.android.tools.r8.graph.DexClassAndMethod definitionFor(com.android.tools.r8.graph.DexMethod):92 -> a
    6:6:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.toClassMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):599:599 -> a
    6:6:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):595 -> a
    6:6:com.android.tools.r8.graph.DexClassAndMethod definitionFor(com.android.tools.r8.graph.DexMethod):92 -> a
    7:7:com.android.tools.r8.graph.DexClass definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> b
    2:2:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):106:106 -> b
    com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType) -> d
    com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType) -> e
com.android.tools.r8.graph.DexDefinitionSupplier$1 -> com.android.tools.r8.graph.j0:
    int $r8$clinit -> a
com.android.tools.r8.graph.DexEncodedAnnotation -> com.android.tools.r8.graph.l0:
    com.android.tools.r8.graph.DexAnnotationElement[] elements -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType type -> b
    int sorted -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement[]):29:29 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement[]):23:31 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.DexEncodedAnnotation):26:26 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):26:26 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45:45 -> a
    4:4:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    56:56:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45 -> a
    57:57:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    57:57:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45 -> a
    58:58:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    58:58:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    58:58:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45 -> a
    51:51:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):46:46 -> a
    52:52:void com.android.tools.r8.graph.DexAnnotationElement.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):64:64 -> a
    52:52:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:53:void com.android.tools.r8.graph.DexAnnotationElement.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):64:64 -> a
    53:53:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):47 -> a
    54:54:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    54:54:void com.android.tools.r8.graph.DexAnnotationElement.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):64 -> a
    54:54:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):47 -> a
    55:55:void com.android.tools.r8.graph.DexAnnotationElement.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):65:65 -> a
    55:55:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):47 -> a
    59:59:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):68:68 -> a
    60:60:int lambda$sort$2(com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):98:98 -> a
    61:67:com.android.tools.r8.graph.DexEncodedAnnotation rewrite(java.util.function.Function,java.util.function.Function):113:119 -> a
    1:1:com.android.tools.r8.graph.DexAnnotationElement[] lambda$specify$1(com.android.tools.r8.graph.DexEncodedAnnotation):26:26 -> b
    1:2:void forEachElement(java.util.function.Consumer):52:53 -> d
    1:3:boolean equals(java.lang.Object):86:88 -> equals
    1:1:com.android.tools.r8.graph.DexAnnotationElement getElement(int):58:58 -> h
    1:1:int hashCode():78:78 -> hashCode
    1:1:int getNumberOfElements():62:62 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():41:41 -> n
    1:2:void sort():94:95 -> n0
    3:3:int sortedHashCode():106:106 -> n0
    3:3:void sort():95 -> n0
    4:9:void sort():95:100 -> n0
    10:10:int sortedHashCode():106:106 -> n0
    10:10:void sort():102 -> n0
    11:11:void sort():102:102 -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":75,"2":76,"3":77}}
    75:75:java.lang.String toString():73:73 -> toString
    76:76:java.lang.String toString():73:73 -> toString
    77:77:java.lang.String toString():73:73 -> toString
    74:74:java.lang.String toString():73:73 -> toString
com.android.tools.r8.graph.DexEncodedArray -> com.android.tools.r8.graph.m0:
    com.android.tools.r8.graph.DexValue[] values -> b
    1:2:void <init>(com.android.tools.r8.graph.DexValue[]):14:15 -> <init>
    1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):26:26 -> a
    1:1:boolean equals(java.lang.Object):39:39 -> equals
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48}}
    46:46:java.lang.String toString():44:44 -> toString
    47:47:java.lang.String toString():44:44 -> toString
    48:48:java.lang.String toString():44:44 -> toString
    45:45:java.lang.String toString():44:44 -> toString
com.android.tools.r8.graph.DexEncodedField -> com.android.tools.r8.graph.o0:
    boolean isInlinableByJavaC -> m
    com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo optimizationInfo -> k
    boolean $assertionsDisabled -> o
    boolean deprecated -> i
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature genericSignature -> j
    com.android.tools.r8.kotlin.KotlinFieldLevelInfo kotlinMemberInfo -> l
    com.android.tools.r8.graph.FieldAccessFlags accessFlags -> g
    com.android.tools.r8.graph.DexValue staticValue -> h
    com.android.tools.r8.graph.DexEncodedField[] EMPTY_ARRAY -> n
    1:4:void <clinit>():32:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,boolean,com.android.tools.r8.graph.DexEncodedField$1):32:32 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,boolean):70:70 -> <init>
    3:36:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,boolean):43:76 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> D0
    1:1:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():32 -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder builder():355:355 -> H0
    1:2:void clearStaticValue():253:254 -> I0
    1:1:com.android.tools.r8.graph.FieldAccessFlags getAccessFlags():137:137 -> J0
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getGenericSignature():341:341 -> K0
    1:1:boolean getIsInlinableByJavaC():371:371 -> L0
    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():127:127 -> M0
    1:2:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getMutableOptimizationInfo():116:117 -> N0
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> O0
    1:2:com.android.tools.r8.graph.DexValue getStaticValue():258:259 -> P0
    1:2:boolean hasExplicitStaticValue():242:243 -> Q0
    1:1:boolean isDeprecated():94:94 -> R0
    1:1:boolean isEnum():204:204 -> S0
    1:1:boolean isStatic():213:213 -> T0
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder syntheticBuilder():363:363 -> U0
    1:1:com.android.tools.r8.graph.DexType type():90:90 -> V0
    1:1:com.android.tools.r8.graph.DexValue access$200(com.android.tools.r8.graph.DexEncodedField):32:32 -> a
    2:2:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo access$302(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo):32:32 -> a
    3:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):52:57 -> a
    9:9:void setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):122:122 -> a
    10:11:void setKotlinMemberInfo(com.android.tools.r8.kotlin.KotlinFieldLevelInfo):141:142 -> a
    12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):147:147 -> a
    13:14:void com.android.tools.r8.graph.DexAnnotationSet.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> a
    13:14:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):147 -> a
    15:15:java.lang.Object apply(java.util.function.Function,java.util.function.Function):191:191 -> a
    16:18:void setStaticValue(com.android.tools.r8.graph.DexValue):247:249 -> a
    19:23: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):269:273 -> a
    24:24:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> a
    24:24: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):277 -> a
    25: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):277:287 -> a
    36:36:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> 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):286 -> a
    37: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):293:299 -> a
    44:44:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    44:44: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):299 -> a
    45:45: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):300:300 -> a
    46:46:com.android.tools.r8.graph.DexEncodedField toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,java.util.function.Consumer):313:313 -> a
    47:47:com.android.tools.r8.graph.DexEncodedField$Builder builder(com.android.tools.r8.graph.DexEncodedField):359:359 -> a
    47:47:com.android.tools.r8.graph.DexEncodedField toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,java.util.function.Consumer):316 -> a
    48:50:com.android.tools.r8.graph.DexEncodedField toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,java.util.function.Consumer):317:319 -> a
    51:54:com.android.tools.r8.graph.DexEncodedField toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,java.util.function.Consumer):318:321 -> a
    55:56:void setGenericSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):345:346 -> a
    57:57:boolean getIsInlinableByJavaC():371:371 -> a
    57:57:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):375 -> a
    58:58:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):378:378 -> a
    59:59:boolean isFinal():208:208 -> a
    59:59:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):378 -> a
    60:69:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):381:390 -> a
    70:70:void markAsInlinableByJavaC():367:367 -> a
    70:70:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):393 -> a
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo access$300(com.android.tools.r8.graph.DexEncodedField):32:32 -> b
    2:6:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):325:329 -> b
    7:7:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":677,"2":678,"3":679}}
    677:677:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):329:329 -> b
    678:678:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):329:329 -> b
    679:679:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):329:329 -> b
    337:339:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):330:332 -> b
    340:340:boolean com.android.tools.r8.graph.DexValue.isDexValueNull():0:0 -> b
    340:340:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):332 -> b
    341:341:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):333:333 -> b
    342:342:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":683,"2":684,"3":685}}
    683:683:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):333:333 -> b
    684:684:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):333:333 -> b
    685:685:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):333:333 -> b
    676:676:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):334:334 -> b
    1:1:com.android.tools.r8.graph.DexValue lambda$specify$0(com.android.tools.r8.graph.DexEncodedField):54:54 -> c
    1:1:boolean lambda$specify$1(com.android.tools.r8.graph.DexEncodedField):57:57 -> d
    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():127:127 -> d0
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():32 -> d0
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():32:32 -> getAccessFlags
    1:1:com.android.tools.r8.graph.DexType getType():166:166 -> getType
    1:1:java.lang.String toSourceString():162:162 -> l0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():81:81 -> n
    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":154,"2":155,"3":156}}
    154:154:java.lang.String toString():152:152 -> toString
    155:155:java.lang.String toString():152:152 -> toString
    156:156:java.lang.String toString():152:152 -> toString
    153:153:java.lang.String toString():152:152 -> toString
    1:1:void clearGenericSignature():351:351 -> v
    1:1:boolean isStaticMember():230:230 -> x0
    1:1:void clearKotlinInfo():132:132 -> y0
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():112:112 -> z0
com.android.tools.r8.graph.DexEncodedField$Builder -> com.android.tools.r8.graph.n0:
    com.android.tools.r8.graph.DexAnnotationSet annotations -> b
    com.android.tools.r8.graph.FieldAccessFlags accessFlags -> c
    boolean d8R8Synthesized -> i
    boolean checkAndroidApiLevel -> k
    boolean $assertionsDisabled -> l
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature genericSignature -> d
    boolean deprecated -> h
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevel -> f
    com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo optimizationInfo -> g
    com.android.tools.r8.graph.DexValue staticValue -> e
    java.util.function.Consumer buildConsumer -> j
    1:1:void <clinit>():397:397 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.graph.DexEncodedField$1):397:397 -> <init>
    2:2:void <init>(boolean,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField$1):397:397 -> <init>
    3:3:void <init>(boolean):414:414 -> <init>
    4:19:void <init>(boolean):400:415 -> <init>
    20:20:void <init>(boolean,com.android.tools.r8.graph.DexEncodedField):418:418 -> <init>
    21:53:void <init>(boolean,com.android.tools.r8.graph.DexEncodedField):400:432 -> <init>
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder apply(java.util.function.Consumer):436:436 -> a
    2:2:com.android.tools.r8.graph.DexEncodedField$Builder setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.AppView):447:447 -> a
    3:3:com.android.tools.r8.graph.DexEncodedField$Builder addBuildConsumer(java.util.function.Consumer):463:463 -> a
    3:3:com.android.tools.r8.graph.DexEncodedField$Builder setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.AppView):447 -> a
    4:5:void lambda$setAbstractValue$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexEncodedField):449:450 -> a
    6:6:com.android.tools.r8.graph.DexEncodedField$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):458:458 -> a
    7:7:com.android.tools.r8.graph.DexEncodedField$Builder setField(com.android.tools.r8.graph.DexField):468:468 -> a
    8:8:com.android.tools.r8.graph.DexEncodedField$Builder setAccessFlags(com.android.tools.r8.graph.FieldAccessFlags):473:473 -> a
    9:9:com.android.tools.r8.graph.DexEncodedField$Builder setApiLevel(com.android.tools.r8.androidapi.ComputedApiLevel):478:478 -> a
    10:10:com.android.tools.r8.graph.DexEncodedField$Builder setGenericSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):483:483 -> a
    11:11:com.android.tools.r8.graph.DexEncodedField$Builder setStaticValue(com.android.tools.r8.graph.DexValue):488:488 -> a
    12:12:com.android.tools.r8.graph.DexEncodedField$Builder disableAndroidApiLevelCheckIf(boolean):503:503 -> a
    13:29:com.android.tools.r8.graph.DexEncodedField build():509:525 -> a
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder modifyAccessFlags(java.util.function.Consumer):441:441 -> b
    2:2:com.android.tools.r8.graph.DexEncodedField$Builder clearAnnotations():454:454 -> b
    3:3:com.android.tools.r8.graph.DexEncodedField$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):458:458 -> b
    3:3:com.android.tools.r8.graph.DexEncodedField$Builder clearAnnotations():454 -> b
    4:4:com.android.tools.r8.graph.DexEncodedField$Builder setDeprecated(boolean):493:493 -> b
com.android.tools.r8.graph.DexEncodedMember -> com.android.tools.r8.internal.rg:
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForDefinition -> e
    boolean d8R8Synthesized -> d
    com.android.tools.r8.graph.DexMember reference -> f
    1:4:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexAnnotationSet,boolean,com.android.tools.r8.androidapi.ComputedApiLevel):33:36 -> <init>
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForDefinition():99:99 -> A0
    1:1:com.android.tools.r8.graph.DexType getHolderType():46:46 -> B0
    1:1:com.android.tools.r8.graph.DexString getName():50:50 -> C0
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo() -> D0
    1:1:com.android.tools.r8.graph.DexMember getReference():55:55 -> E0
    1:1:boolean isD8R8Synthesized():59:59 -> F0
    1:1:boolean isPrivate():73:73 -> G0
    java.lang.Object apply(java.util.function.Function,java.util.function.Function) -> a
    1:1:void accept(java.util.function.Consumer,java.util.function.Consumer):83:83 -> a
    2:2:java.lang.Object lambda$accept$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):85:85 -> a
    3:3:java.lang.Object lambda$accept$1(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):89:89 -> a
    com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo() -> d0
    1:1:void setApiLevelForDefinition(com.android.tools.r8.androidapi.ComputedApiLevel):103:103 -> e
    1:2:boolean equals(java.lang.Object):115:116 -> equals
    1:1:com.android.tools.r8.graph.DexReference getReference():12:12 -> getReference
    1:1:int hashCode():121:121 -> hashCode
    com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> o0
    void clearGenericSignature() -> v
    boolean isDexEncodedMember() -> v0
    void clearKotlinInfo() -> y0
    com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel() -> z0
com.android.tools.r8.graph.DexEncodedMethod -> com.android.tools.r8.graph.q0:
    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotationsList -> i
    com.android.tools.r8.cf.CfVersion classFileVersion -> m
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> l
    com.android.tools.r8.graph.DexEncodedMethod[] EMPTY_ARRAY -> t
    com.android.tools.r8.graph.DexEncodedMethod SENTINEL -> u
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap NO_PARAMETER_INFO -> v
    boolean $assertionsDisabled -> w
    com.android.tools.r8.graph.Code code -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap parameterInfo -> r
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature genericSignature -> p
    boolean obsolete -> s
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForCode -> n
    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> q
    boolean deprecated -> h
    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> g
    com.android.tools.r8.graph.DexEncodedMethod$CompilationState compilationState -> k
    com.android.tools.r8.kotlin.KotlinMethodLevelInfo kotlinMemberInfo -> o
    1:57:void <clinit>():91:147 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo,boolean,com.android.tools.r8.graph.DexEncodedMethod$1):91:91 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo,boolean):239:239 -> <init>
    3:99:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo,boolean):156:252 -> <init>
    1:1:boolean isObsolete():183:183 -> A1
    1:1:boolean isOnlyInlinedIntoNestMembers():621:621 -> B1
    1:2:boolean isPrivateMethod():544:545 -> C1
    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1237:1238 -> D0
    1:2:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():91 -> D0
    1:2:boolean isProcessed():422:423 -> D1
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:2:boolean isProtectedMethod():539:540 -> E1
    1:2:boolean isPublicMethod():534:535 -> F1
    1:2:boolean isPublicized():529:530 -> G1
    1:1:boolean belongsToDirectPool():581:581 -> H0
    1:2:boolean isStatic():562:563 -> H1
    1:1:boolean belongsToVirtualPool():585:585 -> I0
    1:1:boolean isSynchronized():447:447 -> I1
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder builder():1311:1311 -> J0
    1:2:boolean isSyntheticMethod():576:577 -> J1
    1:1:void checkIfObsolete():177:177 -> K0
    1:2:boolean isVirtualMethod():500:501 -> K1
    1:1:void clearApiLevelForCode():1246:1246 -> L0
    1:2:void markNotProcessed():725:726 -> L1
    1:2:java.lang.String codeToString():1215:1216 -> M0
    1:2:java.lang.String qualifiedName():835:836 -> M1
    1:2:java.lang.String descriptor():840:841 -> N0
    1:1:com.android.tools.r8.graph.DexType returnType():341:341 -> N1
    1:1:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():194:194 -> O0
    1:1:void setObsolete():189:189 -> O1
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1242:1242 -> P0
    1:1:boolean shouldNotHaveCode():795:795 -> P1
    1:3:com.android.tools.r8.cf.CfVersion getClassFileVersion():808:810 -> Q0
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder():1303:1303 -> Q1
    1:2:com.android.tools.r8.graph.Code getCode():803:804 -> R0
    1:2:void unsetCode():750:751 -> R1
    1:1:com.android.tools.r8.graph.DexEncodedMethod$CompilationState getCompilationState():210:210 -> S0
    1:1:void unsetObsolete():223:223 -> S1
    1:3:com.android.tools.r8.graph.DexWritableCode getDexWritableCodeOrNull():1297:1299 -> T0
    1:1:int getFirstNonReceiverArgumentIndex():202:202 -> U0
    1:1:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature getGenericSignature():1283:1283 -> V0
    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():590:590 -> W0
    1:3:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo getMutableOptimizationInfo():1261:1263 -> X0
    1:1:int getNumberOfArguments():206:206 -> Y0
    2:2:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> Y0
    2:2:int getNumberOfArguments():206 -> Y0
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> Y0
    3:3:int getNumberOfArguments():206 -> Y0
    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1237:1238 -> Z0
    1:1:com.android.tools.r8.cf.CfVersion access$200(com.android.tools.r8.graph.DexEncodedMethod):91:91 -> a
    2:2:com.android.tools.r8.graph.DexEncodedMethod$CompilationState access$402(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$CompilationState):91:91 -> a
    3:11:void syntheticSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):276:284 -> a
    12:13:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):298:299 -> a
    14:14:int com.android.tools.r8.graph.CfWritableCode.acceptCompareTo(com.android.tools.r8.graph.CfWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):24:24 -> a
    14:14:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):299 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:27:int com.android.tools.r8.graph.CfWritableCode.acceptCompareTo(com.android.tools.r8.graph.CfWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):25:37 -> a
    15:27:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):299 -> a
    28:28:int com.android.tools.r8.graph.CfWritableCode.acceptCompareTo(com.android.tools.r8.graph.CfWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):31:31 -> a
    28:28:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):299 -> a
    29:32:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):301:304 -> a
    33:33:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):296:296 -> a
    34:38:void hashCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.HashingVisitor):312:316 -> a
    39:42:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):349:352 -> a
    43:43:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):351:351 -> a
    44:44:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":765,"2":766,"3":767}}
    765:765:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):351:351 -> a
    766:766:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):351:351 -> a
    767:767:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):351:351 -> a
    398:401:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):354:357 -> a
    402:402:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):356:356 -> a
    403:403:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":772,"2":773,"3":774}}
    772:772:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):356:356 -> a
    773:773:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):356:356 -> a
    774:774:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):356:356 -> a
    762:764:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):359:361 -> a
    775:775:java.lang.Object apply(java.util.function.Function,java.util.function.Function):380:380 -> a
    776:779:com.android.tools.r8.graph.DexClassAndMethod asDexClassAndMethod(com.android.tools.r8.graph.DexDefinitionSupplier):384:387 -> a
    776:779:com.android.tools.r8.graph.DexClassAndMethod asDexClassAndMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):408 -> a
    780:781:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexProgramClass):393:394 -> a
    782:783:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):398:399 -> a
    782:783:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):418 -> a
    784:784:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    784:784:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):399 -> a
    784:784:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):418 -> a
    785:787:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):399:401 -> a
    785:787:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):418 -> a
    788:789:boolean willBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):465:466 -> a
    790:790:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    790:790:boolean willBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):466 -> a
    791:792:boolean willBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):467:468 -> a
    793:793:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    793:793:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):948 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    794:794:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    794:794:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):948 -> a
    795:808:com.android.tools.r8.graph.CfCode buildInstanceOfCfCode(com.android.tools.r8.graph.DexType,boolean):954:967 -> a
    795:808:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):949 -> a
    809:816:com.android.tools.r8.graph.DexCode buildInstanceOfDexCode(com.android.tools.r8.graph.DexType,boolean):971:978 -> a
    809:816:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):950 -> a
    817:818:void setKotlinMemberInfo(com.android.tools.r8.kotlin.KotlinMethodLevelInfo):608:609 -> a
    819:821:boolean isInliningCandidate(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):629:631 -> a
    822:822:boolean isInliningCandidate(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):630:630 -> a
    823:831:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):639:647 -> a
    832:832:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2267,"2":2268,"3":2269}}
    2267:2267:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):647:647 -> a
    2268:2268:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):647:647 -> a
    2269:2269:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):647:647 -> a
    1479:1526:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):647:694 -> a
    1527:1527:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2316,"2":2317,"3":2318}}
    2316:2316:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):694:694 -> a
    2317:2317:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):694:694 -> a
    2318:2318:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):694:694 -> a
    2221:2221:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):694:694 -> a
    2222:2225:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):679:682 -> a
    2226:2229:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):672:675 -> a
    2230:2233:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):665:668 -> a
    2234:2266:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):658:690 -> a
    2319:2338:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):699:718 -> a
    2339:2339:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):715:715 -> a
    2340:2340:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):712:712 -> a
    2341:2341:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):709:709 -> a
    2342:2342:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):706:706 -> a
    2343:2361:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):703:721 -> a
    2362:2366:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):730:734 -> a
    2367:2368:void setParameterInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):762:763 -> a
    2367:2368:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):734 -> a
    2369:2369:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):736:736 -> a
    2370:2372:void setCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.graph.AppView):744:746 -> a
    2373:2376:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):755:758 -> a
    2377:2378:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1237:1238 -> a
    2377:2378:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):758 -> a
    2379:2379:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):758:758 -> a
    2380:2380:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):782:782 -> a
    2381:2383:void downgradeClassFileVersion(com.android.tools.r8.cf.CfVersion):829:831 -> a
    2384:2384:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):845:845 -> a
    2385:2385:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3239,"2":3240,"3":3241}}
    3239:3239:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):846:846 -> a
    3240:3240:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):846:846 -> a
    3241:3241:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):847:847 -> a
    3233:3238:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):848:853 -> a
    3242:3242:void rewriteAllAnnotations(java.util.function.BiFunction):871:871 -> a
    3243:3247:void rewriteAllAnnotations(java.util.function.BiFunction):870:874 -> a
    3248:3248:void setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):894:894 -> a
    3248:3248:void rewriteAllAnnotations(java.util.function.BiFunction):872 -> a
    3249:3249:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):898:898 -> a
    3250:3250:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4225,"2":4226,"3":4227}}
    4225:4225:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):899:899 -> a
    4226:4226:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):899:899 -> a
    4227:4227:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):900:900 -> a
    4151:4153:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):901:903 -> a
    4154:4154:java.lang.String com.android.tools.r8.graph.DexItem.toSmaliString():44:44 -> a
    4154:4154:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):903 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4155:4156:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):903:904 -> a
    4157:4157:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    4157:4157:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> a
    4157:4157:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):904 -> a
    4158:4164:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):904:910 -> a
    4165:4220:java.lang.String com.android.tools.r8.graph.DexCode.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):522:577 -> a
    4165:4220:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):911 -> a
    4221:4224:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):911:914 -> a
    4228:4237:com.android.tools.r8.graph.DexCode generateCodeFromTemplate(int,int,com.android.tools.r8.code.Instruction[]):929:938 -> a
    4238:4241:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):996:999 -> a
    4242:4242:int com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.getParameterCount():227:227 -> a
    4242:4242:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):999 -> a
    4243:4248:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):999:1004 -> a
    4249:4250:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod):1089:1090 -> a
    4251:4251:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1094:1094 -> a
    4252:4252:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1315:1315 -> a
    4252:4252:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1095 -> a
    4253:4265:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1096:1108 -> a
    4266:4281:com.android.tools.r8.graph.ProgramMethod toPrivateSyntheticMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1118:1133 -> a
    4282:4285:void lambda$toPrivateSyntheticMethod$5(com.android.tools.r8.graph.MethodAccessFlags):1128:1131 -> a
    4286:4286:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1138:1138 -> a
    4287:4287:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):309:309 -> a
    4287:4287:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1138 -> a
    4288:4303:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1139:1154 -> a
    4304:4333:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1153:1182 -> a
    4334:4334:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1436:1436 -> a
    4334:4334:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1181 -> a
    4335:4335:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1183:1183 -> a
    4336:4341:void lambda$toForwardingMethod$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):1157:1162 -> a
    4342:4360:void lambda$toForwardingMethod$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):1161:1179 -> a
    4361:4383:void lambda$toForwardingMethod$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):1158:1180 -> a
    4384:4389:void lambda$toForwardingMethod$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1165:1170 -> a
    4390:4390:boolean com.android.tools.r8.graph.DexType.isInterface(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> a
    4390:4390:void lambda$toForwardingMethod$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1170 -> a
    4391:4391:void lambda$toForwardingMethod$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1166:1166 -> a
    4392:4399: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):1188:1195 -> a
    4400:4400:void com.android.tools.r8.graph.MethodAccessFlags.unsetAbstract():200:200 -> a
    4400:4400: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):1196 -> a
    4401:4410: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):1199:1208 -> a
    4411:4416: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):1204:1209 -> a
    4417:4417:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1242:1242 -> a
    4417:4417: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):1210 -> a
    4418:4419: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):1210:1211 -> a
    4420:4421:void setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):1268:1269 -> a
    4422:4426:void copyMetadata(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1273:1277 -> a
    4427:4427:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1242:1242 -> a
    4427:4427:void copyMetadata(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1278 -> a
    4428:4428:void copyMetadata(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1278:1278 -> a
    4429:4430:void setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):1287:1288 -> a
    4431:4431:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1315:1315 -> a
    4431:4431:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4432:4432:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):985:985 -> a
    4433:4433:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4433:4433:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):985 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4434:4434:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4434:4434:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):985 -> a
    4435:4435:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986:986 -> a
    4436:4437:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1041:1042 -> a
    4436:4437:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4438:4438:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4530,"2":4531,"3":4532}}
    4530:4530:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1043:1043 -> a
    4530:4530:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4531:4531:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1043:1043 -> a
    4531:4531:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4532:4532:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1043:1043 -> a
    4532:4532:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4439:4439:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1046:1046 -> a
    4439:4439:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4440:4451:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1044:1055 -> a
    4440:4451:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4452:4460:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1052:1060 -> a
    4452:4460:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4461:4469:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1057:1065 -> a
    4461:4469:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4470:4474:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1063:1067 -> a
    4470:4474:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4475:4476:boolean isStaticMember():568:569 -> a
    4475:4476:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1068 -> a
    4475:4476:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4477:4490:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1072:1085 -> a
    4477:4490:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4491:4491:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987:987 -> a
    4492:4493:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1009:1010 -> a
    4492:4493:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4494:4494:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4533,"2":4534,"3":4535}}
    4533:4533:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1011:1011 -> a
    4533:4533:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4534:4534:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1011:1011 -> a
    4534:4534:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4535:4535:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1011:1011 -> a
    4535:4535:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4495:4495:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1014:1014 -> a
    4495:4495:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4496:4506:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1012:1022 -> a
    4496:4506:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4507:4513:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1021:1027 -> a
    4507:4513:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4514:4518:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1025:1029 -> a
    4514:4518:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4519:4525:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984:990 -> a
    4526:4526:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1436:1436 -> a
    4526:4526:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):988 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4527:4527:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):988:988 -> a
    4528:4528:void setObsolete():189:189 -> a
    4528:4528:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):991 -> a
    4529:4529:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):992:992 -> a
    4536:4536:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1315:1315 -> a
    4536:4536:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1112 -> a
    4537:4538:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1113:1114 -> a
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList getParameterAnnotations():886:886 -> a1
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList lambda$syntheticSpecify$0(com.android.tools.r8.graph.DexEncodedMethod):279:279 -> b
    2:6:void collectMixedSectionItemsWithCodeMapping(com.android.tools.r8.dex.MixedSectionCollection):786:790 -> b
    7:8:void com.android.tools.r8.graph.DexAnnotationSet.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> b
    7:8:void collectMixedSectionItemsWithCodeMapping(com.android.tools.r8.dex.MixedSectionCollection):790 -> b
    9:9:void collectMixedSectionItemsWithCodeMapping(com.android.tools.r8.dex.MixedSectionCollection):791:791 -> b
    10:12:void upgradeClassFileVersion(com.android.tools.r8.cf.CfVersion):823:825 -> b
    13:13:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$3(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):871:871 -> b
    14:19:void lambda$toForwardingMethod$7(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1173:1178 -> b
    20:20:boolean com.android.tools.r8.graph.DexType.isInterface(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> b
    20:20:void lambda$toForwardingMethod$7(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1178 -> b
    21:21:void lambda$toForwardingMethod$7(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1174:1174 -> b
    1:1:java.util.Map getParameterInfo():771:771 -> b1
    1:1:com.android.tools.r8.cf.CfVersion lambda$syntheticSpecify$1(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> c
    2:2:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$4(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):874:874 -> c
    1:1:com.android.tools.r8.graph.DexTypeList getParameters():329:329 -> c1
    1:1:boolean lambda$syntheticSpecify$2(com.android.tools.r8.graph.DexEncodedMethod):283:283 -> d
    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():590:590 -> d0
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():91 -> d0
    1:1:com.android.tools.r8.graph.DexProto getProto():321:321 -> d1
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder(com.android.tools.r8.graph.DexEncodedMethod):1307:1307 -> e
    1:1:com.android.tools.r8.graph.DexType getReturnType():333:333 -> e1
    1:2:void setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):1250:1251 -> f
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():337:337 -> f1
    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> f1
    2:2:com.android.tools.r8.graph.DexMethodSignature getSignature():337 -> f1
    1:2:boolean hasClassFileVersion():818:819 -> g1
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():91:91 -> getAccessFlags
    1:1:com.android.tools.r8.graph.DexType getArgumentType(int):198:198 -> h
    1:1:boolean hasCode():799:799 -> h1
    1:1:com.android.tools.r8.graph.DexType getParameter(int):325:325 -> i
    1:1:boolean hasParameterInfo():767:767 -> i1
    1:1:com.android.tools.r8.graph.DexAnnotationSet getParameterAnnotation(int):882:882 -> j
    1:1:boolean isAbstract():427:427 -> j1
    1:1:boolean isBridge():431:431 -> k1
    1:2:java.lang.String toSourceString():919:920 -> l0
    1:2:boolean isClassInitializer():484:485 -> l1
    1:2:boolean isDefaultInitializer():479:480 -> m1
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():270:270 -> n
    1:1:boolean isDefaultMethod():490:490 -> n1
    1:1:boolean isDeprecated():260:260 -> o1
    1:1:com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod():1227:1227 -> p0
    1:2:boolean isDirectMethod():552:553 -> p1
    1:1:boolean isFinal():435:435 -> q1
    1:2:boolean isInitializer():451:452 -> r1
    1:1:boolean hasAnyAnnotations():858:858 -> s0
    2:2:boolean hasParameterAnnotations():890:890 -> s0
    2:2:boolean hasAnyAnnotations():858 -> s0
    1:1:boolean isInstance():557:557 -> s1
    1:2:boolean isInstanceInitializer():456:457 -> t1
    1:1:java.lang.String toString():776:776 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":780,"2":781,"3":782}}
    780:780:java.lang.String toString():777:777 -> toString
    781:781:java.lang.String toString():777:777 -> toString
    782:782:java.lang.String toString():777:777 -> toString
    779:779:java.lang.String toString():777:777 -> toString
    1:1:com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride():345:345 -> u1
    1:1:void clearGenericSignature():1293:1293 -> v
    1:1:boolean isNative():439:439 -> v1
    1:1:boolean isDexEncodedMethod():1221:1221 -> w0
    1:2:boolean isNonAbstractNonNativeMethod():524:525 -> w1
    1:2:boolean isStaticMember():568:569 -> x0
    1:2:boolean isNonAbstractVirtualMethod():519:520 -> x1
    1:1:void clearKotlinInfo():595:595 -> y0
    1:2:boolean isNonPrivateVirtualMethod():505:506 -> y1
    1:1:void clearAllAnnotations():863:863 -> z
    2:2:void clearParameterAnnotations():878:878 -> z
    2:2:void clearAllAnnotations():864 -> z
    1:2:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():1256:1257 -> z0
    1:2:boolean isNonStaticPrivateMethod():510:511 -> z1
com.android.tools.r8.graph.DexEncodedMethod$1 -> com.android.tools.r8.graph.p0:
    int[] $SwitchMap$com$android$tools$r8$ir$optimize$Inliner$Constraint -> b
    int[] $SwitchMap$com$android$tools$r8$graph$DexEncodedMethod$CompilationState -> a
    1:1:void <clinit>():701:701 -> <clinit>
    2:2:com.android.tools.r8.graph.DexEncodedMethod$CompilationState[] com.android.tools.r8.graph.DexEncodedMethod$CompilationState.values():102:102 -> <clinit>
    2:2:void <clinit>():653 -> <clinit>
    3:3:void <clinit>():653:653 -> <clinit>
com.android.tools.r8.graph.DexEncodedMethod$Builder -> com.android.tools.r8.graph.q0$a:
    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotations -> g
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> i
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature genericSignature -> d
    boolean d8R8Synthesized -> n
    com.android.tools.r8.kotlin.KotlinMethodLevelInfo kotlinInfo -> j
    boolean deprecated -> o
    com.android.tools.r8.graph.DexAnnotationSet annotations -> e
    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> f
    boolean checkMethodNotNull -> p
    java.util.function.Consumer buildConsumer -> s
    com.android.tools.r8.graph.DexMethod method -> c
    boolean checkParameterAnnotationList -> q
    com.android.tools.r8.cf.CfVersion classFileVersion -> k
    boolean checkAndroidApiLevels -> r
    boolean $assertionsDisabled -> t
    com.android.tools.r8.graph.DexEncodedMethod$CompilationState compilationState -> h
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForDefinition -> l
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForCode -> m
    com.android.tools.r8.graph.Code code -> b
    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> a
    1:1:void <clinit>():1318:1318 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod$1):1318:1318 -> <init>
    2:2:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$1):1318:1318 -> <init>
    3:3:void <init>(boolean):1344:1344 -> <init>
    4:26:void <init>(boolean):1323:1345 -> <init>
    27:27:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod):1348:1348 -> <init>
    28:77:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod):1323:1372 -> <init>
    78:78:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod):1368:1368 -> <init>
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder apply(java.util.function.Consumer):1377:1377 -> a
    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder applyIf(boolean,java.util.function.Consumer):1382:1382 -> a
    3:5:com.android.tools.r8.graph.DexEncodedMethod$Builder applyIf(boolean,java.util.function.Consumer,java.util.function.Consumer):1388:1390 -> a
    3:5:com.android.tools.r8.graph.DexEncodedMethod$Builder applyIf(boolean,java.util.function.Consumer):1382 -> a
    6:6:com.android.tools.r8.graph.DexEncodedMethod$Builder fixupOptimizationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):1397:1397 -> a
    7:7:void lambda$fixupOptimizationInfo$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):1398:1398 -> a
    8:8:com.android.tools.r8.graph.DexEncodedMethod$Builder setAccessFlags(com.android.tools.r8.graph.MethodAccessFlags):1412:1412 -> a
    9:9:com.android.tools.r8.graph.DexEncodedMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):1417:1417 -> a
    10:11:com.android.tools.r8.graph.DexEncodedMethod$Builder setCompilationState(com.android.tools.r8.graph.DexEncodedMethod$CompilationState):1422:1423 -> a
    12:13:com.android.tools.r8.graph.DexEncodedMethod$Builder setIsLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):1428:1429 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):1464:1464 -> a
    15:15:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1469:1469 -> a
    16:33:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1475:1492 -> a
    34:34:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    34:34:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1493 -> a
    35:44:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1494:1503 -> a
    45:45:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1469:1469 -> a
    45:45:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1503 -> a
    46:57:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1506:1517 -> a
    58:68:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1515:1525 -> a
    69:69:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1524:1524 -> a
    70:70:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1469:1469 -> a
    70:70:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1523 -> a
    71:71:com.android.tools.r8.graph.DexEncodedMethod$Builder setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo):1530:1530 -> a
    72:72:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1536:1536 -> a
    73:73:com.android.tools.r8.graph.DexEncodedMethod$Builder addBuildConsumer(java.util.function.Consumer):1402:1402 -> a
    73:73:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1536 -> a
    74:75:void lambda$modifyOptimizationInfo$1(java.util.function.BiConsumer,com.android.tools.r8.graph.DexEncodedMethod):1538:1539 -> a
    76:76:com.android.tools.r8.graph.DexEncodedMethod$Builder setCode(com.android.tools.r8.graph.Code):1545:1545 -> a
    77:77:com.android.tools.r8.graph.DexEncodedMethod$Builder setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):1554:1554 -> a
    78:78:com.android.tools.r8.graph.DexEncodedMethod$Builder setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):1564:1564 -> a
    79:79:com.android.tools.r8.graph.DexEncodedMethod$Builder setDeprecated(boolean):1569:1569 -> a
    80:80:com.android.tools.r8.graph.DexEncodedMethod$Builder setClassFileVersion(com.android.tools.r8.cf.CfVersion):1574:1574 -> a
    81:87:com.android.tools.r8.graph.DexEncodedMethod build():1594:1600 -> a
    88:112:com.android.tools.r8.graph.DexEncodedMethod build():1598:1622 -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyAccessFlags(java.util.function.Consumer):1407:1407 -> b
    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAnnotations():1452:1452 -> b
    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1460 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):1464:1464 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAnnotations():1452 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1460 -> b
    4:4:com.android.tools.r8.graph.DexEncodedMethod$Builder clearParameterAnnotations():1456:1456 -> b
    4:4:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1460 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1469:1469 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod$Builder clearParameterAnnotations():1456 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1460 -> b
    6:6:com.android.tools.r8.graph.DexEncodedMethod$Builder setApiLevelForDefinition(com.android.tools.r8.androidapi.ComputedApiLevel):1559:1559 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder disableAndroidApiLevelCheck():1589:1589 -> c
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder disableMethodNotNullCheck():1579:1579 -> d
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder disableParameterAnnotationListCheck():1584:1584 -> e
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder unsetIsLibraryMethodOverride():1447:1447 -> f
com.android.tools.r8.graph.DexEncodedMethod$CompilationState$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.sg:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.graph.DexField -> com.android.tools.r8.graph.r0:
    com.android.tools.r8.graph.DexType type -> i
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):27:30 -> <init>
    5:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":37,"2":38,"3":39}}
    37:37:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):30:30 -> <init>
    38:38:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):30:30 -> <init>
    39:39:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):30:30 -> <init>
    36:36:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):22:22 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):22 -> a
    3:3:boolean match(com.android.tools.r8.graph.DexEncodedMember):22:22 -> a
    4:4:boolean match(com.android.tools.r8.graph.DexEncodedField):186:186 -> a
    4:4:boolean match(com.android.tools.r8.graph.DexEncodedMember):22 -> a
    5:5:boolean match(com.android.tools.r8.graph.DexField):181:181 -> a
    5:5:boolean match(com.android.tools.r8.graph.DexEncodedField):186 -> a
    5:5:boolean match(com.android.tools.r8.graph.DexEncodedMember):22 -> a
    6:6:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):36:36 -> a
    7:14:int compareTo(com.android.tools.r8.graph.DexReference):41:48 -> a
    15:16:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):54:55 -> a
    17:17:java.lang.Iterable getReferencedTypes():171:171 -> a
    17:17:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):56 -> a
    18:18:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):56:56 -> a
    19:19:java.lang.Object apply(java.util.function.Function,java.util.function.Function):94:94 -> a
    20:20:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):102:102 -> a
    21:21:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):110:110 -> a
    22:23:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):147:148 -> a
    24:24:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    24:24:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):148 -> a
    25:25:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":328,"2":329,"3":330}}
    328:328:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    328:328:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):148 -> a
    329:329:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    329:329:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):148 -> a
    330:330:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    330:330:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    330:330:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):148 -> a
    174:174:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149:149 -> a
    175:175:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    175:175:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149 -> a
    176:176:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":331,"2":332,"3":333}}
    331:331:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    331:331:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149 -> a
    332:332:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    332:332:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149 -> a
    333:333:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    333:333:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    333:333:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149 -> a
    326:326:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):150:150 -> a
    327:327:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    327:327:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):150 -> a
    334:334:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):156:156 -> a
    335:335:com.android.tools.r8.graph.DexField withHolder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):205:205 -> a
    336:336:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    336:336:com.android.tools.r8.graph.DexClassAndField lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    336:336:com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass):22 -> a
    337:337:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    337:337:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    337:337:com.android.tools.r8.graph.DexClassAndField lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    337:337:com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass):22 -> a
    1:1:com.android.tools.r8.graph.DexEncodedField lookupOnClass(com.android.tools.r8.graph.DexClass):79:79 -> b
    1:1:com.android.tools.r8.graph.DexType getType():70:70 -> getType
    1:5:boolean computeEquals(java.lang.Object):131:135 -> h
    1:1:java.lang.String toSmaliString():195:195 -> k0
    1:1:java.lang.String toSourceString():200:200 -> l0
    2:2:java.lang.String toSourceString():0:0 -> l0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406}}
    404:404:java.lang.String toSourceString():200:200 -> l0
    405:405:java.lang.String toSourceString():200:200 -> l0
    406:406:java.lang.String toSourceString():200:200 -> l0
    202:202:java.lang.String toSourceString():200:200 -> l0
    203:203:java.lang.String toSourceString():0:0 -> l0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406}}
    404:404:java.lang.String toSourceString():200:200 -> l0
    405:405:java.lang.String toSourceString():200:200 -> l0
    406:406:java.lang.String toSourceString():200:200 -> l0
    403:403:java.lang.String toSourceString():200:200 -> l0
    1:3:int computeHashCode():124:126 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():66:66 -> n
    com.android.tools.r8.graph.DexField asDexField() -> n0
    boolean isDexField() -> r0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146}}
    144:144:java.lang.String toString():142:142 -> toString
    145:145:java.lang.String toString():142:142 -> toString
    146:146:java.lang.String toString():142:142 -> toString
    143:143:java.lang.String toString():142:142 -> toString
    1:1:java.lang.Iterable getReferencedTypes():171:171 -> w0
    1:5:com.android.tools.r8.references.FieldReference asFieldReference():217:217 -> x0
com.android.tools.r8.graph.DexItem -> com.android.tools.r8.graph.s0:
    1:1:void <init>():11:11 -> <init>
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    1:1:void collectAll(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem[]):14:14 -> a
    2:4:void consumeArray(com.android.tools.r8.graph.DexItem[],java.util.function.Consumer):30:32 -> a
    2:4:void collectAll(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem[]):14 -> a
    5:5:void lambda$collectAll$0(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem):14:14 -> a
    6:6:void collectAll(com.android.tools.r8.dex.MixedSectionCollection,java.util.Collection):19:19 -> a
    1:1:void lambda$collectAll$1(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem):19:19 -> b
    1:1:java.lang.String toSmaliString():44:44 -> k0
    1:1:java.lang.String toSourceString():48:48 -> l0
com.android.tools.r8.graph.DexItemFactory -> com.android.tools.r8.graph.v0:
    com.android.tools.r8.graph.DexString invokeMethodName -> A0
    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> C3
    com.android.tools.r8.graph.DexString startsWithMethodName -> Q
    com.android.tools.r8.graph.DexString javacLambdaMethodPrefix -> b1
    com.android.tools.r8.graph.DexType optionalDoubleType -> F2
    com.android.tools.r8.graph.DexType optionalConversionsJ$Type -> g3
    com.android.tools.r8.graph.DexType listIteratorType -> G4
    com.android.tools.r8.graph.DexString classLoaderDescriptor -> I0
    java.util.Set libraryMethodsReturningReceiver -> W4
    com.android.tools.r8.graph.DexString getSimpleNameName -> r0
    com.android.tools.r8.graph.DexString floatDescriptor -> A
    java.util.Map types -> c
    com.android.tools.r8.graph.DexType annotationSynthesizedClass -> x4
    com.android.tools.r8.graph.DexType mathType -> V1
    com.android.tools.r8.graph.DexType mapType -> w2
    java.util.IdentityHashMap internalSentinels -> e5
    com.android.tools.r8.graph.DexString assertionsDisabled -> z0
    java.util.List typeSpecificBuffers -> K2
    com.android.tools.r8.graph.DexType annotationEnclosingClass -> p4
    com.android.tools.r8.com.google.common.collect.BiMap primitiveToBoxed -> Q4
    com.android.tools.r8.graph.DexType recordTagType -> N1
    com.android.tools.r8.graph.DexType methodHandleType -> o2
    com.android.tools.r8.graph.DexItemFactory$LongMembers longMembers -> J3
    com.android.tools.r8.graph.DexString unknownTypeName -> d5
    com.android.tools.r8.graph.DexType boxedShortType -> F1
    com.android.tools.r8.graph.DexString compareToIgnoreCaseMethodName -> a0
    com.android.tools.r8.graph.DexString endsWithMethodName -> R
    com.android.tools.r8.graph.DexType zipFileType -> g2
    com.android.tools.r8.graph.DexString wrapperFieldName -> i0
    com.android.tools.r8.graph.DexType longArrayType -> w1
    com.android.tools.r8.graph.DexString throwableDescriptor -> Q0
    com.android.tools.r8.graph.DexString intDescriptor -> B
    java.util.Map fields -> d
    com.android.tools.r8.graph.DexType npeType -> W2
    com.android.tools.r8.graph.DexType androidSystemOsConstantsType -> x3
    java.util.Map unboxPrimitiveMethod -> R4
    com.android.tools.r8.graph.DexType shortType -> o1
    com.android.tools.r8.graph.DexString temporaryConstructorMethodPrefix -> Y0
    com.android.tools.r8.graph.DexItemFactory$ThrowableMethods throwableMethods -> R3
    com.android.tools.r8.graph.DexItemFactory$ObjectsMethods objectsMethods -> K3
    com.android.tools.r8.graph.DexItemFactory$JavaLangSystemMethods javaLangSystemMethods -> Y3
    com.android.tools.r8.graph.DexType retentionType -> O2
    com.android.tools.r8.graph.DexType javaUtilLocaleType -> p3
    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBufferMethods -> D3
    com.android.tools.r8.graph.DexString equalsMethodName -> S
    com.android.tools.r8.graph.DexType longSummaryStatisticsConversionsJ$Type -> f3
    com.android.tools.r8.graph.DexType optionalType -> E2
    com.android.tools.r8.graph.DexString classDescriptor -> H0
    com.android.tools.r8.graph.DexType iteratorType -> F4
    com.android.tools.r8.graph.DexItemFactory$RecordMembers recordMembers -> N3
    com.android.tools.r8.graph.DexString arraysDescriptor -> P0
    com.android.tools.r8.graph.DexString getCanonicalNameName -> q0
    com.android.tools.r8.graph.DexItemFactory$StringConcatFactoryMembers stringConcatFactoryMembers -> P4
    com.android.tools.r8.graph.DexType iterableType -> U1
    com.android.tools.r8.graph.DexType setType -> v2
    com.android.tools.r8.graph.DexString longDescriptor -> C
    com.android.tools.r8.graph.DexProto twrCloseResourceMethodProto -> k4
    com.android.tools.r8.graph.DexType annotationThrows -> w4
    com.android.tools.r8.graph.DexString newInstanceName -> y0
    com.android.tools.r8.graph.DexType recordType -> M1
    com.android.tools.r8.graph.DexType varHandleType -> n2
    java.util.Map protos -> e
    com.android.tools.r8.graph.DexType annotationDefault -> o4
    com.android.tools.r8.graph.DexString lambdaInstanceFieldName -> a1
    com.android.tools.r8.graph.DexType boxedLongType -> E1
    com.android.tools.r8.graph.DexType closeableType -> f2
    com.android.tools.r8.graph.DexString hashCodeMethodName -> T
    com.android.tools.r8.graph.DexString twrCloseResourceMethodName -> j4
    com.android.tools.r8.graph.DexString convertMethodName -> h0
    com.android.tools.r8.graph.DexString getNameName -> p0
    com.android.tools.r8.graph.DexType noSuchMethodErrorType -> V2
    com.android.tools.r8.graph.DexType androidOsParcelableCreatorType -> w3
    com.android.tools.r8.graph.DexType intArrayType -> v1
    com.android.tools.r8.graph.DexString shortDescriptor -> D
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advanceLines -> h
    com.android.tools.r8.graph.DexString classConstructorMethodName -> X0
    com.android.tools.r8.graph.DexType intConsumer -> N2
    com.android.tools.r8.graph.DexType javaUtilListType -> o3
    com.android.tools.r8.graph.DexType longType -> n1
    java.util.Map methods -> f
    com.android.tools.r8.graph.DexString assertionErrorDescriptor -> C0
    java.util.concurrent.ConcurrentHashMap classTypeInterfaces -> u
    com.android.tools.r8.graph.DexString throwableArrayDescriptor -> d1
    com.android.tools.r8.graph.DexItemFactory$ProxyMethods proxyMethods -> f4
    com.android.tools.r8.graph.DexType intSummaryStatisticsConversionsJ$Type -> e3
    com.android.tools.r8.graph.DexType typeDescriptorType -> E4
    java.util.Map setFiles -> o
    com.android.tools.r8.graph.DexType runnableType -> D2
    com.android.tools.r8.graph.DexString constructorDescriptor -> K0
    com.android.tools.r8.graph.DexItemFactory$AndroidUtilSparseArrayMembers androidUtilSparseArrayMembers -> g4
    java.util.Set libraryMethodsWithReturnValueDependingOnlyOnArguments -> Y4
    com.android.tools.r8.graph.DexString getDeclaredConstructorName -> t0
    com.android.tools.r8.graph.DexType annotationSourceDebugExtension -> v4
    com.android.tools.r8.graph.DexType collectionsType -> T1
    com.android.tools.r8.graph.DexType listType -> u2
    com.android.tools.r8.graph.DexItemFactory$ClassMethods classMethods -> T3
    com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods atomicFieldUpdaterMethods -> c4
    com.android.tools.r8.utils.LRUCacheTable leastUpperBoundOfInterfacesTable -> v
    com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods npeMethods -> Z3
    com.android.tools.r8.graph.DexItemFactory$ObjectMethodsMembers objectMethodsMembers -> N4
    com.android.tools.r8.graph.DexString isEmptyMethodName -> M
    com.android.tools.r8.graph.DexType objectType -> L1
    com.android.tools.r8.graph.DexType javaIoPrintStreamType -> m2
    com.android.tools.r8.graph.DexItemFactory$BooleanMembers booleanMembers -> E3
    com.android.tools.r8.graph.DexString substringName -> c0
    java.util.Set libraryClassesWithoutStaticInitialization -> a5
    java.util.concurrent.ConcurrentHashMap referenceTypes -> t
    com.android.tools.r8.graph.DexItemFactory$StringMembers stringMembers -> P3
    com.android.tools.r8.graph.DexType autoCloseableType -> e2
    boolean $assertionsDisabled -> f5
    com.android.tools.r8.graph.DexType boxedIntType -> D1
    com.android.tools.r8.graph.DexString finalizeMethodName -> k0
    com.android.tools.r8.graph.DexMethod metafactoryAltMethod -> T4
    com.android.tools.r8.graph.DexType floatArrayType -> u1
    com.android.tools.r8.graph.DexString intFieldUpdaterDescriptor -> S0
    com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin setEpilogueBegin -> m
    com.android.tools.r8.graph.DexType noClassDefFoundErrorType -> U2
    com.android.tools.r8.graph.DexType androidOsBundleType -> v3
    com.android.tools.r8.graph.DexType intType -> m1
    com.android.tools.r8.graph.DexType longConsumer -> M2
    com.android.tools.r8.graph.DexType javaUtilConcurrentTimeUnitType -> n3
    com.android.tools.r8.graph.DexString lengthMethodName -> N
    com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods javaUtilArraysMethods -> h4
    java.util.Map setInlineFrames -> q
    com.android.tools.r8.graph.DexString enabledFieldName -> c1
    com.android.tools.r8.graph.DexString invokeExactMethodName -> B0
    com.android.tools.r8.graph.DexType consumerType -> C2
    com.android.tools.r8.graph.DexType objectMethodsType -> D4
    com.android.tools.r8.graph.DexItemFactory$ByteMembers byteMembers -> F3
    com.android.tools.r8.graph.DexType doubleSummaryStatisticsConversionsJ$Type -> d3
    com.android.tools.r8.graph.DexString classArrayDescriptor -> J0
    com.android.tools.r8.graph.DexItemFactory$JavaLangAnnotationRetentionPolicyMembers javaLangAnnotationRetentionPolicyMembers -> X3
    java.util.Set libraryMethodsReturningNonNull -> X4
    com.android.tools.r8.graph.DexString getTypeNameName -> s0
    com.android.tools.r8.graph.DexType objectsType -> S1
    com.android.tools.r8.graph.DexType serviceLoaderConfigurationErrorType -> t2
    com.android.tools.r8.graph.DexType annotationSignature -> u4
    com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods illegalArgumentExceptionMethods -> a4
    com.android.tools.r8.graph.DexType stringArrayType -> K1
    com.android.tools.r8.graph.DexType javaLangSystemType -> l2
    com.android.tools.r8.graph.DexString concatMethodName -> O
    com.android.tools.r8.graph.DexType serializedLambdaType -> m4
    com.android.tools.r8.graph.DexString containsMethodName -> P
    com.android.tools.r8.graph.DexString cloneMethodName -> b0
    com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd setPrologueEnd -> n
    com.android.tools.r8.graph.DexType methodType -> d2
    com.android.tools.r8.graph.DexString deserializeLambdaMethodName -> l4
    com.android.tools.r8.graph.DexType boxedFloatType -> C1
    com.android.tools.r8.graph.DexString getClassMethodName -> j0
    com.android.tools.r8.graph.DexMethod metafactoryMethod -> S4
    com.android.tools.r8.graph.DexString npeDescriptor -> R0
    java.util.Map strings -> b
    com.android.tools.r8.graph.DexType icceType -> T2
    com.android.tools.r8.graph.DexType androidOsBuildVersionType -> u3
    com.android.tools.r8.graph.DexType doubleArrayType -> t1
    com.android.tools.r8.graph.DexString thisName -> Z0
    com.android.tools.r8.graph.DexType doubleConsumer -> L2
    com.android.tools.r8.graph.DexType javaUtilComparatorType -> m3
    com.android.tools.r8.graph.DexType floatType -> l1
    com.android.tools.r8.graph.DexType unsafeType -> M4
    com.android.tools.r8.graph.DexType comparableType -> K4
    com.android.tools.r8.graph.DexString stringDescriptor -> E0
    com.android.tools.r8.graph.DexString kindString -> f1
    com.android.tools.r8.graph.DexType supplierType -> B2
    com.android.tools.r8.graph.DexType timeConversionsType -> c3
    com.android.tools.r8.graph.DexString lastIndexOfMethodName -> Y
    com.android.tools.r8.graph.DexString doubleDescriptor -> z
    com.android.tools.r8.graph.DexType lookupType -> C4
    com.android.tools.r8.graph.DexString methodDescriptor -> M0
    com.android.tools.r8.graph.DexType packageType -> Z1
    com.android.tools.r8.graph.DexString getDeclaredFieldName -> v0
    com.android.tools.r8.graph.DexType annotationMethodParameters -> t4
    com.android.tools.r8.graph.DexType annotationType -> R1
    com.android.tools.r8.graph.DexType serviceLoaderType -> s2
    com.android.tools.r8.graph.DexString boxedNumberDescriptor -> I
    com.android.tools.r8.graph.DexType stringType -> J1
    com.android.tools.r8.graph.DexType javaLangReflectArrayType -> k2
    com.android.tools.r8.graph.DexType boxedDoubleType -> B1
    com.android.tools.r8.graph.DexString valueOfMethodName -> e0
    com.android.tools.r8.graph.DexItemFactory$ShortMembers shortMembers -> O3
    com.android.tools.r8.graph.DexType fieldType -> c2
    com.android.tools.r8.graph.DexString compareToMethodName -> Z
    com.android.tools.r8.graph.DexString nameMethodName -> m0
    java.util.Map libraryMethodsNonNullParamOrThrow -> V4
    com.android.tools.r8.graph.DexType charArrayType -> s1
    com.android.tools.r8.graph.DexString referenceFieldUpdaterDescriptor -> U0
    com.android.tools.r8.graph.DexType illegalArgumentExceptionType -> S2
    com.android.tools.r8.graph.DexType androidOsBuildType -> t3
    com.android.tools.r8.graph.DexString waitMethodName -> J
    com.android.tools.r8.graph.DexType doubleType -> k1
    java.util.List libraryMembersCollection -> i4
    com.android.tools.r8.graph.DexType stringConcatFactoryType -> L4
    com.android.tools.r8.graph.DexType javaUtilCollectionsType -> l3
    com.android.tools.r8.graph.DexType javaMathBigIntegerType -> j3
    com.android.tools.r8.graph.DexString valueString -> e1
    com.android.tools.r8.graph.DexType streamType -> I2
    com.android.tools.r8.graph.DexString charSequenceDescriptor -> D0
    com.android.tools.r8.graph.DexType externalizableType -> J4
    java.util.Set libraryTypesAssumedToBePresent -> Z4
    com.android.tools.r8.graph.DexType nullValueType -> c5
    com.android.tools.r8.graph.DexType optionalConversionsType -> b3
    com.android.tools.r8.graph.DexString fieldDescriptor -> L0
    com.android.tools.r8.graph.DexType comparatorType -> A2
    com.android.tools.r8.graph.DexType callSiteType -> B4
    com.android.tools.r8.graph.DexDebugEvent$Default zeroChangeDefaultEvent -> r
    com.android.tools.r8.graph.DexType classType -> Y1
    com.android.tools.r8.graph.DexType collectionType -> z2
    com.android.tools.r8.graph.DexDebugEvent$Default oneChangeDefaultEvent -> s
    com.android.tools.r8.graph.DexString getFieldName -> u0
    com.android.tools.r8.graph.DexType enumType -> Q1
    com.android.tools.r8.graph.DexType proxyType -> r2
    com.android.tools.r8.graph.DexType annotationMemberClasses -> s4
    com.android.tools.r8.graph.DexString notifyMethodName -> K
    com.android.tools.r8.graph.DexType charSequenceArrayType -> I1
    com.android.tools.r8.graph.DexType javaLangAnnotationRetentionPolicyType -> j2
    com.android.tools.r8.graph.DexString trimName -> d0
    com.android.tools.r8.graph.DexItemFactory$DoubleMembers doubleMembers -> Q3
    com.android.tools.r8.graph.DexItemFactory$BufferMembers bufferMembers -> M3
    com.android.tools.r8.graph.DexType boxedCharType -> A1
    com.android.tools.r8.graph.DexType constructorType -> b2
    com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods polymorphicMethods -> e4
    com.android.tools.r8.graph.DexString ordinalMethodName -> l0
    com.android.tools.r8.graph.DexType androidUtilSparseArrayType -> B3
    com.android.tools.r8.graph.DexType intSummaryStatisticsConversionsType -> Z2
    com.android.tools.r8.graph.DexType boxedByteType -> z1
    com.android.tools.r8.graph.DexItemFactory$JavaLangReflectArrayMembers javaLangReflectArrayMembers -> W3
    com.android.tools.r8.graph.DexMethod deserializeLambdaMethod -> U4
    com.android.tools.r8.graph.DexString longFieldUpdaterDescriptor -> T0
    com.android.tools.r8.graph.DexItemFactory$ConstructorMethods constructorMethods -> U3
    com.android.tools.r8.graph.DexType illegalAccessErrorType -> R2
    com.android.tools.r8.graph.DexType javaUtilSetType -> s3
    com.android.tools.r8.graph.DexType byteArrayType -> r1
    com.android.tools.r8.graph.DexString notifyAllMethodName -> L
    com.android.tools.r8.graph.DexType bufferType -> J2
    com.android.tools.r8.graph.DexType javaNioByteOrderType -> k3
    com.android.tools.r8.graph.DexType charType -> j1
    com.android.tools.r8.graph.DexType javaIoFileType -> i3
    com.android.tools.r8.graph.DexType serializableType -> I4
    com.android.tools.r8.graph.DexType booleanType -> h1
    com.android.tools.r8.graph.DexType optionalLongType -> H2
    com.android.tools.r8.graph.DexString identityHashCodeName -> U
    com.android.tools.r8.graph.DexString objectArrayDescriptor -> G0
    com.android.tools.r8.graph.DexType longSummaryStatisticsConversionsType -> a3
    com.android.tools.r8.graph.DexType annotationReachabilitySensitive -> A4
    com.android.tools.r8.graph.DexString listDescriptor -> O0
    com.android.tools.r8.graph.DexType annotationCovariantReturnTypes -> z4
    com.android.tools.r8.graph.DexType referenceFieldUpdaterType -> X1
    com.android.tools.r8.graph.DexType abstractMapSimpleEntryType -> y2
    com.android.tools.r8.graph.DexProto deserializeLambdaMethodProto -> n4
    com.android.tools.r8.graph.DexItemFactory$CharMembers charMembers -> G3
    com.android.tools.r8.kotlin.Kotlin kotlin -> d4
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advancePCs -> i
    com.android.tools.r8.graph.DexString voidDescriptor -> E
    com.android.tools.r8.graph.DexString getDeclaredMethodName -> x0
    com.android.tools.r8.graph.DexType annotationInnerClass -> r4
    com.android.tools.r8.graph.DexType classArrayType -> P1
    com.android.tools.r8.graph.DexType invocationHandlerType -> q2
    java.util.Map methodHandles -> g
    com.android.tools.r8.graph.DexType stringBufferType -> i2
    com.android.tools.r8.graph.DexType charSequenceType -> H1
    com.android.tools.r8.graph.DexString equalsIgnoreCaseMethodName -> V
    com.android.tools.r8.graph.DexString booleanDescriptor -> w
    com.android.tools.r8.graph.DexString internMethodName -> g0
    com.android.tools.r8.graph.DexType classLoaderType -> a2
    boolean skipNameValidationForTesting -> b5
    com.android.tools.r8.graph.DexType androidViewViewType -> A3
    com.android.tools.r8.graph.DexType boxedBooleanType -> y1
    com.android.tools.r8.graph.DexString forNameMethodName -> o0
    com.android.tools.r8.graph.DexType doubleSummaryStatisticsConversionsType -> Y2
    com.android.tools.r8.graph.DexType androidUtilPropertyType -> z3
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap defaults -> j
    com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields primitiveTypesBoxedTypeFields -> b4
    com.android.tools.r8.graph.DexString descriptorSeparator -> F
    com.android.tools.r8.graph.DexType booleanArrayType -> q1
    com.android.tools.r8.graph.DexString constructorMethodName -> W0
    com.android.tools.r8.graph.DexType throwableType -> Q2
    com.android.tools.r8.graph.DexType javaUtilLoggingLoggerType -> r3
    com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame setOutlineFrame -> p
    com.android.tools.r8.graph.DexType byteType -> i1
    com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods serviceLoaderMethods -> O4
    com.android.tools.r8.graph.DexType optionalIntType -> G2
    com.android.tools.r8.graph.DexType enumerationType -> H4
    com.android.tools.r8.graph.DexType timeConversionsJ$Type -> h3
    com.android.tools.r8.graph.DexString dalvikAnnotationOptimizationPrefix -> g1
    com.android.tools.r8.graph.DexString objectDescriptor -> F0
    com.android.tools.r8.graph.DexString contentEqualsMethodName -> W
    com.android.tools.r8.graph.DexString byteDescriptor -> x
    com.android.tools.r8.graph.DexString enumDescriptor -> N0
    com.android.tools.r8.graph.DexItemFactory$ObjectMembers objectMembers -> L3
    com.android.tools.r8.graph.DexType strictMathType -> W1
    com.android.tools.r8.graph.DexType mapEntryType -> x2
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap endLocals -> k
    com.android.tools.r8.graph.DexType annotationCovariantReturnType -> y4
    com.android.tools.r8.graph.DexString boxedDoubleDescriptor -> G
    com.android.tools.r8.graph.DexString getMethodName -> w0
    com.android.tools.r8.graph.DexType objectArrayType -> O1
    com.android.tools.r8.graph.DexType methodTypeType -> p2
    com.android.tools.r8.graph.DexType annotationEnclosingMethod -> q4
    com.android.tools.r8.graph.DexItemFactory$FloatMembers floatMembers -> H3
    com.android.tools.r8.graph.DexType stringBuilderType -> h2
    com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods assertionErrorMethods -> S3
    com.android.tools.r8.graph.DexType boxedNumberType -> G1
    com.android.tools.r8.graph.DexItemFactory$EnumMembers enumMembers -> V3
    com.android.tools.r8.graph.DexString toStringMethodName -> f0
    com.android.tools.r8.graph.DexItemFactory$IntegerMembers integerMembers -> I3
    com.android.tools.r8.graph.DexString indexOfMethodName -> X
    com.android.tools.r8.graph.DexString charDescriptor -> y
    java.util.Set possibleCompilerSynthesizedTypes -> a
    com.android.tools.r8.graph.DexString desiredAssertionStatusMethodName -> n0
    com.android.tools.r8.graph.DexType kotlinMetadataType -> X2
    com.android.tools.r8.graph.DexType androidUtilLogType -> y3
    com.android.tools.r8.graph.DexType shortArrayType -> x1
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap restartLocals -> l
    com.android.tools.r8.graph.DexString newUpdaterName -> V0
    com.android.tools.r8.graph.DexString boxedLongDescriptor -> H
    com.android.tools.r8.graph.DexType runtimeExceptionType -> P2
    com.android.tools.r8.graph.DexType javaUtilLoggingLevelType -> q3
    com.android.tools.r8.graph.DexType voidType -> p1
    1:52:void <clinit>():72:123 -> <clinit>
    1:1:void <init>():127:127 -> <init>
    2:651:void <init>():82:731 -> <init>
    652:738:void <init>():721:807 -> <init>
    739:755:void <init>():797:813 -> <init>
    756:843:void <init>():810:897 -> <init>
    844:844:void <init>():128:128 -> <init>
    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame lambda$createSetInlineFrame$8(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame) -> a
    1:1:com.android.tools.r8.graph.DexType[] com.android.tools.r8.graph.DexTypeList.getBacking():63:63 -> a
    1:1:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2614 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:7:com.android.tools.r8.graph.DexString createShorty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2706:2711 -> a
    2:7:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2614 -> a
    8:8:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2614:2614 -> a
    9:9:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):132:132 -> a
    10:10:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    10:10:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2450 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    11:11:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2450 -> a
    12:12:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2450:2450 -> a
    13:14:com.android.tools.r8.graph.DexMethod createUnboxMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):746:747 -> a
    15:15:com.android.tools.r8.graph.DexDebugEvent$Default com.android.tools.r8.graph.DexDebugEvent$Default.create(int,int):756:756 -> a
    15:15:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int,int):2808 -> a
    16:16:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int,int):2808:2808 -> a
    17:18:com.android.tools.r8.graph.DexType getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType):772:773 -> a
    19:30:java.util.Set boxedValueOfMethods():782:793 -> a
    31:33:com.android.tools.r8.graph.DexMethod lambda$boxedValueOfMethods$0(java.util.Map$Entry):785:787 -> a
    34:34:void setSkipNameValidationForTesting(boolean):900:900 -> a
    35:35:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2211:2211 -> a
    36:36:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):132:132 -> a
    36:36:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2212 -> a
    37:38:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2212:2213 -> a
    39:39:com.android.tools.r8.graph.DexString createString(int,byte[]):2219:2219 -> a
    40:40:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2259:2259 -> a
    41:41:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2232:2232 -> a
    56:56:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2260 -> a
    57:57:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2232:2232 -> a
    57:57:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2260 -> a
    58:58:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2232:2232 -> a
    58:58:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2260 -> a
    42:42:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2234:2234 -> a
    42:42:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2260 -> a
    43:43:java.lang.String escapeMemberString(java.lang.String):2228:2228 -> a
    43:43:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2234 -> a
    43:43:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2260 -> a
    44:51:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2234:2241 -> a
    44:51:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2260 -> a
    52:55:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2260:2263 -> a
    59:59:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2331:2331 -> a
    60:60:com.android.tools.r8.graph.DexMethod internalCreateFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2356:2356 -> a
    60:60:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2332 -> a
    61:61:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2347:2347 -> a
    61:61:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2337 -> a
    62:62:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2347:2347 -> a
    63:63:com.android.tools.r8.graph.DexMethod internalCreateFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2370:2370 -> a
    64:68:java.util.Optional lambda$internalCreateFreshMethodNameWithHolder$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2372:2376 -> a
    69:69:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2394:2394 -> a
    70:70:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2246:2246 -> a
    70:70:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2394 -> a
    71:71:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2394:2394 -> a
    72:72:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2396:2396 -> a
    73:73:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    73:73:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2396 -> a
    74:77:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2397:2400 -> a
    78:78:com.android.tools.r8.graph.DexField createFreshFieldNameWithoutHolder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2414:2414 -> a
    79:80:java.util.Optional lambda$internalCreateFreshFieldName$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2425:2426 -> a
    81:81:com.android.tools.r8.graph.DexMethod createInstanceInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2437:2437 -> a
    82:83:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,java.util.List,java.util.function.Predicate):2446:2447 -> a
    84:87:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2455:2458 -> a
    88:88:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2456:2456 -> a
    89:107:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2464:2482 -> a
    108:108:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2481:2481 -> a
    109:109:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2526:2526 -> a
    110:110:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2537:2537 -> a
    110:110:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2526 -> a
    111:115:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2558:2562 -> a
    111:115:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2539 -> a
    111:115:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2526 -> a
    116:116:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2533:2533 -> a
    117:117:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2537:2537 -> a
    117:117:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2532 -> a
    118:122:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2558:2562 -> a
    118:122:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2539 -> a
    118:122:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2532 -> a
    123:123:com.android.tools.r8.graph.DexType createType(com.android.tools.r8.references.ClassReference):2584:2584 -> a
    124:125:com.android.tools.r8.graph.DexType createArrayType(int,com.android.tools.r8.graph.DexType):2592:2593 -> a
    126:127: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):2598:2599 -> a
    128:128:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String):2603:2603 -> a
    129:131:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2608:2610 -> a
    132:132:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2607:2607 -> a
    133:134: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):2619:2620 -> a
    135:135:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,java.util.List):2632:2632 -> a
    136:139:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2650:2653 -> a
    140:142:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2652:2654 -> a
    143:145:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2658:2660 -> a
    143:145:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2482 -> a
    146:149:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2659:2662 -> a
    146:149:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2482 -> a
    150:154:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2672:2676 -> a
    155:159:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2693:2697 -> a
    155:159:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2676 -> a
    160:160:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceFunction.put(java.lang.Object,java.lang.Object):41:41 -> a
    160:160:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2697 -> a
    160:160:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2676 -> a
    161:163:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2700:2702 -> a
    161:163:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2676 -> a
    164:170:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2677:2683 -> a
    171:175:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2682:2686 -> a
    176:177: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):2716:2717 -> a
    178:178:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.lang.String):2721:2721 -> a
    179:181:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2725:2727 -> a
    182:192:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2726:2736 -> a
    193:193:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2731:2731 -> a
    194:194:void lambda$createMethod$7(com.android.tools.r8.graph.DexString[],com.android.tools.r8.references.TypeReference,int):2729:2729 -> a
    195:197:com.android.tools.r8.graph.DexMethodHandle createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean,com.android.tools.r8.graph.DexMethod):2753:2755 -> a
    198:198: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):2765:2765 -> a
    199:208: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[]):2773:2782 -> a
    209:211:com.android.tools.r8.graph.DexDebugEvent$AdvanceLine createAdvanceLine(int):2790:2792 -> a
    212:214:com.android.tools.r8.graph.DexDebugEvent$SetFile createSetFile(com.android.tools.r8.graph.DexString):2832:2834 -> a
    215:217:com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame createSetInlineFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):2839:2841 -> a
    218:218:boolean isConstructor(com.android.tools.r8.graph.DexMethod):2854:2854 -> a
    219:226: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):2891:2898 -> a
    227:258: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):2897:2928 -> a
    259:264:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(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):2905:2910 -> a
    265:275:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AppView.isInterface(com.android.tools.r8.graph.DexType):310:320 -> a
    265:275:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(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):2911 -> a
    276:281:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(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):2911:2916 -> a
    282:296:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(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):2912:2926 -> a
    297:297:com.android.tools.r8.ir.analysis.type.InterfaceCollection getOrComputeLeastUpperBoundOfImplementedInterfaces(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):2933:2933 -> a
    298:299:com.android.tools.r8.ir.analysis.type.InterfaceCollection lambda$getOrComputeLeastUpperBoundOfImplementedInterfaces$10(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):2936:2937 -> a
    300:300:void forAllTypes(java.util.function.Consumer):2943:2943 -> a
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> b
    1:1:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2459 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> b
    2:2:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2459 -> b
    3:3:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2459:2459 -> b
    4:5:java.util.Map buildLibraryMethodsNonNullParamOrThrow():822:823 -> b
    6:6:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1553:1553 -> b
    6:6:java.util.Map buildLibraryMethodsNonNullParamOrThrow():823 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1553:1553 -> b
    7:7:java.util.Map buildLibraryMethodsNonNullParamOrThrow():823 -> b
    8:11:java.util.Map buildLibraryMethodsNonNullParamOrThrow():823:826 -> b
    12:12:com.android.tools.r8.graph.DexString createString(java.lang.String):2224:2224 -> b
    13:13:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2423:2423 -> b
    14:14:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2246:2246 -> b
    14:14:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2423 -> b
    15:15:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2423:2423 -> b
    16:16:com.android.tools.r8.graph.DexString lookupString(int,byte[]):2487:2487 -> b
    17:17:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2537:2537 -> b
    18:22:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2558:2562 -> b
    18:22:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2539 -> b
    23:23:boolean isPossiblyCompilerSynthesizedType(com.android.tools.r8.graph.DexType):2567:2567 -> b
    24:24:void forEachPossiblyCompilerSynthesizedType(java.util.function.Consumer):2571:2571 -> b
    25:25:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2627:2627 -> b
    26:31:com.android.tools.r8.graph.DexString createShorty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2706:2711 -> b
    26:31:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2628 -> b
    32:32:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2625:2625 -> b
    33:33:com.android.tools.r8.graph.DexProto prependHolderToProto(com.android.tools.r8.graph.DexMethod):2642:2642 -> b
    34:36:com.android.tools.r8.graph.DexDebugEvent$AdvancePC createAdvancePC(int):2796:2798 -> b
    1:1:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2546:2546 -> c
    2:6:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2558:2562 -> c
    2:6:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2547 -> c
    7:11:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2558:2562 -> c
    7:11:void registerTypeNeededForDesugaring(com.android.tools.r8.graph.DexType):2554 -> c
    12:12:com.android.tools.r8.graph.DexType createType(com.android.tools.r8.graph.DexString):2576:2576 -> c
    13:15:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int):2802:2804 -> c
    16:18:void clearTypeElementsCache():2862:2864 -> c
    1:9:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2510:2518 -> d
    10:10:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2515:2515 -> d
    11:11:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):132:132 -> d
    11:11:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2519 -> d
    12:13:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2519:2520 -> d
    14:14:com.android.tools.r8.graph.DexType createType(java.lang.String):2580:2580 -> d
    15:17:com.android.tools.r8.graph.DexDebugEvent$EndLocal createEndLocal(int):2812:2814 -> d
    18:18:com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin createSetEpilogueBegin():2824:2824 -> d
    1:1:com.android.tools.r8.graph.DexString lookupString(java.lang.String):2491:2491 -> e
    2:2:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexString):2588:2588 -> e
    3:5:com.android.tools.r8.graph.DexDebugEvent$RestartLocal createRestartLocal(int):2818:2820 -> e
    6:6:com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame createSetOutlineFrame():2845:2845 -> e
    1:1:com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd createSetPrologueEnd():2828:2828 -> f
    1:5:java.util.List extractMarkers():2498:2502 -> g
    1:1:boolean getSkipNameValidationForTesting():904:904 -> h
    1:3:boolean verifyNoCachedTypeElements():2868:2870 -> i
com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildMembers -> com.android.tools.r8.internal.vg:
    com.android.tools.r8.graph.DexField TYPE -> q
    com.android.tools.r8.graph.DexField SUPPORTED_64_BIT_ABIS -> n
    com.android.tools.r8.graph.DexField SUPPORTED_32_BIT_ABIS -> m
    com.android.tools.r8.graph.DexField TIME -> p
    com.android.tools.r8.graph.DexField SUPPORTED_ABIS -> o
    com.android.tools.r8.graph.DexField MODEL -> j
    com.android.tools.r8.graph.DexField MANUFACTURER -> i
    com.android.tools.r8.graph.DexField SERIAL -> l
    com.android.tools.r8.graph.DexField PRODUCT -> k
    com.android.tools.r8.graph.DexField DISPLAY -> f
    com.android.tools.r8.graph.DexField DEVICE -> e
    com.android.tools.r8.graph.DexField HARDWARE -> h
    com.android.tools.r8.graph.DexField FINGERPRINT -> g
    com.android.tools.r8.graph.DexField BRAND -> b
    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):916:938 -> <init>
    1:17:void forEachFinalField(java.util.function.Consumer):942:958 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildVersionMembers -> com.android.tools.r8.internal.wg:
    com.android.tools.r8.graph.DexField SECURITY_PATCH -> e
    com.android.tools.r8.graph.DexField RELEASE -> b
    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):962:969 -> <init>
    1:5:void forEachFinalField(java.util.function.Consumer):973:977 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidOsBundleMembers -> com.android.tools.r8.internal.xg:
    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):981:985 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):989:990 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidSystemOsConstantsMembers -> com.android.tools.r8.internal.yg:
    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):994:997 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1001:1002 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidUtilSparseArrayMembers -> com.android.tools.r8.internal.zg:
    com.android.tools.r8.graph.DexMethod set -> b
    com.android.tools.r8.graph.DexMethod put -> a
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1029:1033 -> <init>
com.android.tools.r8.graph.DexItemFactory$AndroidViewViewMembers -> com.android.tools.r8.internal.Ag:
    com.android.tools.r8.graph.DexField SELECTED_STATE_SET -> e
    com.android.tools.r8.graph.DexField EMPTY_STATE_SET -> b
    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):1006:1017 -> <init>
    1:5:void forEachFinalField(java.util.function.Consumer):1021:1025 -> a
com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods -> com.android.tools.r8.graph.t0:
    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):1326:1326 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1330:1335 -> <init>
com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods -> com.android.tools.r8.graph.u0:
    java.util.Set updaters -> b
    com.android.tools.r8.graph.DexMethod referenceUpdater -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1822:1822 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1828:1847 -> <init>
    1:1:boolean isFieldUpdater(com.android.tools.r8.graph.DexMethod):1851:1851 -> a
com.android.tools.r8.graph.DexItemFactory$BooleanMembers -> com.android.tools.r8.graph.v0$a:
    com.android.tools.r8.graph.DexField TRUE -> b
    com.android.tools.r8.graph.DexMethod toString -> g
    com.android.tools.r8.graph.DexField FALSE -> a
    com.android.tools.r8.graph.DexMethod valueOf -> f
    com.android.tools.r8.graph.DexMethod parseBoolean -> 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):1036:1036 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1051:1051 -> <init>
    3:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1038:1049 -> <init>
    1:3:void forEachFinalField(java.util.function.Consumer):1055:1057 -> a
com.android.tools.r8.graph.DexItemFactory$BufferMembers -> com.android.tools.r8.internal.Bg:
    java.util.List bufferCovariantMethods -> a
    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1484:1495 -> <init>
com.android.tools.r8.graph.DexItemFactory$ByteMembers -> com.android.tools.r8.graph.w0:
    com.android.tools.r8.graph.DexMethod valueOf -> c
    com.android.tools.r8.graph.DexMethod toString -> b
    com.android.tools.r8.graph.DexMethod byteValue -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1061:1061 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1070:1070 -> <init>
    3:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1063:1068 -> <init>
com.android.tools.r8.graph.DexItemFactory$CharMembers -> com.android.tools.r8.graph.x0:
    com.android.tools.r8.graph.DexMethod toString -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1073:1073 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1078:1078 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1075:1076 -> <init>
com.android.tools.r8.graph.DexItemFactory$ClassMethods -> com.android.tools.r8.graph.y0:
    com.android.tools.r8.graph.DexMethod newInstance -> l
    com.android.tools.r8.graph.DexMethod getPackage -> k
    com.android.tools.r8.graph.DexMethod getDeclaredConstructor -> j
    com.android.tools.r8.graph.DexMethod getConstructor -> i
    com.android.tools.r8.graph.DexMethod getTypeName -> h
    com.android.tools.r8.graph.DexMethod getSimpleName -> g
    com.android.tools.r8.graph.DexMethod getCanonicalName -> f
    com.android.tools.r8.graph.DexMethod getName -> e
    com.android.tools.r8.graph.DexMethod getClassLoader -> d
    com.android.tools.r8.graph.DexMethod forName3 -> c
    com.android.tools.r8.graph.DexMethod forName -> b
    com.android.tools.r8.graph.DexMethod desiredAssertionStatus -> a
    java.util.Set getMembers -> m
    java.util.Set getNames -> n
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1558:1558 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1581:1581 -> <init>
    3:62:void <init>(com.android.tools.r8.graph.DexItemFactory):1563:1622 -> <init>
    1:1:boolean isReflectiveMemberLookup(com.android.tools.r8.graph.DexMethod):1630:1630 -> a
com.android.tools.r8.graph.DexItemFactory$ConstructorMethods -> com.android.tools.r8.graph.z0:
    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):1638:1638 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1642:1644 -> <init>
com.android.tools.r8.graph.DexItemFactory$DoubleMembers -> com.android.tools.r8.graph.A0:
    com.android.tools.r8.graph.DexMethod toString -> b
    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):1258:1258 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1265:1265 -> <init>
    3:10:void <init>(com.android.tools.r8.graph.DexItemFactory):1262:1269 -> <init>
    11:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1267:1267 -> <init>
com.android.tools.r8.graph.DexItemFactory$EnumMembers -> com.android.tools.r8.graph.B0:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexMethod finalize -> l
    com.android.tools.r8.graph.DexMethod constructor -> k
    com.android.tools.r8.graph.DexMethod hashCode -> j
    com.android.tools.r8.graph.DexMethod equals -> i
    com.android.tools.r8.graph.DexMethod compareToWithObject -> h
    com.android.tools.r8.graph.DexMethod compareTo -> g
    com.android.tools.r8.graph.DexMethod toString -> f
    com.android.tools.r8.graph.DexMethod nameMethod -> e
    com.android.tools.r8.graph.DexMethod ordinalMethod -> d
    com.android.tools.r8.graph.DexMethod valueOf -> c
    com.android.tools.r8.graph.DexField ordinalField -> b
    com.android.tools.r8.graph.DexField nameField -> a
    com.android.tools.r8.graph.DexItemFactory this$0 -> m
    1:1:void <clinit>():1685:1685 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1685:1685 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1705:1705 -> <init>
    3:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1687:1732 -> <init>
    1:2:void forEachField(java.util.function.Consumer):1736:1737 -> a
    3:4:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1745:1746 -> a
    5:5:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    5:5:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1746 -> a
    6:6:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    6:6:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1746 -> a
    1:3:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1750:1752 -> b
    4:4:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> b
    4:4:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1753 -> b
    5:5:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    5:5:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1754 -> b
com.android.tools.r8.graph.DexItemFactory$FloatMembers -> com.android.tools.r8.graph.C0:
    com.android.tools.r8.graph.DexField TYPE -> a
    com.android.tools.r8.graph.DexMethod toString -> b
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1081:1081 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1088:1088 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1083:1086 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1092:1092 -> a
com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods -> com.android.tools.r8.internal.Cg:
    com.android.tools.r8.graph.DexMethod initWithMessage -> a
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1766:1770 -> <init>
    6:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1769:1769 -> <init>
com.android.tools.r8.graph.DexItemFactory$IntegerMembers -> com.android.tools.r8.internal.Dg:
    com.android.tools.r8.graph.DexField TYPE -> a
    com.android.tools.r8.graph.DexMethod toString -> b
    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1275:1280 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1284:1284 -> a
com.android.tools.r8.graph.DexItemFactory$JavaIoFileMembers -> com.android.tools.r8.internal.Eg:
    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):1096:1099 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1103:1104 -> a
com.android.tools.r8.graph.DexItemFactory$JavaLangAnnotationRetentionPolicyMembers -> com.android.tools.r8.graph.D0:
    com.android.tools.r8.graph.DexField CLASS -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1652:1652 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1658:1658 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1654:1655 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaLangReflectArrayMembers -> com.android.tools.r8.graph.E0:
    com.android.tools.r8.graph.DexMethod newInstanceMethodWithDimensions -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1661:1661 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1669:1669 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1663:1666 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1664:1664 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaLangSystemMethods -> com.android.tools.r8.graph.F0:
    com.android.tools.r8.graph.DexMethod identityHashCode -> b
    com.android.tools.r8.graph.DexMethod arraycopy -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1672:1672 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1682:1682 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1674:1677 -> <init>
    7:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1675:1680 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaMathBigIntegerMembers -> com.android.tools.r8.internal.Fg:
    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):1108:1112 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1116:1117 -> a
com.android.tools.r8.graph.DexItemFactory$JavaNioByteOrderMembers -> com.android.tools.r8.internal.Gg:
    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):1121:1126 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1130:1131 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods -> com.android.tools.r8.graph.G0:
    com.android.tools.r8.graph.DexMethod equalsObjectArray -> b
    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):1135:1135 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1140:1144 -> <init>
    7:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1142:1148 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaUtilComparatorMembers -> com.android.tools.r8.internal.Hg:
    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):1156:1161 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1165:1166 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilConcurrentTimeUnitMembers -> com.android.tools.r8.internal.Ig:
    com.android.tools.r8.graph.DexField NANOSECONDS -> f
    com.android.tools.r8.graph.DexField MINUTES -> e
    com.android.tools.r8.graph.DexField SECONDS -> g
    com.android.tools.r8.graph.DexField HOURS -> b
    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):1170:1185 -> <init>
    1:7:void forEachFinalField(java.util.function.Consumer):1189:1195 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilLocaleMembers -> com.android.tools.r8.internal.Jg:
    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):1199:1203 -> <init>
    1:3:void forEachFinalField(java.util.function.Consumer):1207:1209 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilLoggingLevelMembers -> com.android.tools.r8.internal.Kg:
    com.android.tools.r8.graph.DexField WARNING -> f
    com.android.tools.r8.graph.DexField SEVERE -> e
    com.android.tools.r8.graph.DexField FINE -> b
    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):1213:1226 -> <init>
    1:6:void forEachFinalField(java.util.function.Consumer):1230:1235 -> a
com.android.tools.r8.graph.DexItemFactory$LibraryMembers -> com.android.tools.r8.internal.Lg:
    1:1:void <init>():911:911 -> <init>
    void forEachFinalField(java.util.function.Consumer) -> a
com.android.tools.r8.graph.DexItemFactory$LongMembers -> com.android.tools.r8.graph.H0:
    com.android.tools.r8.graph.DexField TYPE -> a
    com.android.tools.r8.graph.DexMethod toString -> b
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1239:1239 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1247:1247 -> <init>
    3:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1241:1249 -> <init>
    12:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1248:1248 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1254:1254 -> a
com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods -> com.android.tools.r8.internal.Mg:
    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):1758:1763 -> <init>
com.android.tools.r8.graph.DexItemFactory$ObjectMembers -> com.android.tools.r8.graph.v0$b:
    com.android.tools.r8.graph.DexMethod waitLongInt -> n
    com.android.tools.r8.graph.DexMethod waitLong -> m
    com.android.tools.r8.graph.DexMethod wait -> l
    com.android.tools.r8.graph.DexMethod notifyAll -> k
    com.android.tools.r8.graph.DexMethod notify -> j
    com.android.tools.r8.graph.DexMethod toString -> i
    com.android.tools.r8.graph.DexMethod finalize -> h
    com.android.tools.r8.graph.DexMethod constructor -> g
    com.android.tools.r8.graph.DexMethod hashCode -> f
    com.android.tools.r8.graph.DexMethod getClass -> e
    com.android.tools.r8.graph.DexMethod equals -> d
    com.android.tools.r8.graph.DexMethod clone -> c
    com.android.tools.r8.graph.DexField clinitField -> b
    com.android.tools.r8.graph.DexField classIdField -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1363:1363 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1392:1392 -> <init>
    3:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1369:1413 -> <init>
    1:12:boolean isObjectMember(com.android.tools.r8.graph.DexMethod):1421:1432 -> a
com.android.tools.r8.graph.DexItemFactory$ObjectMethodsMembers -> com.android.tools.r8.internal.Ng:
    com.android.tools.r8.graph.DexMethod bootstrap -> a
    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1348:1359 -> <init>
    13:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1352:1352 -> <init>
    14:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1350:1350 -> <init>
com.android.tools.r8.graph.DexItemFactory$ObjectsMethods -> com.android.tools.r8.graph.I0:
    com.android.tools.r8.graph.DexMethod toStringWithObjectAndNullDefault -> k
    com.android.tools.r8.graph.DexMethod toStringWithObject -> j
    com.android.tools.r8.graph.DexMethod requireNonNullElseGet -> i
    com.android.tools.r8.graph.DexMethod requireNonNullElse -> h
    com.android.tools.r8.graph.DexMethod requireNonNullWithMessageSupplier -> g
    com.android.tools.r8.graph.DexMethod requireNonNullWithMessage -> f
    com.android.tools.r8.graph.DexMethod requireNonNull -> e
    com.android.tools.r8.graph.DexMethod nonNull -> d
    com.android.tools.r8.graph.DexMethod isNull -> c
    com.android.tools.r8.graph.DexMethod hashCode -> b
    com.android.tools.r8.graph.DexMethod equals -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1498:1498 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1524:1524 -> <init>
    3:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1500:1513 -> <init>
    17:22:void <init>(com.android.tools.r8.graph.DexItemFactory):1512:1517 -> <init>
    23:39:void <init>(com.android.tools.r8.graph.DexItemFactory):1515:1531 -> <init>
    40:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1529:1536 -> <init>
    48:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1534:1534 -> <init>
com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods -> com.android.tools.r8.internal.Og:
    com.android.tools.r8.graph.DexProto compareAndSetSignature -> c
    java.util.Set varHandleMethods -> d
    com.android.tools.r8.graph.DexItemFactory this$0 -> g
    java.util.Set varHandleSetMethods -> e
    java.util.Set varHandleCompareAndSetMethods -> f
    com.android.tools.r8.graph.DexProto signature -> a
    com.android.tools.r8.graph.DexProto setSignature -> b
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():2085:2085 -> <clinit>
    1:36:void <init>(com.android.tools.r8.graph.DexItemFactory):2085:2120 -> <init>
    1:14:com.android.tools.r8.graph.DexMethod canonicalize(com.android.tools.r8.graph.DexMethod):2129:2142 -> a
    15:20:java.util.Set createStrings(java.lang.String[]):2147:2152 -> a
    1:7:boolean isPolymorphicInvoke(com.android.tools.r8.graph.DexMethod):2156:2162 -> b
com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields -> com.android.tools.r8.graph.J0:
    java.util.Map boxedFieldTypeToPrimitiveType -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1779:1779 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1791:1810 -> <init>
    1:1:com.android.tools.r8.graph.DexType boxedFieldTypeToPrimitiveType(com.android.tools.r8.graph.DexField):1814:1814 -> a
com.android.tools.r8.graph.DexItemFactory$ProxyMethods -> com.android.tools.r8.graph.K0:
    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):2168:2168 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):2172:2177 -> <init>
    8:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2174:2174 -> <init>
com.android.tools.r8.graph.DexItemFactory$RecordMembers -> com.android.tools.r8.internal.Pg:
    com.android.tools.r8.graph.DexMethod toString -> d
    com.android.tools.r8.graph.DexMethod hashCode -> c
    com.android.tools.r8.graph.DexMethod equals -> b
    com.android.tools.r8.graph.DexMethod constructor -> a
    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1340:1345 -> <init>
com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods -> com.android.tools.r8.graph.L0:
    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):2181:2181 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2188:2194 -> <init>
    9:17:void <init>(com.android.tools.r8.graph.DexItemFactory):2192:2200 -> <init>
    18:23:void <init>(com.android.tools.r8.graph.DexItemFactory):2197:2202 -> <init>
com.android.tools.r8.graph.DexItemFactory$ShortMembers -> com.android.tools.r8.graph.M0:
    com.android.tools.r8.graph.DexMethod toString -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1855:1855 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1860:1860 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1857:1858 -> <init>
com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods -> com.android.tools.r8.graph.N0:
    com.android.tools.r8.graph.DexMethod toString -> m
    com.android.tools.r8.graph.DexMethod stringConstructor -> l
    com.android.tools.r8.graph.DexMethod intConstructor -> k
    com.android.tools.r8.graph.DexMethod defaultConstructor -> j
    com.android.tools.r8.graph.DexMethod charSequenceConstructor -> i
    com.android.tools.r8.graph.DexMethod appendString -> h
    com.android.tools.r8.graph.DexMethod appendObject -> g
    com.android.tools.r8.graph.DexMethod appendLong -> f
    com.android.tools.r8.graph.DexMethod appendFloat -> e
    com.android.tools.r8.graph.DexMethod appendDouble -> d
    com.android.tools.r8.graph.DexMethod appendInt -> c
    com.android.tools.r8.graph.DexMethod appendChar -> b
    boolean $assertionsDisabled -> r
    com.android.tools.r8.graph.DexMethod appendBoolean -> a
    java.util.Set appendPrimitiveMethods -> o
    java.util.Set constructorMethods -> p
    java.util.Set appendMethods -> n
    com.android.tools.r8.graph.DexItemFactory this$0 -> q
    1:1:void <clinit>():1949:1949 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory$1):1949:1949 -> <init>
    2:48:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):1973:2019 -> <init>
    1:1:java.util.Set access$2500(com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods):1949:1949 -> a
    2:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):2026:2026 -> a
    3:29:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2047:2073 -> a
    30:30:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2104,"2":2105,"3":2106}}
    2104:2104:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2073:2073 -> a
    2105:2105:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2073:2073 -> a
    2106:2106:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2073:2073 -> a
    2103:2103:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2073:2073 -> a
    1:1:boolean isAppendPrimitiveMethod(com.android.tools.r8.graph.DexMethod):2034:2034 -> b
com.android.tools.r8.graph.DexItemFactory$StringConcatFactoryMembers -> com.android.tools.r8.internal.Qg:
    com.android.tools.r8.graph.DexMethod makeConcatWithConstants -> b
    com.android.tools.r8.graph.DexMethod makeConcat -> a
    1:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1288:1294 -> <init>
    8:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1291:1300 -> <init>
    18:18:void <init>(com.android.tools.r8.graph.DexItemFactory):1296:1296 -> <init>
com.android.tools.r8.graph.DexItemFactory$StringMembers -> com.android.tools.r8.graph.v0$c:
    com.android.tools.r8.graph.DexMethod lastIndexOfString -> o
    com.android.tools.r8.graph.DexMethod lastIndexOfInt -> n
    com.android.tools.r8.graph.DexMethod indexOfString -> m
    com.android.tools.r8.graph.DexMethod indexOfInt -> l
    com.android.tools.r8.graph.DexMethod contentEqualsCharSequence -> k
    com.android.tools.r8.graph.DexMethod equalsIgnoreCase -> j
    com.android.tools.r8.graph.DexMethod equals -> i
    com.android.tools.r8.graph.DexMethod endsWith -> h
    com.android.tools.r8.graph.DexMethod startsWith -> g
    com.android.tools.r8.graph.DexMethod contains -> f
    com.android.tools.r8.graph.DexMethod constructor -> e
    com.android.tools.r8.graph.DexMethod concat -> d
    com.android.tools.r8.graph.DexMethod length -> c
    com.android.tools.r8.graph.DexMethod isEmpty -> b
    com.android.tools.r8.graph.DexField CASE_INSENSITIVE_ORDER -> a
    com.android.tools.r8.graph.DexMethod trim -> v
    com.android.tools.r8.graph.DexMethod intern -> u
    com.android.tools.r8.graph.DexMethod toString -> t
    com.android.tools.r8.graph.DexMethod valueOf -> s
    com.android.tools.r8.graph.DexMethod hashCode -> r
    com.android.tools.r8.graph.DexMethod compareToIgnoreCase -> q
    com.android.tools.r8.graph.DexMethod compareTo -> p
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1863:1863 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1895:1895 -> <init>
    3:77:void <init>(com.android.tools.r8.graph.DexItemFactory):1865:1939 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1945:1945 -> a
com.android.tools.r8.graph.DexItemFactory$SupplierMembers -> com.android.tools.r8.graph.O0:
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2078:2078 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):2082:2082 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.DexItemFactory):2080:2080 -> <init>
com.android.tools.r8.graph.DexItemFactory$ThrowableMethods -> com.android.tools.r8.graph.v0$d:
    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):1303:1303 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1310:1312 -> <init>
    5:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1311:1314 -> <init>
    9:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1313:1320 -> <init>
    17:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1318:1318 -> <init>
com.android.tools.r8.graph.DexLibraryClass -> com.android.tools.r8.graph.P0:
    int $r8$clinit -> u
    boolean $assertionsDisabled -> t
    1:1:void <clinit>():22:22 -> <clinit>
    1:28: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.GenericSignature$ClassSignature,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):43:70 -> <init>
    com.android.tools.r8.graph.ClasspathOrLibraryClass asClasspathOrLibraryClass() -> A
    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> H
    1:1:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):99:99 -> a
    2:7:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):154:159 -> a
    1:3:boolean verifyLibraryMethod(com.android.tools.r8.graph.DexEncodedMethod):82:84 -> c
    1:2:boolean verifyLibraryField(com.android.tools.r8.graph.DexEncodedField):89:90 -> f
    1:1:java.lang.String toSourceString():109:109 -> l0
    2:2:java.lang.String toSourceString():0:0 -> l0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5,"4":6}}
    3:3:java.lang.String toSourceString():109:109 -> l0
    4:4:java.lang.String toSourceString():109:109 -> l0
    5:5:java.lang.String toSourceString():109:109 -> l0
    6:6:java.lang.String toSourceString():109:109 -> l0
    boolean isNotProgramClass() -> p1
    1:1:java.lang.String toString():104:104 -> toString
com.android.tools.r8.graph.DexMember -> com.android.tools.r8.graph.Q0:
    com.android.tools.r8.graph.DexString name -> g
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexType holder -> f
    1:1:void <clinit>():9:9 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):15:19 -> <init>
    1:1:com.android.tools.r8.graph.DexType getContextType():37:37 -> T
    java.lang.Object apply(java.util.function.Function,java.util.function.Function) -> a
    com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass) -> a
    1:1:java.lang.Iterable getReferencedBaseTypes(com.android.tools.r8.graph.DexItemFactory):61:61 -> a
    2:2:com.android.tools.r8.graph.DexType lambda$getReferencedBaseTypes$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):61:61 -> a
    com.android.tools.r8.graph.DexMember asDexMember() -> o0
    1:1:com.android.tools.r8.graph.DexType getHolderType():41:41 -> u0
    1:1:com.android.tools.r8.graph.DexString getName():45:45 -> v0
    java.lang.Iterable getReferencedTypes() -> w0
com.android.tools.r8.graph.DexMemberAnnotation -> com.android.tools.r8.graph.R0:
    com.android.tools.r8.graph.DexItem annotations -> c
    com.android.tools.r8.graph.DexMember item -> b
    1:3:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexItem):14:16 -> <init>
    1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):21:21 -> a
    1:3:boolean equals(java.lang.Object):34:36 -> equals
    1:1:int hashCode():26:26 -> hashCode
com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation -> com.android.tools.r8.internal.Rg:
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexAnnotationSet):44:44 -> <init>
com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation -> com.android.tools.r8.internal.Sg:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexAnnotationSet):56:56 -> <init>
com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation -> com.android.tools.r8.internal.Tg:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ParameterAnnotationsList):69:69 -> <init>
com.android.tools.r8.graph.DexMethod -> com.android.tools.r8.graph.S0:
    com.android.tools.r8.graph.DexProto proto -> i
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):27:30 -> <init>
    5:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":37,"2":38,"3":39,"4":40}}
    37:37:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    38:38:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    39:39:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    40:40:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    36:36:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    1:1:com.android.tools.r8.graph.DexProto getProto():94:94 -> A0
    1:1:com.android.tools.r8.graph.DexType getReturnType():98:98 -> B0
    1:1:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> C0
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():173 -> C0
    1:1:java.lang.String qualifiedName():251:251 -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.String toSourceStringWithoutHolder():265:265 -> E0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):22:22 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):22 -> a
    3:3:com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass):22:22 -> a
    4:4:com.android.tools.r8.graph.DexProto lambda$specify$0(com.android.tools.r8.graph.DexMethod):37:37 -> a
    5:5:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):37:37 -> a
    6:9:int compareTo(com.android.tools.r8.graph.DexReference):42:45 -> a
    10:11:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):66:67 -> a
    12:12:java.lang.Iterable getReferencedTypes():213:213 -> a
    12:12:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68 -> a
    13:13:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> a
    13:13:java.lang.Iterable getReferencedTypes():213 -> a
    13:13:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    14:14:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> a
    14:14:java.lang.Iterable getReferencedTypes():213 -> a
    14:14:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68 -> a
    15:15:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    15:15:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74 -> a
    15:15:java.lang.Iterable getReferencedTypes():213 -> a
    15:15:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68 -> a
    16:16:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68:68 -> a
    17:22:com.android.tools.r8.graph.DexType getArgumentType(int,boolean):73:78 -> a
    23:23:java.lang.Object apply(java.util.function.Function,java.util.function.Function):103:103 -> a
    24:24:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):111:111 -> a
    25:25:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):119:119 -> a
    26:26:com.android.tools.r8.graph.ProgramMethod lookupOnProgramClass(com.android.tools.r8.graph.DexProgramClass):143:143 -> a
    27:27:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    28:28:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    28:28:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    29:29:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    29:29:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    29:29:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    30:30:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):198:198 -> a
    31:31:boolean match(com.android.tools.r8.graph.DexEncodedMethod):247:247 -> a
    32:46:java.lang.String toSourceString(boolean,boolean):273:287 -> a
    47:47:com.android.tools.r8.graph.DexMethod withHolder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):314:314 -> a
    1:2:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):184:185 -> b
    3:3:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> b
    3:3:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):185 -> b
    4:4:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":191,"2":192,"3":193}}
    191:191:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> b
    191:191:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):185 -> b
    192:192:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> b
    192:192:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):185 -> b
    193:193:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> b
    193:193:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> b
    193:193:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):185 -> b
    190:190:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):186:186 -> b
    194:194:boolean match(com.android.tools.r8.graph.DexMethod):234:234 -> b
    195:195:boolean match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> b
    195:195:boolean match(com.android.tools.r8.graph.DexMethod):234 -> b
    196:196:boolean isInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):296:296 -> b
    197:197:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2854:2854 -> b
    197:197:boolean isInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):296 -> b
    198:198:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):595:595 -> b
    198:198:com.android.tools.r8.graph.DexClassAndMethod lookupMemberOnClass(com.android.tools.r8.graph.DexClass):138 -> b
    199:199:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.toClassMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):599:599 -> b
    199:199:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):595 -> b
    199:199:com.android.tools.r8.graph.DexClassAndMethod lookupMemberOnClass(com.android.tools.r8.graph.DexClass):138 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMember com.android.tools.r8.graph.DexClass.lookupMember(com.android.tools.r8.graph.DexMember):589:589 -> c
    1:1:com.android.tools.r8.graph.DexEncodedMethod lookupOnClass(com.android.tools.r8.graph.DexClass):133 -> c
    2:2:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> c
    2:2:com.android.tools.r8.graph.DexEncodedMember com.android.tools.r8.graph.DexClass.lookupMember(com.android.tools.r8.graph.DexMember):589 -> c
    2:2:com.android.tools.r8.graph.DexEncodedMethod lookupOnClass(com.android.tools.r8.graph.DexClass):133 -> c
    3:3:com.android.tools.r8.graph.DexEncodedMethod lookupOnClass(com.android.tools.r8.graph.DexClass):133:133 -> c
    1:1:com.android.tools.r8.graph.DexType getParameter(int):86:86 -> h
    2:6:boolean computeEquals(java.lang.Object):223:227 -> h
    1:1:java.lang.String toSmaliString():256:256 -> k0
    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> k0
    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> k0
    2:2:java.lang.String toSmaliString():256 -> k0
    3:3:java.lang.String toSmaliString():256:256 -> k0
    1:1:java.lang.String toSourceString():261:261 -> l0
    1:1:int computeHashCode():218:218 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():51:51 -> n
    com.android.tools.r8.graph.DexMethod asDexMethod() -> p0
    boolean isDexMethod() -> s0
    1:1:java.lang.String toString():148:148 -> toString
    1:1:java.lang.Iterable getReferencedTypes():213:213 -> w0
    2:2:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> w0
    2:2:java.lang.Iterable getReferencedTypes():213 -> w0
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> w0
    3:3:java.lang.Iterable getReferencedTypes():213 -> w0
    4:4:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> w0
    4:4:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74 -> w0
    4:4:java.lang.Iterable getReferencedTypes():213 -> w0
    1:12:com.android.tools.r8.references.MethodReference asMethodReference():152:163 -> x0
    13:13:com.android.tools.r8.references.MethodReference asMethodReference():161:161 -> x0
    1:1:int getArity():169:169 -> y0
    1:1:com.android.tools.r8.graph.DexTypeList getParameters():90:90 -> z0
com.android.tools.r8.graph.DexMethodHandle -> com.android.tools.r8.graph.U0:
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType type -> e
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexMethod rewrittenTarget -> h
    boolean isInterface -> g
    com.android.tools.r8.graph.DexMember member -> f
    1:1:void <clinit>():17:17 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean,com.android.tools.r8.graph.DexMethod):212:216 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221:221 -> a
    2:29:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):88:115 -> a
    2:29:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    30:30:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":67,"2":68,"3":69}}
    67:67:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:115 -> a
    67:67:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    68:68:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:115 -> a
    68:68:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    69:69:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:115 -> a
    69:69:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    31:31:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:115 -> a
    31:31:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    32:36:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):109:113 -> a
    32:36:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    37:50:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):98:111 -> a
    37:50:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    51:51:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107:107 -> a
    51:51:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    52:52:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):96:96 -> a
    52:52:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    53:53:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94:94 -> a
    53:53:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    54:54:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):92:92 -> a
    54:54:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    55:55:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90:90 -> a
    55:55:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    56:57:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):223:224 -> a
    58:58:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(java.lang.String,java.lang.String,java.lang.String):90:90 -> a
    58:58:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):224 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    59:59:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    59:59:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(java.lang.String,java.lang.String,java.lang.String):90 -> a
    59:59:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):224 -> a
    60:60:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):225:225 -> a
    61:61:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.JarApplicationReader.getMethod(java.lang.String,java.lang.String,java.lang.String):98:98 -> a
    61:61:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):225 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.JarApplicationReader.getMethod(java.lang.String,java.lang.String,java.lang.String):98:98 -> a
    62:62:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):225 -> a
    63:63:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226:226 -> a
    64:64:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.JarApplicationReader.getMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):115:115 -> a
    64:64:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    65:65:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.JarApplicationReader.getMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):115:115 -> a
    65:65:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226 -> a
    66:66:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2744:2744 -> a
    66:66:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.JarApplicationReader.getMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):115 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226 -> a
    70:81:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):258:269 -> a
    82:82:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    82:82:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):269 -> a
    83:83:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    83:83:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    83:83:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):269 -> a
    84:84:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    84:84:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):272 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:85:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    85:85:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    85:85:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):272 -> a
    86:86:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    86:86:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    86:86:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    86:86:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):272 -> a
    87:87:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):280:280 -> a
    88:88:boolean isMethodHandle():294:294 -> a
    88:88:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):338 -> a
    89:103:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):339:353 -> a
    104:104:boolean isFieldHandle():290:290 -> a
    104:104:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):353 -> a
    105:112:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):353:360 -> a
    113:134:int getAsmTag():364:385 -> a
    113:134:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):360 -> a
    135:135:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):360:360 -> a
    136:136:int lambda$specify$0(com.android.tools.r8.graph.DexMethodHandle):322:322 -> a
    137:141:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):322:326 -> a
    1:1:boolean lambda$specify$1(com.android.tools.r8.graph.DexMethodHandle):325:325 -> b
    1:1:com.android.tools.r8.graph.DexMethod lambda$specify$2(com.android.tools.r8.graph.DexMethodHandle):326:326 -> c
    1:6:boolean computeEquals(java.lang.Object):236:241 -> h
    1:1:java.lang.String toSmaliString():286:286 -> k0
    1:1:int computeHashCode():231:231 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():318:318 -> n
    1:1:com.android.tools.r8.graph.DexField asField():307:307 -> n0
    2:2:boolean isFieldHandle():290:290 -> n0
    2:2:com.android.tools.r8.graph.DexField asField():307 -> n0
    3:4:com.android.tools.r8.graph.DexField asField():307:308 -> n0
    1:1:com.android.tools.r8.graph.DexMethod asMethod():302:302 -> o0
    2:2:boolean isMethodHandle():294:294 -> o0
    2:2:com.android.tools.r8.graph.DexMethod asMethod():302 -> o0
    3:4:com.android.tools.r8.graph.DexMethod asMethod():302:303 -> o0
    1:1:boolean isFieldHandle():290:290 -> p0
    1:1:boolean isMethodHandle():294:294 -> q0
    1:7:java.lang.String toString():248:254 -> toString
com.android.tools.r8.graph.DexMethodHandle$MethodHandleType -> com.android.tools.r8.graph.T0:
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_INSTANCE -> h
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_STATIC -> g
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INSTANCE_GET -> f
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType[] $VALUES -> m
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INSTANCE_PUT -> e
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType STATIC_GET -> d
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType STATIC_PUT -> c
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_SUPER -> l
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_INTERFACE -> k
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_DIRECT -> j
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_CONSTRUCTOR -> i
    short value -> b
    1:14:void <clinit>():20:20 -> <clinit>
    1:2:void <init>(java.lang.String,int,short):36:37 -> <init>
    1:1:short getValue():41:41 -> a
    2:2:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):79:79 -> a
    3:3:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):76:76 -> a
    4:4:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):73:73 -> a
    5:5:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):70:70 -> a
    6:6:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):67:67 -> a
    7:7:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):64:64 -> a
    8:8:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):61:61 -> a
    9:9:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):58:58 -> a
    10:10:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):55:55 -> a
    11:11:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):52:52 -> a
    12:45:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):49:82 -> a
    46:46:short getValue():41:41 -> a
    46:46:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):82 -> a
    47:47:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):82:82 -> a
    1:1:boolean isStaticPut():129:129 -> b
    1:1:boolean isFieldType():120 -> b
    2:2:boolean isStaticGet():133:133 -> b
    2:2:boolean isFieldType():120 -> b
    3:3:boolean isInstancePut():137:137 -> b
    3:3:boolean isFieldType():120 -> b
    4:4:boolean isInstanceGet():141:141 -> b
    4:4:boolean isFieldType():120 -> b
    1:1:boolean isInvokeDirect():149:149 -> c
    1:1:boolean isInvokeStatic():145:145 -> d
    1:1:boolean isMethodType():124:124 -> e
    2:2:boolean isInvokeInstance():153:153 -> e
    2:2:boolean isMethodType():124 -> e
    3:3:boolean isInvokeInterface():157:157 -> e
    3:3:boolean isMethodType():124 -> e
    4:4:boolean isInvokeSuper():161:161 -> e
    4:4:boolean isMethodType():124 -> e
    5:5:boolean isInvokeConstructor():165:165 -> e
    5:5:boolean isMethodType():125 -> e
    6:6:boolean isMethodType():125:125 -> e
    1:16:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():169:184 -> f
    17:17:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():182:182 -> f
    18:18:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():180:180 -> f
    19:19:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():178:178 -> f
    20:20:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():176:176 -> f
    21:21:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():174:174 -> f
    22:22:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():172:172 -> f
com.android.tools.r8.graph.DexMethodSignature -> com.android.tools.r8.graph.X0:
    int $r8$clinit -> b
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.graph.DexString getName() -> a
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):50:50 -> a
    2:2:com.android.tools.r8.graph.DexMethodSignature withName(com.android.tools.r8.graph.DexString):54:54 -> a
    3:3:com.android.tools.r8.graph.DexMethodSignature create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    3:3:com.android.tools.r8.graph.DexMethodSignature withName(com.android.tools.r8.graph.DexString):54 -> a
    4:4:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58:58 -> a
    5:5:com.android.tools.r8.graph.DexType getReturnType():41:41 -> a
    5:5:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58 -> a
    6:6:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> a
    6:6:com.android.tools.r8.graph.DexType getReturnType():41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58 -> a
    7:7:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58:58 -> a
    8:8:com.android.tools.r8.graph.DexMethodSignature create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    8:8:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58 -> a
    com.android.tools.r8.graph.DexProto getProto() -> b
    1:3:boolean equals(java.lang.Object):76:78 -> equals
    1:1:int hashCode():83:83 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():46:46 -> n
    1:1:java.lang.String toString():93:93 -> toString
    2:2:com.android.tools.r8.graph.DexType getReturnType():41:41 -> toString
    2:2:java.lang.String toString():95 -> toString
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> toString
    3:3:com.android.tools.r8.graph.DexType getReturnType():41 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.String toString():95 -> toString
    4:7:java.lang.String toString():95:98 -> toString
    8:8:int getArity():29:29 -> toString
    8:8:java.lang.String toString():99 -> toString
    9:9:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> toString
    9:9:int getArity():29 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:java.lang.String toString():99 -> toString
    10:10:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> toString
    10:10:int getArity():29 -> toString
    10:10:java.lang.String toString():99 -> toString
    11:11:java.lang.String toString():101:101 -> toString
    12:12:com.android.tools.r8.graph.DexType getParameter(int):33:33 -> toString
    12:12:java.lang.String toString():103 -> toString
    13:15:java.lang.String toString():103:105 -> toString
com.android.tools.r8.graph.DexMethodSignature$MethodBased -> com.android.tools.r8.graph.V0:
    com.android.tools.r8.graph.DexMethod method -> c
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):112:113 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexString getName():118:118 -> a
    1:1:com.android.tools.r8.graph.DexProto getProto():123:123 -> b
com.android.tools.r8.graph.DexMethodSignature$NameAndProtoBased -> com.android.tools.r8.graph.W0:
    com.android.tools.r8.graph.DexString name -> c
    com.android.tools.r8.graph.DexProto proto -> d
    1:3:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):132:134 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexString getName():139:139 -> a
    1:1:com.android.tools.r8.graph.DexProto getProto():144:144 -> b
com.android.tools.r8.graph.DexProgramClass -> com.android.tools.r8.graph.Z0:
    com.android.tools.r8.synthesis.SyntheticMarker syntheticMarker -> y
    com.android.tools.r8.graph.DexProgramClass[] EMPTY_ARRAY -> z
    com.android.tools.r8.kotlin.KotlinClassLevelInfo kotlinInfo -> w
    boolean deprecated -> v
    com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier checksumSupplier -> x
    com.android.tools.r8.cf.CfVersion initialClassFileVersion -> u
    boolean $assertionsDisabled -> A
    com.android.tools.r8.ProgramResource$Kind originKind -> t
    1:9:void <clinit>():40:48 -> <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.GenericSignature$ClassSignature,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,com.android.tools.r8.synthesis.SyntheticMarker):80:80 -> <init>
    2:53: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.GenericSignature$ClassSignature,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,com.android.tools.r8.synthesis.SyntheticMarker):51:102 -> <init>
    54:54: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.GenericSignature$ClassSignature,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):125:125 -> <init>
    1:1:long getChecksum():821:821 -> A1
    1:1:com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier getChecksumSupplier():825:825 -> B1
    1:1:com.android.tools.r8.cf.CfVersion getInitialClassFileVersion():747:747 -> C1
    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():483:483 -> D1
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.ProgramResource$Kind getOriginKind():365:365 -> E1
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286:286 -> F1
    2:2:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> F1
    2:2:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286 -> F1
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290:290 -> G1
    2:2:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294:294 -> G1
    2:2:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> G1
    3:3:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> G1
    3:3:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294 -> G1
    3:3:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> G1
    1:1:boolean hasClassFileVersion():743:743 -> H1
    1:1:boolean hasClassOrMemberAnnotations():606:606 -> I1
    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> I1
    2:3:boolean hasClassOrMemberAnnotations():607 -> I1
    4:6:boolean hasClassOrMemberAnnotations():607:609 -> I1
    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> I1
    7:7:boolean hasClassOrMemberAnnotations():607 -> I1
    1:1:boolean hasFields():593:593 -> J1
    1:1:boolean hasMethods():597:597 -> K1
    1:1:boolean hasOnlyInternalizableAnnotations():613:613 -> L1
    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> L1
    2:3:boolean hasOnlyInternalizableAnnotations():613 -> L1
    4:6:boolean hasOnlyInternalizableAnnotations():613:615 -> L1
    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> L1
    7:7:boolean hasOnlyInternalizableAnnotations():613 -> L1
    1:1:boolean isDeprecated():755:755 -> M1
    1:1:boolean originatesFromClassResource():373:373 -> N1
    1:1:boolean originatesFromDexResource():369:369 -> O1
    1:1:java.lang.Iterable programInstanceInitializers():252:252 -> P1
    1:1:void setDeprecated():751:751 -> Q1
    1:5:com.android.tools.r8.synthesis.SyntheticMarker stripSyntheticInputMarker():172:176 -> R1
    1:1:java.lang.Iterable virtualProgramMethods():243:243 -> S1
    1:1:com.android.tools.r8.graph.DexType getContextType():723:723 -> T
    com.android.tools.r8.graph.DexClass getContextClass() -> a
    com.android.tools.r8.graph.DexProgramClass getContextClass() -> a
    1:1:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):18:18 -> a
    1:1:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:4:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):18:20 -> a
    2:4:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    5:5:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    5:5:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):20 -> a
    5:5:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    6:6:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    6:6:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):20 -> a
    6:6:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    7:7:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    7:7:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):20 -> a
    7:7:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    8:8:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    8:8:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    8:8:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):20 -> a
    8:8:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    9:10:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):21:22 -> a
    9:10:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    11:11:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:61 -> a
    11:11:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:14:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:63 -> a
    12:14:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
    15:15:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    15:15:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
    16:16:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    16:16:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    16:16:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    16:16:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
    17:17:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    17:17:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    17:17:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    17:17:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    17:17:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
    18:22:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):64:68 -> a
    18:22:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
    23:23:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    23:23:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    23:23:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    24:24:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    24:24:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    24:24:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
    25:25:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    25:25:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    25:25:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
    26:26:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    26:26:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    26:26:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    26:26:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
    27:27:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69:69 -> a
    27:27:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> a
    28:28:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):153:153 -> a
    29:43:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):181:195 -> a
    44:44:boolean lambda$forEachProgramInstanceInitializerMatching$19(java.util.function.Predicate,com.android.tools.r8.graph.DexEncodedMethod):272:272 -> a
    45:45:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramFields$21(java.util.function.Function,com.android.tools.r8.graph.DexEncodedField):341:341 -> a
    46:46:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramMethods$22(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):346:346 -> a
    47:48:com.android.tools.r8.utils.TraversalContinuation traverseProgramMethods(java.util.function.Function,java.util.function.Predicate):356:357 -> a
    49:51:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramMethods$23(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):359:361 -> a
    52:53:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):378:379 -> a
    54:54:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    54:54:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    55:55:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1235,"2":1236,"3":1237}}
    1235:1235:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1235:1235:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    1236:1236:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1236:1236:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    1237:1237:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1237:1237:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    1237:1237:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    435:435:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):380:380 -> a
    436:436:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    436:436:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    437:437:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1238,"2":1239,"3":1240}}
    1238:1238:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1238:1238:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    1239:1239:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1239:1239:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    1240:1240:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1240:1240:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    1240:1240:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    820:822:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):383:385 -> a
    823:823:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    823:823:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):386 -> a
    824:824:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388:388 -> a
    825:825:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    825:825:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    826:826:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    826:826:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388 -> a
    827:827:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    827:827:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    827:827:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388 -> a
    828:828:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    828:828:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    828:828:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388 -> a
    829:829:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):389:389 -> a
    830:831:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):113:114 -> a
    830:831:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    832:832:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    832:832:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    832:832:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    833:833:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1241,"2":1242,"3":1243}}
    1241:1241:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1241:1241:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    1241:1241:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    1242:1242:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1242:1242:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    1242:1242:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    1243:1243:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1243:1243:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    1243:1243:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    1243:1243:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    1225:1232:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):392:399 -> a
    1233:1233:void forEachProgramField(java.util.function.Consumer):199:199 -> a
    1233:1233:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):399 -> a
    1234:1234:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):400:400 -> a
    1244:1248:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):406:410 -> a
    1249:1249:void lambda$addDependencies$26(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexEncodedMethod):422:422 -> a
    1250:1250:void com.android.tools.r8.graph.DexEncodedMethod.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):782:782 -> a
    1250:1250:void lambda$addDependencies$26(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexEncodedMethod):422 -> a
    1251:1251:com.android.tools.r8.graph.DexProgramClass asProgramClassOrNull(com.android.tools.r8.graph.DexClass):473:473 -> a
    1252:1254:void setKotlinInfo(com.android.tools.r8.kotlin.KotlinClassLevelInfo):487:489 -> a
    1255:1259:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):502:506 -> a
    1260:1267:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):516:523 -> a
    1260:1267:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1268:1268:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):578:578 -> a
    1268:1268:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1268:1268:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1269:1271:boolean com.android.tools.r8.graph.DexType.internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):146:148 -> a
    1269:1271:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):579 -> a
    1269:1271:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1269:1271:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1272:1273:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):583:584 -> a
    1272:1273:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1272:1273:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1274:1276:boolean com.android.tools.r8.graph.DexType.internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):146:148 -> a
    1274:1276:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):584 -> a
    1274:1276:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1274:1276:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1277:1277:int lambda$computeStaticValuesArray$27(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):637:637 -> a
    1278:1280:boolean hasNonDefaultStaticFieldValues():655:657 -> a
    1278:1280:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):632 -> a
    1281:1281:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    1281:1281:boolean hasNonDefaultStaticFieldValues():657 -> a
    1281:1281:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):632 -> a
    1282:1292:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):635:645 -> a
    1293:1293:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    1293:1293:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):645 -> a
    1294:1294:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):650:650 -> a
    1295:1296:void downgradeInitialClassFileVersion(com.android.tools.r8.cf.CfVersion):738:739 -> a
    1297:1297:java.lang.Iterable asProgramClasses(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):779:779 -> a
    1298:1298:java.util.Iterator lambda$asProgramClasses$28(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):780:780 -> a
    1299:1299:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):812:812 -> a
    1300:1300:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1300:1300:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):812 -> a
    1301:1301:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):812:812 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.DexProgramClass):181:181 -> b
    2:2:void lambda$forEachProgramFieldMatching$10(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):204:204 -> b
    3:3:void lambda$forEachProgramDirectMethodMatching$18(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):262:262 -> b
    4:4:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294:294 -> b
    5:5:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> b
    5:5:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294 -> b
    6:6:com.android.tools.r8.utils.TraversalContinuation traverseProgramFields(java.util.function.Function):341:341 -> b
    7:9:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):416:418 -> b
    10:10:boolean hasMethodsOrFields():601:601 -> b
    10:10:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):420 -> b
    11:12:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):421:422 -> b
    13:13:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):98:98 -> b
    13:13:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):422 -> b
    14:14:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):98:98 -> b
    14:14:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):422 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:18:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):423:426 -> b
    19:20:void com.android.tools.r8.graph.DexAnnotationSet.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> b
    19:20:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):426 -> b
    21:21:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):427:427 -> b
    22:22:void com.android.tools.r8.graph.DexTypeList.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):120:120 -> b
    22:22:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):428 -> b
    23:41:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):547:565 -> b
    42:42:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):578:578 -> b
    42:42:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    43:45:boolean com.android.tools.r8.graph.DexType.internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):146:148 -> b
    43:45:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):579 -> b
    43:45:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    46:47:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):583:584 -> b
    46:47:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    48:50:boolean com.android.tools.r8.graph.DexType.internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):146:148 -> b
    48:50:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):584 -> b
    48:50:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    51:51:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    51:51:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):448 -> b
    52:58:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):451:457 -> b
    59:61:void setInitialClassFileVersion(com.android.tools.r8.cf.CfVersion):732:734 -> b
    1:1:com.android.tools.r8.graph.DexType lambda$specify$1(com.android.tools.r8.graph.DexProgramClass):182:182 -> c
    2:2:void lambda$forEachProgramInstanceField$11(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):208:208 -> c
    3:3:void lambda$forEachProgramMethodMatching$13(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):227:227 -> c
    4:4:com.android.tools.r8.utils.TraversalContinuation traverseProgramInstanceInitializers(java.util.function.Function):351:351 -> c
    5:7:boolean hasAnnotations(com.android.tools.r8.graph.DexEncodedField[]):619:621 -> c
    8:8:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):665:665 -> c
    9:9:void addExtraInterfaces(java.util.List):678:678 -> c
    10:13:void addExtraInterfacesToInterfacesArray(java.util.List):686:689 -> c
    10:13:void addExtraInterfaces(java.util.List):681 -> c
    14:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> c
    14:14:void addExtraInterfacesToInterfacesArray(java.util.List):689 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void addExtraInterfaces(java.util.List):681 -> c
    15:17:void addExtraInterfacesToInterfacesArray(java.util.List):689:691 -> c
    15:17:void addExtraInterfaces(java.util.List):681 -> c
    18:30:void addExtraInterfacesToSignatureIfPresent(java.util.List):696:708 -> c
    18:30:void addExtraInterfaces(java.util.List):682 -> c
    1:1:com.android.tools.r8.graph.DexTypeList lambda$specify$2(com.android.tools.r8.graph.DexProgramClass):183:183 -> d
    2:2:void forEachProgramDirectMethodMatching(java.util.function.Predicate,java.util.function.Consumer):261:261 -> d
    3:3:void lambda$forEachProgramVirtualMethodMatching$20(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):282:282 -> d
    4:4:com.android.tools.r8.graph.ProgramField lookupProgramField(com.android.tools.r8.graph.DexField):309:309 -> d
    5:5:com.android.tools.r8.graph.ProgramField toProgramFieldOrNull(com.android.tools.r8.graph.DexEncodedField):318:318 -> d
    5:5:com.android.tools.r8.graph.ProgramField lookupProgramField(com.android.tools.r8.graph.DexField):309 -> d
    6:6:com.android.tools.r8.utils.TraversalContinuation traverseProgramMethods(java.util.function.Function):346:346 -> d
    7:7:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):669:669 -> d
    1:1:com.android.tools.r8.graph.ClassAccessFlags lambda$specify$3(com.android.tools.r8.graph.DexProgramClass):184:184 -> e
    2:2:void forEachProgramFieldMatching(java.util.function.Predicate,java.util.function.Consumer):204:204 -> e
    3:3:com.android.tools.r8.graph.ProgramMethod lambda$directProgramMethods$14(com.android.tools.r8.graph.DexEncodedMethod):235:235 -> e
    com.android.tools.r8.graph.DexProgramClass asProgramClass() -> e0
    1:1:com.android.tools.r8.graph.DexString lambda$specify$4(com.android.tools.r8.graph.DexProgramClass):185:185 -> f
    2:2:com.android.tools.r8.graph.ProgramMethod lambda$directProgramMethods$15(com.android.tools.r8.graph.DexEncodedMethod):239:239 -> f
    3:3:void forEachProgramInstanceInitializerMatching(java.util.function.Predicate,java.util.function.Consumer):271:271 -> f
    4:4:com.android.tools.r8.graph.ProgramMethod lookupProgramMethod(com.android.tools.r8.graph.DexMethod):313:313 -> f
    5:5:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> f
    5:5:com.android.tools.r8.graph.ProgramMethod lookupProgramMethod(com.android.tools.r8.graph.DexMethod):313 -> f
    boolean isProgramClass() -> f0
    1:1:com.android.tools.r8.cf.CfVersion lambda$specify$5(com.android.tools.r8.graph.DexProgramClass):186:186 -> g
    2:2:void forEachProgramMethodMatching(java.util.function.Predicate,java.util.function.Consumer):226:226 -> g
    3:3:com.android.tools.r8.graph.ProgramMethod lambda$virtualProgramMethods$16(com.android.tools.r8.graph.DexEncodedMethod):243:243 -> g
    1:1:boolean lambda$specify$6(com.android.tools.r8.graph.DexProgramClass):187:187 -> h
    2:2:void forEachProgramVirtualMethodMatching(java.util.function.Predicate,java.util.function.Consumer):281:281 -> h
    com.android.tools.r8.graph.DexDefinition getDefinition() -> i
    1:1:boolean lambda$specify$7(com.android.tools.r8.graph.DexProgramClass):192:192 -> i
    1:1:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$8(com.android.tools.r8.graph.DexProgramClass):193:193 -> j
    2:2:void forEachProgramInstanceField(java.util.function.Consumer):208:208 -> j
    1:1:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$9(com.android.tools.r8.graph.DexProgramClass):194:194 -> k
    2:2:void forEachProgramField(java.util.function.Consumer):199:199 -> k
    2:2:void forEachProgramMember(java.util.function.Consumer):216 -> k
    3:3:void forEachProgramMember(java.util.function.Consumer):217:217 -> k
    1:1:void forEachProgramMethod(java.util.function.Consumer):221:221 -> l
    1:1:java.lang.String toSourceString():439:439 -> l0
    1:1:java.lang.Iterable directProgramMethods(java.util.function.Predicate):239:239 -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():168:168 -> n
    boolean isNotProgramClass() -> p1
    1:1:java.lang.String toString():434:434 -> toString
    1:1:void clearKotlinInfo():493:493 -> y1
    1:1:java.lang.Iterable directProgramMethods():235:235 -> z1
com.android.tools.r8.graph.DexProgramClass$1 -> com.android.tools.r8.graph.Y0:
    java.util.Iterator iterator -> c
    com.android.tools.r8.graph.DexProgramClass next -> b
    com.android.tools.r8.graph.DexDefinitionSupplier val$definitions -> d
    1:5:void <init>(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):780:784 -> <init>
    1:1:boolean hasNext():788:788 -> hasNext
    1:5:com.android.tools.r8.graph.DexProgramClass findNext():799:803 -> j
    1:2:com.android.tools.r8.graph.DexProgramClass next():793:794 -> next
    1:2:java.lang.Object next():780 -> next
com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier -> com.android.tools.r8.graph.Z0$a:
    long getChecksum(com.android.tools.r8.graph.DexProgramClass) -> a
com.android.tools.r8.graph.DexProto -> com.android.tools.r8.graph.a1:
    com.android.tools.r8.graph.DexProto SENTINEL -> h
    com.android.tools.r8.graph.DexString shorty -> e
    com.android.tools.r8.graph.DexTypeList parameters -> g
    com.android.tools.r8.graph.DexType returnType -> f
    1:1:void <clinit>():16:16 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):22:25 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":131,"2":132,"3":133}}
    131:131:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):122:122 -> a
    132:132:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):122:122 -> a
    133:133:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):123:123 -> a
    125:130:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):124:129 -> a
    134:137:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):29:32 -> a
    138:138:com.android.tools.r8.graph.DexTypeList lambda$specify$0(com.android.tools.r8.graph.DexProto):30:30 -> a
    139:139:com.android.tools.r8.graph.DexType lambda$getBaseTypes$3(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):70:70 -> a
    140:140:java.lang.Iterable getTypes():74:74 -> a
    140:140:java.lang.Iterable getBaseTypes(com.android.tools.r8.graph.DexItemFactory):70 -> a
    141:141:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    141:141:java.lang.Iterable getTypes():74 -> a
    141:141:java.lang.Iterable getBaseTypes(com.android.tools.r8.graph.DexItemFactory):70 -> a
    142:142:java.lang.Iterable getBaseTypes(com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    143:144:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):100:101 -> a
    145:145:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    145:145:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):101 -> a
    146:146:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102:102 -> a
    147:147:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    147:147:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    148:148:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":257,"2":258,"3":259}}
    257:257:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    257:257:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    258:258:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    258:258:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    259:259:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    259:259:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    259:259:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    251:251:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103:103 -> a
    252:252:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):113:113 -> a
    252:252:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    253:254:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):113:114 -> a
    253:254:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    255:255:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    255:255:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    255:255:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    256:256:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":260,"2":261,"3":262}}
    260:260:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    260:260:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    260:260:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    261:261:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    261:261:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    261:261:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    262:262:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    262:262:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    262:262:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    262:262:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    263:263:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):109:109 -> a
    1:1:com.android.tools.r8.graph.DexString lambda$specify$1(com.android.tools.r8.graph.DexProto):32:32 -> b
    2:2:java.lang.Iterable getParameterBaseTypes(com.android.tools.r8.graph.DexItemFactory):66:66 -> b
    3:3:com.android.tools.r8.graph.DexType lambda$getParameterBaseTypes$2(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):66:66 -> b
    1:2:void forEachType(java.util.function.Consumer):78:79 -> d
    1:5:boolean computeEquals(java.lang.Object):47:51 -> h
    6:6:com.android.tools.r8.graph.DexType getParameter(int):83:83 -> h
    1:1:java.lang.String toDescriptorString():118:118 -> k0
    1:1:java.lang.String toSmaliString():114 -> k0
    1:1:int computeHashCode():58:58 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():37:37 -> n
    1:1:com.android.tools.r8.graph.DexType getReturnType():62:62 -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:java.lang.String toString():96:96 -> toString
    99:99:java.lang.String toString():96:96 -> toString
    100:100:java.lang.String toString():96:96 -> toString
    97:97:java.lang.String toString():96:96 -> toString
com.android.tools.r8.graph.DexReference -> com.android.tools.r8.graph.b1:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.graph.DexType getContextType() -> T
    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
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection) -> a
    int compareTo(com.android.tools.r8.graph.DexReference) -> a
    1:1:java.lang.Object applyPair(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,java.util.function.BiFunction,java.util.function.BiFunction,java.util.function.BiFunction):38:38 -> a
    2:2:boolean isDexType():0:0 -> a
    2:2:java.lang.Object applyPair(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,java.util.function.BiFunction,java.util.function.BiFunction,java.util.function.BiFunction):38 -> a
    3:9:java.lang.Object applyPair(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,java.util.function.BiFunction,java.util.function.BiFunction,java.util.function.BiFunction):39:45 -> a
    com.android.tools.r8.graph.DexField asDexField() -> n0
    com.android.tools.r8.graph.DexMember asDexMember() -> o0
    com.android.tools.r8.graph.DexMethod asDexMethod() -> p0
    com.android.tools.r8.graph.DexType asDexType() -> q0
    boolean isDexField() -> r0
    boolean isDexMethod() -> s0
    1:1:boolean isDexType():0:0 -> t0
    1:1:int referenceTypeOrder():87 -> t0
    2:5:int referenceTypeOrder():90:93 -> t0
com.android.tools.r8.graph.DexString -> com.android.tools.r8.graph.d1:
    com.android.tools.r8.graph.DexString[] EMPTY_ARRAY -> g
    int size -> e
    boolean $assertionsDisabled -> h
    byte[] content -> f
    1:3:void <clinit>():20:22 -> <clinit>
    1:3:void <init>(int,byte[]):28:30 -> <init>
    4:6:void <init>(java.lang.String):33:35 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):20:20 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):20 -> a
    3:3:int compareTo(com.android.tools.r8.utils.structural.StructuralItem):20:20 -> a
    4:4:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):70:70 -> a
    5:21:int decodePrefix(char[]):154:170 -> a
    22:34:int decodePrefix(char[]):168:180 -> a
    35:42:int decodePrefix(char[]):178:185 -> a
    43:45:int countBytes(java.lang.String):230:232 -> a
    43:45:byte[] encodeToMutf8(java.lang.String):249 -> a
    46:51:byte[] encodeToMutf8(java.lang.String):249:254 -> a
    52:59:int encodeToMutf8(char,byte[],int):260:267 -> a
    60:60:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):278:278 -> a
    61:73:int internalCompareTo(com.android.tools.r8.graph.DexString):290:302 -> a
    61:73:int compareTo(com.android.tools.r8.graph.DexString):60 -> a
    74:76:boolean isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel):419:421 -> a
    77:84:boolean isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):404:411 -> a
    77:84:boolean isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel):421 -> a
    85:89:boolean startsWith(byte[]):452:456 -> a
    90:90:int getArrayDim():529:529 -> a
    90:90:com.android.tools.r8.graph.DexString withNewPrefix(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):496 -> a
    91:108:com.android.tools.r8.graph.DexString withNewPrefix(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):497:514 -> a
    109:109:int getArrayDim():529:529 -> a
    109:109:com.android.tools.r8.graph.DexString withoutArray(com.android.tools.r8.graph.DexItemFactory):518 -> a
    110:112:com.android.tools.r8.graph.DexString withoutArray(com.android.tools.r8.graph.DexItemFactory):522:524 -> a
    1:5:boolean endsWith(com.android.tools.r8.graph.DexString):480:484 -> b
    1:1:int compareTo(java.lang.Object):20:20 -> compareTo
    1:3:boolean computeEquals(java.lang.Object):120:122 -> h
    1:1:int computeHashCode():115:115 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():50:50 -> n
    1:3:java.lang.String decode():145:147 -> n0
    1:32:int decodedHashCode():191:222 -> o0
    33:46:int decodedHashCode():205:218 -> o0
    1:11:java.lang.String dump():430:440 -> p0
    1:1:boolean isValidClassDescriptor():396:396 -> q0
    2:13:boolean isValidClassDescriptor(java.lang.String):314:325 -> q0
    2:13:boolean isValidClassDescriptor():396 -> q0
    14:14:boolean isValidClassDescriptor(java.lang.String):323:323 -> q0
    14:14:boolean isValidClassDescriptor():396 -> q0
    1:1:boolean isValidFieldName():388:388 -> r0
    2:18:boolean isValidFieldName(java.lang.String):355:371 -> r0
    2:18:boolean isValidFieldName():388 -> r0
    19:19:boolean isValidFieldName(java.lang.String):369:369 -> r0
    19:19:boolean isValidFieldName():388 -> r0
    1:1:boolean isValidMethodName():380:380 -> s0
    2:16:boolean isValidMethodName(java.lang.String):333:347 -> s0
    2:16:boolean isValidMethodName():380 -> s0
    17:17:boolean isValidMethodName(java.lang.String):345:345 -> s0
    17:17:boolean isValidMethodName():380 -> s0
    1:1:com.android.tools.r8.utils.ThrowingCharIterator iterator():74:74 -> t0
    1:3:java.lang.String toString():130:132 -> toString
    1:3:java.lang.String toASCIIString():138:140 -> u0
com.android.tools.r8.graph.DexString$1 -> com.android.tools.r8.graph.c1:
    com.android.tools.r8.graph.DexString this$0 -> b
    boolean $assertionsDisabled -> c
    int i -> a
    1:1:void <clinit>():74:74 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexString):74:76 -> <init>
    1:24:char nextChar():80:103 -> a
    25:25:char nextChar():81:81 -> a
    1:1:boolean hasNext():108:108 -> hasNext
com.android.tools.r8.graph.DexType -> com.android.tools.r8.graph.e1:
    java.lang.String toStringCache -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.DexString descriptor -> f
    com.android.tools.r8.graph.DexType[] EMPTY_ARRAY -> h
    java.util.List OLD_SYNTHESIZED_NAMES -> i
    1:7:void <clinit>():30:36 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexString):50:50 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexString):48:51 -> <init>
    6:6:void <init>(com.android.tools.r8.graph.DexString):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:void <init>(com.android.tools.r8.graph.DexString):51:51 -> <init>
    60:60:void <init>(com.android.tools.r8.graph.DexString):51:51 -> <init>
    61:61:void <init>(com.android.tools.r8.graph.DexString):51:51 -> <init>
    57:58:void <init>(com.android.tools.r8.graph.DexString):51:52 -> <init>
    1:1:java.lang.String getPackageDescriptor():499:499 -> A0
    1:1:java.lang.String getPackageName():527:527 -> B0
    2:4:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageNameFromBinaryName(java.lang.String):512:514 -> B0
    2:4:java.lang.String getPackageName():527 -> B0
    1:2:int getRequiredRegisters():118:119 -> C0
    1:2:java.lang.String getSimpleName():510:511 -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.String getTypeName():212:212 -> E0
    1:1:boolean isArrayType():318:318 -> F0
    1:1:boolean isBooleanType():280:280 -> G0
    1:1:boolean isClassType():323:323 -> H0
    1:1:boolean isDoubleType():308:308 -> I0
    1:1:boolean isFloatType():300:300 -> J0
    1:1:boolean isIntType():296:296 -> K0
    1:1:boolean isLegacySynthesizedTypeAllowedDuplication():353:353 -> L0
    2:3:boolean oldSynthesizedName(java.lang.String):357:358 -> L0
    2:3:boolean isLegacySynthesizedTypeAllowedDuplication():353 -> L0
    1:1:boolean isLongType():304:304 -> M0
    1:2:boolean isNullValueType():312:313 -> N0
    1:4:boolean isPrimitiveArrayType():334:337 -> O0
    1:1:boolean isPrimitiveType():272:272 -> P0
    1:2:boolean isReferenceType():328:329 -> Q0
    1:1:boolean isVoidType():276:276 -> R0
    1:1:boolean isWideType():341:341 -> S0
    com.android.tools.r8.graph.DexType getContextType() -> T
    1:4:java.lang.String toBinaryName():179:182 -> T0
    5:5:java.lang.String toBinaryName():180:180 -> T0
    6:6:java.lang.String toBinaryName():0:0 -> T0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"3":9}}
    7:7:java.lang.String toBinaryName():183:183 -> T0
    9:9:java.lang.String toBinaryName():183:183 -> T0
    1:1:java.lang.String toDescriptorString():175:175 -> U0
    1:1:char toShorty():229:229 -> V0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):30:30 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):30 -> a
    3:3:int compareTo(com.android.tools.r8.graph.DexReference):78:78 -> a
    4:4:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    4:4:int compareTo(com.android.tools.r8.graph.DexReference):78 -> a
    5:7:int compareTo(com.android.tools.r8.graph.DexReference):79:81 -> a
    8:8:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):105:105 -> a
    9:10:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):137:138 -> a
    11:11:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):153:153 -> a
    12:22:boolean isAlwaysNull(com.android.tools.r8.shaking.AppInfoWithLiveness):157:167 -> a
    23:23:boolean isSamePackage(com.android.tools.r8.graph.DexType):171:171 -> a
    24:24:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):191:191 -> a
    25:25:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):199:199 -> a
    26:26:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    27:27:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":273,"2":274,"3":275}}
    273:273:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    274:274:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    275:275:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    275:275:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    276:276:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):258:258 -> a
    277:279:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):440:442 -> a
    280:280:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):473:473 -> a
    280:280:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):442 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    281:281:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:536 -> a
    281:281:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):473 -> a
    281:281:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):442 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    282:285:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:539 -> a
    282:285:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):473 -> a
    282:285:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):442 -> a
    286:286:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):473:473 -> a
    286:286:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):442 -> a
    287:291:com.android.tools.r8.graph.DexType addSuffix(java.lang.String,com.android.tools.r8.graph.DexItemFactory):457:461 -> a
    292:296:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):477:481 -> a
    297:300:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):479:482 -> a
    301:305:java.lang.String getPackageOrName(boolean):486:490 -> a
    306:306:java.lang.String getPackageOrName(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1290,"3":1291}}
    1290:1290:java.lang.String getPackageOrName(boolean):490:490 -> a
    1291:1291:java.lang.String getPackageOrName(boolean):490:490 -> a
    799:799:java.lang.String getPackageOrName(boolean):493:493 -> a
    800:800:java.lang.String getPackageOrName(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1295,"3":1296}}
    1295:1295:java.lang.String getPackageOrName(boolean):494:494 -> a
    1296:1296:java.lang.String getPackageOrName(boolean):494:494 -> a
    1:8:com.android.tools.r8.graph.DexType toBaseType(com.android.tools.r8.graph.DexItemFactory):412:419 -> b
    9:13:com.android.tools.r8.graph.DexType toBaseType(com.android.tools.r8.graph.DexItemFactory):417:421 -> b
    14:17:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):446:449 -> b
    18:18:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475,"4":476,"5":477,"6":478}}
    473:473:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):450:450 -> b
    474:474:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):450:450 -> b
    475:475:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):450:450 -> b
    476:476:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):450:450 -> b
    477:477:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):450:450 -> b
    478:478:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):450:450 -> b
    19:19:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":480,"2":481,"3":482}}
    480:480:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):452:452 -> b
    481:481:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):452:452 -> b
    482:482:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):452:452 -> b
    471:472:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):452:453 -> b
    1:3:com.android.tools.r8.graph.DexType withSimpleName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):515:517 -> c
    4:4:com.android.tools.r8.graph.DexType withSimpleName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):516:516 -> c
    1:2:boolean computeEquals(java.lang.Object):129:130 -> h
    1:1:java.lang.String toSmaliString():235:235 -> k0
    1:9:java.lang.String toSourceString():217:225 -> l0
    1:1:int computeHashCode():124:124 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():93:93 -> n
    com.android.tools.r8.graph.DexType asDexType() -> q0
    1:1:java.lang.String toString():240:240 -> toString
    1:1:com.android.tools.r8.references.ClassReference asClassReference():56:56 -> u0
    1:16:int elementSizeForPrimitiveArrayType():384:399 -> v0
    17:17:int elementSizeForPrimitiveArrayType():0:0 -> v0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":417,"2":418,"3":419}}
    417:417:int elementSizeForPrimitiveArrayType():399:399 -> v0
    418:418:int elementSizeForPrimitiveArrayType():399:399 -> v0
    419:419:int elementSizeForPrimitiveArrayType():399:399 -> v0
    416:416:int elementSizeForPrimitiveArrayType():399:399 -> v0
    1:1:com.android.tools.r8.graph.DexString getDescriptor():114:114 -> w0
    1:2:java.lang.String getInternalName():522:523 -> x0
    1:4:java.lang.String getName():503:506 -> y0
    1:1:int getNumberOfLeadingSquareBrackets():405:405 -> z0
com.android.tools.r8.graph.DexTypeList -> com.android.tools.r8.graph.f1:
    com.android.tools.r8.graph.DexTypeList theEmptyTypeList -> c
    com.android.tools.r8.graph.DexType[] values -> b
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():23:25 -> <clinit>
    1:2:void <init>():37:38 -> <init>
    3:5:void <init>(com.android.tools.r8.graph.DexType[]):41:43 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType[] lambda$specify$0(com.android.tools.r8.graph.DexTypeList):30:30 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):30:30 -> a
    3:7:com.android.tools.r8.graph.DexTypeList map(java.util.function.Function):75:79 -> a
    8:8:com.android.tools.r8.graph.DexTypeList create(com.android.tools.r8.graph.DexType[]):51:51 -> a
    8:8:com.android.tools.r8.graph.DexTypeList map(java.util.function.Function):79 -> a
    9:9:boolean contains(com.android.tools.r8.graph.DexType):97:97 -> a
    10:11:boolean com.android.tools.r8.utils.ArrayUtils.contains(java.lang.Object[],java.lang.Object):129:130 -> a
    10:11:boolean contains(com.android.tools.r8.graph.DexType):97 -> a
    12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):120:120 -> a
    1:2:boolean equals(java.lang.Object):128:129 -> equals
    1:2:void forEach(java.util.function.Consumer):102:103 -> forEach
    1:1:com.android.tools.r8.graph.DexType get(int):59:59 -> h
    1:1:int hashCode():109:109 -> hashCode
    1:1:boolean isEmpty():133:133 -> isEmpty
    1:1:java.util.Iterator iterator():158:158 -> iterator
    1:1:com.android.tools.r8.graph.DexTypeList empty():34:34 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():93:93 -> n
    1:1:int size():137:137 -> size
    1:1:java.util.stream.Stream stream():141:141 -> stream
    1:8:java.lang.String toString():146:153 -> toString
com.android.tools.r8.graph.DexTypeUtils -> com.android.tools.r8.internal.ah:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:8:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,java.lang.Iterable):16:23 -> a
    9:31:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):34:56 -> a
    32:32:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):55:55 -> a
    33:47:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):51:65 -> a
    48:53:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):64:69 -> a
    54:64:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):68:78 -> a
    65:75:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):77:87 -> a
    76:76:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):38:38 -> a
com.android.tools.r8.graph.DexValue -> com.android.tools.r8.graph.i1:
    com.android.tools.r8.graph.DexValue[] EMPTY_ARRAY -> b
    1:1:void <clinit>():145:145 -> <clinit>
    1:1:void <init>():34:34 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueMethodHandle asDexValueMethodHandle() -> A0
    com.android.tools.r8.graph.DexValue$DexValueMethodType asDexValueMethodType() -> B0
    com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> C0
    com.android.tools.r8.graph.DexValue$DexValueShort asDexValueShort() -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> E0
    com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> F0
    java.lang.Object getBoxedValue() -> G0
    com.android.tools.r8.graph.DexValue$DexValueKind getValueKind() -> H0
    boolean isDexValueBoolean() -> I0
    boolean isDexValueByte() -> J0
    boolean isDexValueChar() -> K0
    boolean isDexValueDouble() -> L0
    boolean isDexValueFloat() -> M0
    boolean isDexValueInt() -> N0
    boolean isDexValueLong() -> O0
    boolean isDexValueNumber() -> P0
    boolean isDexValueShort() -> Q0
    boolean isDexValueString() -> R0
    boolean isDexValueType() -> S0
    boolean isNestedDexValue() -> T0
    boolean mayHaveSideEffects() -> U0
    void sort() -> V0
    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) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection) -> a
    com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory) -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory) -> a
    void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping) -> a
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):34:34 -> a
    2:5:int acceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):127:130 -> a
    6:7:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):137:138 -> a
    8:8:void writeHeader(com.android.tools.r8.graph.DexValue$DexValueKind,int,com.android.tools.r8.dex.DexOutputBuffer):350:350 -> a
    8:8:void access$100(com.android.tools.r8.graph.DexValue$DexValueKind,int,com.android.tools.r8.dex.DexOutputBuffer):34 -> a
    9:9:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):360:360 -> a
    10:30:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):377:397 -> a
    31:31:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":471,"2":472,"3":473,"4":474,"5":475}}
    471:471:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    472:472:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    473:473:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    474:474:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    475:475:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    428:428:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    429:445:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):379:395 -> a
    446:446:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):389:389 -> a
    447:453:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):387:393 -> a
    454:454:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):383:383 -> a
    455:455:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):381:381 -> a
    int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor) -> b
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    java.lang.Object asAsmEncodedObject() -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():121:121 -> n
    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> n0
    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> o0
    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> p0
    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> q0
    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> r0
    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> s0
    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> t0
    com.android.tools.r8.graph.DexValue$DexValueEnum asDexValueEnum() -> u0
    com.android.tools.r8.graph.DexValue$DexValueField asDexValueField() -> v0
    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> w0
    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> x0
    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> y0
    com.android.tools.r8.graph.DexValue$DexValueMethod asDexValueMethod() -> z0
com.android.tools.r8.graph.DexValue$DexItemBasedValueString -> com.android.tools.r8.graph.g1:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> d
    1:1:void <clinit>():1274:1274 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1289:1290 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1333:1333 -> H0
    boolean isNestedDexValue() -> T0
    void sort() -> V0
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():1313:1313 -> X0
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1309:1309 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1338:1338 -> a
    3: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):1344:1346 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1355:1355 -> a
    7:7:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1360:1360 -> a
    1:4:int compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1279:1282 -> b
    1:4:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1300 -> b
    5:5:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> b
    5:5:int compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1282 -> b
    5:5:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1300 -> b
    6:6:int compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1283:1283 -> b
    6:6:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1300 -> b
    7:7:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1304:1304 -> b
    8:8:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1295:1295 -> b
    1:1:java.lang.Object asAsmEncodedObject():1328:1328 -> m0
    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> n0
com.android.tools.r8.graph.DexValue$DexValueAnnotation -> com.android.tools.r8.graph.h1:
    com.android.tools.r8.graph.DexEncodedAnnotation value -> c
    1:2:void <init>(com.android.tools.r8.graph.DexEncodedAnnotation):1688:1689 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.Object getBoxedValue():1744:1744 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1708:1708 -> H0
    1:1:void sort():1754:1754 -> V0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1684:1684 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1723:1723 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1728:1728 -> a
    4:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1733:1734 -> a
    6:6:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1739:1739 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1694:1694 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1699:1699 -> b
    1:3:boolean equals(java.lang.Object):1767:1769 -> equals
    1:1:int hashCode():1759:1759 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1749:1749 -> m0
    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1778,"2":1779,"3":1780}}
    1778:1778:java.lang.String toString():1776:1776 -> toString
    1779:1779:java.lang.String toString():1776:1776 -> toString
    1780:1780:java.lang.String toString():1776:1776 -> toString
    1777:1777:java.lang.String toString():1776:1776 -> toString
com.android.tools.r8.graph.DexValue$DexValueArray -> com.android.tools.r8.graph.i1$a:
    com.android.tools.r8.graph.DexValue[] values -> c
    1:2:void <init>(com.android.tools.r8.graph.DexValue[]):1579:1580 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.Object getBoxedValue():1631:1631 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1605:1605 -> H0
    1:2:void sort():1646:1647 -> V0
    1:1:com.android.tools.r8.graph.DexValue[] getValues():1600:1600 -> W0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1575:1575 -> a
    2:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1610:1611 -> a
    4:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1617:1618 -> a
    6:6:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    6:6:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1618 -> a
    7:8:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1619:1620 -> a
    9:9:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1626:1626 -> a
    10:10:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1636:1636 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1585:1585 -> b
    2:2:int com.android.tools.r8.utils.structural.CompareToVisitor.visitItemArray(com.android.tools.r8.utils.structural.StructuralItem[],com.android.tools.r8.utils.structural.StructuralItem[]):35:35 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1585 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1590:1590 -> b
    4:4:void com.android.tools.r8.utils.structural.HashingVisitor.visitItemArray(com.android.tools.r8.utils.structural.StructuralItem[]):32:32 -> b
    4:4:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1590 -> b
    1:2:void forEachElement(java.util.function.Consumer):1594:1595 -> d
    1:3:boolean equals(java.lang.Object):1661:1663 -> equals
    1:1:int hashCode():1653:1653 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1641:1641 -> m0
    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> p0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1672,"2":1673,"3":1674}}
    1672:1672:java.lang.String toString():1670:1670 -> toString
    1673:1673:java.lang.String toString():1670:1670 -> toString
    1674:1674:java.lang.String toString():1670:1670 -> toString
    1671:1671:java.lang.String toString():1670:1670 -> toString
com.android.tools.r8.graph.DexValue$DexValueBoolean -> com.android.tools.r8.graph.i1$b:
    com.android.tools.r8.graph.DexValue$DexValueBoolean TRUE -> d
    com.android.tools.r8.graph.DexValue$DexValueBoolean FALSE -> e
    com.android.tools.r8.graph.DexValue$DexValueBoolean DEFAULT -> f
    boolean value -> c
    1:4:void <clinit>():1871:1874 -> <clinit>
    1:2:void <init>(boolean):1878:1879 -> <init>
    1:1:java.lang.Object getBoxedValue():1927:1927 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1902:1902 -> H0
    boolean isDexValueBoolean() -> I0
    1:1:long getRawValue():1912:1912 -> W0
    1:1:com.android.tools.r8.graph.DexValue$DexValueBoolean access$000():1869:1869 -> X0
    1:1:boolean getValue():1897:1897 -> Y0
    1:1:com.android.tools.r8.graph.DexValue$DexValueBoolean create(boolean):1883:1883 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1907:1907 -> a
    3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1932:1932 -> a
    4:4: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):1961:1961 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1888:1888 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1893:1893 -> b
    1:1:boolean equals(java.lang.Object):1950:1950 -> equals
    1:1:int hashCode():1942:1942 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1937:1937 -> m0
    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> q0
    1:1:java.lang.String toString():1955:1955 -> toString
com.android.tools.r8.graph.DexValue$DexValueByte -> com.android.tools.r8.graph.i1$c:
    byte value -> c
    com.android.tools.r8.graph.DexValue$DexValueByte DEFAULT -> d
    1:1:void <clinit>():471:471 -> <clinit>
    1:2:void <init>(byte):475:476 -> <init>
    1:1:java.lang.Object getBoxedValue():524:524 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():499:499 -> H0
    boolean isDexValueByte() -> J0
    1:1:long getRawValue():509:509 -> W0
    1:1:byte getValue():494:494 -> X0
    1:1:com.android.tools.r8.graph.DexValue$DexValueByte create(byte):480:480 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):504:504 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):529:530 -> a
    5:5:int com.android.tools.r8.dex.DexOutputBuffer.putSignedEncodedValue(long,int):87:87 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):530 -> a
    6:6: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):559:559 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):485:485 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):490:490 -> b
    1:1:boolean equals(java.lang.Object):548:548 -> equals
    1:1:int hashCode():540:540 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():535:535 -> m0
    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> r0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":555,"2":556,"3":557}}
    555:555:java.lang.String toString():553:553 -> toString
    556:556:java.lang.String toString():553:553 -> toString
    557:557:java.lang.String toString():553:553 -> toString
    554:554:java.lang.String toString():553:553 -> toString
com.android.tools.r8.graph.DexValue$DexValueChar -> com.android.tools.r8.graph.i1$d:
    com.android.tools.r8.graph.DexValue$DexValueChar DEFAULT -> d
    char value -> c
    1:1:void <clinit>():657:657 -> <clinit>
    1:2:void <init>(char):660:661 -> <init>
    1:1:java.lang.Object getBoxedValue():709:709 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():684:684 -> H0
    boolean isDexValueChar() -> K0
    1:1:long getRawValue():694:694 -> W0
    1:1:char getValue():679:679 -> X0
    1:1:com.android.tools.r8.graph.DexValue$DexValueChar create(char):665:665 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):689:689 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):714:715 -> a
    5:5:int com.android.tools.r8.dex.DexOutputBuffer.putUnsignedEncodedValue(long,int):91:91 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):715 -> a
    6:6:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    6:6:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):716 -> a
    7:8:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):717:718 -> 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):747:747 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):670:670 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):675:675 -> b
    1:1:boolean equals(java.lang.Object):736:736 -> equals
    1:1:int hashCode():728:728 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():723:723 -> m0
    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> s0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":743,"2":744,"3":745}}
    743:743:java.lang.String toString():741:741 -> toString
    744:744:java.lang.String toString():741:741 -> toString
    745:745:java.lang.String toString():741:741 -> toString
    742:742:java.lang.String toString():741:741 -> toString
com.android.tools.r8.graph.DexValue$DexValueDouble -> com.android.tools.r8.graph.i1$e:
    com.android.tools.r8.graph.DexValue$DexValueDouble DEFAULT -> d
    double value -> c
    1:1:void <clinit>():1034:1034 -> <clinit>
    1:2:void <init>(double):1038:1039 -> <init>
    1:1:java.lang.Object getBoxedValue():1087:1087 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1062:1062 -> H0
    boolean isDexValueDouble() -> L0
    1:1:long getRawValue():1072:1072 -> W0
    1:1:double getValue():1057:1057 -> X0
    1:1:com.android.tools.r8.graph.DexValue$DexValueDouble create(double):1043:1043 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1067:1067 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1092:1093 -> a
    5:5:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1094 -> a
    6:7:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1095:1096 -> a
    8:8: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):1107:1107 -> a
    9:9:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createDoubleConstant(double,com.android.tools.r8.graph.DebugLocalInfo):1166:1166 -> 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):1107 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1048:1048 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1053:1053 -> b
    1:2:boolean equals(java.lang.Object):1120:1121 -> equals
    1:1:int hashCode():1112:1112 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1101:1101 -> m0
    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> t0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1128,"2":1129,"3":1130}}
    1128:1128:java.lang.String toString():1126:1126 -> toString
    1129:1129:java.lang.String toString():1126:1126 -> toString
    1130:1130:java.lang.String toString():1126:1126 -> toString
    1127:1127:java.lang.String toString():1126:1126 -> toString
com.android.tools.r8.graph.DexValue$DexValueEnum -> com.android.tools.r8.graph.j1:
    1:1:void <init>(com.android.tools.r8.graph.DexField):1494:1494 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1509:1509 -> H0
    boolean isNestedDexValue() -> T0
    void sort() -> V0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1491 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1514:1514 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1529:1529 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1499:1499 -> b
    2:2:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1499 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1504:1504 -> b
    com.android.tools.r8.graph.DexValue$DexValueEnum asDexValueEnum() -> u0
com.android.tools.r8.graph.DexValue$DexValueField -> com.android.tools.r8.graph.k1:
    1:1:void <init>(com.android.tools.r8.graph.DexField):1410:1410 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1425:1425 -> H0
    boolean isNestedDexValue() -> T0
    void sort() -> V0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1407 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1430:1430 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1445:1445 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1415:1415 -> b
    2:2:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1415 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1420:1420 -> b
    com.android.tools.r8.graph.DexValue$DexValueField asDexValueField() -> v0
com.android.tools.r8.graph.DexValue$DexValueFloat -> com.android.tools.r8.graph.i1$f:
    float value -> c
    com.android.tools.r8.graph.DexValue$DexValueFloat DEFAULT -> d
    1:1:void <clinit>():937:937 -> <clinit>
    1:2:void <init>(float):940:941 -> <init>
    1:1:java.lang.Object getBoxedValue():989:989 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():964:964 -> H0
    boolean isDexValueFloat() -> M0
    1:1:long getRawValue():974:974 -> W0
    1:1:float getValue():959:959 -> X0
    1:1:com.android.tools.r8.graph.DexValue$DexValueFloat create(float):945:945 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):969:969 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):994:995 -> a
    5:5:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):996 -> a
    6:7:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):997:998 -> a
    8:8: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):1009:1009 -> a
    9:9:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createFloatConstant(float,com.android.tools.r8.graph.DebugLocalInfo):1170:1170 -> 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):1009 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):950:950 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):955:955 -> b
    1:2:boolean equals(java.lang.Object):1022:1023 -> equals
    1:1:int hashCode():1014:1014 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1003:1003 -> m0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1030,"2":1031,"3":1032}}
    1030:1030:java.lang.String toString():1028:1028 -> toString
    1031:1031:java.lang.String toString():1028:1028 -> toString
    1032:1032:java.lang.String toString():1028:1028 -> toString
    1029:1029:java.lang.String toString():1028:1028 -> toString
    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> w0
com.android.tools.r8.graph.DexValue$DexValueInt -> com.android.tools.r8.graph.i1$g:
    int value -> c
    com.android.tools.r8.graph.DexValue$DexValueInt DEFAULT -> d
    1:1:void <clinit>():753:753 -> <clinit>
    1:2:void <init>(int):756:757 -> <init>
    1:1:java.lang.Object getBoxedValue():795:795 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():780:780 -> H0
    boolean isDexValueInt() -> N0
    1:1:long getRawValue():790:790 -> W0
    1:1:int getValue():775:775 -> X0
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):785:785 -> a
    2:2:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):800:800 -> a
    3:3: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):839:839 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):766:766 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):771:771 -> b
    1:1:boolean equals(java.lang.Object):828:828 -> equals
    1:1:com.android.tools.r8.graph.DexValue$DexValueInt create(int):761:761 -> h
    1:1:int hashCode():820:820 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():815:815 -> m0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":835,"2":836,"3":837}}
    835:835:java.lang.String toString():833:833 -> toString
    836:836:java.lang.String toString():833:833 -> toString
    837:837:java.lang.String toString():833:833 -> toString
    834:834:java.lang.String toString():833:833 -> toString
    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> x0
com.android.tools.r8.graph.DexValue$DexValueKind -> com.android.tools.r8.graph.l1:
    com.android.tools.r8.graph.DexValue$DexValueKind ENUM -> p
    com.android.tools.r8.graph.DexValue$DexValueKind ARRAY -> q
    com.android.tools.r8.graph.DexValue$DexValueKind ANNOTATION -> r
    com.android.tools.r8.graph.DexValue$DexValueKind NULL -> s
    com.android.tools.r8.graph.DexValue$DexValueKind BOOLEAN -> t
    com.android.tools.r8.graph.DexValue$DexValueKind FLOAT -> h
    com.android.tools.r8.graph.DexValue$DexValueKind DOUBLE -> i
    com.android.tools.r8.graph.DexValue$DexValueKind METHOD_TYPE -> j
    com.android.tools.r8.graph.DexValue$DexValueKind METHOD_HANDLE -> k
    com.android.tools.r8.graph.DexValue$DexValueKind STRING -> l
    com.android.tools.r8.graph.DexValue$DexValueKind TYPE -> m
    com.android.tools.r8.graph.DexValue$DexValueKind FIELD -> n
    com.android.tools.r8.graph.DexValue$DexValueKind METHOD -> o
    com.android.tools.r8.graph.DexValue$DexValueKind BYTE -> c
    com.android.tools.r8.graph.DexValue$DexValueKind SHORT -> d
    com.android.tools.r8.graph.DexValue$DexValueKind CHAR -> e
    com.android.tools.r8.graph.DexValue$DexValueKind INT -> f
    com.android.tools.r8.graph.DexValue$DexValueKind[] $VALUES -> u
    com.android.tools.r8.graph.DexValue$DexValueKind LONG -> g
    1:18:void <clinit>():37:54 -> <clinit>
    19:19:void <clinit>():36:36 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):101:102 -> <init>
    1:1:byte toByte():106:106 -> a
com.android.tools.r8.graph.DexValue$DexValueLong -> com.android.tools.r8.graph.i1$h:
    long value -> c
    com.android.tools.r8.graph.DexValue$DexValueLong DEFAULT -> d
    1:1:void <clinit>():845:845 -> <clinit>
    1:2:void <init>(long):848:849 -> <init>
    1:1:java.lang.Object getBoxedValue():897:897 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():872:872 -> H0
    boolean isDexValueLong() -> O0
    1:1:long getRawValue():882:882 -> W0
    1:1:long getValue():867:867 -> X0
    1:1:com.android.tools.r8.graph.DexValue$DexValueLong create(long):853:853 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):877:877 -> a
    3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):902:902 -> a
    4:4: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):931:931 -> a
    5:5:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createLongConstant(long,com.android.tools.r8.graph.DebugLocalInfo):1182:1182 -> 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):931 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):858:858 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):863:863 -> b
    1:1:boolean equals(java.lang.Object):920:920 -> equals
    1:1:int hashCode():912:912 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():907:907 -> m0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":927,"2":928,"3":929}}
    927:927:java.lang.String toString():925:925 -> toString
    928:928:java.lang.String toString():925:925 -> toString
    929:929:java.lang.String toString():925:925 -> toString
    926:926:java.lang.String toString():925:925 -> toString
    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> y0
com.android.tools.r8.graph.DexValue$DexValueMethod -> com.android.tools.r8.graph.m1:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod):1452:1452 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1467:1467 -> H0
    boolean isNestedDexValue() -> T0
    void sort() -> V0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1449 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1472:1472 -> a
    3:3:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1472 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    4:4:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1472 -> a
    5:5:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    5:5:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    5:5:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1472 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1487:1487 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1457:1457 -> b
    2:2:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1457 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1462:1462 -> b
    com.android.tools.r8.graph.DexValue$DexValueMethod asDexValueMethod() -> z0
com.android.tools.r8.graph.DexValue$DexValueMethodHandle -> com.android.tools.r8.graph.n1:
    1:1:void <init>(com.android.tools.r8.graph.DexMethodHandle):1968:1968 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueMethodHandle asDexValueMethodHandle() -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1993:1993 -> H0
    boolean isNestedDexValue() -> T0
    void sort() -> V0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1965 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1998:1998 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):2003:2003 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1973:1973 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1978:1978 -> b
com.android.tools.r8.graph.DexValue$DexValueMethodType -> com.android.tools.r8.graph.o1:
    1:1:void <init>(com.android.tools.r8.graph.DexProto):1536:1536 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueMethodType asDexValueMethodType() -> B0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1561:1561 -> H0
    boolean isNestedDexValue() -> T0
    void sort() -> V0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1533 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1566:1566 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1571:1571 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1541:1541 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1546:1546 -> b
com.android.tools.r8.graph.DexValue$DexValueNull -> com.android.tools.r8.graph.p1:
    com.android.tools.r8.graph.DexValue NULL -> c
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():1780:1782 -> <clinit>
    1:1:void <init>():1785:1785 -> <init>
    java.lang.Object getBoxedValue() -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1806:1806 -> H0
    long getRawValue() -> W0
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1811:1811 -> a
    2:2:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1821:1821 -> a
    3:3: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):1865:1865 -> a
    4:4:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createConstNull(com.android.tools.r8.graph.DebugLocalInfo):1217:1217 -> a
    4:4: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):1865 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1790:1790 -> b
    2:3:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1795:1796 -> b
    1:1:boolean equals(java.lang.Object):1854:1854 -> equals
    java.lang.Object asAsmEncodedObject() -> m0
    1:1:java.lang.String toString():1859:1859 -> toString
com.android.tools.r8.graph.DexValue$DexValueNumber -> com.android.tools.r8.graph.q1:
    1:1:void com.android.tools.r8.graph.DexValue$SimpleDexValue.<init>():427:427 -> <init>
    1:1:void com.android.tools.r8.graph.DexValue$SimpleDexValue.<init>(com.android.tools.r8.graph.DexValue$1):427 -> <init>
    1:1:void <init>():449 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> C0
    com.android.tools.r8.utils.structural.StructuralItem com.android.tools.r8.graph.DexValue$SimpleDexValue.self() -> E
      # {"id":"com.android.tools.r8.synthesized"}
    boolean isDexValueNumber() -> P0
    boolean mayHaveSideEffects() -> U0
    void sort() -> V0
    long getRawValue() -> W0
    1:1:int com.android.tools.r8.graph.DexValue$SimpleDexValue.acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):427:427 -> a
    1:1:int com.android.tools.r8.graph.DexValue$SimpleDexValue.acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):441:441 -> a
    3:3:int com.android.tools.r8.dex.DexOutputBuffer.putSignedEncodedValue(long,int):87:87 -> a
    3:3:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):442 -> a
    4:4:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    4:4:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):443 -> a
    5:5:void com.android.tools.r8.graph.DexValue.writeHeader(com.android.tools.r8.graph.DexValue$DexValueKind,int,com.android.tools.r8.dex.DexOutputBuffer):350:350 -> a
    5:5:void com.android.tools.r8.graph.DexValue.access$100(com.android.tools.r8.graph.DexValue$DexValueKind,int,com.android.tools.r8.dex.DexOutputBuffer):34 -> a
    5:5:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):444 -> a
    6:6:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):445:445 -> a
    7:7:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):465:465 -> a
com.android.tools.r8.graph.DexValue$DexValueShort -> com.android.tools.r8.graph.i1$i:
    com.android.tools.r8.graph.DexValue$DexValueShort DEFAULT -> d
    short value -> c
    1:1:void <clinit>():565:565 -> <clinit>
    1:2:void <init>(short):568:569 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueShort asDexValueShort() -> D0
    1:1:java.lang.Object getBoxedValue():617:617 -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():592:592 -> H0
    boolean isDexValueShort() -> Q0
    1:1:long getRawValue():602:602 -> W0
    1:1:short getValue():587:587 -> X0
    1:1:com.android.tools.r8.graph.DexValue$DexValueShort create(short):573:573 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):597:597 -> a
    3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):622:622 -> a
    4:4: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):651:651 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):578:578 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):583:583 -> b
    1:1:boolean equals(java.lang.Object):640:640 -> equals
    1:1:int hashCode():632:632 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():627:627 -> m0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":647,"2":648,"3":649}}
    647:647:java.lang.String toString():645:645 -> toString
    648:648:java.lang.String toString():645:645 -> toString
    649:649:java.lang.String toString():645:645 -> toString
    646:646:java.lang.String toString():645:645 -> toString
com.android.tools.r8.graph.DexValue$DexValueString -> com.android.tools.r8.graph.i1$j:
    1:1:void <init>(com.android.tools.r8.graph.DexString):1203:1203 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> E0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1242:1242 -> H0
    boolean isDexValueString() -> R0
    boolean isNestedDexValue() -> T0
    void sort() -> V0
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1222:1222 -> a
    2:2:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1222 -> a
    3:3:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1247:1247 -> a
    4:7: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):1253:1256 -> a
    8:8:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1270:1270 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1208:1208 -> b
    2:3:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1279:1280 -> b
    2:3:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    4:4:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> b
    4:4:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1281 -> b
    4:4:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    5:5:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1282:1282 -> b
    5:5:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    6:6:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> b
    6:6:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1282 -> b
    6:6:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    7:7:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1283:1283 -> b
    7:7:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    8:8:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1217:1217 -> b
    9:9:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> b
    9:9:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1217 -> b
    1:1:java.lang.Object asAsmEncodedObject():1237:1237 -> m0
com.android.tools.r8.graph.DexValue$DexValueType -> com.android.tools.r8.graph.i1$k:
    1:1:void <init>(com.android.tools.r8.graph.DexType):1368:1368 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> F0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1383:1383 -> H0
    boolean isDexValueType() -> S0
    boolean isNestedDexValue() -> T0
    void sort() -> V0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1365 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388:1388 -> a
    3:3:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388 -> a
    6:6:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388 -> a
    7:7:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388 -> a
    8:8:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1403:1403 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1373:1373 -> b
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1373 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1378:1378 -> b
com.android.tools.r8.graph.DexValue$NestedDexValue -> com.android.tools.r8.graph.i1$l:
    com.android.tools.r8.graph.IndexedDexItem value -> c
    1:1:void <init>(com.android.tools.r8.graph.IndexedDexItem,com.android.tools.r8.graph.DexValue$1):1130:1130 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.IndexedDexItem):1134:1135 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.Object getBoxedValue():1164:1164 -> G0
    2:2:java.lang.Object getBoxedValue():0:0 -> G0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1167,"2":1168,"3":1169}}
    1167:1167:java.lang.Object getBoxedValue():1164:1164 -> G0
    1168:1168:java.lang.Object getBoxedValue():1164:1164 -> G0
    1169:1169:java.lang.Object getBoxedValue():1164:1164 -> G0
    1166:1166:java.lang.Object getBoxedValue():1164:1164 -> G0
    boolean isNestedDexValue() -> T0
    void sort() -> V0
    1:1:com.android.tools.r8.graph.IndexedDexItem getValue():1149:1149 -> W0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1130:1130 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1154:1155 -> a
    5:5:int com.android.tools.r8.dex.DexOutputBuffer.putUnsignedEncodedValue(long,int):91:91 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1156 -> a
    6:6:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    6:6:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1157 -> a
    7:8:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1158:1159 -> a
    1:3:boolean equals(java.lang.Object):1187:1189 -> equals
    1:1:int hashCode():1179:1179 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1169:1169 -> m0
    2:2:java.lang.Object asAsmEncodedObject():0:0 -> m0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1172,"2":1173,"3":1174}}
    1172:1172:java.lang.Object asAsmEncodedObject():1169:1169 -> m0
    1173:1173:java.lang.Object asAsmEncodedObject():1169:1169 -> m0
    1174:1174:java.lang.Object asAsmEncodedObject():1169:1169 -> m0
    1171:1171:java.lang.Object asAsmEncodedObject():1169:1169 -> m0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1198,"2":1199,"3":1200}}
    1198:1198:java.lang.String toString():1196:1196 -> toString
    1199:1199:java.lang.String toString():1196:1196 -> toString
    1200:1200:java.lang.String toString():1196:1196 -> toString
    1197:1197:java.lang.String toString():1196:1196 -> toString
com.android.tools.r8.graph.DexWritableCode -> com.android.tools.r8.graph.s1:
    1:1:void <clinit>():18:18 -> <clinit>
    com.android.tools.r8.graph.DexCode asDexCode() -> C
    com.android.tools.r8.graph.Code asCode() -> R
    com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> S
    int getOutgoingRegisterSize() -> U
    int codeSizeInBytes() -> Z
    void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    int getRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean) -> a
    void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping) -> a
    void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep) -> a
    1:17:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):32:48 -> a
    18:18:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):45:45 -> a
    19:19:boolean com.android.tools.r8.graph.Code.isThrowExceptionCode():0:0 -> a
    19:19:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):45 -> a
    20:21:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):45:46 -> a
    22:22:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):39:39 -> a
    int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> b
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind() -> m
    com.android.tools.r8.graph.DexCode$Try[] getTries() -> o
    com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers() -> s
    com.android.tools.r8.graph.DexString getHighestSortingString() -> u
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> w
com.android.tools.r8.graph.DexWritableCode$1 -> com.android.tools.r8.graph.r1:
    int[] $SwitchMap$com$android$tools$r8$graph$DexWritableCode$DexWritableCodeKind -> b
    boolean $assertionsDisabled -> a
    1:9:void <clinit>():37:45 -> <clinit>
com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind -> com.android.tools.r8.internal.eh:
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind THROW_EXCEPTION -> e
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind THROW_NULL -> d
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind[] $VALUES -> f
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind DEFAULT_INSTANCE_INITIALIZER -> c
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind DEFAULT -> b
    1:4:void <clinit>():21:24 -> <clinit>
    5:5:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(java.lang.String,int):20:20 -> <init>
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind[] values():20:20 -> a
com.android.tools.r8.graph.DirectMappedDexApplication -> com.android.tools.r8.graph.u1:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.com.google.common.collect.ImmutableMap programOrClasspathClasses -> j
    java.util.Map codeOwners -> i
    com.android.tools.r8.com.google.common.collect.ImmutableCollection classpathClasses -> m
    com.android.tools.r8.com.google.common.collect.ImmutableMap libraryClasses -> k
    com.android.tools.r8.com.google.common.collect.ImmutableCollection programClasses -> l
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,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):27:27 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):52:52 -> <init>
    3:28:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):31:56 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection access$100(com.android.tools.r8.graph.DirectMappedDexApplication):27:27 -> a
    2:2:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):142:142 -> a
    3:3:java.util.Collection programClasses():65:65 -> a
    3:3:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):142 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):152:153 -> a
    4:5:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):142 -> a
    6:6:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18}}
    16:16:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):154:154 -> a
    16:16:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):142 -> a
    17:17:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    17:17:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):154 -> a
    17:17:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):142 -> a
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    18:18:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):154 -> a
    18:18:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):142 -> a
    7:14:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):155:162 -> a
    7:14:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):142 -> a
    15:15:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):143:143 -> a
    com.android.tools.r8.graph.DirectMappedDexApplication asDirect() -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$200(com.android.tools.r8.graph.DirectMappedDexApplication):27:27 -> b
    1:1:com.android.tools.r8.graph.DexApplication$Builder builder():27:27 -> c
    2:3:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):112:113 -> c
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):74:74 -> d
    2:2:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":87,"2":88,"3":89,"4":90,"5":91}}
    87:87:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):74:74 -> d
    88:88:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):74:74 -> d
    89:89:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):74:74 -> d
    90:90:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):74:74 -> d
    91:91:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):74:74 -> d
    76:84:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):74:82 -> d
    85:85:com.android.tools.r8.graph.ClassResolutionResult$Builder com.android.tools.r8.graph.ClassResolutionResult.builder():20:20 -> d
    85:85:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):84 -> d
    86:86:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):84:84 -> d
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):90:90 -> e
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111,"4":112,"5":113}}
    109:109:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):90:90 -> e
    110:110:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):90:90 -> e
    111:111:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):90:90 -> e
    112:112:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):90:90 -> e
    113:113:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):90:90 -> e
    92:108:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):90:106 -> e
    1:1:java.util.Collection programClasses():65:65 -> h
    com.android.tools.r8.graph.DirectMappedDexApplication toDirect() -> i
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder builder():118:118 -> j
    1:1:java.util.Collection classpathClasses():60:60 -> k
    1:1:java.util.Collection libraryClasses():69:69 -> l
    1:4:boolean verifyCodeObjectsOwners():182:185 -> m
    5:5:java.lang.Iterable com.android.tools.r8.graph.DexClass.methods(java.util.function.Predicate):236:236 -> m
    5:5:boolean verifyCodeObjectsOwners():185 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:java.lang.Iterable com.android.tools.r8.graph.DexClass.methods(java.util.function.Predicate):236:236 -> m
    6:6:boolean verifyCodeObjectsOwners():185 -> m
    7:17:boolean verifyCodeObjectsOwners():185:195 -> m
    1:1:java.lang.String toString():138:138 -> toString
com.android.tools.r8.graph.DirectMappedDexApplication$Builder -> com.android.tools.r8.graph.t1:
    boolean $assertionsDisabled -> m
    java.util.Map libraryClasses -> j
    com.android.tools.r8.com.google.common.collect.ImmutableCollection classpathClasses -> i
    java.util.Set pendingClasspathRemovalIfPresent -> l
    java.util.List pendingClasspathClasses -> k
    1:1:void <clinit>():201:201 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.DirectMappedDexApplication$1):201:201 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):210:210 -> <init>
    3:12:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):206:215 -> <init>
    13:13:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication):219:219 -> <init>
    14:29:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication):206:221 -> <init>
    com.android.tools.r8.graph.DirectMappedDexApplication$Builder asDirect() -> a
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder addClasspathClass(com.android.tools.r8.graph.DexClasspathClass):256:256 -> a
    2:4:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceClasspathClasses(java.util.Collection):272:274 -> a
    5:5:void lambda$replaceLibraryClasses$0(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexLibraryClass):280:280 -> a
    6:9:boolean addAll(java.util.Map,java.lang.Iterable):322:325 -> a
    10:10:boolean addAll(java.util.Map,java.lang.Iterable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":336,"2":337,"3":338}}
    336:336:boolean addAll(java.util.Map,java.lang.Iterable):325:325 -> a
    337:337:boolean addAll(java.util.Map,java.lang.Iterable):325:325 -> a
    338:338:boolean addAll(java.util.Map,java.lang.Iterable):325:325 -> a
    335:335:boolean addAll(java.util.Map,java.lang.Iterable):325:325 -> a
    1:1:com.android.tools.r8.graph.DexApplication build():201:201 -> b
    2:4:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):236:238 -> b
    5:6:void ensureMutableLibraryClassesMap():245:246 -> b
    5:6:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):239 -> b
    7:7:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):240:240 -> b
    8:10:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceLibraryClasses(java.util.Collection):279:281 -> b
    com.android.tools.r8.graph.DexApplication$Builder self() -> d
    1:7:void commitPendingClasspathClasses():261:267 -> e
    1:7:com.android.tools.r8.graph.DirectMappedDexApplication build():289 -> e
    8:27:com.android.tools.r8.graph.DirectMappedDexApplication build():290:309 -> e
    28:31:com.android.tools.r8.com.google.common.collect.ImmutableMap getLibraryClassesAsImmutableMap():334:337 -> e
    28:31:com.android.tools.r8.graph.DirectMappedDexApplication build():310 -> e
    32:34:com.android.tools.r8.graph.DirectMappedDexApplication build():311:313 -> e
com.android.tools.r8.graph.EnclosingMethodAttribute -> com.android.tools.r8.graph.v1:
    com.android.tools.r8.graph.DexType enclosingClass -> a
    com.android.tools.r8.graph.DexMethod enclosingMethod -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):28:29 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexMethod):32:33 -> <init>
    1:5:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):41:45 -> a
    6:11:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):42:47 -> a
    12:12:com.android.tools.r8.graph.DexType getEnclosingClass():64:64 -> a
    13:14:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):85:86 -> a
    15:15:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    15:15:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    16:16:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110}}
    108:108:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    108:108:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    109:109:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    109:109:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    110:110:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    110:110:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    110:110:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    104:104:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):88:88 -> a
    105:105:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    105:105:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    106:106:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    106:106:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    106:106:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):89 -> a
    107:107:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    107:107:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    107:107:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    107:107:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):89 -> a
    111:115:boolean isEnclosingPinned(com.android.tools.r8.graph.AppView):103:107 -> a
    1:1:com.android.tools.r8.graph.DexMethod getEnclosingMethod():60:60 -> b
    1:1:com.android.tools.r8.graph.DexType getEnclosingType():68:68 -> c
    1:1:boolean equals(java.lang.Object):79:79 -> equals
    1:2:int hashCode():73:74 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
    101:101:java.lang.String toString():95:95 -> toString
    102:102:java.lang.String toString():95:95 -> toString
    103:103:java.lang.String toString():95:95 -> toString
    97:99:java.lang.String toString():96:98 -> toString
    100:100:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
    101:101:java.lang.String toString():98:98 -> toString
    102:102:java.lang.String toString():98:98 -> toString
    103:103:java.lang.String toString():98:98 -> toString
com.android.tools.r8.graph.FieldAccessFlags -> com.android.tools.r8.graph.x1:
    boolean $assertionsDisabled -> f
    int $r8$clinit -> g
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(int,int):44:44 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.FieldAccessFlags copy():53:53 -> O
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> P
    1:1:int getAsCfAccessFlags():108 -> P
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> Q
    1:1:int getAsDexAccessFlags():113 -> Q
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> R
    1:1:boolean isEnum():133 -> R
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> S
    1:1:boolean isTransient():125 -> S
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> T
    1:1:boolean isVolatile():117 -> T
    1:6:java.util.List getNames():21:26 -> c
    1:6:java.util.List getPredicates():31:36 -> e
    1:1:com.android.tools.r8.graph.FieldAccessFlags fromCfAccessFlags(int):98:98 -> h
    2:2:void <init>(int):40:40 -> h
    2:2:com.android.tools.r8.graph.FieldAccessFlags fromCfAccessFlags(int):98 -> h
    1:1:com.android.tools.r8.graph.FieldAccessFlags fromDexAccessFlags(int):94:94 -> i
    2:2:void <init>(int):40:40 -> i
    2:2:com.android.tools.r8.graph.FieldAccessFlags fromDexAccessFlags(int):94 -> i
    1:2:com.android.tools.r8.graph.FieldAccessFlags fromSharedAccessFlags(int):89:90 -> j
    3:3:void <init>(int):40:40 -> j
    3:3:com.android.tools.r8.graph.FieldAccessFlags fromSharedAccessFlags(int):90 -> j
    com.android.tools.r8.graph.AccessFlags self() -> z
com.android.tools.r8.graph.FieldAccessFlags$Builder -> com.android.tools.r8.graph.w1:
    1:1:void <init>():143:143 -> <init>
    1:1:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.AccessFlags$BuilderBase.build():378:378 -> a
    1:1:com.android.tools.r8.graph.AccessFlags build():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    com.android.tools.r8.graph.AccessFlags$BuilderBase self() -> b
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPackagePrivate():332:333 -> c
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setPackagePrivate():0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setStatic():368:369 -> d
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setStatic():0 -> d
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setSynthetic():373:374 -> e
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setSynthetic():0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.graph.FieldAccessInfo -> com.android.tools.r8.internal.tj:
com.android.tools.r8.graph.FieldAccessInfoCollection -> com.android.tools.r8.internal.uj:
com.android.tools.r8.graph.FieldAccessInfoCollectionImpl -> com.android.tools.r8.internal.vj:
    java.util.Map infos -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    2:3:void <init>(java.util.Map):24:25 -> <init>
    1:1:void destroyAccessContexts():30:30 -> a
    2:2:com.android.tools.r8.graph.FieldAccessInfoImpl computeIfAbsent(com.android.tools.r8.graph.DexField,java.util.function.Function):40:40 -> a
    3:3:boolean contains(com.android.tools.r8.graph.DexField):45:45 -> a
    4:5:com.android.tools.r8.graph.FieldAccessInfoImpl extend(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):54:55 -> a
    6:7:void forEach(java.util.function.Consumer):62:63 -> a
    8:8:boolean lambda$removeIf$0(java.util.function.BiPredicate,java.util.Map$Entry):68:68 -> a
    9:9:void removeIf(java.util.function.BiPredicate):68:68 -> a
    10:10:boolean lambda$restrictToProgram$1(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):73:73 -> a
    11:11:void restrictToProgram(com.android.tools.r8.graph.DexDefinitionSupplier):73:73 -> a
    12:22:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):78:88 -> a
    23:25:void lambda$rewrittenWithLens$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.FieldAccessInfoImpl):81:83 -> a
    26:26:com.android.tools.r8.graph.FieldAccessInfoImpl lambda$rewrittenWithLens$2(com.android.tools.r8.graph.FieldAccessInfoImpl,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):86:86 -> a
    1:1:void flattenAccessContexts():35:35 -> b
    2:2:com.android.tools.r8.graph.FieldAccessInfoImpl get(com.android.tools.r8.graph.DexField):50:50 -> b
    1:1:boolean verifyMappingIsOneToOne():95:95 -> c
com.android.tools.r8.graph.FieldAccessInfoImpl -> com.android.tools.r8.internal.wj:
    com.android.tools.r8.graph.AbstractAccessContexts readsWithContexts -> c
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.graph.FieldAccessInfoImpl MISSING_FIELD_ACCESS_INFO -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.AbstractAccessContexts writesWithContexts -> d
    int flags -> b
    1:3:void <clinit>():23:25 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexField):47:47 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.DexField):41:48 -> <init>
    1:1:void setReadsWithContexts(com.android.tools.r8.graph.AbstractAccessContexts):80:80 -> a
    2:4:void forEachIndirectAccess(java.util.function.Consumer):113:115 -> a
    5:5:void forEachIndirectAccess(java.util.function.Consumer,com.android.tools.r8.graph.AbstractAccessContexts,java.util.Set):122:122 -> a
    6:6:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    6:6:void forEachIndirectAccess(java.util.function.Consumer,com.android.tools.r8.graph.AbstractAccessContexts,java.util.Set):122 -> a
    7:7:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    7:7:void forEachIndirectAccess(java.util.function.Consumer,com.android.tools.r8.graph.AbstractAccessContexts,java.util.Set):125 -> a
    8:12:void forEachIndirectAccess(java.util.function.Consumer,com.android.tools.r8.graph.AbstractAccessContexts,java.util.Set):127:131 -> a
    13:13:boolean lambda$forEachIndirectAccess$0(java.util.Set,com.android.tools.r8.graph.DexField):128:128 -> a
    14:14:boolean isReadOnlyInMethodSatisfying(java.util.function.Predicate):267:267 -> a
    15:15:boolean isWrittenOutside(com.android.tools.r8.graph.DexEncodedMethod):275:275 -> a
    16:16:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):279:279 -> a
    17:17:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    17:17:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):279 -> a
    18:20:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):280:282 -> a
    21:21:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    21:21:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):282 -> a
    22:22:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):283:283 -> a
    23:26:void clearReads():299:302 -> a
    27:27:void com.android.tools.r8.graph.FieldAccessInfoImpl.clearReadFromRecordInvokeDynamic():227:227 -> a
    27:27:void clearReads():303 -> a
    28:28:com.android.tools.r8.graph.FieldAccessInfoImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):311:311 -> a
    29:29:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    29:29:com.android.tools.r8.graph.FieldAccessInfoImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):311 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:33:com.android.tools.r8.graph.FieldAccessInfoImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):311:314 -> a
    34:37:com.android.tools.r8.graph.FieldAccessInfoImpl join(com.android.tools.r8.graph.FieldAccessInfoImpl):319:322 -> a
    1:1:void setWritesWithContexts(com.android.tools.r8.graph.AbstractAccessContexts):84:84 -> b
    2:2:void forEachWriteContext(java.util.function.Consumer):178:178 -> b
    3:3:boolean isWrittenInMethodSatisfying(java.util.function.Predicate):250:250 -> b
    4:4:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):289:289 -> b
    5:5:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> b
    5:5:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):289 -> b
    6:8:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):290:292 -> b
    9:9:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> b
    9:9:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):292 -> b
    10:10:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):293:293 -> b
    11:11:void clearWrites():307:307 -> b
    1:2:void destroyAccessContexts():52:53 -> c
    3:3:boolean isWrittenOnlyInMethodSatisfying(java.util.function.Predicate):259:259 -> c
    1:1:void flattenAccessContexts():57:57 -> d
    2:2:void com.android.tools.r8.graph.FieldAccessInfoImpl.flattenAccessContexts(com.android.tools.r8.graph.AbstractAccessContexts):62:62 -> d
    2:2:void flattenAccessContexts():57 -> d
    3:3:void flattenAccessContexts():58:58 -> d
    4:4:void com.android.tools.r8.graph.FieldAccessInfoImpl.flattenAccessContexts(com.android.tools.r8.graph.AbstractAccessContexts):62:62 -> d
    4:4:void flattenAccessContexts():58 -> d
    1:1:com.android.tools.r8.graph.DexField getField():72:72 -> e
    1:1:int getNumberOfWriteContexts():94:94 -> f
    1:1:com.android.tools.r8.graph.AbstractAccessContexts getReadsWithContexts():76:76 -> g
    1:1:boolean hasKnownWriteContexts():106:106 -> h
    2:2:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> h
    2:2:boolean hasKnownWriteContexts():106 -> h
    1:1:boolean hasReflectiveAccess():183:183 -> i
    1:4:boolean isRead():193:196 -> j
    1:1:boolean isReadFromAnnotation():201:201 -> k
    1:1:boolean isReadFromMethodHandle():210:210 -> l
    1:1:boolean isReadFromRecordInvokeDynamic():215:215 -> m
    1:1:boolean isWritten():233:233 -> n
    1:1:boolean isWrittenFromMethodHandle():238:238 -> o
    1:1:void setHasReflectiveAccess():187:187 -> p
    1:1:void setReadFromAnnotation():205:205 -> q
    1:1:void setReadFromMethodHandle():219:219 -> r
    1:1:void setReadFromRecordInvokeDynamic():223:223 -> s
    1:1:void setWrittenFromMethodHandle():242:242 -> t
com.android.tools.r8.graph.FieldResolution -> com.android.tools.r8.graph.y1:
    com.android.tools.r8.graph.DexDefinitionSupplier definitionFor -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier):22:23 -> <init>
    1:1:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):27:27 -> a
    2:2:com.android.tools.r8.graph.FieldResolutionResult$Builder com.android.tools.r8.graph.FieldResolutionResult.builder():483:483 -> a
    2:2:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):27 -> a
    3:5:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):28:30 -> a
    6:6:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():20:20 -> a
    6:6:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):32 -> a
    7:7:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):32:32 -> a
    8:8:void lambda$resolveFieldOn$0(com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass):31:31 -> a
    9:10:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField):36:37 -> a
    11:25:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set):45:59 -> a
    26:26:com.android.tools.r8.graph.FieldResolutionResult$Builder com.android.tools.r8.graph.FieldResolutionResult.builder():483:483 -> a
    26:26:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set):59 -> a
    27:41:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set):60:74 -> a
    42:42:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():20:20 -> a
    42:42:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set):74 -> a
    43:43:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):66:66 -> a
    44:44:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    44:44:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):66 -> a
    45:45:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):66:66 -> a
    46:46:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    46:46:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):66 -> a
    47:47:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):70:70 -> a
    48:48:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):69:69 -> a
    49:51:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOnDirectInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):82:84 -> a
    52:52:com.android.tools.r8.graph.FieldResolutionResult$Builder com.android.tools.r8.graph.FieldResolutionResult.builder():483:483 -> a
    52:52:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOnDirectInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):84 -> a
    53:66:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOnDirectInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):85:98 -> a
    67:67:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):91:91 -> a
    68:68:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    68:68:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):91 -> a
    69:69:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):91:91 -> a
    70:70:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    70:70:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):91 -> a
    71:76:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):113:118 -> a
    71:76:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):95 -> a
    77:77:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):94:94 -> a
com.android.tools.r8.graph.FieldResolutionResult -> com.android.tools.r8.graph.H1:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():16:16 -> <init>
    com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
    void lambda$forEachSuccessfulFieldResolutionResult$0(com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult) -> a
    void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer) -> a
    1:1:void forEachFieldResolutionResult(java.util.function.Consumer):109:109 -> a
    2:2:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):135:135 -> a
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    3:3:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):135 -> a
    4:5:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):136:137 -> a
    6:6:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    6:6:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):138 -> a
    7:12:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):139:144 -> a
    1:1:void forEachSuccessfulFieldResolutionResult(java.util.function.Consumer):114:114 -> b
    2:2:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> b
    2:2:void forEachSuccessfulFieldResolutionResult(java.util.function.Consumer):114 -> b
    1:1:com.android.tools.r8.graph.DexClassAndMember com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult.getResolutionPair():148:148 -> c
    com.android.tools.r8.graph.FieldResolutionResult asFieldResolutionResult() -> e
    1:1:com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult():16:16 -> g
    boolean isFieldResolutionResult() -> i
    boolean isSuccessfulMemberResolutionResult() -> j
    com.android.tools.r8.graph.FieldResolutionResult$SingleClasspathFieldResolutionResult asSingleClasspathFieldResolutionResult() -> k
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult asSingleFieldResolutionResult() -> l
    com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult asSingleProgramFieldResolutionResult() -> m
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult asSuccessfulMemberResolutionResult() -> n
    com.android.tools.r8.graph.ProgramField getProgramField() -> o
    com.android.tools.r8.graph.DexClassAndField getResolutionPair() -> p
    com.android.tools.r8.graph.DexEncodedField getResolvedField() -> q
    com.android.tools.r8.graph.DexField getResolvedFieldReference() -> r
    com.android.tools.r8.graph.ProgramField getSingleProgramField() -> s
    boolean hasClasspathResult() -> t
    boolean hasProgramOrClasspathResult() -> u
    boolean hasProgramResult() -> v
    boolean isMultiFieldResolutionResult() -> w
    boolean isPossiblyFailedOrUnknownResolution() -> x
    boolean isSingleFieldResolutionResult() -> y
com.android.tools.r8.graph.FieldResolutionResult$Builder -> com.android.tools.r8.graph.z1:
    com.android.tools.r8.graph.FieldResolutionResult currentResult -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():486:486 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.FieldResolutionResult$1):486:486 -> <init>
    2:2:void <init>():490:490 -> <init>
    3:3:void <init>():488:488 -> <init>
    1:55:void addResolutionResult(com.android.tools.r8.graph.FieldResolutionResult):493:547 -> a
    56:58:void lambda$addResolutionResult$0(com.android.tools.r8.utils.Box,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):504:506 -> a
    59:64:void lambda$addResolutionResult$0(com.android.tools.r8.utils.Box,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):505:510 -> a
    65:65:void lambda$addResolutionResult$2(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult):513:513 -> a
    66:66:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    66:66:void lambda$addResolutionResult$2(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult):513 -> a
    67:67:void lambda$addResolutionResult$2(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult):516:516 -> a
    68:68:boolean lambda$addResolutionResult$1(com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult,com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult):515:515 -> a
    69:69:void lambda$addResolutionResult$4(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):520:520 -> a
    70:70:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    70:70:void lambda$addResolutionResult$4(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):520 -> a
    71:71:void lambda$addResolutionResult$4(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):524:524 -> a
    72:72:boolean lambda$addResolutionResult$3(com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):523:523 -> a
    73:73:com.android.tools.r8.graph.FieldResolutionResult buildOrIfEmpty(com.android.tools.r8.graph.FieldResolutionResult):554:554 -> a
com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult -> com.android.tools.r8.graph.A1:
    com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult INSTANCE -> b
    1:1:void <clinit>():465:465 -> <clinit>
    1:1:void <init>():463:463 -> <init>
    boolean isFailedResolution() -> h
    1:1:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult access$000():463:463 -> z
com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult -> com.android.tools.r8.graph.B1:
    1:1:void <init>():441:441 -> <init>
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):446:446 -> a
    2:2:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):454:454 -> a
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isPossiblyFailedOrUnknownResolution() -> x
com.android.tools.r8.graph.FieldResolutionResult$MultipleClasspathWithLibraryFieldResolutionResult -> com.android.tools.r8.graph.C1:
    1:1:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleClasspathFieldResolutionResult,java.util.List,java.util.List):427:427 -> <init>
com.android.tools.r8.graph.FieldResolutionResult$MultipleFieldResolutionResult -> com.android.tools.r8.graph.D1:
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult programOrClasspathResult -> b
    java.util.List failedOrUnknownResolutionResults -> d
    java.util.List libraryResolutionResults -> c
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():323:323 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,java.util.List,java.util.List):334:336 -> <init>
    4:7:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,java.util.List,java.util.List):335:338 -> <init>
    8:12:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,java.util.List,java.util.List):337:341 -> <init>
    13:20:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,java.util.List,java.util.List):339:346 -> <init>
    1:1:com.android.tools.r8.graph.DexClass getInitialResolutionHolder():356:356 -> a
    2:2:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):377:377 -> a
    3:7:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):395:399 -> a
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    1:1:boolean isSuccessfulMemberResolutionResult():387:387 -> j
    1:1:boolean hasClasspathResult():371:371 -> t
    1:1:boolean hasProgramOrClasspathResult():361:361 -> u
    1:1:boolean hasProgramResult():366:366 -> v
    boolean isMultiFieldResolutionResult() -> w
    1:1:boolean isPossiblyFailedOrUnknownResolution():382:382 -> x
com.android.tools.r8.graph.FieldResolutionResult$MultipleLibraryFieldResolutionResult -> com.android.tools.r8.graph.E1:
    1:1:void <init>(java.util.List,java.util.List):437:437 -> <init>
com.android.tools.r8.graph.FieldResolutionResult$MultipleProgramWithLibraryFieldResolutionResult -> com.android.tools.r8.graph.F1:
    1:1:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult,java.util.List,java.util.List):410:410 -> <init>
    1:1:com.android.tools.r8.graph.ProgramField getProgramField():415:415 -> o
    2:2:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult.getProgramField():233:233 -> o
    2:2:com.android.tools.r8.graph.ProgramField getProgramField():415 -> o
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.graph.FieldResolutionResult$SingleClasspathFieldResolutionResult -> com.android.tools.r8.graph.G1:
    1:1:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexEncodedField):277:277 -> <init>
    1:1:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):300:300 -> a
    com.android.tools.r8.graph.FieldResolutionResult$SingleClasspathFieldResolutionResult asSingleClasspathFieldResolutionResult() -> k
    boolean hasClasspathResult() -> t
    boolean hasProgramOrClasspathResult() -> u
com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult -> com.android.tools.r8.graph.H1$a:
    com.android.tools.r8.graph.DexClass initialResolutionHolder -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexClass resolvedHolder -> c
    com.android.tools.r8.graph.DexEncodedField resolvedField -> d
    1:1:void <clinit>():148:148 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):157:161 -> <init>
    1:3:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isMemberAccessible(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):49:51 -> a
    1:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):197 -> a
    4:4:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isMemberAccessible(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):48:48 -> a
    4:4:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):197 -> a
    5:5:com.android.tools.r8.graph.DexClass getInitialResolutionHolder():166:166 -> a
    1:1:com.android.tools.r8.graph.DexEncodedField getResolvedMember():186:186 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMember getResolvedMember():148 -> b
    1:1:com.android.tools.r8.graph.DexClass getResolvedHolder():171:171 -> d
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isSuccessfulMemberResolutionResult() -> j
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult asSingleFieldResolutionResult() -> l
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult asSuccessfulMemberResolutionResult() -> n
    1:1:com.android.tools.r8.graph.DexClassAndField getResolutionPair():191:191 -> p
    1:1:com.android.tools.r8.graph.DexEncodedField getResolvedField():176:176 -> q
    1:1:com.android.tools.r8.graph.DexField getResolvedFieldReference():181:181 -> r
    boolean isSingleFieldResolutionResult() -> y
com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult -> com.android.tools.r8.graph.I1:
    1:1:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedField):311:311 -> <init>
    1:1:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):319:319 -> a
com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult -> com.android.tools.r8.graph.J1:
    1:1:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):228:228 -> <init>
    1:1:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):266:266 -> a
    com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult asSingleProgramFieldResolutionResult() -> m
    1:1:com.android.tools.r8.graph.ProgramField getProgramField():233:233 -> o
    1:1:com.android.tools.r8.graph.ProgramField getSingleProgramField():238:238 -> s
    boolean hasProgramOrClasspathResult() -> u
    boolean hasProgramResult() -> v
com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult -> com.android.tools.r8.graph.K1:
    com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult INSTANCE -> b
    1:1:void <clinit>():479:479 -> <clinit>
    1:1:void <init>():477:477 -> <init>
    1:1:com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult access$100():477:477 -> z
com.android.tools.r8.graph.FinalInitClassLens -> com.android.tools.r8.internal.nk:
    java.util.Map mapping -> a
    1:2:void <init>(java.util.Map):14:15 -> <init>
    1:1:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):37:37 -> a
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5:5:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):37 -> a
    6:6:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    6:6:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):37 -> a
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    2:2:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):38 -> a
    3:3:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):39:39 -> a
    7:7:com.android.tools.r8.graph.InitClassLens$Builder com.android.tools.r8.graph.InitClassLens.builder():13:13 -> a
    7:7:com.android.tools.r8.graph.InitClassLens rewrittenWithLens(com.android.tools.r8.graph.GraphLens):34 -> a
    8:14:com.android.tools.r8.graph.InitClassLens rewrittenWithLens(com.android.tools.r8.graph.GraphLens):35:41 -> a
    15:19:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):20:24 -> a
    20:20:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48}}
    46:46:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    47:47:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    48:48:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    21:21:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":49,"2":50,"3":51,"4":52}}
    49:49:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    50:50:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    51:51:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    52:52:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    45:45:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
com.android.tools.r8.graph.GenericSignature -> com.android.tools.r8.graph.L1:
    java.util.List EMPTY_TYPE_ARGUMENTS -> b
    java.util.List EMPTY_TYPE_PARAMS -> a
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature NO_FIELD_TYPE_SIGNATURE -> e
    java.util.List EMPTY_TYPE_SIGNATURES -> d
    java.util.List EMPTY_SUPER_INTERFACES -> c
    1:455:void <clinit>():102:556 -> <clinit>
    1:1:java.util.List access$000():100:100 -> a
    2:10:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):941:949 -> a
    11:13:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):948:950 -> a
    14:14:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):942:942 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature access$100():100:100 -> b
    2:10:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):960:968 -> b
    11:13:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):967:969 -> b
    14:14:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):961:961 -> b
    1:1:java.util.List access$200():100:100 -> c
    2:10:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):979:987 -> c
    11:14:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):986:989 -> c
    15:15:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):980:980 -> c
    1:1:java.util.List access$500():100:100 -> d
    1:1:java.util.List access$600():100:100 -> e
    1:1:java.util.List getEmptySuperInterfaces():116:116 -> f
    1:1:java.util.List getEmptyTypeArguments():112:112 -> g
com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature -> com.android.tools.r8.graph.L1$a:
    com.android.tools.r8.graph.GenericSignature$TypeSignature elementSignature -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():660:660 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature):665:665 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignature$WildcardIndicator):669:671 -> <init>
    1:2:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):690:691 -> a
    3:10:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature visit(com.android.tools.r8.graph.GenericSignatureVisitor):700:707 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():696:696 -> f
    2:2:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature):665:665 -> f
    2:2:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():696 -> f
    com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature asArrayTypeSignature() -> g
    boolean isArrayTypeSignature() -> l
com.android.tools.r8.graph.GenericSignature$BaseTypeSignature -> com.android.tools.r8.graph.M1:
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():752:752 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexType):755:758 -> <init>
    com.android.tools.r8.graph.GenericSignature$BaseTypeSignature asBaseTypeSignature() -> c
    1:2:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():773:774 -> f
com.android.tools.r8.graph.GenericSignature$ClassSignature -> com.android.tools.r8.graph.L1$b:
    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 NO_CLASS_SIGNATURE -> d
    1:4:void <clinit>():207:210 -> <clinit>
    1:7:void <init>(java.util.List,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):219:225 -> <init>
    1:11:com.android.tools.r8.graph.GenericSignature$ClassSignature visit(com.android.tools.r8.graph.GenericSignatureVisitor):262:272 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$ClassSignature toObjectBoundWithSameFormals(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):295:295 -> a
    13:19:java.util.List getGenericArgumentsToSuperType(com.android.tools.r8.graph.DexType):299:305 -> a
    1:1:boolean hasSignature():238:238 -> b
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature access$700():207:207 -> c
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder builder():312:312 -> d
    1:1:java.util.List getFormalTypeParameters():258:258 -> e
    boolean isValid() -> f
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature noSignature():291:291 -> g
    1:1:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature superClassSignature():229:229 -> h
    1:1:java.util.List superInterfaceSignatures():233:233 -> i
    1:1:java.lang.String toString():287:287 -> toString
    2:8:java.lang.String toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):276:282 -> toString
    2:8:java.lang.String toString():287 -> toString
com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder -> com.android.tools.r8.graph.N1:
    java.util.List formalTypeParameters -> a
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature superClassSignature -> b
    java.util.List superInterfaceSignatures -> c
    1:1:void <init>(com.android.tools.r8.graph.GenericSignature$1):315:315 -> <init>
    2:2:void <init>():321:321 -> <init>
    3:5:void <init>():317:319 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder addFormalTypeParameters(java.util.List):324:324 -> a
    2:2:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder addInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):334:334 -> a
    3:3:com.android.tools.r8.graph.GenericSignature$ClassSignature build():339:339 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder setSuperClassSignature(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):329:329 -> b
com.android.tools.r8.graph.GenericSignature$ClassTypeSignature -> com.android.tools.r8.graph.L1$c:
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature enclosingTypeSignature -> d
    java.util.List typeArguments -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType type -> b
    1:1:void <clinit>():559:559 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType):570:570 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexType,java.util.List):574:574 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):581:581 -> <init>
    4:12:void <init>(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$WildcardIndicator):589:597 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):559:559 -> a
    2:18:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visit(com.android.tools.r8.graph.GenericSignatureVisitor):631:647 -> a
    1:3:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):620:622 -> b
    1:1:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():627:627 -> f
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature asClassTypeSignature() -> h
    boolean isClassTypeSignature() -> m
    1:1:com.android.tools.r8.graph.DexType type():601:601 -> q
    1:1:java.util.List typeArguments():605:605 -> r
com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature -> com.android.tools.r8.graph.L1$d:
    1:1:boolean hasNoSignature():152:152 -> a
    boolean hasSignature() -> b
com.android.tools.r8.graph.GenericSignature$FieldTypeSignature -> com.android.tools.r8.graph.L1$e:
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator wildcardIndicator -> a
    1:1:void <init>(com.android.tools.r8.graph.GenericSignature$WildcardIndicator,com.android.tools.r8.graph.GenericSignature$1):413:413 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):418:419 -> <init>
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator) -> a
    1:1:boolean hasSignature():466:466 -> b
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asFieldTypeSignature() -> d
    boolean isFieldTypeSignature() -> e
    com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature asArrayTypeSignature() -> g
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature asClassTypeSignature() -> h
    com.android.tools.r8.graph.GenericSignature$TypeVariableSignature asTypeVariableSignature() -> i
    1:1:com.android.tools.r8.graph.GenericSignature$WildcardIndicator getWildcardIndicator():427:427 -> j
    1:1:boolean isArgument():423:423 -> k
    boolean isArrayTypeSignature() -> l
    boolean isClassTypeSignature() -> m
    boolean isStar() -> n
    boolean isTypeVariableSignature() -> o
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature noSignature():491:491 -> p
    1:1:java.lang.String toString():487:487 -> toString
    2:8:java.lang.String toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:482 -> toString
    2:8:java.lang.String toString():487 -> toString
com.android.tools.r8.graph.GenericSignature$FormalTypeParameter -> com.android.tools.r8.graph.L1$f:
    java.util.List interfaceBounds -> c
    java.lang.String name -> a
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature classBound -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():166:166 -> <clinit>
    1:6:void <init>(java.lang.String,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,java.util.List):173:178 -> <init>
    1:1:java.lang.String getName():182:182 -> a
    2:10:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visit(com.android.tools.r8.graph.GenericSignatureVisitor):194:202 -> a
com.android.tools.r8.graph.GenericSignature$MethodTypeSignature -> com.android.tools.r8.graph.L1$g:
    java.util.List typeSignatures -> b
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature NO_METHOD_TYPE_SIGNATURE -> e
    java.util.List formalTypeParameters -> a
    com.android.tools.r8.graph.GenericSignature$ReturnType returnType -> c
    java.util.List throwsSignatures -> d
    boolean $assertionsDisabled -> f
    1:5:void <clinit>():797:801 -> <clinit>
    1:9:void <init>(java.util.List,java.util.List,com.android.tools.r8.graph.GenericSignature$ReturnType,java.util.List):816:824 -> <init>
    1:4:com.android.tools.r8.graph.GenericSignature$TypeSignature getParameterTypeSignature(int):828:831 -> a
    5:16:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature visit(com.android.tools.r8.graph.GenericSignatureVisitor):858:869 -> a
    1:1:boolean hasSignature():849:849 -> b
    1:1:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature access$900():797:797 -> c
    1:1:java.util.List getFormalTypeParameters():874:874 -> d
    1:1:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature noSignature():809:809 -> e
    1:1:com.android.tools.r8.graph.GenericSignature$ReturnType returnType():835:835 -> f
    1:1:java.lang.String toString():889:889 -> toString
    2:8:java.lang.String toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):878:884 -> toString
    2:8:java.lang.String toString():889 -> toString
com.android.tools.r8.graph.GenericSignature$Parser -> com.android.tools.r8.graph.O1:
    char[] buffer -> d
    com.android.tools.r8.graph.DexItemFactory factory -> f
    boolean $assertionsDisabled -> g
    char symbol -> a
    int pos -> e
    java.lang.String identifier -> b
    boolean eof -> c
    1:1:void <clinit>():993:993 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GenericSignature$1):993:993 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexItemFactory):1013:1014 -> <init>
    1:6:void setInput(java.lang.String):1060:1065 -> a
    1:6:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1019 -> a
    7:11:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1020:1024 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1042,"2":1043,"3":1044}}
    1042:1042:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1024:1024 -> a
    1043:1043:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1024:1024 -> a
    1044:1044:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1024:1024 -> a
    1037:1039:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1025:1027 -> a
    1040:1040:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1022:1022 -> a
    1045:1056:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature():1100:1111 -> a
    1057:1063:void expect(char):1350:1356 -> a
    1064:1064:void expect(char):1351:1351 -> a
    1065:1068:void parseError(java.lang.String,int):1414:1417 -> a
    1:6:void setInput(java.lang.String):1060:1065 -> b
    1:6:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1047 -> b
    7:11:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1048:1052 -> b
    12:12:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1070,"2":1071,"3":1072}}
    1070:1070:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1052:1052 -> b
    1071:1071:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1052:1052 -> b
    1072:1072:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1052:1052 -> b
    1065:1067:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1053:1055 -> b
    1068:1068:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1050:1050 -> b
    1073:1086:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1181:1194 -> b
    1087:1088:com.android.tools.r8.graph.DexType parsedTypeName(java.lang.String):1075:1076 -> b
    1087:1088:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1194 -> b
    1089:1092:java.util.List updateOptTypeArguments():1222:1225 -> b
    1089:1092:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1093:1103:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature updateTypeArgument():1239:1249 -> b
    1093:1103:java.util.List updateOptTypeArguments():1227 -> b
    1093:1103:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1104:1105:java.util.List updateOptTypeArguments():1227:1228 -> b
    1104:1105:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1106:1115:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature updateTypeArgument():1240:1249 -> b
    1106:1115:java.util.List updateOptTypeArguments():1229 -> b
    1106:1115:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1116:1121:java.util.List updateOptTypeArguments():1229:1234 -> b
    1116:1121:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1122:1131:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1198:1207 -> b
    1132:1136:com.android.tools.r8.graph.DexType parsedInnerTypeName(com.android.tools.r8.graph.DexType,java.lang.String):1084:1088 -> b
    1132:1136:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1207 -> b
    1137:1137:com.android.tools.r8.graph.DexType parsedInnerTypeName(com.android.tools.r8.graph.DexType,java.lang.String):1087:1087 -> b
    1137:1137:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1207 -> b
    1138:1138:com.android.tools.r8.graph.DexType parsedInnerTypeName(com.android.tools.r8.graph.DexType,java.lang.String):1086:1086 -> b
    1138:1138:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1207 -> b
    1139:1142:java.util.List updateOptTypeArguments():1222:1225 -> b
    1139:1142:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1143:1153:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature updateTypeArgument():1239:1249 -> b
    1143:1153:java.util.List updateOptTypeArguments():1227 -> b
    1143:1153:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1154:1155:java.util.List updateOptTypeArguments():1227:1228 -> b
    1154:1155:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1156:1165:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature updateTypeArgument():1240:1249 -> b
    1156:1165:java.util.List updateOptTypeArguments():1229 -> b
    1156:1165:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1166:1171:java.util.List updateOptTypeArguments():1229:1234 -> b
    1166:1171:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1172:1180:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1209:1217 -> b
    1:6:void setInput(java.lang.String):1060:1065 -> c
    1:6:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1033 -> c
    7:11:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1034:1038 -> c
    12:12:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1056,"2":1057,"3":1058}}
    1056:1056:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1038:1038 -> c
    1057:1057:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1038:1038 -> c
    1058:1058:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1038:1038 -> c
    1051:1053:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1039:1041 -> c
    1054:1054:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1036:1036 -> c
    1059:1064:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1162:1167 -> c
    1065:1080:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1265:1280 -> c
    1065:1080:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1168 -> c
    1081:1083:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1274:1276 -> c
    1081:1083:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1168 -> c
    1084:1088:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1169:1173 -> c
    1089:1095:com.android.tools.r8.graph.GenericSignature$TypeVariableSignature updateTypeVariableSignature():1255:1261 -> c
    1089:1095:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1171 -> c
    1096:1096:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1164:1164 -> c
    1:6:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1287:1292 -> d
    7:7:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1280:1280 -> d
    7:7:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1293 -> d
    8:10:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1274:1276 -> d
    8:10:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1293 -> d
    11:14:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1293:1296 -> d
    15:16:com.android.tools.r8.graph.GenericSignature$ReturnType updateReturnType():1322:1323 -> d
    15:16:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1298 -> d
    17:17:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1280:1280 -> d
    17:17:com.android.tools.r8.graph.GenericSignature$ReturnType updateReturnType():1323 -> d
    17:17:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1298 -> d
    18:20:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1274:1276 -> d
    18:20:com.android.tools.r8.graph.GenericSignature$ReturnType updateReturnType():1323 -> d
    18:20:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1298 -> d
    21:24:com.android.tools.r8.graph.GenericSignature$ReturnType updateReturnType():1323:1326 -> d
    21:24:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1298 -> d
    25:30:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1300:1305 -> d
    31:37:com.android.tools.r8.graph.GenericSignature$TypeVariableSignature updateTypeVariableSignature():1255:1261 -> d
    31:37:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1306 -> d
    38:49:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1306:1317 -> d
    1:7:java.util.List parseOptFormalTypeParameters():1116:1122 -> e
    8:34:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter updateFormalTypeParameter():1131:1157 -> e
    8:34:java.util.List parseOptFormalTypeParameters():1123 -> e
    35:38:java.util.List parseOptFormalTypeParameters():1123:1126 -> e
    1:22:void scanIdentifier():1376:1397 -> f
    23:34:void scanIdentifier():1390:1401 -> f
    35:35:void parseError():1410:1410 -> f
    35:35:void scanIdentifier():1402 -> f
    36:36:void scanIdentifier():1405:1405 -> f
    1:11:void scanSymbol():1335:1345 -> g
com.android.tools.r8.graph.GenericSignature$ReturnType -> com.android.tools.r8.graph.L1$h:
    com.android.tools.r8.graph.GenericSignature$ReturnType VOID -> b
    com.android.tools.r8.graph.GenericSignature$TypeSignature typeSignature -> a
    1:1:void <clinit>():779:779 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature):784:785 -> <init>
    1:1:boolean isVoidDescriptor():789:789 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$TypeSignature typeSignature():793:793 -> b
com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature -> com.android.tools.r8.graph.P1:
    com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature STAR_FIELD_TYPE_SIGNATURE -> b
    1:1:void <clinit>():534:534 -> <clinit>
    1:1:void <init>():538:538 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):543:543 -> a
    boolean isStar() -> n
    1:1:com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature access$1000():532:532 -> q
com.android.tools.r8.graph.GenericSignature$TypeSignature -> com.android.tools.r8.graph.L1$i:
    1:1:void <init>():383:383 -> <init>
    com.android.tools.r8.graph.GenericSignature$BaseTypeSignature asBaseTypeSignature() -> c
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asFieldTypeSignature() -> d
    boolean isFieldTypeSignature() -> e
    com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature() -> f
com.android.tools.r8.graph.GenericSignature$TypeVariableSignature -> com.android.tools.r8.graph.L1$j:
    java.lang.String typeVariable -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():711:711 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.graph.GenericSignature$1):711:711 -> <init>
    2:2:void <init>(java.lang.String):716:716 -> <init>
    3:5:void <init>(java.lang.String,com.android.tools.r8.graph.GenericSignature$WildcardIndicator):720:722 -> <init>
    1:2:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):737:738 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():743:743 -> f
    com.android.tools.r8.graph.GenericSignature$TypeVariableSignature asTypeVariableSignature() -> i
    boolean isTypeVariableSignature() -> o
com.android.tools.r8.graph.GenericSignature$WildcardIndicator -> com.android.tools.r8.graph.L1$k:
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator NONE -> c
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator NOT_AN_ARGUMENT -> b
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator POSITIVE -> e
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator NEGATIVE -> d
    1:4:void <clinit>():407:410 -> <clinit>
    1:1:void <init>(java.lang.String,int):406:406 -> <init>
com.android.tools.r8.graph.GenericSignatureContextBuilder -> com.android.tools.r8.graph.Q1:
    java.util.Map formalsInfo -> a
    java.util.Map enclosingInfo -> b
    int $r8$clinit -> d
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:3:void <init>(java.util.Map,java.util.Map):129:131 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureContextBuilder create(com.android.tools.r8.graph.AppView):135:135 -> a
    2:42:com.android.tools.r8.graph.GenericSignatureContextBuilder create(com.android.tools.r8.graph.AppView,java.util.Collection):140:180 -> a
    43:43:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):149:149 -> a
    44:44:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    44:44:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):151 -> a
    45:45:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):151:151 -> a
    46:46:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    46:46:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):152 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):152:152 -> a
    48:75:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):150:177 -> a
    76:76:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):173:173 -> a
    77:80:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):156:159 -> a
    81:81:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    81:81:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):161 -> a
    82:82:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):160:160 -> a
    83:83:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    84:85:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate):203:204 -> a
    86:90:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):213:217 -> a
    91:91:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    91:91:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):222 -> a
    92:100:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):223:231 -> a
    101:101:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    101:101:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):231 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    102:110:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):231:239 -> a
    111:118:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):234:241 -> a
    119:119:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.access$100(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):55:55 -> a
    119:119:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):241 -> a
    120:121:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.combine(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):74:75 -> a
    120:121:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.access$100(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):55 -> a
    120:121:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):241 -> a
    122:127:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):242:247 -> a
    128:128:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> a
    128:128:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):247 -> a
    129:130:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):250:251 -> a
    131:131:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    131:131:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):251 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    132:132:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):251:251 -> a
    133:133:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.access$100(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):55:55 -> a
    133:133:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):253 -> a
    134:135:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.combine(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):74:75 -> a
    134:135:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.access$100(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):55 -> a
    134:135:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):253 -> a
    136:159:boolean hasPrunedRelationship(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexType,java.util.function.Predicate):261:284 -> a
    1:8:boolean hasGenericTypeVariables(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.function.Predicate):290:297 -> b
    9:9:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> b
    9:9:boolean hasGenericTypeVariables(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.function.Predicate):297 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean hasGenericTypeVariables(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.function.Predicate):297:297 -> b
com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext -> com.android.tools.r8.graph.Q1$a:
    java.util.Map prunedParametersWithBounds -> a
    com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext EMPTY -> c
    java.util.Set liveParameters -> b
    boolean $assertionsDisabled -> d
    1:4:void <clinit>():55:58 -> <clinit>
    1:3:void <init>(java.util.Map,java.util.Set):64:66 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext empty():79:79 -> a
    2:2:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getPrunedSubstitution(java.lang.String):87:87 -> a
    3:3:boolean isLiveParameter(java.lang.String):83:83 -> a
    3:3:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getPrunedSubstitution(java.lang.String):87 -> a
    4:5:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getPrunedSubstitution(java.lang.String):87:88 -> a
    6:19:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext addLiveParameters(java.util.Collection):92:105 -> a
    20:21:void lambda$addLiveParameters$0(java.util.Collection,java.util.HashMap,java.lang.String,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):101:102 -> a
    22:35:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext addPrunedSubstitutions(java.util.Map):110:123 -> a
    36:37:void lambda$addPrunedSubstitutions$1(java.util.Map,java.util.HashSet,java.lang.String):119:120 -> a
    1:1:boolean isLiveParameter(java.lang.String):83:83 -> b
com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions -> com.android.tools.r8.graph.R1:
    java.util.Map parametersWithBounds -> a
    1:2:void <init>(java.util.Map):32:33 -> <init>
    1:1:java.util.Map access$000(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions):28:28 -> a
    2:2:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions access$200(java.util.List):28:28 -> a
    3:3:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    3:3:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):40 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):41:41 -> a
    5:5:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    5:5:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):42 -> a
    6:6:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):42:42 -> a
    7:7:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    7:7:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):43 -> a
    8:8:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    8:8:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):43 -> a
    9:9:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):43:43 -> a
    10:10:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    10:10:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):44 -> a
    11:11:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):44:44 -> a
    12:12:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    12:12:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):45 -> a
    13:13:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):45:45 -> a
    14:14:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    14:14:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):46 -> a
    15:15:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    15:15:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):46 -> a
    16:16:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):46:46 -> a
    17:17:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    17:17:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):48 -> a
    18:18:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):48:48 -> a
    1:15:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions create(java.util.List):37:51 -> b
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper -> com.android.tools.r8.graph.U1:
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode mode -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.GenericSignatureContextBuilder contextBuilder -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():35:35 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode):93:97 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper createForInitialCheck(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder):102:102 -> a
    2:8:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult run(java.util.Collection):111:117 -> a
    9:9:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.combine(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):67:67 -> a
    9:9:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult run(java.util.Collection):117 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:27:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):123:140 -> a
    28:28:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    28:28:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):140 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    29:29:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):140 -> a
    30:39:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):140:149 -> a
    40:40:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    40:40:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):150 -> a
    41:41:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):147:147 -> a
    42:42:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):146:146 -> a
    43:43:void com.android.tools.r8.graph.DexClass.clearClassSignature():1059:1059 -> a
    43:43:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):153 -> a
    44:47:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):155:158 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.combine(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):67:67 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):157 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:52:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):184:187 -> a
    53:53:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.combine(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):67:67 -> a
    53:53:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):186 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    54:54:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult lambda$evaluateSignaturesForClass$0(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):161:161 -> a
    55:56:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):166:167 -> a
    57:57:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    57:57:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    58:58:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    58:58:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):167 -> a
    59:69:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):167:177 -> a
    70:70:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    70:70:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):178 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):175:175 -> a
    72:79:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):174:181 -> a
    80:80:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult lambda$evaluateSignaturesForClass$2(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):190:190 -> a
    81:84:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):193:196 -> a
    85:85:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    85:85:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):196 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    86:86:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):196 -> a
    87:96:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):196:205 -> a
    97:97:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    97:97:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):206 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    98:98:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):203:203 -> a
    99:106:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):202:209 -> a
    107:113:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):220:226 -> a
    114:114:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> a
    114:114:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):226 -> a
    115:115:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):226:226 -> a
    116:116:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    116:116:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):226 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    117:119:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):226:228 -> a
    120:120:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):223:223 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper createForVerification(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder):107:107 -> b
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$1 -> com.android.tools.r8.graph.S1:
    int[] $SwitchMap$com$android$tools$r8$graph$GenericSignatureCorrectnessHelper$SignatureEvaluationResult -> a
    1:1:void <clinit>():71:71 -> <clinit>
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator -> com.android.tools.r8.graph.T1:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexProgramClass context -> b
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode mode -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():233:233 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$1):233:233 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode,com.android.tools.r8.graph.DexProgramClass):240:243 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$300(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233:233 -> a
    2:2:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):248:248 -> a
    2:2:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):248:252 -> a
    3:7:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    8:8:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):347:347 -> a
    8:8:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):253 -> a
    8:8:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    9:20:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):359:370 -> a
    9:20:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):349 -> a
    9:20:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):253 -> a
    9:20:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    21:25:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):350:354 -> a
    21:25:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):253 -> a
    21:25:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    26:29:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):254:257 -> a
    26:29:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    30:30:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature com.android.tools.r8.graph.GenericSignature$ClassSignature.superClassSignature():229:229 -> a
    30:30:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):258 -> a
    30:30:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    31:33:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):258:260 -> a
    31:33:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    34:34:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature com.android.tools.r8.graph.GenericSignature$ClassSignature.superClassSignature():229:229 -> a
    34:34:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):260 -> a
    34:34:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    35:35:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> a
    35:35:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):260 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    36:36:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):261:261 -> a
    36:36:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    37:37:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    37:37:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):261 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:37:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    38:39:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):261:262 -> a
    38:39:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    40:40:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature com.android.tools.r8.graph.GenericSignature$ClassSignature.superClassSignature():229:229 -> a
    40:40:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):266 -> a
    40:40:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    41:41:java.util.List com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.typeArguments():605:605 -> a
    41:41:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):266 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    41:41:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    42:42:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):266:266 -> a
    42:42:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    43:47:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):265:269 -> a
    43:47:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    48:48:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):272 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    49:50:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):273:274 -> a
    49:50:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    51:51:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    51:51:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):274 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    52:59:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):274:281 -> a
    52:59:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    60:60:java.util.List com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.typeArguments():605:605 -> a
    60:60:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):281 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    60:60:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    61:61:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):281:281 -> a
    61:61:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    62:68:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):280:286 -> a
    62:68:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    69:69:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):250:250 -> a
    69:69:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    70:74:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):292:296 -> a
    75:75:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    75:75:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):300 -> a
    76:76:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):300:300 -> a
    77:77:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):299:299 -> a
    78:78:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):298:298 -> a
    79:79:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    79:79:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):302 -> a
    80:80:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):347:347 -> a
    80:80:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):302 -> a
    81:92:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):359:370 -> a
    81:92:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):349 -> a
    81:92:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):302 -> a
    93:97:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):350:354 -> a
    93:97:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):302 -> a
    98:101:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):303:306 -> a
    102:109:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):326:333 -> a
    102:109:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):306 -> a
    110:113:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):307:310 -> a
    114:121:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):326:333 -> a
    114:121:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):310 -> a
    122:128:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):311:317 -> a
    129:129:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):339:339 -> a
    129:129:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$200(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    130:133:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):339:342 -> a
    130:133:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$200(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    134:134:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):375:375 -> a
    135:135:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    135:135:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):375 -> a
    136:144:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):376:384 -> a
    145:145:java.lang.String com.android.tools.r8.graph.GenericSignature$TypeVariableSignature.typeVariable():747:747 -> a
    145:145:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):384 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    146:149:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):385:388 -> a
    150:150:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    150:150:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):388 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    151:156:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):388:393 -> a
    157:157:com.android.tools.r8.graph.GenericSignature$TypeSignature com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature.elementSignature():675:675 -> a
    157:157:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):393 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    158:162:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):392:396 -> a
    163:163:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):401:401 -> a
    163:163:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):396 -> a
    164:164:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> a
    164:164:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):402 -> a
    164:164:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):396 -> a
    165:165:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):401:401 -> a
    165:165:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):396 -> a
    166:166:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):380:380 -> a
    167:171:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):409:413 -> a
    172:172:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    172:172:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):413 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    173:187:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):413:427 -> a
    188:188:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    188:188:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):427 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    189:190:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):427:428 -> a
    191:191:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    191:191:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):428 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    192:195:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):428:431 -> a
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Pl:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.clearIfInvalid() -> a
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult -> com.android.tools.r8.graph.U1$a:
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult[] $VALUES -> g
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult INVALID_SUPER_TYPE -> b
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult INVALID_INTERFACE_COUNT -> c
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult INVALID_APPLICATION_COUNT -> d
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult INVALID_TYPE_VARIABLE_UNDEFINED -> e
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult VALID -> f
    1:8:void <clinit>():50:50 -> <clinit>
    1:1:void <init>(java.lang.String,int):50:50 -> <init>
    1:1:boolean isInvalid():63:63 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult[] values():50:50 -> b
com.android.tools.r8.graph.GenericSignatureEnqueuerAnalysis -> com.android.tools.r8.graph.V1:
    com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> a
    java.util.Set processedSignatures -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier):19:19 -> <init>
    2:5:void <init>(com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier):17:20 -> <init>
    1:1:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):25:25 -> a
    2:2:void notifyMarkFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerWorklist):30:30 -> a
    3:3:void processNewlyLiveField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.EnqueuerWorklist):36:36 -> a
    4:4:void notifyMarkMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):41:41 -> a
    5:5:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):50:50 -> a
    6:13:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):54:61 -> a
    14:17:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeVisitor.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):30:33 -> a
    14:17:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):60 -> a
    18:20:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):62:64 -> a
    21:24:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature com.android.tools.r8.graph.GenericSignatureTypeVisitor.visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):38:41 -> a
    21:24:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):63 -> a
    25:27:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):66:68 -> a
    28:28:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):67:67 -> a
com.android.tools.r8.graph.GenericSignatureFormatDiagnostic -> com.android.tools.r8.graph.W1:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):18:21 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureFormatDiagnostic invalidClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.lang.reflect.GenericSignatureFormatError):41:41 -> a
    2:15:com.android.tools.r8.graph.GenericSignatureFormatDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.lang.reflect.GenericSignatureFormatError):60:73 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureFormatDiagnostic invalidFieldSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.lang.reflect.GenericSignatureFormatError):51:51 -> b
    1:1:com.android.tools.r8.graph.GenericSignatureFormatDiagnostic invalidMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.lang.reflect.GenericSignatureFormatError):46:46 -> c
    1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
    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.graph.GenericSignaturePartialTypeArgumentApplier -> com.android.tools.r8.graph.X1:
    java.util.function.BiPredicate enclosingPruned -> b
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature objectArgument -> e
    com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext typeParameterContext -> a
    com.android.tools.r8.graph.AppView appView -> d
    java.util.function.Predicate hasGenericTypeParameters -> c
    boolean makeAllTypeArgumentsObject -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,java.util.function.BiPredicate,java.util.function.Predicate):36:36 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,java.util.function.BiPredicate,java.util.function.Predicate):30:43 -> <init>
    com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier build(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,java.util.function.BiPredicate,java.util.function.Predicate):51:51 -> a
    2:5:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):78:81 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):95:95 -> a
    7:7:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):95 -> a
    8:8:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):98:98 -> a
    9:11:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):103:105 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):105 -> a
    13:13:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):105:105 -> a
    14:14:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    14:14:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):106 -> a
    15:15:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):106:106 -> a
    16:16:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):105:105 -> a
    17:20:java.util.List visitInterfaceBounds(java.util.List):112:115 -> a
    21:21:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    21:21:java.util.List visitInterfaceBounds(java.util.List):115 -> a
    22:26:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):130:134 -> a
    27:27:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    27:27:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):134 -> a
    28:31:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):134:137 -> a
    32:32:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    32:32:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):137 -> a
    33:36:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):147:150 -> a
    37:37:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161:161 -> a
    38:38:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> a
    38:38:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    39:39:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":370,"2":371,"3":372}}
    370:370:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161:161 -> a
    371:371:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    371:371:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161 -> a
    372:372:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    372:372:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161 -> a
    201:201:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162:162 -> a
    202:202:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> a
    202:202:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    203:203:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":373,"2":374,"3":375}}
    373:373:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162:162 -> a
    374:374:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    374:374:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162 -> a
    375:375:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    375:375:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162 -> a
    366:369:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):163:166 -> a
    376:384:com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType):180:188 -> a
    385:385:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):210:210 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):142:142 -> b
    2:5:java.util.List visitThrowsSignatures(java.util.List):172:175 -> b
    6:6:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> b
    6:6:java.util.List visitThrowsSignatures(java.util.List):175 -> b
    7:23:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):215:231 -> b
    24:24:java.lang.String com.android.tools.r8.graph.GenericSignature$TypeVariableSignature.typeVariable():747:747 -> b
    24:24:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):231 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:38:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):232:245 -> b
    1:4:java.util.List visitFormalTypeParameters(java.util.List):194:197 -> c
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> c
    5:5:java.util.List visitFormalTypeParameters(java.util.List):197 -> c
    1:4:java.util.List visitMethodTypeSignatures(java.util.List):202:205 -> d
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> d
    5:5:java.util.List visitMethodTypeSignatures(java.util.List):205 -> d
    1:4:java.util.List visitSuperInterfaces(java.util.List):121:124 -> e
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> e
    5:5:java.util.List visitSuperInterfaces(java.util.List):124 -> e
    1:7:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier buildForMethod(java.util.List):57:63 -> f
    8:8:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier buildForMethod(java.util.List):62:62 -> f
com.android.tools.r8.graph.GenericSignaturePrinter -> com.android.tools.r8.graph.Y1:
    com.android.tools.r8.naming.NamingLens namingLens -> a
    java.util.function.Predicate isTypeMissing -> b
    java.lang.StringBuilder sb -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():20:20 -> <clinit>
    1:6:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):25:30 -> <init>
    7:8:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):26:27 -> <init>
    com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):34:34 -> a
    2:2:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):45:45 -> a
    3:6:com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType):58:61 -> a
    7:11:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):89:93 -> a
    12:12:java.util.List visitInterfaceBounds(java.util.List):99:99 -> a
    13:13:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):112:112 -> a
    14:14:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):131:131 -> a
    15:15:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    15:15:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):131 -> a
    16:19:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):132:135 -> a
    20:20:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):143:143 -> a
    21:33:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):150:162 -> a
    34:35:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):168:169 -> a
    36:50:void printFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,boolean):175:189 -> a
    51:51:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):143:143 -> a
    51:51:void printFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,boolean):190 -> a
    52:72:void printFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,boolean):192:212 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):39:39 -> b
    2:4:java.util.List visitThrowsSignatures(java.util.List):68:70 -> b
    5:5:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):125:125 -> b
    1:6:java.util.List visitFormalTypeParameters(java.util.List):78:83 -> c
    7:8:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitInterfaceBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):105:106 -> c
    1:3:java.util.List visitMethodTypeSignatures(java.util.List):50:52 -> d
    1:1:java.util.List visitSuperInterfaces(java.util.List):119:119 -> e
    1:1:java.lang.String toString():226:226 -> toString
com.android.tools.r8.graph.GenericSignatureTypeRewriter -> com.android.tools.r8.graph.a2:
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature objectTypeSignature -> e
    java.util.function.Predicate wasPruned -> b
    java.util.function.Function lookupType -> c
    com.android.tools.r8.graph.DexProgramClass context -> d
    java.util.function.Predicate hasGenericTypeVariables -> f
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate):37:41 -> <init>
    6:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate):36:36 -> <init>
    7:13:void <init>(com.android.tools.r8.graph.DexItemFactory,java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate):51:57 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$100(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> a
    2:5:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):61:64 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):87:87 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    7:7:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):88 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    8:9:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):88:89 -> a
    8:9:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    10:10:com.android.tools.r8.graph.DexItemFactory access$100(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> a
    10:10:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):90 -> a
    10:10:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    11:12:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):90:91 -> a
    11:12:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    13:18:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature rewrite(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):68:73 -> a
    19:22:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature rewrite(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):77:80 -> a
    23:23:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):98:98 -> a
    23:23:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature rewrite(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):80 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature access$200(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> b
    1:1:com.android.tools.r8.graph.DexProgramClass access$300(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> c
    1:1:java.util.function.Predicate access$400(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> d
    1:1:java.util.function.Predicate access$500(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> e
    1:1:java.util.function.Function access$600(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> f
com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter -> com.android.tools.r8.graph.Z1:
    com.android.tools.r8.graph.GenericSignatureTypeRewriter this$0 -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():83:83 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GenericSignatureTypeRewriter):83:83 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignatureTypeRewriter$1):83:83 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):115:115 -> a
    2:2:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    2:2:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):115 -> a
    3:3:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):118:118 -> a
    4:4:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):133:133 -> a
    5:5:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    5:5:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):136 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):136:136 -> a
    7:7:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):137 -> a
    8:9:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):137:138 -> a
    10:10:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    10:10:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):139 -> a
    11:11:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):139:139 -> a
    12:12:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):139 -> a
    13:13:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):139:139 -> a
    14:20:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):146:152 -> a
    21:21:void lambda$visitSuperInterfaces$1(java.util.List,java.util.List,com.android.tools.r8.graph.DexType):168:168 -> a
    22:23:java.lang.Object com.android.tools.r8.utils.ListUtils.firstMatching(java.util.List,java.util.function.Predicate):73:74 -> a
    22:23:void lambda$visitSuperInterfaces$1(java.util.List,java.util.List,com.android.tools.r8.graph.DexType):169 -> a
    24:26:void lambda$visitSuperInterfaces$1(java.util.List,java.util.List,com.android.tools.r8.graph.DexType):169:171 -> a
    27:27:void lambda$visitSuperInterfaces$1(java.util.List,java.util.List,com.android.tools.r8.graph.DexType):170:170 -> a
    28:28:boolean lambda$visitSuperInterfaces$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):169:169 -> a
    29:39:com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType):197:207 -> a
    40:43:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):223:226 -> a
    44:47:java.util.List visitInterfaceBounds(java.util.List):231:234 -> a
    48:48:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    48:48:java.util.List visitInterfaceBounds(java.util.List):234 -> a
    49:49:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):245:245 -> a
    50:60:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):251:261 -> a
    61:61:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    61:61:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):261 -> a
    62:62:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):259:259 -> a
    63:64:com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType):273:274 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):115:115 -> b
    1:1:com.android.tools.r8.graph.GenericSignature$TypeSignature lambda$visitMethodTypeSignatures$2(com.android.tools.r8.graph.GenericSignature$TypeSignature):190 -> b
    2:2:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> b
    2:2:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):115 -> b
    2:2:com.android.tools.r8.graph.GenericSignature$TypeSignature lambda$visitMethodTypeSignatures$2(com.android.tools.r8.graph.GenericSignature$TypeSignature):190 -> b
    3:3:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):118:118 -> b
    3:3:com.android.tools.r8.graph.GenericSignature$TypeSignature lambda$visitMethodTypeSignatures$2(com.android.tools.r8.graph.GenericSignature$TypeSignature):190 -> b
    4:4:com.android.tools.r8.graph.GenericSignature$TypeSignature lambda$visitMethodTypeSignatures$2(com.android.tools.r8.graph.GenericSignature$TypeSignature):191:191 -> b
    5:5:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):178:178 -> b
    6:6:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> b
    6:6:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):179 -> b
    7:7:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):179:179 -> b
    8:12:java.util.List visitThrowsSignatures(java.util.List):214:218 -> b
    13:13:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> b
    13:13:java.util.List visitThrowsSignatures(java.util.List):218 -> b
    14:16:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature lambda$visitTypeArguments$3(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):264:266 -> b
    1:7:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):103:109 -> c
    8:11:java.util.List visitFormalTypeParameters(java.util.List):125:128 -> c
    12:12:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> c
    12:12:java.util.List visitFormalTypeParameters(java.util.List):128 -> c
    1:4:java.util.List visitMethodTypeSignatures(java.util.List):184:187 -> d
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> d
    5:5:java.util.List visitMethodTypeSignatures(java.util.List):187 -> d
    1:4:java.util.List visitSuperInterfaces(java.util.List):158:161 -> e
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> e
    5:5:java.util.List visitSuperInterfaces(java.util.List):162 -> e
    6:7:java.util.List visitSuperInterfaces(java.util.List):165:166 -> e
com.android.tools.r8.graph.GenericSignatureTypeVisitor -> com.android.tools.r8.graph.b2:
    java.util.function.BiConsumer visitedTypeConsumer -> b
    com.android.tools.r8.graph.ProgramDefinition context -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.ProgramDefinition,java.util.function.BiConsumer):23:25 -> <init>
    1:4:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):72:75 -> a
    5:5:java.util.List visitInterfaceBounds(java.util.List):80:80 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):91:91 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):111:111 -> a
    8:8:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    8:8:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):111 -> a
    9:10:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):114:115 -> a
    11:11:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):121:121 -> a
    12:15:com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType):126:129 -> a
    16:16:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):148:148 -> a
    17:17:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):154:154 -> a
    18:18:com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType):159:159 -> a
    1:15:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):46:60 -> b
    16:16:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):106:106 -> b
    17:17:java.util.List visitThrowsSignatures(java.util.List):141:141 -> b
    1:1:java.util.List visitFormalTypeParameters(java.util.List):66:66 -> c
    2:2:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitInterfaceBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):86:86 -> c
    1:1:java.util.List visitMethodTypeSignatures(java.util.List):135:135 -> d
    1:1:java.util.List visitSuperInterfaces(java.util.List):100:100 -> e
com.android.tools.r8.graph.GenericSignatureUtils -> com.android.tools.r8.graph.c2:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:11:boolean verifyNoDuplicateGenericDefinitions(com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature,com.android.tools.r8.graph.DexAnnotationSet):13:23 -> a
    12:12:boolean verifyNoDuplicateGenericDefinitions(com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature,com.android.tools.r8.graph.DexAnnotationSet):19:19 -> a
com.android.tools.r8.graph.GenericSignatureValidationDiagnostic -> com.android.tools.r8.graph.d2:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):18:21 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):41:41 -> a
    2:12:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):56:66 -> a
    13:23:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():71:81 -> a
    13:23:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    24:24:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():79:79 -> a
    24:24:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    25:25:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():77:77 -> a
    25:25:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    26:26:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():75:75 -> a
    26:26:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    27:27:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():73:73 -> a
    27:27:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    28:32:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66:70 -> a
    33:33:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> a
    33:33:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():81 -> a
    33:33:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    34:35:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():81:82 -> a
    34:35:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidFieldSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):51:51 -> b
    1:1:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):46:46 -> c
    1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
    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.graph.GenericSignatureVisitor -> com.android.tools.r8.graph.e2:
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature) -> a
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature) -> a
    java.util.List visitInterfaceBounds(java.util.List) -> a
    com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType) -> a
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature) -> a
    com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType) -> a
    java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List) -> a
    com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature) -> a
    java.util.List visitThrowsSignatures(java.util.List) -> b
    java.util.List visitFormalTypeParameters(java.util.List) -> c
    java.util.List visitMethodTypeSignatures(java.util.List) -> d
    java.util.List visitSuperInterfaces(java.util.List) -> e
com.android.tools.r8.graph.GraphLens -> com.android.tools.r8.graph.q2:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():55:55 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens$1):55:55 -> <init>
    2:2:void <init>():300:300 -> <init>
    com.android.tools.r8.optimize.MemberRebindingIdentityLens asMemberRebindingIdentityLens() -> a
    com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens) -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation) -> a
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation) -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult lambda$lookupFieldResult$0(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> a
    com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens) -> a
    com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens) -> a
    java.lang.String lookupPackageName(java.lang.String) -> a
    1:1:com.android.tools.r8.graph.DexMember getOriginalMemberSignature(com.android.tools.r8.graph.DexMember):313:313 -> a
    2:2:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    3:8:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):323:328 -> a
    9:9:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    9:9:void lambda$rewriteFieldKeys$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexField,java.lang.Object):701 -> a
    10:10:void lambda$rewriteFieldKeys$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexField,java.lang.Object):701:701 -> a
    11:19:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):359:367 -> a
    11:19:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):352 -> a
    20:20:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> a
    20:20:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):352 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):368 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):352 -> a
    22:22:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):369:369 -> a
    22:22:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):352 -> a
    23:23:boolean isSimpleRenaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):385:385 -> a
    24:24:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    24:24:void lambda$rewriteTypeKeys$9(java.util.Map,java.util.function.BiFunction,com.android.tools.r8.graph.DexType,java.lang.Object):717 -> a
    25:27:void lambda$rewriteTypeKeys$9(java.util.Map,java.util.function.BiFunction,com.android.tools.r8.graph.DexType,java.lang.Object):718:720 -> a
    28:28:void lambda$rewriteTypeKeys$9(java.util.Map,java.util.function.BiFunction,com.android.tools.r8.graph.DexType,java.lang.Object):719:719 -> a
    29:29:com.android.tools.r8.graph.DexReference lookupReference(com.android.tools.r8.graph.DexReference):499:499 -> a
    30:35:boolean assertDefinitionsNotModified(java.lang.Iterable):586:591 -> a
    36:39:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):598:601 -> a
    40:43:boolean assertReferencesNotModified(java.lang.Iterable):606:609 -> a
    40:43:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    44:44:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    44:44:boolean assertReferencesNotModified(java.lang.Iterable):609 -> a
    44:44:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    45:48:boolean assertReferencesNotModified(java.lang.Iterable):609:612 -> a
    45:48:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    49:49:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    49:49:boolean assertReferencesNotModified(java.lang.Iterable):612 -> a
    49:49:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    50:52:boolean assertReferencesNotModified(java.lang.Iterable):612:614 -> a
    50:52:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    53:53:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    53:53:boolean assertReferencesNotModified(java.lang.Iterable):614 -> a
    53:53:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    54:55:boolean assertReferencesNotModified(java.lang.Iterable):614:615 -> a
    54:55:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    56:56:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    56:56:boolean assertReferencesNotModified(java.lang.Iterable):616 -> a
    56:56:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    57:57:boolean assertReferencesNotModified(java.lang.Iterable):616:616 -> a
    57:57:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    58:60:java.util.Map rewriteCallSites(java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):624:626 -> a
    61:65:void lambda$rewriteCallSites$2(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Map,com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.utils.collections.ProgramMethodSet):628:632 -> a
    66:66:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$rewriteCallSites$1(com.android.tools.r8.graph.DexCallSite):631:631 -> a
    67:67:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference):640:640 -> a
    67:67:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):666 -> a
    68:72:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):667:671 -> a
    73:75:java.util.ArrayList com.android.tools.r8.utils.ListUtils.newArrayList(java.lang.Object,java.lang.Object):194:196 -> a
    73:75:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):675 -> a
    76:77:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):675:676 -> a
    78:79:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.GraphLens):645:646 -> a
    80:80:com.android.tools.r8.graph.DexReference lambda$rewriteReference$3(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):647:647 -> a
    81:81:com.android.tools.r8.graph.DexReference lambda$rewriteReference$4(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexField):648:648 -> a
    82:82:com.android.tools.r8.graph.DexReference lambda$rewriteReference$5(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):649:649 -> a
    83:84:java.util.Set rewriteReferences(java.util.Set):653:654 -> a
    85:85:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference):640:640 -> a
    85:85:java.util.Set rewriteReferences(java.util.Set):655 -> a
    86:86:java.util.Set rewriteReferences(java.util.Set):655:655 -> a
    87:105:java.util.Map rewriteReferenceKeys(java.util.Map,java.util.function.BiFunction):662:680 -> a
    106:108:void lambda$rewriteReferenceKeys$7(java.util.function.BiFunction,java.util.Map,com.android.tools.r8.graph.DexReference,java.util.List):682:684 -> a
    109:111:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteFieldKeys(java.util.Map):700:702 -> a
    112:113:com.android.tools.r8.com.google.common.collect.ImmutableSet rewriteTypes(java.util.Set):706:707 -> a
    114:114:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    114:114:com.android.tools.r8.com.google.common.collect.ImmutableSet rewriteTypes(java.util.Set):708 -> a
    115:117:com.android.tools.r8.com.google.common.collect.ImmutableSet rewriteTypes(java.util.Set):708:710 -> a
    118:134:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):727:743 -> a
    135:135:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    135:135:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):743 -> a
    136:136:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    136:136:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    136:136:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):743 -> a
    137:143:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):746:752 -> a
    144:144:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1677,"2":1678,"3":1679}}
    1677:1677:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):752:752 -> a
    1678:1678:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):752:752 -> a
    1679:1679:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):752:752 -> a
    898:906:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):754:762 -> a
    907:907:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    907:907:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):762 -> a
    908:908:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):763:763 -> a
    909:909:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1690,"2":1691,"3":1692}}
    1690:1690:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):763:763 -> a
    1691:1691:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):763:763 -> a
    1692:1692:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):763:763 -> a
    1674:1676:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):765:767 -> a
    com.android.tools.r8.optimize.MemberRebindingLens asMemberRebindingLens() -> b
    java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType) -> b
    com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens) -> b
    1:1:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> b
    3:3:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):475:475 -> b
    4:5:java.util.Map rewriteTypeKeys(java.util.Map,java.util.function.BiFunction):714:715 -> b
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens asNonIdentityLens() -> c
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens) -> c
    1:1:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):398:398 -> c
    2:2:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):405:405 -> c
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> c
    3:3:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):406 -> c
    4:4:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):406:406 -> c
    5:5:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField):468:468 -> c
    6:6:com.android.tools.r8.graph.GraphLens$FieldLookupResult lookupFieldResult(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):487:487 -> c
    1:1:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):515:515 -> d
    2:2:com.android.tools.r8.graph.GraphLens getIdentityLens():519:519 -> d
    boolean hasCodeRewritings() -> e
    boolean hasCustomCodeRewritings() -> f
    boolean isContextFreeForMethods() -> g
    boolean isEnumUnboxerLens() -> h
    boolean isHorizontalClassMergerGraphLens() -> i
    boolean isIdentityLens() -> j
    boolean isNonIdentityLens() -> k
com.android.tools.r8.graph.GraphLens$Builder -> com.android.tools.r8.internal.Xl:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap methodMap -> b
    java.util.Map typeMap -> c
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap fieldMap -> a
    1:1:void <init>():270:270 -> <init>
    2:5:void <init>():265:268 -> <init>
    1:1:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):283:283 -> a
com.android.tools.r8.graph.GraphLens$ClearCodeRewritingGraphLens -> com.android.tools.r8.graph.f2:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():1044:1044 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):1047:1047 -> <init>
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):1052:1052 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):1062:1062 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):1068:1068 -> a
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):1068 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1098:1098 -> a
    6:8:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation):1113:1115 -> a
    9:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):1122:1122 -> a
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):1057:1057 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1075:1075 -> b
    3:3:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):1103:1103 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1087:1087 -> c
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    1:1:boolean isContextFreeForMethods():1137:1137 -> g
com.android.tools.r8.graph.GraphLens$FieldLookupResult -> com.android.tools.r8.graph.h2:
    com.android.tools.r8.graph.DexType writeCastType -> d
    com.android.tools.r8.graph.DexType readCastType -> c
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens$1):120:120 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):130:132 -> <init>
    1:1:com.android.tools.r8.graph.DexType getRewrittenReadCastType(java.util.function.Function):148:148 -> b
    1:1:com.android.tools.r8.graph.DexType getRewrittenWriteCastType(java.util.function.Function):160:160 -> c
    1:1:com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder builder(com.android.tools.r8.graph.GraphLens):136:136 -> d
    1:1:com.android.tools.r8.graph.DexType getReadCastType():144:144 -> e
    1:1:com.android.tools.r8.graph.DexType getWriteCastType():156:156 -> f
    1:1:boolean hasReadCastType():140:140 -> g
    1:1:boolean hasWriteCastType():152:152 -> h
com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder -> com.android.tools.r8.graph.g2:
    com.android.tools.r8.graph.DexType writeCastType -> d
    com.android.tools.r8.graph.DexType readCastType -> c
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$1):163:163 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.GraphLens):169:169 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReboundReference(com.android.tools.r8.graph.DexMember):108:108 -> a
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReboundReference(com.android.tools.r8.graph.DexMember):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder setReadCastType(com.android.tools.r8.graph.DexType):174:174 -> a
    3:3:com.android.tools.r8.graph.GraphLens$FieldLookupResult build():190:190 -> a
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> b
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReference(com.android.tools.r8.graph.DexMember):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder setWriteCastType(com.android.tools.r8.graph.DexType):179:179 -> b
com.android.tools.r8.graph.GraphLens$IdentityGraphLens -> com.android.tools.r8.graph.i2:
    com.android.tools.r8.graph.GraphLens$IdentityGraphLens INSTANCE -> b
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():936:938 -> <clinit>
    1:1:void <init>():940:940 -> <init>
    com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens) -> a
    java.lang.String lookupPackageName(java.lang.String) -> a
    1:1:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):993:993 -> a
    2:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):1000:1001 -> a
    4:4:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):1001 -> a
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):1001:1001 -> a
    6:6:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1016:1016 -> a
    7:7:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    7:7:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1016 -> a
    8:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1016:1016 -> a
    9:9:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1015:1015 -> a
    10:10:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation):1028:1028 -> a
    com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens) -> b
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):963:963 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1007:1007 -> c
    boolean hasCodeRewritings() -> e
    boolean isContextFreeForMethods() -> g
    boolean isIdentityLens() -> j
    boolean isNonIdentityLens() -> k
    1:1:com.android.tools.r8.graph.GraphLens$IdentityGraphLens access$400():936:936 -> l
com.android.tools.r8.graph.GraphLens$LookupFieldContinuation -> com.android.tools.r8.graph.j2:
    com.android.tools.r8.graph.GraphLens$FieldLookupResult lookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> a
com.android.tools.r8.graph.GraphLens$LookupMethodContinuation -> com.android.tools.r8.graph.k2:
    com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult) -> a
com.android.tools.r8.graph.GraphLens$MemberLookupResult -> com.android.tools.r8.graph.m2:
    com.android.tools.r8.graph.DexMember reference -> a
    com.android.tools.r8.graph.DexMember reboundReference -> b
    1:1:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.GraphLens$1):57:57 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember):62:64 -> <init>
    1:1:com.android.tools.r8.graph.DexMember getReboundReference():84:84 -> a
    2:2:com.android.tools.r8.graph.DexMember getRewrittenReboundReference(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):89:89 -> a
    3:4:com.android.tools.r8.graph.DexMember getRewrittenReboundReference(java.util.function.Function):93:94 -> a
    1:1:com.android.tools.r8.graph.DexMember getReference():68:68 -> b
    2:2:com.android.tools.r8.graph.DexMember getRewrittenReference(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):72:72 -> b
    1:1:boolean hasReboundReference():80:80 -> c
com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder -> com.android.tools.r8.graph.l2:
    com.android.tools.r8.graph.DexMember reference -> a
    com.android.tools.r8.graph.DexMember reboundReference -> b
    1:1:void <init>():97:97 -> <init>
com.android.tools.r8.graph.GraphLens$MethodLookupResult -> com.android.tools.r8.graph.o2:
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription prototypeChanges -> d
    com.android.tools.r8.ir.code.Invoke$Type type -> c
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):212:214 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder builder(com.android.tools.r8.graph.GraphLens):218:218 -> d
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges():226:226 -> e
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():222:222 -> f
com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder -> com.android.tools.r8.graph.n2:
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription prototypeChanges -> c
    com.android.tools.r8.ir.code.Invoke$Type type -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():229:229 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$1):229:229 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.GraphLens):235:235 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.GraphLens):232:232 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReboundReference(com.android.tools.r8.graph.DexMember):108:108 -> a
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReboundReference(com.android.tools.r8.graph.DexMember):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder setPrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):240:240 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder setType(com.android.tools.r8.ir.code.Invoke$Type):245:245 -> a
    4:6:com.android.tools.r8.graph.GraphLens$MethodLookupResult build():250:252 -> a
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> b
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReference(com.android.tools.r8.graph.DexMember):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens -> com.android.tools.r8.graph.p2:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.util.Map arrayTypeCache -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.GraphLens previousLens -> c
    1:1:void <clinit>():774:774 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):782:782 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):785:785 -> <init>
    3:11:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):779:787 -> <init>
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod) -> a
    com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$lookupMethod$1(com.android.tools.r8.graph.GraphLens$MethodLookupResult) -> a
    1:1:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> a
    1:1:java.lang.String lookupPackageName(java.lang.String):844 -> a
    2:2:java.lang.String lookupPackageName(java.lang.String):844:844 -> a
    3:3:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> a
    3:3:void withAlternativeParentLens(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.utils.Action):820 -> a
    4:6:void withAlternativeParentLens(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.utils.Action):821:823 -> a
    7:9:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens find(java.util.function.Predicate):802:804 -> a
    10:10:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> a
    10:10:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens find(java.util.function.Predicate):807 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:12:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):829:830 -> a
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    13:13:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):830 -> a
    14:16:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):830:832 -> a
    17:20:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):831:834 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    21:21:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):834 -> a
    22:22:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):834:834 -> a
    23:23:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    23:23:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):834 -> a
    24:28:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):835:839 -> a
    29:29:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> a
    30:30:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":906,"2":907,"3":908}}
    906:906:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> a
    907:907:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> a
    908:908:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> a
    31:31:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":909,"2":910,"3":911,"4":912}}
    909:909:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> a
    910:910:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> a
    911:911:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> a
    912:912:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> a
    901:901:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> a
    902:902:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> a
    902:902:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):874 -> a
    903:903:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):874:874 -> a
    904:904:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> a
    904:904:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):874 -> a
    905:905:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):874:874 -> a
    913:915:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):881:883 -> a
    916:916:com.android.tools.r8.graph.GraphLens$FieldLookupResult lambda$internalLookupField$2(com.android.tools.r8.graph.GraphLens$LookupFieldContinuation,com.android.tools.r8.graph.GraphLens$FieldLookupResult):886:886 -> a
    917:923:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation):897:903 -> a
    924:924:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation):901:901 -> a
    925:925:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$internalLookupMethod$3(com.android.tools.r8.graph.GraphLens$LookupMethodContinuation,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):906:906 -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    1:1:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> b
    1:1:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens findPrevious(java.util.function.Predicate):815 -> b
    2:2:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens findPrevious(java.util.function.Predicate):816:816 -> b
    3:9:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):852:858 -> b
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    10:10:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):859 -> b
    11:12:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):860:861 -> b
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> b
    13:13:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):865 -> b
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens asNonIdentityLens() -> c
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> e
    1:1:boolean lambda$lookupMethod$0(com.android.tools.r8.graph.DexType):832 -> e
    boolean isIdentityLens() -> j
    boolean isNonIdentityLens() -> k
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():791:791 -> l
    1:1:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> m
com.android.tools.r8.graph.ImmediateProgramSubtypingInfo -> com.android.tools.r8.internal.Mn:
    java.util.Map immediateSubtypes -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):28:30 -> <init>
    boolean lambda$forEachImmediateSuperClass$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass) -> a
    1:11:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo create(com.android.tools.r8.graph.AppView):35:45 -> a
    12:14:void lambda$create$0(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):39:41 -> a
    15:15:void forEachImmediateSuperClass(com.android.tools.r8.graph.DexClass,java.util.function.Consumer):49:49 -> a
    16:16:void lambda$forEachImmediateSuperClass$2(java.util.function.Consumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):52:52 -> a
    17:17:void forEachImmediateSuperClassMatching(com.android.tools.r8.graph.DexClass,java.util.function.BiPredicate,java.util.function.BiConsumer):64:64 -> a
    18:20:void lambda$forEachImmediateSuperClassMatching$4(java.util.function.BiPredicate,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):66:68 -> a
    21:21:void forEachImmediateSuperClassMatching(com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.function.Consumer):75:75 -> a
    22:22:void forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> a
    23:23:void forEachImmediateProgramSuperClassMatching(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Consumer):93:93 -> a
    24:26:void lambda$forEachImmediateProgramSuperClassMatching$6(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexType):95:97 -> a
    27:28:void lambda$forEachImmediateSubClassMatching$7(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):109:110 -> a
    29:29:java.util.List getSubclasses(com.android.tools.r8.graph.DexProgramClass):116:116 -> a
    1:3:void lambda$forEachImmediateSuperClassMatching$5(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexType):77:79 -> b
    4:5:void forEachImmediateSubClassMatching(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Consumer):106:107 -> b
com.android.tools.r8.graph.IndexedDexItem -> com.android.tools.r8.graph.r2:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():9:9 -> <init>
    int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping) -> a
    1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):14:14 -> a
com.android.tools.r8.graph.InitClassLens -> com.android.tools.r8.internal.fp:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.InitClassLens rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.graph.InitClassLens$Builder builder():13:13 -> a
    1:1:com.android.tools.r8.graph.ThrowingInitClassLens getThrowingInstance():17:17 -> b
com.android.tools.r8.graph.InitClassLens$Builder -> com.android.tools.r8.internal.ep:
    java.util.Map mapping -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():28:28 -> <clinit>
    1:3:void <init>():28:30 -> <init>
    1:2:void map(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):33:34 -> a
    3:3:com.android.tools.r8.graph.FinalInitClassLens build():38:38 -> a
com.android.tools.r8.graph.InnerClassAttribute -> com.android.tools.r8.internal.Ap:
    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
    1:1:void <clinit>():16:16 -> <clinit>
    1:6:void <init>(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):36:41 -> <init>
    1:1:com.android.tools.r8.graph.InnerClassAttribute createUnknownNamedInnerClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):33:33 -> a
    2:6:void forEachType(java.util.function.Consumer):49:53 -> a
    7:7:int getAccess():66:66 -> a
    8:12:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):82:86 -> a
    13:13:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):83:83 -> a
    14:14:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91:91 -> a
    15:15:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    15:15:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91 -> a
    16:16:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":209,"2":210,"3":211}}
    209:209:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    209:209:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91 -> a
    210:210:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    210:210:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91 -> a
    211:211:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    211:211:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    211:211:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91 -> a
    108:109:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):92:93 -> a
    110:110:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    110:110:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):93 -> a
    111:111:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":212,"2":213,"3":214}}
    212:212:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    212:212:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):93 -> a
    213:213:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    213:213:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):93 -> a
    214:214:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    214:214:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    214:214:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):93 -> a
    206:207:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):95:96 -> a
    208:208:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    208:208:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):96 -> a
    1:1:com.android.tools.r8.graph.DexType getInner():70:70 -> b
    1:1:com.android.tools.r8.graph.DexString getInnerName():78:78 -> c
    1:1:com.android.tools.r8.graph.DexType getOuter():74:74 -> d
    1:1:boolean isAnonymous():62:62 -> e
    1:1:boolean isNamed():58:58 -> f
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132}}
    130:130:java.lang.String toString():124:124 -> toString
    131:131:java.lang.String toString():124:124 -> toString
    132:132:java.lang.String toString():124:124 -> toString
    125:128:java.lang.String toString():124:127 -> toString
    129:129:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132}}
    130:130:java.lang.String toString():127:127 -> toString
    131:131:java.lang.String toString():127:127 -> toString
    132:132:java.lang.String toString():127:127 -> toString
com.android.tools.r8.graph.InstantiatedSubTypeInfo -> com.android.tools.r8.internal.aq:
    void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer) -> a
com.android.tools.r8.graph.InvalidCode -> com.android.tools.r8.graph.s2:
    com.android.tools.r8.graph.InvalidCode INSTANCE -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    1:1:boolean isInvalidCode(com.android.tools.r8.graph.Code):20:20 -> a
    2:2: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):27:27 -> a
    3:3:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):32:32 -> a
    4:4:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):37:37 -> a
    5:9:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):47:51 -> a
    boolean computeEquals(java.lang.Object) -> h
    1:1:int computeHashCode():66:66 -> m0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():56:56 -> q0
    1:1:java.lang.String toString():42:42 -> toString
    1:1:com.android.tools.r8.graph.Code getInstance():16:16 -> z0
com.android.tools.r8.graph.JarApplicationReader -> com.android.tools.r8.internal.gv:
    com.android.tools.r8.graph.ApplicationReaderMap applicationReaderMap -> e
    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 hasReadRecordReferenceFromProgramClass -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):31:31 -> <init>
    2:11:void <init>(com.android.tools.r8.utils.InternalOptions):24:33 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.Type getAsmObjectType(java.lang.String):37:37 -> a
    2:2:com.android.tools.r8.graph.DexItemFactory getFactory():45:45 -> a
    3:3:com.android.tools.r8.graph.DexMethod getMethod(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):102:102 -> a
    4:4:void checkFieldForRecord(com.android.tools.r8.graph.DexField):164:164 -> a
    5:5:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    5:5:void checkFieldForRecord(com.android.tools.r8.graph.DexField):164 -> a
    6:6:void checkFieldForRecord(com.android.tools.r8.graph.DexField):164:164 -> a
    7:7:void com.android.tools.r8.graph.JarApplicationReader.setHasReadRecordReferenceFromProgramClass():156:156 -> a
    7:7:void checkFieldForRecord(com.android.tools.r8.graph.DexField):165 -> a
    8:8:void checkMethodForRecord(com.android.tools.r8.graph.DexMethod):170:170 -> a
    9:9:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    9:9:void checkMethodForRecord(com.android.tools.r8.graph.DexMethod):171 -> a
    10:10:void checkMethodForRecord(com.android.tools.r8.graph.DexMethod):171:171 -> a
    11:11:void com.android.tools.r8.graph.JarApplicationReader.setHasReadRecordReferenceFromProgramClass():156:156 -> a
    11:11:void checkMethodForRecord(com.android.tools.r8.graph.DexMethod):172 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.Type getAsmType(java.lang.String):41:41 -> b
    2:2:boolean hasReadRecordReferenceFromProgramClass():160:160 -> b
    1:1:com.android.tools.r8.graph.DexProto getProto(java.lang.String):119:119 -> c
    2:2:boolean com.android.tools.r8.graph.JarApplicationReader.isValidDescriptor(java.lang.String):144:144 -> c
    2:2:com.android.tools.r8.graph.DexProto getProto(java.lang.String):119 -> c
    3:6:com.android.tools.r8.graph.DexProto getProto(java.lang.String):119:122 -> c
    7:11:java.lang.String com.android.tools.r8.graph.JarApplicationReader.getShortyDescriptor(java.lang.String):136:140 -> c
    7:11:com.android.tools.r8.graph.DexProto getProto(java.lang.String):123 -> c
    12:14:com.android.tools.r8.graph.DexProto getProto(java.lang.String):123:125 -> c
    15:19:java.lang.String com.android.tools.r8.graph.JarApplicationReader.getShortyDescriptor(java.lang.String):136:140 -> c
    15:19:com.android.tools.r8.graph.DexProto getProto(java.lang.String):125 -> c
    20:24:com.android.tools.r8.graph.DexProto getProto(java.lang.String):125:129 -> c
    25:32:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.JarApplicationReader.getTypeListFromDescriptors(java.lang.String[]):79:86 -> c
    25:32:com.android.tools.r8.graph.DexProto getProto(java.lang.String):130 -> c
    33:33:com.android.tools.r8.graph.DexProto getProto(java.lang.String):131:131 -> c
    34:34:com.android.tools.r8.graph.DexProto getProto(java.lang.String):128:128 -> c
    35:35:void setHasReadRecordReferenceFromProgramClass():156:156 -> c
    1:1:com.android.tools.r8.graph.DexString getString(java.lang.String):49:49 -> d
    1:1:com.android.tools.r8.graph.DexType getTypeFromDescriptor(java.lang.String):62:62 -> e
    2:2:boolean com.android.tools.r8.graph.JarApplicationReader.isValidDescriptor(java.lang.String):144:144 -> e
    2:2:com.android.tools.r8.graph.DexType getTypeFromDescriptor(java.lang.String):62 -> e
    3:5:com.android.tools.r8.graph.DexType getTypeFromDescriptor(java.lang.String):62:64 -> e
    1:1:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):57:57 -> f
    2:2:boolean com.android.tools.r8.graph.JarApplicationReader.isValidInternalName(java.lang.String):148:148 -> f
    2:2:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):57 -> f
    3:4:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):57:58 -> f
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.JarApplicationReader.getType(com.android.tools.r8.org.objectweb.asm.Type):53:53 -> f
    5:5:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):58 -> f
com.android.tools.r8.graph.JarClassFileReader -> com.android.tools.r8.graph.x2:
    java.util.function.Consumer classConsumer -> b
    com.android.tools.r8.graph.JarApplicationReader application -> a
    boolean $assertionsDisabled -> e
    byte[] CLASSFILE_HEADER -> d
    com.android.tools.r8.graph.ClassKind classKind -> c
    1:3:void <clinit>():73:75 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.JarApplicationReader,java.util.function.Consumer,com.android.tools.r8.graph.ClassKind):85:88 -> <init>
    int access$000(int) -> a
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor access$100(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):73:73 -> a
    2:2:com.android.tools.r8.graph.DexEncodedAnnotation access$1700(java.lang.String,java.util.List,java.util.List,com.android.tools.r8.graph.JarApplicationReader):73:73 -> a
    3:8:void internalRead(com.android.tools.r8.origin.Origin,byte[]):100:105 -> a
    3:8:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    9:9:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    9:9:void internalRead(com.android.tools.r8.origin.Origin,byte[]):105 -> a
    9:9:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    10:10:void internalRead(com.android.tools.r8.origin.Origin,byte[]):105 -> a
    10:10:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    11:15:void internalRead(com.android.tools.r8.origin.Origin,byte[]):105:109 -> a
    11:15:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    16:16:void com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(byte[]):166:166 -> a
    16:16:void internalRead(com.android.tools.r8.origin.Origin,byte[]):109 -> a
    16:16:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    17:26:void internalRead(com.android.tools.r8.origin.Origin,byte[]):115:124 -> a
    17:26:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    27:39:void internalRead(com.android.tools.r8.origin.Origin,byte[]):122:134 -> a
    27:39:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    40:44:void internalRead(com.android.tools.r8.origin.Origin,byte[]):132:136 -> a
    40:44:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    45:45:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory() -> a
    45:45:void internalRead(com.android.tools.r8.origin.Origin,byte[]):136 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    45:45:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    46:46:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    46:46:void internalRead(com.android.tools.r8.origin.Origin,byte[]):136 -> a
    46:46:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    47:47:void internalRead(com.android.tools.r8.origin.Origin,byte[]):136:136 -> a
    47:47:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    48:48:void internalRead(com.android.tools.r8.origin.Origin,byte[]):101:101 -> a
    48:48:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    49:49:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    49:49:void internalRead(com.android.tools.r8.origin.Origin,byte[]):101 -> a
    49:49:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    50:50:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    50:50:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    50:50:void internalRead(com.android.tools.r8.origin.Origin,byte[]):101 -> a
    50:50:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    51:51:void internalRead(com.android.tools.r8.origin.Origin,byte[]):101:101 -> a
    51:51:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    52:54:com.android.tools.r8.graph.MethodAccessFlags createMethodAccessFlags(java.lang.String,int):155:157 -> a
    55:58:void lambda$createAnnotationVisitor$1(java.util.List,int,java.lang.String,com.android.tools.r8.graph.JarApplicationReader,java.util.List,java.util.List):169:169 -> a
    59:63:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):608:612 -> a
    59:63:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    64:67:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(java.util.List):78:81 -> a
    64:67:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):612 -> a
    64:67:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    68:68:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    68:68:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    69:69:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":82,"2":83,"3":84}}
    82:82:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    82:82:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    83:83:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    83:83:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    84:84:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    84:84:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    70:70:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":85,"2":86,"3":87,"4":88}}
    85:85:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:615 -> a
    85:85:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    86:86:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:615 -> a
    86:86:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    87:87:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:615 -> a
    87:87:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    88:88:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:615 -> a
    88:88:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    71:71:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    71:71:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615 -> a
    71:71:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    72:72:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    72:72:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    72:72:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615 -> a
    72:72:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    73:76:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:618 -> a
    73:76:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    77:77:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):609:609 -> a
    77:77:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    1:1:void read(com.android.tools.r8.origin.Origin,byte[]):96:96 -> b
    2:2:void com.android.tools.r8.utils.ExceptionUtils.withOriginAttachmentHandler(com.android.tools.r8.origin.Origin,java.lang.Runnable):225:225 -> b
    2:2:void read(com.android.tools.r8.origin.Origin,byte[]):96 -> b
    3:3:com.android.tools.r8.graph.FieldAccessFlags createFieldAccessFlags(int):150:150 -> b
    4:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor createAnnotationVisitor(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):163:163 -> b
    5:5:boolean retainCompileTimeAnnotation(java.lang.String,com.android.tools.r8.graph.JarApplicationReader):179:179 -> b
    5:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor createAnnotationVisitor(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):164 -> b
    6:6:boolean retainCompileTimeAnnotation(java.lang.String,com.android.tools.r8.graph.JarApplicationReader):178:178 -> b
    6:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor createAnnotationVisitor(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):164 -> b
    7:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor createAnnotationVisitor(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):166:166 -> b
    8:10:com.android.tools.r8.graph.DexEncodedAnnotation createEncodedAnnotation(java.lang.String,java.util.List,java.util.List,com.android.tools.r8.graph.JarApplicationReader):184:184 -> b
    12:16:com.android.tools.r8.graph.DexEncodedAnnotation createEncodedAnnotation(java.lang.String,java.util.List,java.util.List,com.android.tools.r8.graph.JarApplicationReader):186:190 -> b
com.android.tools.r8.graph.JarClassFileReader$CreateAnnotationVisitor -> com.android.tools.r8.graph.t2:
    java.util.List values -> e
    java.util.List names -> d
    com.android.tools.r8.graph.JarApplicationReader application -> b
    boolean $assertionsDisabled -> f
    java.util.function.BiConsumer onVisitEnd -> c
    1:1:void <clinit>():971:971 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.JarApplicationReader,java.util.function.BiConsumer):980:980 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.JarApplicationReader,java.util.function.BiConsumer):975:982 -> <init>
    1:2:void visitEnum(java.lang.String,java.lang.String,java.lang.String):992:993 -> a
    3:3:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    3:3:void visitEnum(java.lang.String,java.lang.String,java.lang.String):993 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    4:4:void visitEnum(java.lang.String,java.lang.String,java.lang.String):993 -> a
    5:5:void visitEnum(java.lang.String,java.lang.String,java.lang.String):993:993 -> a
    6:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):998:998 -> a
    7:9:void lambda$visitAnnotation$0(java.lang.String,java.lang.String,java.util.List,java.util.List):999:999 -> a
    10:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):1005:1005 -> a
    11:12:void lambda$visitArray$1(java.lang.String,java.util.List,java.util.List):1006:1007 -> a
    13:13:void visitEnd():1013:1013 -> a
    14:19:void addElement(java.lang.String,com.android.tools.r8.graph.DexValue):1018:1023 -> a
    20:41:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1089:1110 -> a
    20:41:void visit(java.lang.String,java.lang.Object):987 -> a
    42:97:com.android.tools.r8.graph.DexValue$DexValueArray getDexValueArray(java.lang.Object):1027:1082 -> a
    42:97:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1112 -> a
    42:97:void visit(java.lang.String,java.lang.Object):987 -> a
    98:98:void visit(java.lang.String,java.lang.Object):987:987 -> a
    99:99:com.android.tools.r8.graph.DexValue$DexValueArray getDexValueArray(java.lang.Object):1084:1084 -> a
    99:99:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1112 -> a
    99:99:void visit(java.lang.String,java.lang.Object):987 -> a
com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor -> com.android.tools.r8.graph.u2:
    com.android.tools.r8.graph.ClassKind classKind -> d
    com.android.tools.r8.graph.DexType superType -> l
    com.android.tools.r8.graph.DexType type -> j
    java.util.List nestMembers -> p
    java.util.Set fieldSignatures -> y
    boolean deprecated -> i
    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMember -> r
    java.util.List defaultAnnotations -> v
    java.util.List directMethods -> z
    java.util.List instanceFields -> x
    com.android.tools.r8.cf.CfVersion version -> h
    com.android.tools.r8.graph.GenericSignature$ClassSignature classSignature -> t
    java.util.List virtualMethods -> A
    com.android.tools.r8.origin.Origin origin -> c
    com.android.tools.r8.graph.NestHostClassAttribute nestHost -> o
    boolean $assertionsDisabled -> E
    java.util.function.Consumer classConsumer -> f
    java.util.Set recordComponents -> q
    com.android.tools.r8.graph.DexTypeList interfaces -> m
    com.android.tools.r8.synthesis.SyntheticMarker syntheticMarker -> D
    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> g
    com.android.tools.r8.graph.DexString sourceFile -> n
    boolean hasReachabilitySensitiveMethod -> C
    java.util.List annotations -> u
    com.android.tools.r8.graph.ClassAccessFlags accessFlags -> k
    java.util.List innerClasses -> s
    java.util.List staticFields -> w
    java.util.Set methodSignatures -> B
    com.android.tools.r8.graph.JarApplicationReader application -> e
    1:1:void <clinit>():193:193 -> <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):232:232 -> <init>
    2:40: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):199:237 -> <init>
    long lambda$getChecksumSupplier$0(long,com.android.tools.r8.graph.DexProgramClass) -> 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:1:com.android.tools.r8.graph.JarClassFileReader$ReparseContext access$1000(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> a
    2:2:boolean access$1376(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,int):193:193 -> a
    3:6:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):242:245 -> a
    7:9:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):252:254 -> a
    10:10:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":794,"2":795,"3":796,"4":797,"5":798}}
    794:794:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    795:795:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    796:796:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    797:797:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    798:798:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    264:264:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    265:265:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":799,"2":800,"3":801,"4":802,"5":803}}
    799:799:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    800:800:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    801:801:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    802:802:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    803:803:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    519:519:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    520:520:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":804,"2":805,"3":806,"4":807,"5":808}}
    804:804:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    805:805:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    806:806:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    807:807:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    808:808:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    774:777:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    787:793:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):264:264 -> a
    809:814:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):275:280 -> a
    815:816:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):279:280 -> a
    817:819:void visitNestHost(java.lang.String):285:287 -> a
    820:820:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310:310 -> a
    821:821:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":826,"2":827,"3":828}}
    826:826:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):298:298 -> a
    826:826:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    827:827:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):298:298 -> a
    827:827:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    828:828:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):298:298 -> a
    828:828:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    822:822:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):299:299 -> a
    822:822:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    823:823:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310:310 -> a
    824:824:java.lang.String illegalClassFilePostfix(com.android.tools.r8.cf.CfVersion):305:305 -> a
    824:824:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):312 -> a
    825:825:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):312:312 -> a
    829:852:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):348:371 -> a
    853:853:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    853:853:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    853:853:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):371 -> a
    854:858:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):371:375 -> a
    859:859:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2012,"2":2013,"3":2014,"4":2015,"5":2016}}
    2012:2012:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2013:2013:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2014:2014:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2015:2015:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2016:2016:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    1235:1235:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):376:376 -> a
    1236:1236:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1236:1236:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1236:1236:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):376 -> a
    1237:1247:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):376:386 -> a
    1248:1255:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.JarApplicationReader.getTypeListFromNames(java.lang.String[]):68:75 -> a
    1248:1255:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):386 -> a
    1256:1258:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):386:388 -> a
    1259:1259:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1259:1259:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):390 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1260:1260:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1260:1260:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):390 -> a
    1261:1261:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):390:390 -> a
    1262:1262:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):389:389 -> a
    1263:1263:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    1264:1264:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2017,"2":2018,"3":2019}}
    2017:2017:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    2018:2018:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    2019:2019:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    1625:1630:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:366 -> a
    1631:1631:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362:362 -> a
    1632:1632:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1632:1632:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1632:1632:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362 -> a
    1633:1633:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362:362 -> a
    1634:1634:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    1635:1635:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2020,"2":2021,"3":2022}}
    2020:2020:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    2021:2021:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    2022:2022:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    1985:1985:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    1986:1986:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1986:1986:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1986:1986:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350 -> a
    1987:1987:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    2023:2023:void visitSource(java.lang.String,java.lang.String):397:397 -> a
    2024:2027:java.util.List getAnnotations():595:598 -> a
    2024:2027:void visitSource(java.lang.String,java.lang.String):400 -> a
    2028:2030:void visitSource(java.lang.String,java.lang.String):400:402 -> a
    2031:2031:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2031:2031:void visitSource(java.lang.String,java.lang.String):402 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2032:2032:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2032:2032:void visitSource(java.lang.String,java.lang.String):402 -> a
    2033:2036:com.android.tools.r8.graph.DexAnnotation com.android.tools.r8.graph.DexAnnotation.createSourceDebugExtensionAnnotation(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexItemFactory):240:243 -> a
    2033:2036:void visitSource(java.lang.String,java.lang.String):401 -> a
    2037:2037:void visitSource(java.lang.String,java.lang.String):400:400 -> a
    2038:2046:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):409:417 -> a
    2047:2054:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):423:430 -> a
    2055:2056:void visitEnd():447:448 -> a
    2057:2057:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2057:2057:void visitEnd():449 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2058:2058:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2058:2058:void visitEnd():449 -> a
    2059:2059:void visitEnd():448:448 -> a
    2060:2063:java.util.List getAnnotations():595:598 -> a
    2060:2063:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):591 -> a
    2060:2063:void visitEnd():448 -> a
    2064:2064:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):591:591 -> a
    2064:2064:void visitEnd():448 -> a
    2065:2065:void checkReachabilitySensitivity():561:561 -> a
    2065:2065:void visitEnd():451 -> a
    2066:2066:boolean hasReachabilitySensitiveField():572:572 -> a
    2066:2066:void checkReachabilitySensitivity():561 -> a
    2066:2066:void visitEnd():451 -> a
    2067:2067:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2067:2067:boolean hasReachabilitySensitiveField():572 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2067:2067:void checkReachabilitySensitivity():561 -> a
    2067:2067:void visitEnd():451 -> a
    2068:2068:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2068:2068:boolean hasReachabilitySensitiveField():572 -> a
    2068:2068:void checkReachabilitySensitivity():561 -> a
    2068:2068:void visitEnd():451 -> a
    2069:2070:boolean hasReachabilitySensitiveField():572:573 -> a
    2069:2070:void checkReachabilitySensitivity():561 -> a
    2069:2070:void visitEnd():451 -> a
    2071:2071:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    2071:2071:boolean hasReachabilitySensitiveField():573 -> a
    2071:2071:void checkReachabilitySensitivity():561 -> a
    2071:2071:void visitEnd():451 -> a
    2072:2074:boolean hasReachabilitySensitiveField():573:575 -> a
    2072:2074:void checkReachabilitySensitivity():561 -> a
    2072:2074:void visitEnd():451 -> a
    2075:2075:void checkReachabilitySensitivity():562:562 -> a
    2075:2075:void visitEnd():451 -> a
    2076:2076:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    2076:2076:void checkReachabilitySensitivity():562 -> a
    2076:2076:void visitEnd():451 -> a
    2077:2080:void checkReachabilitySensitivity():562:565 -> a
    2077:2080:void visitEnd():451 -> a
    2081:2097:void checkRecord():518:534 -> a
    2081:2097:void visitEnd():452 -> a
    2098:2098:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    2098:2098:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    2098:2098:void checkRecord():534 -> a
    2098:2098:void visitEnd():452 -> a
    2099:2099:void checkRecord():534:534 -> a
    2099:2099:void visitEnd():452 -> a
    2100:2118:void visitEnd():453:471 -> a
    2119:2119:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2119:2119:void visitEnd():472 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2120:2120:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2120:2120:void visitEnd():472 -> a
    2121:2122:void visitEnd():472:473 -> a
    2123:2154:void visitEnd():454:485 -> a
    2155:2163:void com.android.tools.r8.graph.DexClass.replaceInnerClassAttributeForThisClass(com.android.tools.r8.graph.InnerClassAttribute):1076:1084 -> a
    2155:2163:void visitEnd():486 -> a
    2164:2172:void visitEnd():487:495 -> a
    2173:2173:void visitEnd():491:491 -> a
    2174:2174:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    2174:2174:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    2174:2174:void visitEnd():491 -> a
    2175:2186:void visitEnd():491:502 -> a
    2187:2187:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    2187:2187:void visitEnd():504 -> a
    2188:2197:void visitEnd():505:514 -> a
    2198:2198:void checkRecord():529:529 -> a
    2198:2198:void visitEnd():452 -> a
    2199:2199:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    2199:2199:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    2199:2199:void checkRecord():529 -> a
    2199:2199:void visitEnd():452 -> a
    2200:2200:void checkRecord():529:529 -> a
    2200:2200:void visitEnd():452 -> a
    2201:2207:com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier getChecksumSupplier(com.android.tools.r8.graph.ClassKind):540:546 -> a
    2208:2208:void addDefaultAnnotation(java.lang.String,com.android.tools.r8.graph.DexValue):584:584 -> a
    2208:2208:void access$1600(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):193 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2209:2211:void addDefaultAnnotation(java.lang.String,com.android.tools.r8.graph.DexValue):585:587 -> a
    2209:2211:void access$1600(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):193 -> a
    2212:2215:java.util.List getAnnotations():595:598 -> a
    2212:2215:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):435 -> a
    2216:2216:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):435:435 -> a
    1:1:com.android.tools.r8.cf.CfVersion access$1100(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> b
    2:4:void visitNestMember(java.lang.String):292:294 -> b
    5:9:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):318:322 -> b
    10:10:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> b
    10:10:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):324 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> b
    11:11:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):324 -> b
    12:14:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):324:326 -> b
    15:18:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):325:328 -> b
    19:19:boolean isInANest():602:602 -> b
    1:1:java.util.Set access$1200(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> c
    2:3:void visitPermittedSubclass(java.lang.String):333:334 -> c
    4:4:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> c
    4:4:void visitPermittedSubclass(java.lang.String):334 -> c
    5:5:void visitPermittedSubclass(java.lang.String):334:334 -> c
    1:1:java.util.List access$1400(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> d
    2:2:void checkName(java.lang.String):550:550 -> d
    3:3:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> d
    3:3:void checkName(java.lang.String):550 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> d
    4:4:void checkName(java.lang.String):550 -> d
    5:6:void checkName(java.lang.String):550:551 -> d
    7:14:boolean com.android.tools.r8.graph.DexString.isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):404:411 -> d
    7:14:void checkName(java.lang.String):551 -> d
    15:15:void checkName(java.lang.String):552:552 -> d
    16:16:void checkName(java.lang.String):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":20,"2":21,"3":22,"4":23,"5":24,"6":25}}
    20:20:void checkName(java.lang.String):552:552 -> d
    21:21:void checkName(java.lang.String):552:552 -> d
    22:22:void checkName(java.lang.String):552:552 -> d
    23:23:void checkName(java.lang.String):552:552 -> d
    24:24:void checkName(java.lang.String):552:552 -> d
    25:25:void checkName(java.lang.String):552:552 -> d
    17:17:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> d
    17:17:void checkName(java.lang.String):552 -> d
    18:18:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> d
    18:18:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> d
    18:18:void checkName(java.lang.String):552 -> d
    19:19:void checkName(java.lang.String):552:552 -> d
    1:1:java.util.List access$1500(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> e
    1:1:com.android.tools.r8.graph.JarApplicationReader access$300(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> f
    1:1:com.android.tools.r8.origin.Origin access$400(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> g
    1:1:com.android.tools.r8.graph.DexType access$500(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> h
    1:1:java.util.Set access$600(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> i
    1:1:java.util.List access$700(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> j
    1:1:java.util.List access$800(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> k
    1:1:com.android.tools.r8.graph.ClassKind access$900(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> l
com.android.tools.r8.graph.JarClassFileReader$CreateFieldVisitor -> com.android.tools.r8.graph.v2:
    java.lang.String desc -> f
    java.lang.Object value -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature fieldSignature -> h
    java.util.List annotations -> i
    int access -> d
    com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor parent -> c
    java.lang.String name -> e
    1:1:void <clinit>():621:621 -> <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):638:638 -> <init>
    2:24:void <init>(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):629:651 -> <init>
    25:31:void <init>(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):646:652 -> <init>
    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:void visitEnd():669:670 -> a
    3:3:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    3:3:void visitEnd():670 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    4:4:void visitEnd():670 -> a
    5:10:void visitEnd():671:676 -> a
    11:11:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):703:703 -> a
    11:11:void visitEnd():676 -> a
    12:12:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    12:12:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):703 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:void visitEnd():676 -> a
    13:13:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    13:13:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):703 -> a
    13:13:void visitEnd():676 -> a
    14:43:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):704:733 -> a
    14:43:void visitEnd():676 -> a
    44:44:void visitEnd():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67,"4":68,"5":69}}
    65:65:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    65:65:void visitEnd():676 -> a
    66:66:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    66:66:void visitEnd():676 -> a
    67:67:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    67:67:void visitEnd():676 -> a
    68:68:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    68:68:void visitEnd():676 -> a
    69:69:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    69:69:void visitEnd():676 -> a
    45:45:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    45:45:void visitEnd():676 -> a
    46:52:void visitEnd():678:684 -> a
    53:53:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    53:53:void visitEnd():685 -> a
    54:63:void visitEnd():686:695 -> a
    64:64:void visitEnd():693:693 -> a
    70:73:java.util.List getAnnotations():737:740 -> a
    70:73:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):657 -> a
    74:74:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):657:657 -> a
com.android.tools.r8.graph.JarClassFileReader$CreateMethodVisitor -> com.android.tools.r8.graph.w2:
    java.util.List parameterFlags -> r
    int annotableParameterCount -> o
    java.util.List parameterNames -> q
    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 deprecated -> v
    com.android.tools.r8.graph.MethodAccessFlags flags -> u
    boolean $assertionsDisabled -> x
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature genericSignature -> s
    com.android.tools.r8.graph.DexMethod method -> t
    java.util.List annotations -> m
    com.android.tools.r8.graph.Code code -> w
    1:1:void <clinit>():744:744 -> <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):768:768 -> <init>
    2:34:void <init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):749:781 -> <init>
    35:45:void <init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):780:790 -> <init>
    46:52:void <init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):785:791 -> <init>
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> a
    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) -> a
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():801:801 -> a
    2:3:void lambda$visitAnnotationDefault$0(java.util.List,java.util.List):802:803 -> a
    4:10:void visitAnnotableParameterCount(int,boolean):816:822 -> a
    11:22:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):827:838 -> a
    23:23:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):837:837 -> a
    24:27:java.util.List getAnnotations():960:963 -> a
    24:27:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):967 -> a
    28:28:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):967:967 -> a
    29:32:java.util.List getAnnotations():960:963 -> a
    29:32:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):796 -> a
    33:33:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):796:796 -> a
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> b
    1:6:void visitParameter(java.lang.String,int):864:869 -> b
    7:7:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> b
    7:7:void visitParameter(java.lang.String,int):869 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> b
    8:8:void visitParameter(java.lang.String,int):869 -> b
    9:11:void visitParameter(java.lang.String,int):869:871 -> b
    12:12:void visitCode():876:876 -> b
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> c
    1:3:void visitEnd():888:890 -> c
    4:5:boolean classRequiresCode():880:881 -> c
    4:5:void visitEnd():890 -> c
    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1842:1842 -> c
    6:6:boolean classRequiresCode():881 -> c
    6:6:void visitEnd():890 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    7:9:boolean classRequiresCode():881:883 -> c
    7:9:void visitEnd():890 -> c
    10:18:void visitEnd():891:899 -> c
    19:19:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.ParameterAnnotationsList.create(com.android.tools.r8.graph.DexAnnotationSet[]):72:72 -> c
    19:19:void visitEnd():901 -> c
    20:24:void visitEnd():903:907 -> c
    25:25:void visitEnd():906:906 -> c
    26:29:java.util.List getAnnotations():960:963 -> c
    26:29:void visitEnd():909 -> c
    30:33:void visitEnd():909:912 -> c
    34:34:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> c
    34:34:void visitEnd():912 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> c
    35:35:void visitEnd():912 -> c
    36:56:void visitEnd():909:929 -> c
    57:57:boolean isReachabilitySensitive():950:950 -> c
    57:57:void visitEnd():929 -> c
    58:58:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> c
    58:58:boolean isReachabilitySensitive():950 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    58:58:void visitEnd():929 -> c
    59:59:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> c
    59:59:boolean isReachabilitySensitive():950 -> c
    59:59:void visitEnd():929 -> c
    60:60:boolean isReachabilitySensitive():950:950 -> c
    60:60:void visitEnd():929 -> c
    61:64:java.util.List getAnnotations():960:963 -> c
    61:64:boolean isReachabilitySensitive():951 -> c
    61:64:void visitEnd():929 -> c
    65:66:boolean isReachabilitySensitive():951:952 -> c
    65:66:void visitEnd():929 -> c
    67:71:void visitEnd():929:933 -> c
    72:82:void visitEnd():931:941 -> c
    83:83:void visitEnd():938:938 -> c
    84:92:void visitEnd():936:944 -> c
com.android.tools.r8.graph.JarClassFileReader$ReparseContext -> com.android.tools.r8.internal.hv:
    com.android.tools.r8.graph.DexClass owner -> b
    byte[] classCache -> a
    java.util.List codeList -> c
    1:8:void <init>():1116:1123 -> <init>
com.android.tools.r8.graph.LazyCfCode -> com.android.tools.r8.graph.C2:
    com.android.tools.r8.graph.CfCode code -> f
    com.android.tools.r8.graph.JarApplicationReader application -> e
    boolean $assertionsDisabled -> i
    com.android.tools.r8.origin.Origin origin -> d
    boolean reachabilitySensitive -> h
    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> g
    1:1:void <clinit>():94:94 -> <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):103:114 -> <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):104:107 -> <init>
    1:2:void markReachabilitySensitive():117:118 -> A0
    1:2:com.android.tools.r8.graph.CfCode asCfCode():138:139 -> W
    3:3:void com.android.tools.r8.utils.ExceptionUtils.withOriginAttachmentHandler(com.android.tools.r8.origin.Origin,java.lang.Runnable):225:225 -> W
    3:3:com.android.tools.r8.graph.CfCode asCfCode():139 -> W
    4:5:com.android.tools.r8.graph.CfCode asCfCode():141:142 -> W
    1:1:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):175:175 -> a
    2:2:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):191:191 -> a
    3:25:com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions getParsingOptions(com.android.tools.r8.graph.JarApplicationReader,boolean):1058:1080 -> a
    3:25:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):191 -> a
    26:26:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):193:193 -> a
    27:27:java.util.function.BiFunction createCodeLocator(com.android.tools.r8.graph.JarClassFileReader$ReparseContext):295:295 -> a
    27:27:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):196 -> a
    28:33:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):196:201 -> a
    34:34:void setCode(com.android.tools.r8.graph.CfCode):205:205 -> a
    34:34:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
    35:35:void setCode(com.android.tools.r8.graph.CfCode):205:205 -> a
    35:35:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void setCode(com.android.tools.r8.graph.CfCode):205:205 -> a
    36:36:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
    37:37:void setCode(com.android.tools.r8.graph.CfCode):206:206 -> a
    37:37:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:void setCode(com.android.tools.r8.graph.CfCode):206:206 -> a
    38:38:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
    39:39:void setCode(com.android.tools.r8.graph.CfCode):207:207 -> a
    39:39:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:41:void setCode(com.android.tools.r8.graph.CfCode):208:209 -> a
    40:41:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
    42:42: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):244:244 -> a
    43:44: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):257:258 -> a
    45:45:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):271:271 -> a
    46:46:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):276:276 -> a
    47:47:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):291:291 -> a
    48:48:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):1104:1104 -> a
    1:1:boolean computeEquals(java.lang.Object):219:219 -> h
    2:2:boolean estimatedSizeForInliningAtMost(int):234:234 -> h
    1:1:int computeHashCode():214:214 -> m0
    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():147:147 -> n0
    com.android.tools.r8.graph.LazyCfCode asLazyCfCode() -> p0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():239:239 -> q0
    1:1:int estimatedSizeForInlining():229:229 -> r0
    boolean isCfCode() -> s0
    boolean isCfWritableCode() -> t0
    1:1:java.lang.String toString():286:286 -> toString
    1:1:boolean verifyNoInputReaders():1085:1085 -> y0
    1:20:void internalParseCode():151:170 -> z0
    21:27:boolean verifyNoReparseContext(com.android.tools.r8.graph.DexClass):1090:1096 -> z0
    21:27:void internalParseCode():170 -> z0
    28:28:void internalParseCode():167:167 -> z0
com.android.tools.r8.graph.LazyCfCode$ClassCodeVisitor -> com.android.tools.r8.graph.y2:
    java.util.function.BiFunction codeLocator -> d
    com.android.tools.r8.graph.JarApplicationReader application -> e
    com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions debugParsingOptions -> h
    com.android.tools.r8.origin.Origin origin -> g
    boolean usrJsrInliner -> f
    com.android.tools.r8.graph.DexClass clazz -> c
    1:7:void <init>(com.android.tools.r8.graph.DexClass,java.util.function.BiFunction,com.android.tools.r8.graph.JarApplicationReader,boolean,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions):330:336 -> <init>
    1:11:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):342:352 -> a
com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions -> com.android.tools.r8.internal.MA:
    boolean lineInfo -> a
    boolean localInfo -> b
    int asmReaderOptions -> c
    1:4:void <init>(boolean,boolean,int):183:186 -> <init>
com.android.tools.r8.graph.LazyCfCode$DefaultCodeLocator -> com.android.tools.r8.graph.z2:
    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> a
    int methodIndex -> b
    1:1:void <init>(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.LazyCfCode$1):298:298 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):303:303 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):301:304 -> <init>
    1:1:java.lang.Object apply(java.lang.Object,java.lang.Object):298:298 -> apply
    2:2:com.android.tools.r8.graph.LazyCfCode apply(java.lang.String,java.lang.String):310:310 -> apply
    2:2:java.lang.Object apply(java.lang.Object,java.lang.Object):298 -> apply
com.android.tools.r8.graph.LazyCfCode$JsrEncountered -> com.android.tools.r8.graph.A2:
    1:1:void <init>(java.lang.String):98:98 -> <init>
com.android.tools.r8.graph.LazyCfCode$MethodCodeVisitor -> com.android.tools.r8.graph.B2:
    int maxLocals -> n
    java.util.List localVariables -> r
    java.util.List tryCatchRanges -> q
    boolean desugaredVisitMultiANewArrayInstruction -> o
    java.util.List instructions -> p
    java.util.Map canonicalDebugLocalInfo -> s
    int maxStack -> m
    java.util.Map labelMap -> t
    com.android.tools.r8.graph.LazyCfCode code -> u
    com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions debugParsingOptions -> l
    boolean $assertionsDisabled -> z
    int minLine -> x
    int maxLine -> y
    com.android.tools.r8.origin.Origin origin -> w
    com.android.tools.r8.graph.DexItemFactory factory -> k
    com.android.tools.r8.graph.DexMethod method -> v
    com.android.tools.r8.graph.JarApplicationReader application -> j
    1:1:void <clinit>():359:359 -> <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):383:383 -> <init>
    2:23: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):369:390 -> <init>
    com.android.tools.r8.graph.DebugLocalInfo lambda$canonicalize$1(com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:1:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):442:442 -> a
    2:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap parseLocals(int,java.lang.Object[]):449:455 -> a
    2:8:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):443 -> a
    9:11:java.util.Deque parseStack(int,java.lang.Object[]):463:465 -> a
    9:11:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):444 -> a
    12:12:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):445:445 -> a
    13:13:void visitInsn(int):673:673 -> a
    14:17:void visitInsn(int):541:541 -> a
    18:21:void visitInsn(int):535:535 -> a
    22:22:void visitInsn(int):530:530 -> a
    23:23:void visitInsn(int):526:526 -> a
    24:24:void visitInsn(int):517:517 -> a
    25:64:void visitInsn(int):514:553 -> a
    65:65:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    65:65:void visitInsn(int):553 -> a
    66:66:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":374,"2":375,"3":376,"4":377,"5":378}}
    374:374:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    374:374:void visitInsn(int):553 -> a
    375:375:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    375:375:void visitInsn(int):553 -> a
    376:376:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    376:376:void visitInsn(int):553 -> a
    377:377:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    377:377:void visitInsn(int):553 -> a
    378:378:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    378:378:void visitInsn(int):553 -> a
    67:67:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    67:67:void visitInsn(int):553 -> a
    68:68:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):702:702 -> a
    68:68:void visitInsn(int):553 -> a
    69:69:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):699:699 -> a
    69:69:void visitInsn(int):553 -> a
    70:70:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):696:696 -> a
    70:70:void visitInsn(int):553 -> a
    71:71:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):693:693 -> a
    71:71:void visitInsn(int):553 -> a
    72:72:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):690:690 -> a
    72:72:void visitInsn(int):553 -> a
    73:76:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):684:687 -> a
    73:76:void visitInsn(int):553 -> a
    77:77:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):681:681 -> a
    77:77:void visitInsn(int):553 -> a
    78:141:void visitInsn(int):553:616 -> a
    142:142:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    142:142:void visitInsn(int):616 -> a
    143:143:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":379,"2":380,"3":381,"4":382,"5":383}}
    379:379:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    379:379:void visitInsn(int):616 -> a
    380:380:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    380:380:void visitInsn(int):616 -> a
    381:381:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    381:381:void visitInsn(int):616 -> a
    382:382:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    382:382:void visitInsn(int):616 -> a
    383:383:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    383:383:void visitInsn(int):616 -> a
    144:144:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    144:144:void visitInsn(int):616 -> a
    145:145:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):96:96 -> a
    145:145:void visitInsn(int):616 -> a
    146:146:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):94:94 -> a
    146:146:void visitInsn(int):616 -> a
    147:147:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):92:92 -> a
    147:147:void visitInsn(int):616 -> a
    148:148:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):90:90 -> a
    148:148:void visitInsn(int):616 -> a
    149:149:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):88:88 -> a
    149:149:void visitInsn(int):616 -> a
    150:150:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):86:86 -> a
    150:150:void visitInsn(int):616 -> a
    151:151:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):84:84 -> a
    151:151:void visitInsn(int):616 -> a
    152:152:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):82:82 -> a
    152:152:void visitInsn(int):616 -> a
    153:153:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):80:80 -> a
    153:153:void visitInsn(int):616 -> a
    154:154:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):78:78 -> a
    154:154:void visitInsn(int):616 -> a
    155:155:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):76:76 -> a
    155:155:void visitInsn(int):616 -> a
    156:156:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):74:74 -> a
    156:156:void visitInsn(int):616 -> a
    157:157:void visitInsn(int):616:616 -> a
    158:158:void visitInsn(int):602:602 -> a
    159:159:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    159:159:void visitInsn(int):602 -> a
    160:160:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":384,"2":385,"3":386,"4":387,"5":388}}
    384:384:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    384:384:void visitInsn(int):602 -> a
    385:385:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    385:385:void visitInsn(int):602 -> a
    386:386:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    386:386:void visitInsn(int):602 -> a
    387:387:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    387:387:void visitInsn(int):602 -> a
    388:388:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    388:388:void visitInsn(int):602 -> a
    161:161:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    161:161:void visitInsn(int):602 -> a
    162:162:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):98:98 -> a
    162:162:void visitInsn(int):602 -> a
    163:163:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):96:96 -> a
    163:163:void visitInsn(int):602 -> a
    164:164:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):94:94 -> a
    164:164:void visitInsn(int):602 -> a
    165:165:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):92:92 -> a
    165:165:void visitInsn(int):602 -> a
    166:166:void visitInsn(int):602:602 -> a
    167:167:void visitInsn(int):596:596 -> a
    168:168:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):110:110 -> a
    168:168:void visitInsn(int):596 -> a
    169:169:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):108:108 -> a
    169:169:void visitInsn(int):596 -> a
    170:170:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):106:106 -> a
    170:170:void visitInsn(int):596 -> a
    171:171:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):104:104 -> a
    171:171:void visitInsn(int):596 -> a
    172:172:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):102:102 -> a
    172:172:void visitInsn(int):596 -> a
    173:173:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):100:100 -> a
    173:173:void visitInsn(int):596 -> a
    174:174:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):98:98 -> a
    174:174:void visitInsn(int):596 -> a
    175:175:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):96:96 -> a
    175:175:void visitInsn(int):596 -> a
    176:176:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):94:94 -> a
    176:176:void visitInsn(int):596 -> a
    177:177:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):92:92 -> a
    177:177:void visitInsn(int):596 -> a
    178:178:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):90:90 -> a
    178:178:void visitInsn(int):596 -> a
    179:179:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):88:88 -> a
    179:179:void visitInsn(int):596 -> a
    180:180:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):86:86 -> a
    180:180:void visitInsn(int):596 -> a
    181:181:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):84:84 -> a
    181:181:void visitInsn(int):596 -> a
    182:182:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):82:82 -> a
    182:182:void visitInsn(int):596 -> a
    183:183:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):80:80 -> a
    183:183:void visitInsn(int):596 -> a
    184:184:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):78:78 -> a
    184:184:void visitInsn(int):596 -> a
    185:185:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):76:76 -> a
    185:185:void visitInsn(int):596 -> a
    186:186:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):74:74 -> a
    186:186:void visitInsn(int):596 -> a
    187:187:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):72:72 -> a
    187:187:void visitInsn(int):596 -> a
    188:188:void visitInsn(int):596:596 -> a
    189:189:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    189:189:void visitInsn(int):596 -> a
    190:190:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":389,"2":390,"3":391,"4":392,"5":393}}
    389:389:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    389:389:void visitInsn(int):596 -> a
    390:390:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    390:390:void visitInsn(int):596 -> a
    391:391:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    391:391:void visitInsn(int):596 -> a
    392:392:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    392:392:void visitInsn(int):596 -> a
    393:393:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    393:393:void visitInsn(int):596 -> a
    191:191:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    191:191:void visitInsn(int):596 -> a
    192:192:void visitInsn(int):574:574 -> a
    193:193:void visitInsn(int):563:563 -> a
    194:194:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    194:194:void visitInsn(int):563 -> a
    195:195:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":394,"2":395,"3":396,"4":397,"5":398}}
    394:394:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    394:394:void visitInsn(int):563 -> a
    395:395:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    395:395:void visitInsn(int):563 -> a
    396:396:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    396:396:void visitInsn(int):563 -> a
    397:397:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    397:397:void visitInsn(int):563 -> a
    398:398:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    398:398:void visitInsn(int):563 -> a
    196:196:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    196:196:void visitInsn(int):563 -> a
    197:197:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):702:702 -> a
    197:197:void visitInsn(int):563 -> a
    198:198:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):699:699 -> a
    198:198:void visitInsn(int):563 -> a
    199:199:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):696:696 -> a
    199:199:void visitInsn(int):563 -> a
    200:200:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):693:693 -> a
    200:200:void visitInsn(int):563 -> a
    201:201:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):690:690 -> a
    201:201:void visitInsn(int):563 -> a
    202:205:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):684:687 -> a
    202:205:void visitInsn(int):563 -> a
    206:206:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):681:681 -> a
    206:206:void visitInsn(int):563 -> a
    207:284:void visitInsn(int):563:640 -> a
    285:285:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    285:285:void visitInsn(int):640 -> a
    286:286:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":399,"2":400,"3":401,"4":402,"5":403}}
    399:399:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    399:399:void visitInsn(int):640 -> a
    400:400:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    400:400:void visitInsn(int):640 -> a
    401:401:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    401:401:void visitInsn(int):640 -> a
    402:402:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    402:402:void visitInsn(int):640 -> a
    403:403:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    403:403:void visitInsn(int):640 -> a
    287:287:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    287:287:void visitInsn(int):640 -> a
    288:288:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):77:77 -> a
    288:288:void visitInsn(int):640 -> a
    289:289:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):75:75 -> a
    289:289:void visitInsn(int):640 -> a
    290:290:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):73:73 -> a
    290:290:void visitInsn(int):640 -> a
    291:291:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):71:71 -> a
    291:291:void visitInsn(int):640 -> a
    292:292:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):69:69 -> a
    292:292:void visitInsn(int):640 -> a
    293:293:void visitInsn(int):640:640 -> a
    294:294:void visitInsn(int):633:633 -> a
    295:295:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    295:295:void visitInsn(int):633 -> a
    296:296:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406,"4":407,"5":408}}
    404:404:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    404:404:void visitInsn(int):633 -> a
    405:405:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    405:405:void visitInsn(int):633 -> a
    406:406:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    406:406:void visitInsn(int):633 -> a
    407:407:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    407:407:void visitInsn(int):633 -> a
    408:408:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    408:408:void visitInsn(int):633 -> a
    297:297:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    297:297:void visitInsn(int):633 -> a
    298:298:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):169:169 -> a
    298:298:void visitInsn(int):633 -> a
    299:299:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):167:167 -> a
    299:299:void visitInsn(int):633 -> a
    300:300:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):165:165 -> a
    300:300:void visitInsn(int):633 -> a
    301:301:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):163:163 -> a
    301:301:void visitInsn(int):633 -> a
    302:302:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):161:161 -> a
    302:302:void visitInsn(int):633 -> a
    303:303:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):159:159 -> a
    303:303:void visitInsn(int):633 -> a
    304:304:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):157:157 -> a
    304:304:void visitInsn(int):633 -> a
    305:305:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):155:155 -> a
    305:305:void visitInsn(int):633 -> a
    306:306:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):153:153 -> a
    306:306:void visitInsn(int):633 -> a
    307:307:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):151:151 -> a
    307:307:void visitInsn(int):633 -> a
    308:308:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):149:149 -> a
    308:308:void visitInsn(int):633 -> a
    309:309:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):147:147 -> a
    309:309:void visitInsn(int):633 -> a
    310:310:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):145:145 -> a
    310:310:void visitInsn(int):633 -> a
    311:311:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):143:143 -> a
    311:311:void visitInsn(int):633 -> a
    312:312:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):141:141 -> a
    312:312:void visitInsn(int):633 -> a
    313:338:void visitInsn(int):633:658 -> a
    339:339:void visitInsn(int):655:655 -> a
    340:340:void visitInsn(int):652:652 -> a
    341:341:void visitInsn(int):649:649 -> a
    342:342:void visitInsn(int):646:646 -> a
    343:370:void visitInsn(int):643:670 -> a
    371:371:void visitInsn(int):667:667 -> a
    372:372:void visitInsn(int):664:664 -> a
    373:373:void visitInsn(int):661:661 -> a
    409:424:void visitTypeInsn(int,java.lang.String):788:803 -> a
    425:425:void visitTypeInsn(int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1245,"2":1246,"3":1247,"4":1248,"5":1249}}
    1245:1245:void visitTypeInsn(int,java.lang.String):803:803 -> a
    1246:1246:void visitTypeInsn(int,java.lang.String):803:803 -> a
    1247:1247:void visitTypeInsn(int,java.lang.String):803:803 -> a
    1248:1248:void visitTypeInsn(int,java.lang.String):803:803 -> a
    1249:1249:void visitTypeInsn(int,java.lang.String):803:803 -> a
    1228:1228:void visitTypeInsn(int,java.lang.String):803:803 -> a
    1229:1229:void visitTypeInsn(int,java.lang.String):797:797 -> a
    1230:1230:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    1230:1230:void visitTypeInsn(int,java.lang.String):797 -> a
    1231:1231:void visitTypeInsn(int,java.lang.String):797:797 -> a
    1232:1232:void visitTypeInsn(int,java.lang.String):794:794 -> a
    1233:1233:void visitTypeInsn(int,java.lang.String):791:791 -> a
    1250:1250:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):809:809 -> a
    1251:1252:com.android.tools.r8.graph.DexType createTypeFromInternalType(java.lang.String):506:507 -> a
    1251:1252:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):810 -> a
    1253:1256:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):810:813 -> a
    1257:1257:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    1257:1257:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1258:1258:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1265,"2":1266,"3":1267,"4":1268,"5":1269}}
    1265:1265:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    1265:1265:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1266:1266:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    1266:1266:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1267:1267:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    1267:1267:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1268:1268:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    1268:1268:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1269:1269:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    1269:1269:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1259:1259:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    1259:1259:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1260:1260:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):62:62 -> a
    1260:1260:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1261:1261:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):60:60 -> a
    1261:1261:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1262:1262:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):58:58 -> a
    1262:1262:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1263:1263:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):56:56 -> a
    1263:1263:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    1264:1264:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813:813 -> a
    1270:1270:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818:818 -> a
    1271:1271:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.JarApplicationReader.getMethod(java.lang.String,java.lang.String,java.lang.String):98:98 -> a
    1271:1271:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1272:1272:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.JarApplicationReader.getMethod(java.lang.String,java.lang.String,java.lang.String):98:98 -> a
    1272:1272:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818 -> a
    1273:1273:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819:819 -> a
    1274:1274:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1274:1274:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1275:1275:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1275:1275:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819 -> a
    1276:1276:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819:819 -> a
    1277:1277:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2858:2858 -> a
    1277:1277:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819 -> a
    1278:1278:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):822:822 -> a
    1279:1279:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):820:820 -> a
    1280:1280:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1280:1280:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):820 -> a
    1281:1281:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1281:1281:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1281:1281:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):820 -> a
    1282:1282:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):820:820 -> a
    1283:1284:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827:828 -> a
    1285:1288:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):87:90 -> a
    1285:1288:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1289:1289:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1345,"2":1346,"3":1347}}
    1345:1345:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:90 -> a
    1345:1345:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1346:1346:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:90 -> a
    1346:1346:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1347:1347:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:90 -> a
    1347:1347:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1290:1290:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:90 -> a
    1290:1290:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1291:1291:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1291:1291:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90 -> a
    1291:1291:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1292:1292:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1292:1292:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1292:1292:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90 -> a
    1292:1292:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1293:1300:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:97 -> a
    1293:1300:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1301:1322:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):317:338 -> a
    1301:1322:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1301:1322:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1323:1323:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1348,"2":1349,"3":1350}}
    1348:1348:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):338:338 -> a
    1348:1348:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1348:1348:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1349:1349:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):338:338 -> a
    1349:1349:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1349:1349:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1350:1350:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):338:338 -> a
    1350:1350:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1350:1350:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1324:1324:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):338:338 -> a
    1324:1324:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1324:1324:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1325:1335:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):332:342 -> a
    1325:1335:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1325:1335:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1336:1336:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98:98 -> a
    1336:1336:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1337:1337:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):344:344 -> a
    1337:1337:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1337:1337:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1338:1338:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1356,"2":1357,"3":1358}}
    1356:1356:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):344:344 -> a
    1356:1356:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1356:1356:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1357:1357:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):344:344 -> a
    1357:1357:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1357:1357:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1358:1358:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):344:344 -> a
    1358:1358:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1358:1358:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1339:1339:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):345:345 -> a
    1339:1339:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    1339:1339:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1340:1342:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.JarApplicationReader.getCallSite(java.lang.String,java.lang.String,com.android.tools.r8.graph.DexMethodHandle,java.util.List):107:107 -> a
    1340:1342:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):102 -> a
    1340:1342:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1343:1343:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexItemFactory.createCallSite(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):2765:2765 -> a
    1343:1343:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.JarApplicationReader.getCallSite(java.lang.String,java.lang.String,com.android.tools.r8.graph.DexMethodHandle,java.util.List):107 -> a
    1343:1343:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):102 -> a
    1343:1343:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    1344:1344:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):829:829 -> a
    1359:1363:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):834:838 -> a
    1364:1364:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1364:1364:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1365:1365:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2281,"2":2282,"3":2283,"4":2284,"5":2285}}
    2281:2281:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2281:2281:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    2282:2282:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2282:2282:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    2283:2283:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2283:2283:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    2284:2284:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2284:2284:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    2285:2285:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2285:2285:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1366:1366:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1366:1366:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1367:1367:com.android.tools.r8.ir.code.If$Type ifType(int):890:890 -> a
    1367:1367:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1368:1368:com.android.tools.r8.ir.code.If$Type ifType(int):887:887 -> a
    1368:1368:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1369:1369:com.android.tools.r8.ir.code.If$Type ifType(int):884:884 -> a
    1369:1369:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1370:1370:com.android.tools.r8.ir.code.If$Type ifType(int):881:881 -> a
    1370:1370:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1371:1371:com.android.tools.r8.ir.code.If$Type ifType(int):878:878 -> a
    1371:1371:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1372:1372:com.android.tools.r8.ir.code.If$Type ifType(int):874:874 -> a
    1372:1372:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1373:1383:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838:848 -> a
    1384:1384:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1384:1384:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1385:1385:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2286,"2":2287,"3":2288,"4":2289,"5":2290}}
    2286:2286:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2286:2286:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    2287:2287:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2287:2287:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    2288:2288:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2288:2288:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    2289:2289:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2289:2289:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    2290:2290:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    2290:2290:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1386:1386:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1386:1386:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1387:1387:com.android.tools.r8.ir.code.If$Type ifType(int):890:890 -> a
    1387:1387:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1388:1388:com.android.tools.r8.ir.code.If$Type ifType(int):887:887 -> a
    1388:1388:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1389:1389:com.android.tools.r8.ir.code.If$Type ifType(int):884:884 -> a
    1389:1389:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1390:1390:com.android.tools.r8.ir.code.If$Type ifType(int):881:881 -> a
    1390:1390:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1391:1391:com.android.tools.r8.ir.code.If$Type ifType(int):878:878 -> a
    1391:1391:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1392:1392:com.android.tools.r8.ir.code.If$Type ifType(int):874:874 -> a
    1392:1392:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1393:1409:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848:864 -> a
    1410:1410:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2291,"2":2292,"3":2293,"4":2294,"5":2295}}
    2291:2291:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    2292:2292:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    2293:2293:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    2294:2294:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    2295:2295:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    2274:2274:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    2275:2279:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):858:862 -> a
    2280:2280:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):854:854 -> a
    2296:2296:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):898:898 -> a
    2297:2303:void visitLdcInsn(java.lang.Object):903:909 -> a
    2304:2304:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    2304:2304:void visitLdcInsn(java.lang.Object):909 -> a
    2305:2322:void visitLdcInsn(java.lang.Object):909:926 -> a
    2323:2327:void visitLdcInsn(java.lang.Object):924:928 -> a
    2328:2355:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):86:113 -> a
    2328:2355:void visitLdcInsn(java.lang.Object):929 -> a
    2356:2356:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2356:2356:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):113 -> a
    2356:2356:void visitLdcInsn(java.lang.Object):929 -> a
    2357:2357:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2357:2357:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2357:2357:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):113 -> a
    2357:2357:void visitLdcInsn(java.lang.Object):929 -> a
    2358:2360:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):113:115 -> a
    2358:2360:void visitLdcInsn(java.lang.Object):929 -> a
    2361:2361:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    2361:2361:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2361:2361:void visitLdcInsn(java.lang.Object):929 -> a
    2362:2365:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:118 -> a
    2362:2365:void visitLdcInsn(java.lang.Object):929 -> a
    2366:2366:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    2366:2366:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):118 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2366:2366:void visitLdcInsn(java.lang.Object):929 -> a
    2367:2367:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):118:118 -> a
    2367:2367:void visitLdcInsn(java.lang.Object):929 -> a
    2368:2368:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2368:2368:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):118 -> a
    2368:2368:void visitLdcInsn(java.lang.Object):929 -> a
    2369:2373:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):118:122 -> a
    2369:2373:void visitLdcInsn(java.lang.Object):929 -> a
    2374:2374:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    2374:2374:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2374:2374:void visitLdcInsn(java.lang.Object):929 -> a
    2375:2375:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):122:122 -> a
    2375:2375:void visitLdcInsn(java.lang.Object):929 -> a
    2376:2376:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2376:2376:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):122 -> a
    2376:2376:void visitLdcInsn(java.lang.Object):929 -> a
    2377:2381:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):122:126 -> a
    2377:2381:void visitLdcInsn(java.lang.Object):929 -> a
    2382:2382:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    2382:2382:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2382:2382:void visitLdcInsn(java.lang.Object):929 -> a
    2383:2383:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):126:126 -> a
    2383:2383:void visitLdcInsn(java.lang.Object):929 -> a
    2384:2384:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2384:2384:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):126 -> a
    2384:2384:void visitLdcInsn(java.lang.Object):929 -> a
    2385:2391:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):126:132 -> a
    2385:2391:void visitLdcInsn(java.lang.Object):929 -> a
    2392:2392:void visitLdcInsn(java.lang.Object):928:928 -> a
    2393:2393:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):127:127 -> a
    2393:2393:void visitLdcInsn(java.lang.Object):929 -> a
    2394:2394:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2394:2394:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):127 -> a
    2394:2394:void visitLdcInsn(java.lang.Object):929 -> a
    2395:2395:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2395:2395:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2395:2395:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):127 -> a
    2395:2395:void visitLdcInsn(java.lang.Object):929 -> a
    2396:2396:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):127:127 -> a
    2396:2396:void visitLdcInsn(java.lang.Object):929 -> a
    2397:2397:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):123:123 -> a
    2397:2397:void visitLdcInsn(java.lang.Object):929 -> a
    2398:2398:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2398:2398:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):123 -> a
    2398:2398:void visitLdcInsn(java.lang.Object):929 -> a
    2399:2399:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2399:2399:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2399:2399:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):123 -> a
    2399:2399:void visitLdcInsn(java.lang.Object):929 -> a
    2400:2400:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):123:123 -> a
    2400:2400:void visitLdcInsn(java.lang.Object):929 -> a
    2401:2401:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):119:119 -> a
    2401:2401:void visitLdcInsn(java.lang.Object):929 -> a
    2402:2402:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2402:2402:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):119 -> a
    2402:2402:void visitLdcInsn(java.lang.Object):929 -> a
    2403:2403:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2403:2403:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2403:2403:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):119 -> a
    2403:2403:void visitLdcInsn(java.lang.Object):929 -> a
    2404:2404:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):119:119 -> a
    2404:2404:void visitLdcInsn(java.lang.Object):929 -> a
    2405:2405:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):116:116 -> a
    2405:2405:void visitLdcInsn(java.lang.Object):929 -> a
    2406:2406:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2406:2406:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):116 -> a
    2406:2406:void visitLdcInsn(java.lang.Object):929 -> a
    2407:2407:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2407:2407:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2407:2407:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):116 -> a
    2407:2407:void visitLdcInsn(java.lang.Object):929 -> a
    2408:2408:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):116:116 -> a
    2408:2408:void visitLdcInsn(java.lang.Object):929 -> a
    2409:2409:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107:107 -> a
    2409:2409:void visitLdcInsn(java.lang.Object):929 -> a
    2410:2410:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2410:2410:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107 -> a
    2410:2410:void visitLdcInsn(java.lang.Object):929 -> a
    2411:2411:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2411:2411:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2411:2411:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107 -> a
    2411:2411:void visitLdcInsn(java.lang.Object):929 -> a
    2412:2412:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107:107 -> a
    2412:2412:void visitLdcInsn(java.lang.Object):929 -> a
    2413:2413:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):101:101 -> a
    2413:2413:void visitLdcInsn(java.lang.Object):929 -> a
    2414:2414:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2414:2414:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):101 -> a
    2414:2414:void visitLdcInsn(java.lang.Object):929 -> a
    2415:2415:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2415:2415:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2415:2415:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):101 -> a
    2415:2415:void visitLdcInsn(java.lang.Object):929 -> a
    2416:2416:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):101:101 -> a
    2416:2416:void visitLdcInsn(java.lang.Object):929 -> a
    2417:2417:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):97:97 -> a
    2417:2417:void visitLdcInsn(java.lang.Object):929 -> a
    2418:2418:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2418:2418:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):97 -> a
    2418:2418:void visitLdcInsn(java.lang.Object):929 -> a
    2419:2419:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2419:2419:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2419:2419:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):97 -> a
    2419:2419:void visitLdcInsn(java.lang.Object):929 -> a
    2420:2420:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):97:97 -> a
    2420:2420:void visitLdcInsn(java.lang.Object):929 -> a
    2421:2421:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94:94 -> a
    2421:2421:void visitLdcInsn(java.lang.Object):929 -> a
    2422:2422:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2422:2422:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94 -> a
    2422:2422:void visitLdcInsn(java.lang.Object):929 -> a
    2423:2423:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2423:2423:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2423:2423:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94 -> a
    2423:2423:void visitLdcInsn(java.lang.Object):929 -> a
    2424:2424:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94:94 -> a
    2424:2424:void visitLdcInsn(java.lang.Object):929 -> a
    2425:2425:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90:90 -> a
    2425:2425:void visitLdcInsn(java.lang.Object):929 -> a
    2426:2426:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2426:2426:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90 -> a
    2426:2426:void visitLdcInsn(java.lang.Object):929 -> a
    2427:2427:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2427:2427:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2427:2427:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90 -> a
    2427:2427:void visitLdcInsn(java.lang.Object):929 -> a
    2428:2428:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90:90 -> a
    2428:2428:void visitLdcInsn(java.lang.Object):929 -> a
    2429:2429:void visitLdcInsn(java.lang.Object):932:932 -> a
    2430:2430:void visitLdcInsn(java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3366,"2":3367,"3":3368}}
    3366:3366:void visitLdcInsn(java.lang.Object):932:932 -> a
    3367:3367:void visitLdcInsn(java.lang.Object):932:932 -> a
    3368:3368:void visitLdcInsn(java.lang.Object):932:932 -> a
    3362:3362:void visitLdcInsn(java.lang.Object):932:932 -> a
    3363:3363:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    3363:3363:void visitLdcInsn(java.lang.Object):932 -> a
    3364:3364:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    3364:3364:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    3364:3364:void visitLdcInsn(java.lang.Object):932 -> a
    3365:3365:void visitLdcInsn(java.lang.Object):932:932 -> a
    3369:3369:void visitIincInsn(int,int):938:938 -> a
    3370:3375:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):943:948 -> a
    3376:3380:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):953:957 -> a
    3381:3422:void visitMultiANewArrayInsn(java.lang.String,int):962:1003 -> a
    3423:3423: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):1010:1010 -> a
    3424:3425:com.android.tools.r8.graph.DexType createTypeFromInternalType(java.lang.String):506:507 -> a
    3424:3425: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):1010 -> a
    3426:3429: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):1009:1012 -> a
    3430:3436: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):1018:1024 -> a
    3437:3443: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):1020:1026 -> a
    3444:3445:void com.android.tools.r8.graph.CfCode$LocalVariableInfo.<init>(int,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel):100:101 -> a
    3444:3445: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):1026 -> a
    3446:3446: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):1025:1025 -> a
    3447:3447:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DebugLocalInfo):1031:1031 -> a
    1:6:void visitCode():395:400 -> b
    7:11:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):471:475 -> b
    12:24:com.android.tools.r8.graph.DexType parseAsmType(java.lang.Object):487:499 -> b
    12:24:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):478 -> b
    25:26:com.android.tools.r8.graph.DexType createTypeFromInternalType(java.lang.String):506:507 -> b
    25:26:com.android.tools.r8.graph.DexType parseAsmType(java.lang.Object):499 -> b
    25:26:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):478 -> b
    27:27:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):478:478 -> b
    28:28:com.android.tools.r8.graph.DexType parseAsmType(java.lang.Object):501:501 -> b
    28:28:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):478 -> b
    29:29:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):476:476 -> b
    30:30:com.android.tools.r8.cf.code.CfLabel getLabel(com.android.tools.r8.org.objectweb.asm.Label):483:483 -> b
    31:31:void visitIntInsn(int,int):716:716 -> b
    32:32:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    32:32:void visitIntInsn(int,int):717 -> b
    33:33:void visitIntInsn(int,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":771,"2":772,"3":773,"4":774,"5":775}}
    771:771:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    771:771:void visitIntInsn(int,int):717 -> b
    772:772:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    772:772:void visitIntInsn(int,int):717 -> b
    773:773:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    773:773:void visitIntInsn(int,int):717 -> b
    774:774:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    774:774:void visitIntInsn(int,int):717 -> b
    775:775:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    775:775:void visitIntInsn(int,int):717 -> b
    34:34:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    34:34:void visitIntInsn(int,int):717 -> b
    35:35:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):741:741 -> b
    35:35:void visitIntInsn(int,int):717 -> b
    36:36:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):739:739 -> b
    36:36:void visitIntInsn(int,int):717 -> b
    37:37:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):737:737 -> b
    37:37:void visitIntInsn(int,int):717 -> b
    38:38:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):735:735 -> b
    38:38:void visitIntInsn(int,int):717 -> b
    39:39:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):733:733 -> b
    39:39:void visitIntInsn(int,int):717 -> b
    40:40:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):731:731 -> b
    40:40:void visitIntInsn(int,int):717 -> b
    41:41:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):729:729 -> b
    41:41:void visitIntInsn(int,int):717 -> b
    42:42:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):727:727 -> b
    42:42:void visitIntInsn(int,int):717 -> b
    43:43:void visitIntInsn(int,int):717:717 -> b
    44:48:void visitIntInsn(int,int):716:720 -> b
    49:49:void visitIntInsn(int,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":776,"2":777,"3":778,"4":779,"5":780}}
    776:776:void visitIntInsn(int,int):720:720 -> b
    777:777:void visitIntInsn(int,int):720:720 -> b
    778:778:void visitIntInsn(int,int):720:720 -> b
    779:779:void visitIntInsn(int,int):720:720 -> b
    780:780:void visitIntInsn(int,int):720:720 -> b
    769:769:void visitIntInsn(int,int):720:720 -> b
    770:770:void visitIntInsn(int,int):713:713 -> b
    781:786:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1036:1041 -> b
    787:787:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1039:1039 -> b
    1:10:void visitEnd():405:414 -> c
    11:16:com.android.tools.r8.position.Position getDiagnosticPosition():428:433 -> c
    11:16:void visitEnd():414 -> c
    17:17:com.android.tools.r8.position.Position getDiagnosticPosition():429:429 -> c
    17:17:void visitEnd():414 -> c
    18:18:void visitEnd():414:414 -> c
    19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):34:34 -> c
    19:19:void visitEnd():414 -> c
    20:25:void visitEnd():414:419 -> c
    26:31:com.android.tools.r8.position.Position getDiagnosticPosition():428:433 -> c
    26:31:void visitEnd():424 -> c
    32:32:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> c
    32:32:void visitEnd():424 -> c
    33:33:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> c
    33:33:void visitEnd():424 -> c
    34:34:void visitEnd():416:416 -> c
    35:35:com.android.tools.r8.cf.code.CfLabel lambda$getLabel$0(com.android.tools.r8.org.objectweb.asm.Label):483:483 -> c
    36:39:void visitMaxs(int,int):1047:1050 -> c
    1:1:void visitVarInsn(int,int):777:777 -> d
    2:2:void visitVarInsn(int,int):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":818,"2":819,"3":820,"4":821,"5":822}}
    818:818:void visitVarInsn(int,int):777:777 -> d
    819:819:void visitVarInsn(int,int):777:777 -> d
    820:820:void visitVarInsn(int,int):777:777 -> d
    821:821:void visitVarInsn(int,int):777:777 -> d
    822:822:void visitVarInsn(int,int):777:777 -> d
    779:779:void visitVarInsn(int,int):777:777 -> d
    780:780:void visitVarInsn(int,int):769:769 -> d
    781:781:void visitVarInsn(int,int):765:765 -> d
    782:786:void visitVarInsn(int,int):757:761 -> d
    787:816:void visitVarInsn(int,int):753:782 -> d
    817:817:void visitVarInsn(int,int):773:773 -> d
com.android.tools.r8.graph.LazyLoadedDexApplication -> com.android.tools.r8.graph.E2:
    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
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,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.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.LazyLoadedDexApplication$1):27:27 -> <init>
    2:5:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,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.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):44:47 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$000(java.util.Map,java.util.function.Function,com.android.tools.r8.utils.InternalOptions):27:27 -> a
    2:2:com.android.tools.r8.utils.ClasspathClassCollection access$100(com.android.tools.r8.graph.LazyLoadedDexApplication):27:27 -> a
    3:7:void lambda$fillPrioritizedClasses$1(java.util.function.Function,com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215:219 -> a
    8:9:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    8:9:void lambda$fillPrioritizedClasses$1(java.util.function.Function,com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):219 -> a
    10:10:void lambda$fillPrioritizedClasses$1(java.util.function.Function,com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):220:220 -> a
    11:24:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):234:247 -> a
    25:25:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":275,"2":276,"3":277}}
    275:275:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):247:247 -> a
    276:276:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):247:247 -> a
    277:277:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):247:247 -> a
    274:274:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):249:249 -> a
    1:1:com.android.tools.r8.utils.LibraryClassCollection access$200(com.android.tools.r8.graph.LazyLoadedDexApplication):27:27 -> b
    2:19:com.android.tools.r8.com.google.common.collect.ImmutableMap fillPrioritizedClasses(java.util.Map,java.util.function.Function,com.android.tools.r8.utils.InternalOptions):211:228 -> b
    1:1:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):110:110 -> c
    2:2:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":114,"2":115,"3":116,"4":117,"5":118}}
    114:114:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):110:110 -> c
    115:115:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):110:110 -> c
    116:116:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):110:110 -> c
    117:117:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):110:110 -> c
    118:118:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):110:110 -> c
    112:113:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):110:111 -> c
    119:119:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder():318:318 -> c
    119:119:com.android.tools.r8.graph.DexApplication$Builder builder():27 -> c
    1:1:com.android.tools.r8.graph.ClassResolutionResult$Builder com.android.tools.r8.graph.ClassResolutionResult.builder():20:20 -> d
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):58 -> d
    2:3:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):59:60 -> d
    4:4:boolean addClassToBuilderIfNotNull(com.android.tools.r8.graph.DexClass,java.util.function.Consumer):75:75 -> d
    4:4:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):60 -> d
    5:6:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):62:63 -> d
    7:7:boolean addClassToBuilderIfNotNull(com.android.tools.r8.graph.DexClass,java.util.function.Consumer):75:75 -> d
    7:7:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):63 -> d
    8:9:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):66:67 -> d
    10:10:boolean addClassToBuilderIfNotNull(com.android.tools.r8.graph.DexClass,java.util.function.Consumer):75:75 -> d
    10:10:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):67 -> d
    11:11:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):70:70 -> d
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):84:84 -> e
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107,"4":108,"5":109}}
    105:105:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):84:84 -> e
    106:106:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):84:84 -> e
    107:107:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):84:84 -> e
    108:108:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):84:84 -> e
    109:109:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):84:84 -> e
    86:104:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):84:102 -> e
    boolean lambda$programClasses$0(com.android.tools.r8.graph.DexType) -> f
    1:1:java.util.Collection programClasses():27:27 -> h
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication toDirect():323:323 -> i
    1:1:com.android.tools.r8.graph.LazyLoadedDexApplication$AllClasses loadAllClasses():256:256 -> j
    1:2:java.util.List programClasses():52:53 -> k
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":335,"2":336,"3":337}}
    335:335:java.lang.String toString():333:333 -> toString
    336:336:java.lang.String toString():333:333 -> toString
    337:337:java.lang.String toString():333:333 -> toString
    334:334:java.lang.String toString():333:333 -> toString
com.android.tools.r8.graph.LazyLoadedDexApplication$AllClasses -> com.android.tools.r8.graph.D2:
    com.android.tools.r8.com.google.common.collect.ImmutableMap libraryClasses -> c
    com.android.tools.r8.com.google.common.collect.ImmutableMap classpathClasses -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMap programClasses -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():119:119 -> <clinit>
    1:52: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):131:182 -> <init>
    boolean lambda$new$0(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap getClasspathClasses():198:198 -> a
    boolean lambda$new$1(com.android.tools.r8.graph.DexType) -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap getLibraryClasses():202:202 -> b
    boolean lambda$new$2(com.android.tools.r8.graph.DexType) -> c
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap getProgramClasses():194:194 -> c
    com.android.tools.r8.graph.DexClass lambda$new$3(com.android.tools.r8.graph.DexType) -> d
    1:2:com.android.tools.r8.graph.DexClass lambda$new$4(com.android.tools.r8.graph.DexType):173:174 -> e
    com.android.tools.r8.graph.DexClass lambda$new$5(com.android.tools.r8.graph.DexType) -> f
    1:2:com.android.tools.r8.graph.DexClass lambda$new$6(com.android.tools.r8.graph.DexType):185:186 -> g
com.android.tools.r8.graph.LazyLoadedDexApplication$Builder -> com.android.tools.r8.graph.E2$a:
    com.android.tools.r8.utils.LibraryClassCollection libraryClasses -> j
    com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver resolver -> k
    com.android.tools.r8.utils.ClasspathClassCollection classpathClasses -> i
    1:1:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication,com.android.tools.r8.graph.LazyLoadedDexApplication$1):259:259 -> <init>
    2:5:void <init>(com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):266:269 -> <init>
    6:9:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):273:276 -> <init>
    1:1:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder setClasspathClassCollection(com.android.tools.r8.utils.ClasspathClassCollection):285:285 -> a
    2:2:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder setLibraryClassCollection(com.android.tools.r8.utils.LibraryClassCollection):290:290 -> a
    1:1:com.android.tools.r8.graph.DexApplication build():259:259 -> b
    2:4:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):296:298 -> b
    com.android.tools.r8.graph.DexApplication$Builder self() -> d
    1:5:com.android.tools.r8.graph.LazyLoadedDexApplication build():303:307 -> e
com.android.tools.r8.graph.LibraryClass -> com.android.tools.r8.internal.dB:
    1:1:com.android.tools.r8.graph.DexClass asDexClass():11:11 -> h
com.android.tools.r8.graph.LibraryDefinition -> com.android.tools.r8.internal.fB:
    1:1:com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext):21:21 -> a
com.android.tools.r8.graph.LibraryField -> com.android.tools.r8.graph.F2:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedField):11:11 -> <init>
    com.android.tools.r8.graph.LibraryField asLibraryField() -> k
    1:1:com.android.tools.r8.graph.DexClass getHolder():7:7 -> q
    1:2:com.android.tools.r8.graph.DexLibraryClass getHolder():16:17 -> y
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> y
    3:3:com.android.tools.r8.graph.DexLibraryClass getHolder():17 -> y
    4:5:com.android.tools.r8.graph.DexLibraryClass getHolder():17:18 -> y
com.android.tools.r8.graph.LibraryMethod -> com.android.tools.r8.graph.G2:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedMethod):11:11 -> <init>
    1:2:com.android.tools.r8.graph.DexLibraryClass getHolder():16:17 -> L
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> L
    3:3:com.android.tools.r8.graph.DexLibraryClass getHolder():17 -> L
    4:5:com.android.tools.r8.graph.DexLibraryClass getHolder():17:18 -> L
    com.android.tools.r8.graph.LibraryMethod asLibraryMethod() -> a0
    1:1:com.android.tools.r8.graph.DexClass getHolder():7:7 -> q
com.android.tools.r8.graph.LookupCompletenessHelper -> com.android.tools.r8.graph.H2:
    java.util.Set pinnedMethods -> c
    com.android.tools.r8.graph.PinnedPredicate pinnedPredicate -> a
    java.util.Set pinnedInstantiations -> b
    boolean $assertionsDisabled -> d
    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
    6:7:void checkDexClassAndMethod(com.android.tools.r8.graph.DexClassAndMethod):42:43 -> a
    8:12:void checkMethod(com.android.tools.r8.graph.DexEncodedMethod):33:37 -> a
    8:12:void checkDexClassAndMethod(com.android.tools.r8.graph.DexClassAndMethod):43 -> a
    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):576:576 -> 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:33:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    32:33:boolean isMethodKeptInSuperTypeOrIsLibrary(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):79 -> a
    32:33:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):57 -> a
com.android.tools.r8.graph.LookupLambdaTarget -> com.android.tools.r8.internal.TC:
    com.android.tools.r8.graph.DexClassAndMethod method -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexClassAndMethod):14:18 -> <init>
    1:1:void accept(java.util.function.Consumer,java.util.function.Consumer):34:34 -> a
    2:2:com.android.tools.r8.graph.DexClassAndMethod getImplementationMethod():38:38 -> a
    boolean isLambdaTarget() -> n
    com.android.tools.r8.graph.LookupLambdaTarget asLambdaTarget() -> o
com.android.tools.r8.graph.LookupResult -> com.android.tools.r8.graph.K2:
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess asLookupResultSuccess() -> a
    void forEach(java.util.function.Consumer,java.util.function.Consumer) -> a
    void forEachFailureDependency(java.util.function.Consumer) -> a
    boolean isLookupResultFailure() -> b
    boolean isLookupResultSuccess() -> c
com.android.tools.r8.graph.LookupResult$LookupResultFailure -> com.android.tools.r8.graph.I2:
    com.android.tools.r8.graph.LookupResult$LookupResultFailure INSTANCE -> a
    1:1:void <clinit>():195:195 -> <clinit>
    1:1:void <init>():197:197 -> <init>
    void forEach(java.util.function.Consumer,java.util.function.Consumer) -> a
    void forEachFailureDependency(java.util.function.Consumer) -> a
    boolean isLookupResultFailure() -> b
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultFailure access$100():193:193 -> d
com.android.tools.r8.graph.LookupResult$LookupResultSuccess -> com.android.tools.r8.graph.K2$a:
    java.util.List lambdaTargets -> b
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState state -> d
    java.util.List methodsCausingFailure -> c
    int $r8$clinit -> f
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess EMPTY_INSTANCE -> e
    com.android.tools.r8.utils.collections.DexClassAndMethodSet methodTargets -> a
    1:5:void <clinit>():61:65 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.collections.DexClassAndMethodSet,java.util.List,java.util.List,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState,com.android.tools.r8.graph.LookupResult$1):59:59 -> <init>
    2:6:void <init>(com.android.tools.r8.utils.collections.DexClassAndMethodSet,java.util.List,java.util.List,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState):77:81 -> <init>
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess asLookupResultSuccess() -> a
    1:2:void forEach(java.util.function.Consumer,java.util.function.Consumer):104:105 -> a
    3:3:void forEachFailureDependency(java.util.function.Consumer):111:111 -> a
    4:4:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):116:116 -> a
    boolean isLookupResultSuccess() -> c
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultSuccess access$200():59:59 -> d
    1:8:com.android.tools.r8.graph.LookupTarget getSingleLookupTarget():143:150 -> e
    1:1:boolean hasLambdaTargets():97:97 -> f
    1:1:boolean isComplete():134:134 -> g
    1:1:boolean isIncomplete():130:130 -> h
    1:1:void setIncomplete():139:139 -> i
com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder -> com.android.tools.r8.graph.J2:
    java.util.List lambdaTargets -> b
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState state -> d
    java.util.List methodsCausingFailure -> c
    com.android.tools.r8.utils.collections.DexClassAndMethodSet methodTargets -> a
    1:5:void <init>():160:164 -> <init>
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder addMethodTarget(com.android.tools.r8.graph.DexClassAndMethod):168:168 -> a
    2:2:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder addLambdaTarget(com.android.tools.r8.graph.LookupLambdaTarget):173:173 -> a
    3:3:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder addMethodCausingFailure(com.android.tools.r8.graph.DexEncodedMethod):178:178 -> a
    4:4:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder setState(com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState):183:183 -> a
    5:5:com.android.tools.r8.graph.LookupResult$LookupResultSuccess build():188:188 -> a
com.android.tools.r8.graph.LookupTarget -> com.android.tools.r8.internal.VC:
    void accept(java.util.function.Consumer,java.util.function.Consumer) -> a
    com.android.tools.r8.graph.DexClassAndMethod asMethodTarget() -> j
    boolean isMethodTarget() -> m
    boolean isLambdaTarget() -> n
    com.android.tools.r8.graph.LookupLambdaTarget asLambdaTarget() -> o
com.android.tools.r8.graph.MemberResolutionResult -> com.android.tools.r8.internal.RD:
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):25:25 -> a
    com.android.tools.r8.graph.FieldResolutionResult asFieldResolutionResult() -> e
    com.android.tools.r8.graph.MethodResolutionResult asMethodResolutionResult() -> f
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isFailedResolution() -> h
    boolean isFieldResolutionResult() -> i
    boolean isSuccessfulMemberResolutionResult() -> j
com.android.tools.r8.graph.MethodAccessFlags -> com.android.tools.r8.graph.M2:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(int,int):61:61 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder builder():65:65 -> O
    1:1:com.android.tools.r8.graph.MethodAccessFlags copy():70:70 -> P
    1:1:com.android.tools.r8.graph.MethodAccessFlags createPublicStaticSynthetic():83:83 -> Q
    1:1:void demoteFromBridge():156:156 -> R
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> S
    1:1:int getAsCfAccessFlags():109 -> S
    1:2:int getAsDexAccessFlags():114:115 -> T
    3:3:void unsetSynchronized():140:140 -> T
    3:3:int getAsDexAccessFlags():116 -> T
    4:4:void setDeclaredSynchronized():244:244 -> T
    4:4:int getAsDexAccessFlags():117 -> T
    5:5:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> T
    5:5:int getAsDexAccessFlags():119 -> T
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> U
    1:1:boolean isAbstract():184 -> U
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> W
    1:1:boolean isBridge():144 -> W
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> X
    1:1:boolean isConstructor():220 -> X
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> Y
    1:1:boolean isNative():172 -> Y
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> Z
    1:1:boolean isStrict():204 -> Z
    1:1:com.android.tools.r8.graph.MethodAccessFlags fromCfAccessFlags(int,boolean):94:94 -> a
    2:2:void <init>(int):57:57 -> a
    2:2:com.android.tools.r8.graph.MethodAccessFlags fromCfAccessFlags(int,boolean):95 -> a
    3:3:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):228:228 -> a
    4:4:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2854:2854 -> a
    4:4:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):228 -> a
    5:5:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2858:2858 -> a
    5:5:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):228 -> a
    6:6:void setConstructor():224:224 -> a
    6:6:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):229 -> a
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> a0
    1:1:boolean isSynchronized():128 -> a0
    1:3:com.android.tools.r8.graph.MethodAccessFlags fromSharedAccessFlags(int,boolean):88:90 -> b
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> b0
    1:1:boolean isVarargs():160 -> b0
    1:9:java.util.List getNames():32:40 -> c
    1:1:void setAbstract():188:188 -> c0
    1:1:void setBridge():148:148 -> d0
    1:9:java.util.List getPredicates():45:53 -> e
    1:1:void setNative():176:176 -> e0
    1:1:void unsetAbstract():200:200 -> f0
    1:1:void unsetBridge():152:152 -> g0
    1:1:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):99:99 -> h
    2:2:void <init>(int):57:57 -> h
    2:2:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):99 -> h
    3:3:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> h
    3:3:boolean isDeclaredSynchronized():240 -> h
    3:3:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):100 -> h
    4:4:void setSynchronized():132:132 -> h
    4:4:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):101 -> h
    5:5:void unsetDeclaredSynchronized():248:248 -> h
    5:5:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):102 -> h
    1:1:void unsetConstructor():234:234 -> h0
    1:1:void unsetDeclaredSynchronized():248:248 -> i0
    1:1:void unsetVarargs():168:168 -> j0
    com.android.tools.r8.graph.AccessFlags self() -> z
com.android.tools.r8.graph.MethodAccessFlags$Builder -> com.android.tools.r8.graph.L2:
    1:1:void <init>():254:254 -> <init>
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder set(int):258:258 -> a
    2:4:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPrivate(boolean):338:340 -> a
    2:4:com.android.tools.r8.graph.AccessFlags$BuilderBase setPrivate(boolean):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.AccessFlags$BuilderBase.build():378:378 -> a
    5:5:com.android.tools.r8.graph.AccessFlags build():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    com.android.tools.r8.graph.AccessFlags$BuilderBase self() -> b
    1:3:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setProtected(boolean):347:349 -> b
    1:3:com.android.tools.r8.graph.AccessFlags$BuilderBase setProtected(boolean):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder setBridge():263:263 -> c
    2:6:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic(boolean):360:364 -> c
    2:6:com.android.tools.r8.graph.AccessFlags$BuilderBase setPublic(boolean):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder setConstructor():268:268 -> d
    2:2:void com.android.tools.r8.graph.MethodAccessFlags.setConstructor():224:224 -> d
    2:2:com.android.tools.r8.graph.MethodAccessFlags$Builder setConstructor():268 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):274:274 -> d
    4:4:void com.android.tools.r8.graph.MethodAccessFlags.setStrict():208:208 -> d
    4:4:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):274 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):276:276 -> d
    6:6:void com.android.tools.r8.graph.MethodAccessFlags.unsetStrict():216:216 -> d
    6:6:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):276 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):283:283 -> e
    2:2:void com.android.tools.r8.graph.MethodAccessFlags.setSynchronized():132:132 -> e
    2:2:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):283 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):285:285 -> e
    4:4:void com.android.tools.r8.graph.MethodAccessFlags.unsetSynchronized():140:140 -> e
    4:4:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):285 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPackagePrivate():332:333 -> e
    5:6:com.android.tools.r8.graph.AccessFlags$BuilderBase setPackagePrivate():0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setStatic():368:369 -> f
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setStatic():0 -> f
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setSynthetic():373:374 -> g
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setSynthetic():0 -> g
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.graph.MethodAccessInfoCollection -> com.android.tools.r8.internal.jE:
    java.util.Map directInvokes -> a
    java.util.Map interfaceInvokes -> b
    java.util.Map staticInvokes -> c
    java.util.Map superInvokes -> d
    java.util.Map virtualInvokes -> e
    1:1:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.graph.MethodAccessInfoCollection$1):20:20 -> <init>
    2:7:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map):33:38 -> <init>
    1:1:com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder concurrentBuilder():42:42 -> a
    2:7:void forEachMethodReference(java.util.function.Consumer):55:60 -> a
    8:8:void forEachDirectInvoke(java.util.function.BiConsumer):64:64 -> a
    9:9:void forEachSuperInvokeContext(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):80:80 -> a
    10:16:com.android.tools.r8.graph.MethodAccessInfoCollection rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):93:99 -> a
    17:17:void rewriteInvokesWithLens(com.android.tools.r8.graph.MethodAccessInfoCollection$Builder,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.Invoke$Type):108:108 -> a
    18:21:void lambda$rewriteInvokesWithLens$0(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.MethodAccessInfoCollection$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):110:113 -> a
    22:22:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    22:22:void lambda$rewriteInvokesWithLens$0(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.MethodAccessInfoCollection$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):113 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:25:void lambda$rewriteInvokesWithLens$0(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.MethodAccessInfoCollection$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):114:116 -> a
    1:1:com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder identityBuilder():46:46 -> b
    2:2:void forEachInterfaceInvoke(java.util.function.BiConsumer):68:68 -> b
    3:3:void forEachVirtualInvokeContext(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):88:88 -> b
    1:1:com.android.tools.r8.graph.MethodAccessInfoCollection$Modifier modifier():50:50 -> c
    2:2:void forEachStaticInvoke(java.util.function.BiConsumer):72:72 -> c
    1:1:void forEachSuperInvoke(java.util.function.BiConsumer):76:76 -> d
    1:1:void forEachVirtualInvoke(java.util.function.BiConsumer):84:84 -> e
com.android.tools.r8.graph.MethodAccessInfoCollection$Builder -> com.android.tools.r8.internal.fE:
    java.util.Map directInvokes -> a
    java.util.Map interfaceInvokes -> b
    java.util.Map staticInvokes -> c
    java.util.Map superInvokes -> d
    boolean $assertionsDisabled -> f
    java.util.Map virtualInvokes -> e
    1:1:void <clinit>():121:121 -> <clinit>
    1:1:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.graph.MethodAccessInfoCollection$1):121:121 -> <init>
    2:2:void <init>(java.util.function.Supplier,com.android.tools.r8.graph.MethodAccessInfoCollection$1):121:121 -> <init>
    3:3:void <init>(java.util.function.Supplier):130:130 -> <init>
    4:9:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map):134:139 -> <init>
    1:13:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):164:176 -> a
    14:14:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeVirtualInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:216 -> a
    14:14:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):174 -> a
    15:15:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeSuperInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    15:15:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):172 -> a
    16:16:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeStaticInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> a
    16:16:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):170 -> a
    17:17:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeInterfaceInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):191:191 -> a
    17:17:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):168 -> a
    18:18:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeDirectInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):182:182 -> a
    18:18:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):166 -> a
    19:19:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):176:176 -> a
    20:20:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeDirectInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):182:182 -> a
    20:20:void lambda$registerInvokeDirectInContexts$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):186 -> a
    21:21:void registerInvokeDirectInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):186:186 -> a
    22:24:boolean registerInvokeMethodInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,java.util.Map):226:228 -> a
    25:25:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$registerInvokeMethodInContext$5(com.android.tools.r8.graph.DexMethod):227:227 -> a
    26:26:com.android.tools.r8.graph.MethodAccessInfoCollection build():232:232 -> a
    1:1:java.util.Map getDirectInvokes():143:143 -> b
    2:2:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeInterfaceInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):191:191 -> b
    2:2:void lambda$registerInvokeInterfaceInContexts$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):196 -> b
    3:3:void registerInvokeInterfaceInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):196:196 -> b
    1:1:java.util.Map getInterfaceInvokes():147:147 -> c
    2:2:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeStaticInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> c
    2:2:void lambda$registerInvokeStaticInContexts$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204 -> c
    3:3:void registerInvokeStaticInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):204:204 -> c
    1:1:java.util.Map getStaticInvokes():151:151 -> d
    2:2:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeSuperInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):208:208 -> d
    2:2:void lambda$registerInvokeSuperInContexts$3(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):212 -> d
    3:3:void registerInvokeSuperInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):212:212 -> d
    1:1:java.util.Map getSuperInvokes():155:155 -> e
    2:2:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeVirtualInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:216 -> e
    2:2:void lambda$registerInvokeVirtualInContexts$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):221 -> e
    3:3:void registerInvokeVirtualInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):221:221 -> e
    1:1:java.util.Map getVirtualInvokes():159:159 -> f
    2:2:boolean registerInvokeDirectInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):182:182 -> f
    1:1:boolean registerInvokeInterfaceInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):191:191 -> g
    1:1:boolean registerInvokeStaticInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> h
    1:1:boolean registerInvokeSuperInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):208:208 -> i
    1:1:boolean registerInvokeVirtualInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:216 -> j
com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder -> com.android.tools.r8.internal.gE:
    1:1:void <init>(com.android.tools.r8.graph.MethodAccessInfoCollection$1):237:237 -> <init>
    2:2:void <init>():241:241 -> <init>
com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder -> com.android.tools.r8.internal.hE:
    1:1:void <init>(com.android.tools.r8.graph.MethodAccessInfoCollection$1):245:245 -> <init>
    2:2:void <init>():249:249 -> <init>
com.android.tools.r8.graph.MethodAccessInfoCollection$Modifier -> com.android.tools.r8.internal.iE:
    1:1:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.graph.MethodAccessInfoCollection$1):253:253 -> <init>
    2:2:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map):261:261 -> <init>
    1:5:void addAll(com.android.tools.r8.graph.MethodAccessInfoCollection):265:269 -> a
com.android.tools.r8.graph.MethodArrayBacking -> com.android.tools.r8.graph.N2:
    com.android.tools.r8.graph.DexEncodedMethod[] virtualMethods -> b
    com.android.tools.r8.graph.DexEncodedMethod[] directMethods -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():22:22 -> <clinit>
    1:4:void <init>():22:25 -> <init>
    1:2:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):31:32 -> a
    3:3:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38}}
    36:36:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):32:32 -> a
    37:37:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):32:32 -> a
    38:38:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):32:32 -> a
    35:35:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):32:32 -> a
    39:47:void addDirectMethods(java.util.Collection):88:96 -> a
    48:48:void clearDirectMethods():101:101 -> a
    49:49:void removeMethods(java.util.Set):134:134 -> a
    50:56:com.android.tools.r8.graph.DexEncodedMethod[] removeMethodsHelper(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod[]):140:146 -> a
    50:56:void removeMethods(java.util.Set):134 -> a
    57:58:void removeMethods(java.util.Set):134:135 -> a
    59:65:com.android.tools.r8.graph.DexEncodedMethod[] removeMethodsHelper(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod[]):140:146 -> a
    59:65:void removeMethods(java.util.Set):135 -> a
    66:66:void removeMethods(java.util.Set):135:135 -> a
    67:68:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):161:162 -> a
    69:69:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> a
    69:69:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):161 -> a
    70:92:void virtualizeMethods(java.util.Set):197:219 -> a
    93:94:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):224:225 -> a
    95:95:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):234:234 -> a
    96:96:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):254:254 -> a
    97:98:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):262:263 -> a
    97:98:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):254 -> a
    99:99:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    99:99:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):263 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    99:99:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):254 -> a
    100:100:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    100:100:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):263 -> a
    100:100:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):254 -> a
    101:101:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256:256 -> a
    102:103:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):262:263 -> a
    102:103:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256 -> a
    104:104:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    104:104:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):263 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    104:104:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256 -> a
    105:105:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    105:105:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):263 -> a
    105:105:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256 -> a
    106:106:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):287:287 -> a
    107:107:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    107:107:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):287 -> a
    108:109:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):287:288 -> a
    110:110:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):294:294 -> a
    111:115:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod[]):311:315 -> a
    111:115:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):294 -> a
    116:116:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):295:295 -> a
    117:117:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    117:117:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):295 -> a
    118:118:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):295:295 -> a
    119:119:void replaceAllDirectMethods(java.util.function.Function):414:414 -> a
    120:120:void clearDirectMethods():101:101 -> a
    120:120:void replaceAllDirectMethods(java.util.function.Function):415 -> a
    121:125:void replaceAllDirectMethods(java.util.function.Function):416:420 -> a
    1:1:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> b
    1:1:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):272 -> b
    2:4:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):273:275 -> b
    5:13:void addVirtualMethods(java.util.Collection):173:181 -> b
    14:14:void clearVirtualMethods():186:186 -> b
    15:16:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):191:192 -> b
    17:17:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> b
    17:17:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):191 -> b
    18:19:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):239:240 -> b
    20:20:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate):249:249 -> b
    21:25:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):325:329 -> b
    26:26:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod) -> b
    26:26:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):329 -> b
    27:28:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):329:330 -> b
    29:33:com.android.tools.r8.graph.DexEncodedMethod removeMethodWithIndex(int,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):151:155 -> b
    29:33:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):330 -> b
    34:34:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):332:332 -> b
    35:35:void replaceAllVirtualMethods(java.util.function.Function):425:425 -> b
    36:36:void clearVirtualMethods():186:186 -> b
    36:36:void replaceAllVirtualMethods(java.util.function.Function):426 -> b
    37:41:void replaceAllVirtualMethods(java.util.function.Function):427:431 -> b
    1:2:java.util.List directMethods():82:83 -> c
    1:2:java.lang.Iterable directMethods():22 -> c
    3:3:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):106:106 -> c
    4:5:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):124:125 -> c
    4:5:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):107 -> c
    6:10:com.android.tools.r8.graph.DexEncodedMethod removeMethodWithIndex(int,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):151:155 -> c
    6:10:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):126 -> c
    6:10:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):107 -> c
    11:11:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):110:110 -> c
    12:12:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> c
    12:12:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):110 -> c
    13:16:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):110:113 -> c
    17:18:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):124:125 -> c
    17:18:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):114 -> c
    19:23:com.android.tools.r8.graph.DexEncodedMethod removeMethodWithIndex(int,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):151:155 -> c
    19:23:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):126 -> c
    19:23:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):114 -> c
    24:24:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):116:116 -> c
    25:25:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> c
    25:25:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):116 -> c
    26:26:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):116:116 -> c
    27:27:void lambda$removeMethod$1(com.android.tools.r8.graph.DexEncodedMethod[]):108:108 -> c
    28:28:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> c
    29:29:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> c
    29:29:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):281 -> c
    30:31:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):281:282 -> c
    32:33:void replaceDirectMethods(java.util.function.Function):349:350 -> c
    1:1:java.lang.Iterable methods():77:77 -> d
    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> d
    2:2:java.lang.Iterable methods():77 -> d
    3:3:void lambda$removeMethod$2(com.android.tools.r8.graph.DexEncodedMethod[]):115:115 -> d
    4:7:void replaceMethods(java.util.function.Function):341:344 -> d
    1:1:int numberOfDirectMethods():45:45 -> e
    2:2:void lambda$replaceDirectMethodWithVirtualMethod$3(com.android.tools.r8.graph.DexEncodedMethod[]):331:331 -> e
    3:4:void replaceVirtualMethods(java.util.function.Function):382:383 -> e
    1:1:int numberOfVirtualMethods():50:50 -> f
    2:14:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):60:72 -> f
    1:1:int size():55:55 -> g
    2:6:java.util.List internalReplaceDirectMethods(java.util.function.Function):355:359 -> g
    7:7:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> g
    7:7:java.util.List internalReplaceDirectMethods(java.util.function.Function):361 -> g
    8:21:java.util.List internalReplaceDirectMethods(java.util.function.Function):362:375 -> g
    22:22:java.util.List internalReplaceDirectMethods(java.util.function.Function):371:371 -> g
    1:1:boolean verify():39:39 -> h
    2:5:java.util.List internalReplaceVirtualMethods(java.util.function.Function):388:391 -> h
    6:6:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> h
    6:6:java.util.List internalReplaceVirtualMethods(java.util.function.Function):393 -> h
    7:20:java.util.List internalReplaceVirtualMethods(java.util.function.Function):394:407 -> h
    21:21:java.util.List internalReplaceVirtualMethods(java.util.function.Function):403:403 -> h
    1:2:java.util.List virtualMethods():167:168 -> i
    1:2:java.lang.Iterable virtualMethods():22 -> i
    1:2:boolean verifyNoDuplicateMethods():28:29 -> j
    3:3:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> j
    3:3:boolean verifyNoDuplicateMethods():29 -> j
com.android.tools.r8.graph.MethodCollection -> com.android.tools.r8.graph.O2:
    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
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[]):29:29 -> <init>
    2:13:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[]):26:37 -> <init>
    1:1:com.android.tools.r8.graph.MethodCollection create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[]):45:45 -> a
    2:2:void forEachMethod(java.util.function.Consumer):98:98 -> a
    3:3:void forEachDirectMethodMatching(java.util.function.Predicate,java.util.function.Consumer):117:117 -> a
    4:5:void lambda$forEachDirectMethodMatching$1(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):119:120 -> a
    6:6:java.util.List allMethodsSorted():148:148 -> a
    7:7:int size():90:90 -> a
    7:7:java.util.List allMethodsSorted():148 -> a
    8:9:java.util.List allMethodsSorted():148:149 -> a
    10:10:void forEachMethod(java.util.function.Consumer):98:98 -> a
    10:10:java.util.List allMethodsSorted():149 -> a
    11:11:java.util.List allMethodsSorted():150:150 -> a
    12:12:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):167:167 -> a
    13:13:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethodSignature):171:171 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):167:167 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethodSignature):171 -> a
    15:15:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):180:180 -> a
    16:16:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):184:184 -> a
    17:17:void resetClassInitializerCache():196:196 -> a
    17:17:void resetDirectMethodCaches():54 -> a
    17:17:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):223 -> a
    18:18:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):224:224 -> a
    19:19:void resetClassInitializerCache():196:196 -> a
    19:19:void resetDirectMethodCaches():54 -> a
    19:19:void replaceAllDirectMethods(java.util.function.Function):255 -> a
    20:20:void replaceAllDirectMethods(java.util.function.Function):256:256 -> a
    21:21:void resetClassInitializerCache():196:196 -> a
    21:21:void resetDirectMethodCaches():54 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):229 -> a
    22:22:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):230:230 -> a
    23:23:void addDirectMethods(java.util.Collection):278:278 -> a
    24:25:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):380:381 -> a
    24:25:void addDirectMethods(java.util.Collection):278 -> a
    26:26:void resetClassInitializerCache():196:196 -> a
    26:26:void resetDirectMethodCaches():54 -> a
    26:26:void addDirectMethods(java.util.Collection):279 -> a
    27:27:void addDirectMethods(java.util.Collection):280:280 -> a
    28:28:void removeMethods(java.util.Set):302:302 -> a
    29:29:void resetClassInitializerCache():196:196 -> a
    29:29:void resetDirectMethodCaches():54 -> a
    29:29:void removeMethods(java.util.Set):303 -> a
    30:30:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):308:308 -> a
    31:31:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):376:376 -> a
    31:31:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):308 -> a
    32:33:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):380:381 -> a
    32:33:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):376 -> a
    32:33:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):308 -> a
    34:34:void resetClassInitializerCache():196:196 -> a
    34:34:void resetDirectMethodCaches():54 -> a
    34:34:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):309 -> a
    35:35:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):310:310 -> a
    36:36:void virtualizeMethods(java.util.Set):336:336 -> a
    1:1:void forEachMethodMatching(java.util.function.Predicate,java.util.function.Consumer):103:103 -> b
    2:2:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> b
    2:2:void forEachMethodMatching(java.util.function.Predicate,java.util.function.Consumer):103 -> b
    3:3:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> b
    3:3:void forEachMethodMatching(java.util.function.Predicate,java.util.function.Consumer):103 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:void lambda$forEachMethodMatching$0(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):105:106 -> b
    6:6:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):163:163 -> b
    7:7:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate):192:192 -> b
    8:8:void resetClassInitializerCache():196:196 -> b
    8:8:void resetDirectMethodCaches():54 -> b
    8:8:void resetCaches():49 -> b
    8:8:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):213 -> b
    9:9:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):214:214 -> b
    10:10:void resetClassInitializerCache():196:196 -> b
    10:10:void resetDirectMethodCaches():54 -> b
    10:10:void clearDirectMethods():284 -> b
    11:11:void clearDirectMethods():285:285 -> b
    12:12:void resetClassInitializerCache():196:196 -> b
    12:12:void resetDirectMethodCaches():54 -> b
    12:12:void resetCaches():49 -> b
    12:12:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):273 -> b
    13:13:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):274:274 -> b
    14:14:void replaceAllVirtualMethods(java.util.function.Function):261:261 -> b
    15:15:void addVirtualMethods(java.util.Collection):318:318 -> b
    16:17:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):380:381 -> b
    16:17:void addVirtualMethods(java.util.Collection):318 -> b
    18:18:void addVirtualMethods(java.util.Collection):320:320 -> b
    19:19:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):329:329 -> b
    20:20:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):376:376 -> b
    20:20:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):329 -> b
    21:22:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):380:381 -> b
    21:22:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):376 -> b
    21:22:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):329 -> b
    23:23:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):331:331 -> b
    1:1:boolean hasDirectMethods(java.util.function.Predicate):70:70 -> c
    2:2:void forEachVirtualMethodMatching(java.util.function.Predicate,java.util.function.Consumer):131:131 -> c
    3:4:void lambda$forEachVirtualMethodMatching$2(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):133:134 -> c
    5:5:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):188:188 -> c
    6:6:void resetClassInitializerCache():196:196 -> c
    6:6:void resetDirectMethodCaches():54 -> c
    6:6:void replaceDirectMethods(java.util.function.Function):245 -> c
    7:7:void replaceDirectMethods(java.util.function.Function):246:246 -> c
    8:8:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):219:219 -> c
    9:9:void clearVirtualMethods():325:325 -> c
    1:1:java.lang.Iterable directMethods():155:155 -> d
    2:3:com.android.tools.r8.graph.DexEncodedMethod getMethod(java.util.function.Predicate):175:176 -> d
    2:3:boolean hasMethods(java.util.function.Predicate):62 -> d
    4:4:void resetClassInitializerCache():196:196 -> d
    4:4:void resetDirectMethodCaches():54 -> d
    4:4:void resetCaches():49 -> d
    4:4:void replaceMethods(java.util.function.Function):240 -> d
    5:5:void replaceMethods(java.util.function.Function):241:241 -> d
    6:8:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):289:291 -> d
    9:9:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> d
    9:9:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):291 -> d
    10:10:void resetClassInitializerCache():196:196 -> d
    10:10:void resetDirectMethodCaches():54 -> d
    10:10:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):292 -> d
    11:11:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):294:294 -> d
    12:12:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> d
    12:12:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):294 -> d
    13:13:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):294:294 -> d
    14:16:com.android.tools.r8.utils.TraversalContinuation lambda$hasAnnotations$3(com.android.tools.r8.graph.DexEncodedMethod):342:344 -> d
    1:1:boolean hasVirtualMethods(java.util.function.Predicate):78:78 -> e
    2:3:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():200:201 -> e
    4:4:java.lang.Iterable directMethods():155:155 -> e
    4:4:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():202 -> e
    5:12:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():202:209 -> e
    13:13:void replaceVirtualMethods(java.util.function.Function):251:251 -> e
    14:14:void lambda$verify$4(com.android.tools.r8.graph.DexEncodedMethod):356:356 -> e
    1:1:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):94:94 -> f
    2:2:java.lang.Iterable methods():140:140 -> f
    2:2:java.lang.Iterable methods(java.util.function.Predicate):144 -> f
    3:3:java.lang.Iterable methods(java.util.function.Predicate):144:144 -> f
    4:4:boolean hasAnnotations():340:340 -> f
    5:5:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):94:94 -> f
    5:5:boolean hasAnnotations():340 -> f
    6:6:boolean hasAnnotations():345:345 -> f
    7:7:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    8:8:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":742,"2":743,"3":744}}
    742:742:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    743:743:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    744:744:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    373:373:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):365:365 -> f
    374:374:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":748,"2":749,"3":750,"4":751}}
    748:748:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    749:749:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    750:750:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    751:751:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    741:741:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    1:1:boolean hasVirtualMethods():74:74 -> g
    1:1:java.lang.Iterable methods():140:140 -> h
    1:1:int numberOfDirectMethods():82:82 -> i
    1:1:int numberOfVirtualMethods():86:86 -> j
    1:1:int size():90:90 -> k
    1:1:void useSortedBacking():349:349 -> l
    2:2:int size():90:90 -> l
    2:2:void useSortedBacking():349 -> l
    3:4:void useSortedBacking():349:350 -> l
    1:1:boolean verify():354:354 -> m
    2:2:void forEachMethod(java.util.function.Consumer):98:98 -> m
    2:2:boolean verify():354 -> m
    3:3:boolean verify():358:358 -> m
    1:1:java.lang.Iterable virtualMethods():159:159 -> n
com.android.tools.r8.graph.MethodCollectionBacking -> com.android.tools.r8.graph.P2:
    1:1:void <init>():15:15 -> <init>
    void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod) -> a
    void addDirectMethods(java.util.Collection) -> a
    void clearDirectMethods() -> a
    com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod) -> a
    com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate) -> a
    com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString) -> a
    void removeMethods(java.util.Set) -> a
    void replaceAllDirectMethods(java.util.function.Function) -> a
    com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function) -> a
    void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]) -> a
    void virtualizeMethods(java.util.Set) -> a
    1:1:void forEachMethod(java.util.function.Consumer,java.util.function.Predicate):46:46 -> a
    2:5:com.android.tools.r8.utils.TraversalContinuation lambda$forEachMethod$0(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):48:51 -> a
    6:6:void forEachDirectMethod(java.util.function.Consumer):56:56 -> a
    void addMethod(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void addVirtualMethods(java.util.Collection) -> b
    void clearVirtualMethods() -> b
    com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod) -> b
    com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate) -> b
    void replaceAllVirtualMethods(java.util.function.Function) -> b
    com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function) -> b
    void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]) -> b
    1:1:void forEachVirtualMethod(java.util.function.Consumer):60:60 -> b
    void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod) -> c
    java.lang.Iterable directMethods() -> c
    com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod) -> c
    void replaceDirectMethods(java.util.function.Function) -> c
    java.lang.Iterable methods() -> d
    void replaceMethods(java.util.function.Function) -> d
    1:1:boolean belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> d
    int numberOfDirectMethods() -> e
    void replaceVirtualMethods(java.util.function.Function) -> e
    1:1:boolean belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> e
    int numberOfVirtualMethods() -> f
    com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function) -> f
    int size() -> g
    boolean verify() -> h
    java.lang.Iterable virtualMethods() -> i
com.android.tools.r8.graph.MethodMapBacking -> com.android.tools.r8.graph.Q2:
    boolean $assertionsDisabled -> b
    java.util.SortedMap methodMap -> a
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():26:26 -> <init>
    2:3:void <init>(java.util.SortedMap):29:30 -> <init>
    1:1:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceDirectMethods$7(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):285 -> a
    2:2:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceDirectMethods$7(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):285:285 -> a
    3:3:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> a
    3:3:void lambda$setDirectMethods$5(java.util.SortedMap,com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    4:4:void lambda$setDirectMethods$5(java.util.SortedMap,com.android.tools.r8.graph.DexEncodedMethod):232:232 -> a
    5:5:void lambda$verify$0(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):60:60 -> a
    6:6:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238:238 -> a
    6:6:void lambda$verify$0(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):60 -> a
    7:7:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    7:7:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238 -> a
    7:7:void lambda$verify$0(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):60 -> a
    8:8:void lambda$verify$0(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):60:60 -> a
    9:9:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):118:118 -> a
    10:10:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    10:10:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):118 -> a
    11:11:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethodSignature):122:122 -> a
    11:11:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):118 -> a
    12:16:com.android.tools.r8.utils.TraversalContinuation lambda$getMethod$3(java.util.function.Predicate,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexEncodedMethod):129:133 -> a
    17:17:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):140:140 -> a
    18:18:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    18:18:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):141 -> a
    19:20:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):146:147 -> a
    21:21:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):171:171 -> a
    22:22:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod) -> a
    22:22:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):171 -> a
    23:24:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):171:172 -> a
    25:26:void addDirectMethods(java.util.Collection):183:184 -> a
    27:27:void clearDirectMethods():197:197 -> a
    28:28:void removeMethods(java.util.Set):216:216 -> a
    29:33:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):221:225 -> a
    34:34:int size():87:87 -> a
    34:34:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):228 -> a
    35:35:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):228:228 -> a
    36:36:java.util.SortedMap createdLinkedMap(int):44:44 -> a
    36:36:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):228 -> a
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.<init>(int):165:165 -> a
    37:37:java.util.SortedMap createdLinkedMap(int):44 -> a
    37:37:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):228 -> a
    38:38:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):229:229 -> a
    39:39:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> a
    39:39:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):229 -> a
    40:41:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):235:236 -> a
    42:42:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    42:42:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):236 -> a
    43:46:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):236:239 -> a
    47:53:void replaceAllDirectMethods(java.util.function.Function):295:301 -> a
    54:54:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318:318 -> a
    55:55:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):331:331 -> a
    55:55:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    56:56:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> a
    56:56:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethod.getSignature():173 -> a
    56:56:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):331 -> a
    56:56:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    57:62:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):332:337 -> a
    57:62:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    63:63:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48:48 -> a
    63:63:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):338 -> a
    63:63:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    64:64:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238:238 -> a
    64:64:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48 -> a
    64:64:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):338 -> a
    64:64:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    65:65:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    65:65:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238 -> a
    65:65:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48 -> a
    65:65:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):338 -> a
    65:65:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    66:69:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):49:52 -> a
    66:69:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):338 -> a
    66:69:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    70:70:void virtualizeMethods(java.util.Set):359:359 -> a
    71:72:boolean verifyVirtualizedMethods(java.util.Set):363:364 -> a
    71:72:void virtualizeMethods(java.util.Set):359 -> a
    73:73:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> a
    73:73:boolean verifyVirtualizedMethods(java.util.Set):364 -> a
    73:73:void virtualizeMethods(java.util.Set):359 -> a
    74:75:boolean verifyVirtualizedMethods(java.util.Set):364:365 -> a
    74:75:void virtualizeMethods(java.util.Set):359 -> a
    1:1:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> b
    1:1:void lambda$setVirtualMethods$6(java.util.SortedMap,com.android.tools.r8.graph.DexEncodedMethod):254 -> b
    2:2:void lambda$setVirtualMethods$6(java.util.SortedMap,com.android.tools.r8.graph.DexEncodedMethod):255:255 -> b
    3:3:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceVirtualMethods$8(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):290 -> b
    4:4:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceVirtualMethods$8(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):290:290 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):152:152 -> b
    6:6:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    6:6:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):153 -> b
    7:8:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate):158:159 -> b
    9:11:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):164:166 -> b
    12:13:void addVirtualMethods(java.util.Collection):190:191 -> b
    14:14:void clearVirtualMethods():202:202 -> b
    15:19:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):244:248 -> b
    20:20:int size():87:87 -> b
    20:20:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):251 -> b
    21:21:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):251:251 -> b
    22:22:java.util.SortedMap createdLinkedMap(int):44:44 -> b
    22:22:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):251 -> b
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.<init>(int):165:165 -> b
    23:23:java.util.SortedMap createdLinkedMap(int):44 -> b
    23:23:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):251 -> b
    24:24:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):252:252 -> b
    25:25:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> b
    25:25:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):252 -> b
    26:27:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):258:259 -> b
    28:28:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    28:28:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):259 -> b
    29:32:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):259:262 -> b
    33:39:void replaceAllVirtualMethods(java.util.function.Function):306:312 -> b
    40:40:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):345:345 -> b
    41:41:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> b
    41:41:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethod.getSignature():173 -> b
    41:41:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):345 -> b
    42:42:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):346:346 -> b
    43:43:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    43:43:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):347 -> b
    44:45:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):350:351 -> b
    46:46:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    46:46:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):351 -> b
    47:47:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):351:351 -> b
    48:48:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod) -> b
    48:48:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):352 -> b
    49:49:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238:238 -> b
    49:49:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48 -> b
    49:49:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):352 -> b
    50:50:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> b
    50:50:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238 -> b
    50:50:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48 -> b
    50:50:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):352 -> b
    51:54:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):49:52 -> b
    51:54:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):352 -> b
    1:1:java.lang.Iterable directMethods():108:108 -> c
    2:11:com.android.tools.r8.graph.DexEncodedMethod getMethod(java.util.function.Predicate):126:135 -> c
    12:12:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):177:177 -> c
    13:13:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> c
    13:13:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):177 -> c
    14:15:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):177:178 -> c
    16:16:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):207:207 -> c
    17:17:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod) -> c
    17:17:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethod.getSignature():173 -> c
    17:17:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):207 -> c
    18:18:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethodSignature):211:211 -> c
    18:18:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):207 -> c
    19:19:void replaceDirectMethods(java.util.function.Function):285:285 -> c
    1:1:java.lang.Iterable methods():103:103 -> d
    2:6:void replaceMethods(java.util.function.Function):270:274 -> d
    7:7:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethodSignature):122:122 -> d
    7:7:void replaceMethods(java.util.function.Function):275 -> d
    8:8:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethodSignature):211:211 -> d
    8:8:void replaceMethods(java.util.function.Function):276 -> d
    9:9:void replaceMethods(java.util.function.Function):278:278 -> d
    1:1:int numberOfDirectMethods():67:67 -> e
    2:3:int numberOfMethodsMatching(java.util.function.Predicate):77:78 -> e
    2:3:int numberOfDirectMethods():67 -> e
    4:4:void replaceVirtualMethods(java.util.function.Function):290:290 -> e
    1:1:int numberOfVirtualMethods():72:72 -> f
    2:3:int numberOfMethodsMatching(java.util.function.Predicate):77:78 -> f
    2:3:int numberOfVirtualMethods():72 -> f
    4:10:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):92:98 -> f
    11:11:void lambda$removeMethods$4(com.android.tools.r8.graph.DexEncodedMethod):216:216 -> f
    1:1:int size():87:87 -> g
    1:1:boolean verify():58:58 -> h
    1:1:java.lang.Iterable virtualMethods():113:113 -> i
    1:1:com.android.tools.r8.graph.MethodMapBacking createSorted():34:34 -> j
    1:1:java.util.SortedMap createdLinkedMap():39:39 -> k
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.<init>():174:174 -> k
    2:2:java.util.SortedMap createdLinkedMap():39 -> k
    1:1:java.util.Iterator lambda$directMethods$1():108:108 -> l
    1:1:java.util.Iterator lambda$virtualMethods$2():113:113 -> m
com.android.tools.r8.graph.MethodResolutionResult -> com.android.tools.r8.graph.U2:
    1:1:void <init>():22:22 -> <init>
    com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
    boolean isIllegalAccessErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate) -> a
    com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass) -> a
    1:1:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness):142:142 -> a
    com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
    boolean isNoSuchMethodErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSpecialTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeStaticTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    1:1:com.android.tools.r8.graph.DexClassAndMember com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult.getResolutionPair():164:164 -> c
    com.android.tools.r8.graph.DexClass getResolvedHolder() -> d
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> d
    com.android.tools.r8.graph.MethodResolutionResult asMethodResolutionResult() -> f
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isSuccessfulMemberResolutionResult() -> j
    com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult asFailedResolution() -> k
    com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult asSingleResolution() -> l
    com.android.tools.r8.graph.DexClassAndMethod getResolutionPair() -> m
    com.android.tools.r8.graph.DexEncodedMethod getResolvedMethod() -> n
    com.android.tools.r8.graph.ProgramMethod getResolvedProgramMethod() -> o
    1:1:com.android.tools.r8.graph.DexEncodedMethod getSingleTarget():97:97 -> p
    boolean isSingleResolution() -> q
    boolean isVirtualTarget() -> r
com.android.tools.r8.graph.MethodResolutionResult$ArrayCloneMethodResult -> com.android.tools.r8.graph.R2:
    com.android.tools.r8.graph.MethodResolutionResult$ArrayCloneMethodResult INSTANCE -> a
    1:1:void <clinit>():844:844 -> <clinit>
    1:1:void <init>():846:846 -> <init>
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.getIncompleteEmptyResult():56:56 -> a
    1:1:com.android.tools.r8.graph.LookupResult com.android.tools.r8.graph.MethodResolutionResult$EmptyResult.lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):808 -> a
    1:1:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):842 -> a
    2:2:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.getIncompleteEmptyResult():56:56 -> a
    2:2:com.android.tools.r8.graph.LookupResult com.android.tools.r8.graph.MethodResolutionResult$EmptyResult.lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):817 -> a
    2:2:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):842 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):853:853 -> a
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):859:859 -> b
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeStaticTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> d
    boolean isVirtualTarget() -> r
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> s
com.android.tools.r8.graph.MethodResolutionResult$ClassNotFoundResult -> com.android.tools.r8.graph.S2:
    com.android.tools.r8.graph.MethodResolutionResult$ClassNotFoundResult INSTANCE -> a
    1:1:void <clinit>():914:914 -> <clinit>
    1:1:void <init>():916:916 -> <init>
com.android.tools.r8.graph.MethodResolutionResult$EmptyResult -> com.android.tools.r8.graph.T2:
    1:1:void <init>():776:776 -> <init>
    1:1:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy):776:776 -> a
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSpecialTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> s
com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult -> com.android.tools.r8.graph.U2$a:
    1:1:void <init>():874:874 -> <init>
    void forEachFailureDependency(java.util.function.Consumer) -> a
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.getIncompleteEmptyResult():56:56 -> a
    1:1:com.android.tools.r8.graph.LookupResult com.android.tools.r8.graph.MethodResolutionResult$EmptyResult.lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):808 -> a
    1:1:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):874 -> a
    2:2:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.getIncompleteEmptyResult():56:56 -> a
    2:2:com.android.tools.r8.graph.LookupResult com.android.tools.r8.graph.MethodResolutionResult$EmptyResult.lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):817 -> a
    2:2:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):874 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):894:894 -> a
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):900:900 -> b
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeStaticTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> d
    boolean isFailedResolution() -> h
    com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult asFailedResolution() -> k
    boolean isVirtualTarget() -> r
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> s
    boolean hasMethodsCausingError() -> t
com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionWithCausingMethods -> com.android.tools.r8.graph.V2:
    java.util.Collection methodsCausingError -> a
    1:1:void <init>(java.util.Collection,com.android.tools.r8.graph.MethodResolutionResult$1):926:926 -> <init>
    2:3:void <init>(java.util.Collection):930:931 -> <init>
    1:1:void forEachFailureDependency(java.util.function.Consumer):937:937 -> a
    1:1:boolean hasMethodsCausingError():942:942 -> t
com.android.tools.r8.graph.MethodResolutionResult$IllegalAccessOrNoSuchMethodResult -> com.android.tools.r8.graph.W2:
    com.android.tools.r8.graph.DexClass initialResolutionHolder -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():976:976 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexClass,java.util.Collection):982:983 -> <init>
    1:14:boolean isIllegalAccessErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):994:1007 -> a
    15:19:void lambda$isIllegalAccessErrorResult$0(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):1001:1005 -> a
    20:20:void lambda$isIllegalAccessErrorResult$0(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):1002:1002 -> a
    21:21:void lambda$verifyInvalidSymbolicReference$1(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):1030:1030 -> a
    22:22:void lambda$verifyInvalidSymbolicReference$1(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):1029:1029 -> a
    1:10:boolean isNoSuchMethodErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):1012:1021 -> b
    1:7:boolean verifyInvalidSymbolicReference():1026:1032 -> u
com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult -> com.android.tools.r8.graph.X2:
    com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult INSTANCE -> b
    1:2:void <clinit>():947:948 -> <clinit>
    1:1:void <init>(java.util.Collection):951:951 -> <init>
    1:3:com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult create(java.util.Collection):955:957 -> a
com.android.tools.r8.graph.MethodResolutionResult$NoSuchMethodResult -> com.android.tools.r8.graph.U2$b:
    com.android.tools.r8.graph.MethodResolutionResult$NoSuchMethodResult INSTANCE -> a
    1:1:void <clinit>():968:968 -> <clinit>
    1:1:void <init>():966:966 -> <init>
    boolean isNoSuchMethodErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult -> com.android.tools.r8.graph.U2$c:
    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
    1:1:void <clinit>():164:164 -> <clinit>
    1:10:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):173:182 -> <init>
    11:11:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):181:181 -> <init>
    boolean lambda$lookupInvokeSuperTarget$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass) -> a
    1:3:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isMemberAccessible(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):49:51 -> a
    1:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):247 -> a
    4:4:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isMemberAccessible(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):48:48 -> a
    4:4:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):247 -> a
    5:6:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult withInitialResolutionHolder(com.android.tools.r8.graph.DexClass):186:187 -> a
    7:7:com.android.tools.r8.graph.DexClass getInitialResolutionHolder():193:193 -> a
    8:12:com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):345:349 -> a
    13:78:com.android.tools.r8.graph.DexClassAndMethod internalInvokeSpecialOrSuper(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.BiPredicate):360:425 -> a
    79:79:boolean isSuperclass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):433:433 -> a
    79:79:boolean lambda$lookupInvokeSpecialTarget$0(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):276 -> a
    80:82:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):443:445 -> a
    83:83:com.android.tools.r8.graph.LookupResult$LookupResultFailure com.android.tools.r8.graph.LookupResult.createFailedResult():52:52 -> a
    83:83:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):446 -> a
    84:91:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):448:455 -> a
    92:93:com.android.tools.r8.utils.collections.DexClassAndMethodSet com.android.tools.r8.utils.collections.DexClassAndMethodSet.create(com.android.tools.r8.graph.DexClassAndMethod):40:41 -> a
    92:93:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):455 -> a
    94:95:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):456:457 -> a
    96:96:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.createResult(com.android.tools.r8.utils.collections.DexClassAndMethodSet,java.util.List,java.util.List,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState):48:48 -> a
    96:96:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):454 -> a
    97:98:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):462:463 -> a
    99:99:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder com.android.tools.r8.graph.LookupResult$LookupResultSuccess.builder():85:85 -> a
    99:99:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):463 -> a
    100:131:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):464:495 -> a
    132:139:void lambda$lookupVirtualDispatchTargets$2(com.android.tools.r8.graph.LookupCompletenessHelper,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.graph.DexProgramClass):468:475 -> a
    140:176:void addVirtualDispatchTarget(com.android.tools.r8.graph.DexClassAndMethod,boolean,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder):558:594 -> a
    140:176:void lambda$lookupVirtualDispatchTargets$2(com.android.tools.r8.graph.LookupCompletenessHelper,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.graph.DexProgramClass):474 -> a
    177:179:void lambda$lookupVirtualDispatchTargets$3(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.ir.desugar.LambdaDescriptor):479:479 -> a
    181:189:void lambda$lookupVirtualDispatchTargets$3(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.ir.desugar.LambdaDescriptor):481:489 -> a
    190:226:void addVirtualDispatchTarget(com.android.tools.r8.graph.DexClassAndMethod,boolean,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder):558:594 -> a
    190:226:void lambda$lookupVirtualDispatchTargets$3(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.ir.desugar.LambdaDescriptor):488 -> a
    227:230:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):504:507 -> a
    231:248:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):506:523 -> a
    249:249:com.android.tools.r8.graph.InstantiatedSubTypeInfo instantiatedSubTypeInfoForInstantiatedType(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.Box):533:533 -> a
    250:261:void lambda$instantiatedSubTypeInfoForInstantiatedType$5(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):534:545 -> a
    262:264:void lambda$instantiatedSubTypeInfoForInstantiatedType$4(java.util.function.Consumer,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexProgramClass):536:538 -> a
    265:267:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy):606:608 -> a
    268:270:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):623:625 -> a
    271:271:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    271:271:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):625 -> a
    272:277:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):626:631 -> a
    278:289:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):704:715 -> a
    278:289:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):633 -> a
    290:290:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    290:290:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):715 -> a
    290:290:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):633 -> a
    291:291:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):715:715 -> a
    291:291:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):633 -> a
    292:304: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,java.util.function.Consumer):642:654 -> a
    305:305:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):727:727 -> a
    305:305: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,java.util.function.Consumer):656 -> a
    306:306:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> a
    306:306:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):727 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    306:306: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,java.util.function.Consumer):656 -> a
    307:307:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> a
    307:307:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):727 -> a
    307:307: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,java.util.function.Consumer):656 -> a
    308:310:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):728:730 -> a
    308:310: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,java.util.function.Consumer):656 -> a
    311:312: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,java.util.function.Consumer):657:658 -> a
    313:319: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):738:744 -> a
    313:319: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,java.util.function.Consumer):658 -> a
    320:320:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> a
    320:320: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):744 -> a
    320:320: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,java.util.function.Consumer):658 -> a
    321:323: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):746:748 -> a
    321:323: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,java.util.function.Consumer):658 -> a
    324:324: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,java.util.function.Consumer):670:670 -> a
    325:335: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,java.util.function.Consumer):664:674 -> a
    336:347:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):685:696 -> a
    336:347: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,java.util.function.Consumer):677 -> a
    348:348:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    348:348:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):696 -> a
    348:348: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,java.util.function.Consumer):677 -> a
    349:349:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):696:696 -> a
    349:349: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,java.util.function.Consumer):677 -> a
    350:357:boolean isOverriding(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):765:772 -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod getResolvedMember():203:203 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMember getResolvedMember():164 -> b
    2:5:com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):253:256 -> b
    6:7:com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSpecialTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):274:275 -> b
    1:5:com.android.tools.r8.graph.DexEncodedMethod lookupInvokeStaticTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):324:328 -> c
    6:8:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):614:614 -> c
    1:1:com.android.tools.r8.graph.DexClass getResolvedHolder():198:198 -> d
    2:2:com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):299:299 -> d
    3:3:boolean isSuperclass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):433:433 -> d
    3:3:com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):301 -> d
    4:5:com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):305:306 -> d
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult asSingleResolution() -> l
    1:1:com.android.tools.r8.graph.DexClassAndMethod getResolutionPair():220:220 -> m
    1:1:com.android.tools.r8.graph.DexEncodedMethod getResolvedMethod():208:208 -> n
    1:2:com.android.tools.r8.graph.ProgramMethod getResolvedProgramMethod():213:214 -> o
    boolean isSingleResolution() -> q
    1:1:boolean isVirtualTarget():261:261 -> r
com.android.tools.r8.graph.NamingLensComparable -> com.android.tools.r8.internal.gG:
    1:1:int compareToWithNamingLens(com.android.tools.r8.graph.NamingLensComparable,com.android.tools.r8.naming.NamingLens):13:13 -> a
    2:3:int com.android.tools.r8.utils.structural.CompareToVisitorWithNamingLens.run(java.lang.Object,java.lang.Object,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):23:24 -> a
    2:3:int compareToWithNamingLens(com.android.tools.r8.graph.NamingLensComparable,com.android.tools.r8.naming.NamingLens):13 -> a
com.android.tools.r8.graph.NestHostClassAttribute -> com.android.tools.r8.internal.nG:
    com.android.tools.r8.graph.DexType nestHost -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):21:22 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.NestHostClassAttribute):18:18 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):18:18 -> a
    3:3:com.android.tools.r8.graph.DexType getNestHost():26:26 -> a
    4:5:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):34:35 -> a
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():45:45 -> n
com.android.tools.r8.graph.NestMemberClassAttribute -> com.android.tools.r8.internal.oG:
    com.android.tools.r8.graph.DexType nestMember -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():15:15 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):23:24 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.NestMemberClassAttribute):20:20 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):20:20 -> a
    3:3:com.android.tools.r8.graph.DexType getNestMember():32:32 -> a
    4:5:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):36:37 -> a
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():47:47 -> n
com.android.tools.r8.graph.NestedGraphLens -> com.android.tools.r8.graph.Y2:
    boolean $assertionsDisabled -> m
    java.util.function.Function methodMap -> g
    com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap EMPTY_METHOD_MAP -> k
    com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap fieldMap -> f
    com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap EMPTY_FIELD_MAP -> j
    java.util.Map EMPTY_TYPE_MAP -> l
    com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap newMethodSignatures -> i
    java.util.Map typeMap -> h
    1:7:void <clinit>():29:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):68:68 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map):80:80 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap):89:93 -> <init>
    8:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap):90:90 -> <init>
    9:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.function.Function,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap):102:106 -> <init>
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod) -> a
    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) -> a
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):119:119 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):129:129 -> a
    3:3:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> a
    3:3:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):129 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):129:130 -> a
    6:6:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):138:138 -> a
    7:7:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    7:7:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):138 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):139:139 -> a
    9:19:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):190:200 -> a
    20:23:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):198:201 -> a
    24:24:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    24:24:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):202 -> a
    25:25:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReboundReference(com.android.tools.r8.graph.DexMember):108:108 -> a
    25:25:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):203 -> a
    26:26:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):206:206 -> a
    27:27:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):205:205 -> a
    28:33:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):204:209 -> a
    34:34:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):208:208 -> a
    35:54:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):207:226 -> a
    55:55:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    55:55:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):227 -> a
    56:58:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):228:230 -> a
    59:72: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):282:295 -> a
    73:76:void lambda$toString$0(java.lang.StringBuilder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):317:320 -> a
    77:78:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):324:325 -> a
    79:79:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":412,"2":413,"3":414}}
    412:412:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):325:325 -> a
    413:413:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):325:325 -> a
    414:414:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):325:325 -> a
    405:405:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):326:326 -> a
    406:411:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):323:328 -> a
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):124:124 -> b
    2:3:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):147:148 -> b
    4:12:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):158:166 -> b
    13:16:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):164:167 -> b
    17:17:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReboundReference(com.android.tools.r8.graph.DexMember):108:108 -> b
    17:17:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):168 -> b
    18:18:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> b
    18:18:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):169 -> b
    19:22:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):169:172 -> b
    23:30:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):171:178 -> b
    31:31:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> b
    31:31:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):179 -> b
    32:35:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):179:182 -> b
    36:38:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):181:183 -> b
    1:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):238:243 -> c
    1:1:com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType):153:153 -> d
    2:2:com.android.tools.r8.graph.DexField internalGetNextFieldSignature(com.android.tools.r8.graph.DexField):252:252 -> d
    3:3:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):307:307 -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):257:257 -> e
    2:2:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> e
    2:2:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):257 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):257:257 -> e
    1:1:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):114:114 -> f
    2:2:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):262:262 -> f
    3:3:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeValueOrDefault(java.lang.Object,java.lang.Object):29:29 -> f
    3:3:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):262 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):262:262 -> f
    1:1:boolean isContextFreeForMethods():302:302 -> g
    boolean isLegitimateToHaveEmptyMappings() -> n
    1:19:java.lang.String toString():313:331 -> toString
com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl -> com.android.tools.r8.graph.b3:
    java.util.Map classesWithAllocationSiteTracking -> a
    java.util.Set annotationsWithUnknownSubtypeHierarchy -> c
    java.util.Set interfacesWithUnknownSubtypeHierarchy -> d
    boolean $assertionsDisabled -> g
    java.util.Set classesWithoutAllocationSiteTracking -> b
    java.util.Map instantiatedLambdas -> e
    java.util.Map instantiatedHierarchy -> f
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):35:35 -> <init>
    2:2:void <init>():66:66 -> <init>
    3:29:void <init>():38:64 -> <init>
    void mutate(java.util.function.Consumer,com.android.tools.r8.graph.AppInfo) -> a
    1:1:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder builder(boolean,com.android.tools.r8.shaking.GraphReporter):71:71 -> a
    2:10:boolean hasInstantiatedStrictSubtype(com.android.tools.r8.graph.DexProgramClass):105:113 -> a
    11:11:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexType):129:129 -> a
    12:12:void forEachClassWithKnownAllocationSites(java.util.function.BiConsumer):135:135 -> a
    13:13:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):146:146 -> a
    14:14:boolean lambda$withoutPrunedItems$0(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.graph.DexEncodedMethod):158:158 -> a
    15:15:void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.graph.AppInfo):173:173 -> a
    16:17:com.android.tools.r8.utils.TraversalContinuation lambda$forEachInstantiatedSubType$1(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):176:177 -> a
    18:19:com.android.tools.r8.utils.TraversalContinuation lambda$forEachInstantiatedSubType$2(java.util.function.Consumer,com.android.tools.r8.ir.desugar.LambdaDescriptor):180:181 -> a
    20:67:com.android.tools.r8.utils.TraversalContinuation traverseInstantiatedSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Function,java.util.function.Function,com.android.tools.r8.graph.AppInfo):191:238 -> a
    68:72:void lambda$traverseInstantiatedSubtypes$3(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexType,java.util.Set):196:200 -> a
    73:73:java.util.Set getInstantiatedLambdaInterfaces():242:242 -> a
    74:89:void removeAllocationsForPrunedItems(com.android.tools.r8.graph.PrunedItems):251:266 -> a
    90:90:boolean lambda$removeAllocationsForPrunedItems$4(java.util.Set,java.util.Map$Entry):257:257 -> a
    91:91:boolean lambda$removeAllocationsForPrunedItems$5(java.util.Set,com.android.tools.r8.graph.DexProgramClass):259:259 -> a
    92:107:boolean verifyAllocatedTypesAreLive(java.util.Set,com.android.tools.r8.shaking.MissingClasses,com.android.tools.r8.graph.DexDefinitionSupplier):271:286 -> a
    108:108:boolean verifyAllocatedTypesAreLive(java.util.Set,com.android.tools.r8.shaking.MissingClasses,com.android.tools.r8.graph.DexDefinitionSupplier):284:284 -> a
    1:1:boolean isImmediateInterfaceOfInstantiatedLambda(com.android.tools.r8.graph.DexProgramClass):125:125 -> b
    2:13:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):150:161 -> b
    14:14:boolean lambda$removeAllocationsForPrunedItems$6(java.util.Set,com.android.tools.r8.graph.DexProgramClass):261:261 -> b
    1:8:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):85:92 -> c
    9:9:boolean lambda$removeAllocationsForPrunedItems$7(java.util.Set,com.android.tools.r8.graph.DexProgramClass):264:264 -> c
    1:1:boolean isInterfaceWithUnknownSubtypeHierarchy(com.android.tools.r8.graph.DexProgramClass):119:119 -> d
com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder -> com.android.tools.r8.graph.a3:
    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data data -> h
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():291:291 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):291:291 -> <init>
    2:3:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter):307:308 -> <init>
    1:1:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":520,"2":521,"3":522}}
    520:520:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):512:512 -> a
    521:521:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    521:521:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):512 -> a
    522:522:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    522:522:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):512 -> a
    514:519:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):513:518 -> a
    523:528:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl build(com.android.tools.r8.graph.DexDefinitionSupplier):312:317 -> a
    529:530:void mutate(java.util.function.Consumer,com.android.tools.r8.graph.AppInfo):324:325 -> a
    531:535: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):355:359 -> a
    536:543:boolean shouldTrackAllocationSitesForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiationReason):330:337 -> a
    536:543: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):360 -> a
    544:553: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):361:370 -> a
    554:554:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):377:377 -> a
    555:555:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    555:555:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):378 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    556:556:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    556:556:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):378 -> a
    557:559:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):378:380 -> a
    560:560:void recordInstantiatedLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfo):398:398 -> a
    561:563:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):417:419 -> a
    561:563:void recordInstantiatedLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfo):399 -> a
    564:564:void lambda$repopulateInstantiatedHierarchy$2(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):406:406 -> a
    565:567:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):417:419 -> a
    565:567:void lambda$repopulateInstantiatedHierarchy$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):413 -> a
    568:569:void injectInterfaces(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):425:426 -> a
    570:574:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClass):431:435 -> a
    575:586:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):441:452 -> a
    587:589:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):417:419 -> a
    587:589:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):453 -> a
    590:624:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):466:500 -> a
    625:625:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1136,"2":1137,"3":1138}}
    1136:1136:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):500:500 -> a
    1137:1137:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1137:1137:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):500 -> a
    1138:1138:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1138:1138:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):500 -> a
    1126:1135:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):501:510 -> a
    1139:1139:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):469:469 -> a
    1140:1140:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1617,"2":1618,"3":1619}}
    1617:1617:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):469:469 -> a
    1618:1618:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1618:1618:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):469 -> a
    1619:1619:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1619:1619:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):469 -> a
    1610:1616:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):470:476 -> a
    1620:1620:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):480:480 -> a
    1621:1621:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2119,"2":2120,"3":2121}}
    2119:2119:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):480:480 -> a
    2120:2120:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2120:2120:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):480 -> a
    2121:2121:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2121:2121:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):480 -> a
    2102:2114:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):481:493 -> a
    2115:2117:java.util.Set com.android.tools.r8.utils.LensUtils.rewrittenWithRenamedSignature(java.util.Set,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):19:21 -> a
    2115:2117:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):495 -> a
    2118:2118:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):494:494 -> a
    2122:2124:void lambda$validate$10(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):527:529 -> a
    2125:2130:void lambda$validate$12(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,java.util.List):539:544 -> a
    2131:2131:void lambda$validate$12(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,java.util.List):543:543 -> a
    2132:2134:void lambda$validate$13(com.android.tools.r8.graph.DexType,java.util.Set):552:554 -> a
    2135:2135:boolean isImmediateSuperType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):575:575 -> a
    2135:2135:void lambda$validate$13(com.android.tools.r8.graph.DexType,java.util.Set):554 -> a
    2136:2136:void lambda$validate$13(com.android.tools.r8.graph.DexType,java.util.Set):554:554 -> a
    2137:2138:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):562:563 -> a
    2139:2140:boolean typeIsInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):570:571 -> a
    2139:2140:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563 -> a
    2141:2141:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2142:2142:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2706,"2":2707,"3":2708,"4":2709,"5":2710}}
    2706:2706:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2707:2707:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2708:2708:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2709:2709:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2710:2710:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2705:2705:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    1:1:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):387:387 -> b
    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    2:2:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):388 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    3:3:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):388 -> b
    4:6:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):388:390 -> b
    7:7:java.util.List lambda$recordInstantiatedLambdaInterface$1(com.android.tools.r8.graph.DexType):398:398 -> b
    8:18:void repopulateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier):403:413 -> b
    19:19:void lambda$repopulateInstantiatedHierarchy$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):408:408 -> b
    1:1:void lambda$repopulateInstantiatedHierarchy$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):410:410 -> c
    2:27:boolean validate(com.android.tools.r8.graph.DexDefinitionSupplier):525:550 -> c
    1:3:void lambda$validate$11(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):533:535 -> d
    1:1:java.util.Set lambda$recordDirectAllocationSite$0(com.android.tools.r8.graph.DexProgramClass):364:364 -> e
    1:1:java.util.Set lambda$rewrittenWithLens$7(com.android.tools.r8.graph.DexProgramClass):493:493 -> f
    1:3:void markNoLongerInstantiated(com.android.tools.r8.graph.DexProgramClass):457:459 -> g
com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data -> com.android.tools.r8.graph.Z2:
    com.android.tools.r8.shaking.GraphReporter reporter -> b
    boolean trackAllocationSites -> a
    1:1:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):293:293 -> <init>
    2:4:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter):298:300 -> <init>
    1:1:boolean access$300(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):293:293 -> a
    1:1:com.android.tools.r8.shaking.GraphReporter access$400(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):293:293 -> b
com.android.tools.r8.graph.ObjectToOffsetMapping -> com.android.tools.r8.internal.aK:
    com.android.tools.r8.ir.conversion.LensCodeRewriterUtils lensCodeRewriter -> e
    boolean $assertionsDisabled -> p
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.utils.structural.CompareToVisitor compareToVisitor -> o
    int lazyDexStringsCount -> a
    com.android.tools.r8.graph.InitClassLens initClassLens -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap callSites -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap methodHandles -> m
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap fields -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap strings -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap types -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap methods -> i
    com.android.tools.r8.graph.DexProgramClass[] classes -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap protos -> g
    com.android.tools.r8.graph.DexString firstJumboString -> n
    com.android.tools.r8.graph.GraphLens graphLens -> c
    1:1:void <clinit>():28:28 -> <clinit>
    1:51:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,int,com.android.tools.r8.utils.Timing):70:120 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap access$000(com.android.tools.r8.graph.ObjectToOffsetMapping):28:28 -> a
    2:15:void computeAndReindexForLazyDexStrings(java.util.List):137:150 -> a
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap com.android.tools.r8.graph.ObjectToOffsetMapping.createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer):176:176 -> a
    16:16:void computeAndReindexForLazyDexStrings(java.util.List):150 -> a
    17:21:void computeAndReindexForLazyDexStrings(java.util.List):150:154 -> a
    22:22:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.ObjectToOffsetMapping.getFirstJumboString():322:322 -> a
    22:22:void computeAndReindexForLazyDexStrings(java.util.List):154 -> a
    23:23:void computeAndReindexForLazyDexStrings(java.util.List):154:154 -> a
    24:24:java.util.Comparator compare(com.android.tools.r8.utils.structural.CompareToVisitor):162:162 -> a
    25:25:int lambda$compare$0(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.StructuralItem):162:162 -> a
    26:26:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    27:27:void failOnOverflow(com.android.tools.r8.graph.DexItem):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":201,"2":202,"3":203}}
    201:201:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    202:202:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    203:203:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    198:198:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    199:199:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    199:199:void failOnOverflow(com.android.tools.r8.graph.DexItem):171 -> a
    200:200:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    204:204:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer):176:176 -> a
    205:206:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):184:185 -> a
    207:207:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>():176:176 -> a
    207:207:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):185 -> a
    208:210:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):188:190 -> a
    211:211:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>(int):167:167 -> a
    211:211:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):190 -> a
    212:218:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):191:197 -> a
    219:229:com.android.tools.r8.graph.DexProgramClass[] sortClasses(com.android.tools.r8.graph.AppInfo,java.util.Collection,com.android.tools.r8.naming.NamingLens):251:261 -> a
    230:232:int lambda$sortClasses$1(com.android.tools.r8.graph.ObjectToOffsetMapping$ProgramClassDepthsMemoized,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):256:258 -> a
    233:233:java.util.Collection keysOrEmpty(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):266:266 -> a
    234:234:com.android.tools.r8.graph.DexItemFactory dexItemFactory():270:270 -> a
    235:237:int getOffsetFor(com.android.tools.r8.graph.IndexedDexItem,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):335:337 -> a
    238:238:int getOffsetFor(com.android.tools.r8.graph.DexProto):342:342 -> a
    239:239:int getOffsetFor(com.android.tools.r8.graph.DexField):346:346 -> a
    240:240:int getOffsetFor(com.android.tools.r8.graph.DexMethod):350:350 -> a
    241:241:int getOffsetFor(com.android.tools.r8.graph.DexString):354:354 -> a
    242:242:int getOffsetFor(com.android.tools.r8.graph.DexCallSite):362:362 -> a
    243:243:int getOffsetFor(com.android.tools.r8.graph.DexMethodHandle):366:366 -> a
    244:244:com.android.tools.r8.graph.DexField getClinitField(com.android.tools.r8.graph.DexType):370:370 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap access$100(com.android.tools.r8.graph.ObjectToOffsetMapping):28:28 -> b
    2:3:void setFirstJumboString(com.android.tools.r8.graph.DexString):166:167 -> b
    4:4:java.util.Collection getCallSites():310:310 -> b
    5:5:int getOffsetFor(com.android.tools.r8.graph.DexType):358:358 -> b
    1:1:com.android.tools.r8.graph.DexProgramClass[] getClasses():290:290 -> c
    1:1:com.android.tools.r8.utils.structural.CompareToVisitor getCompareToVisitor():158:158 -> d
    1:1:java.util.Collection getFields():302:302 -> e
    1:1:com.android.tools.r8.graph.DexString getFirstJumboString():322:322 -> f
    1:3:com.android.tools.r8.graph.DexString getFirstString():326:328 -> g
    1:1:com.android.tools.r8.graph.GraphLens getGraphLens():274:274 -> h
    1:1:com.android.tools.r8.ir.conversion.LensCodeRewriterUtils getLensCodeRewriter():282:282 -> i
    1:1:java.util.Collection getMethodHandles():314:314 -> j
    1:1:java.util.Collection getMethods():286:286 -> k
    1:1:java.util.Collection getProtos():298:298 -> l
    1:1:java.util.Collection getStrings():306:306 -> m
    1:1:java.util.Collection getTypes():294:294 -> n
    1:1:boolean hasJumboStrings():318:318 -> o
com.android.tools.r8.graph.ObjectToOffsetMapping$1 -> com.android.tools.r8.internal.YJ:
    com.android.tools.r8.graph.ObjectToOffsetMapping val$mapping -> e
    1:1:void <init>(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.naming.NamingLens,java.util.function.ToIntFunction,java.util.function.ToIntFunction,com.android.tools.r8.graph.ObjectToOffsetMapping):121:121 -> <init>
    1:1:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):125:125 -> a
    2:4:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):130:130 -> a
com.android.tools.r8.graph.ObjectToOffsetMapping$ProgramClassDepthsMemoized -> com.android.tools.r8.internal.ZJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap depthOfClasses -> b
    com.android.tools.r8.graph.AppInfo appInfo -> a
    1:1:void <init>(com.android.tools.r8.graph.AppInfo):214:214 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppInfo):212:216 -> <init>
    1:12:int getDepth(com.android.tools.r8.graph.DexProgramClass):220:231 -> a
    13:13:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    13:13:int getDepth(com.android.tools.r8.graph.DexProgramClass):231 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    14:14:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    14:14:int getDepth(com.android.tools.r8.graph.DexProgramClass):231 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    15:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    15:15:int getDepth(com.android.tools.r8.graph.DexProgramClass):231 -> a
    16:20:int getDepth(com.android.tools.r8.graph.DexProgramClass):233:237 -> a
    21:21:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    21:21:int getDepth(com.android.tools.r8.graph.DexProgramClass):237 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    22:22:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    22:22:int getDepth(com.android.tools.r8.graph.DexProgramClass):237 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    23:23:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    23:23:int getDepth(com.android.tools.r8.graph.DexProgramClass):237 -> a
    24:27:int getDepth(com.android.tools.r8.graph.DexProgramClass):238:241 -> a
com.android.tools.r8.graph.OffsetToObjectMapping -> com.android.tools.r8.internal.jK:
    com.android.tools.r8.graph.DexProto[] protos -> c
    com.android.tools.r8.graph.DexMethodHandle[] methodHandles -> h
    boolean $assertionsDisabled -> i
    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
    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
    3:4:com.android.tools.r8.graph.DexField getField(int):113:114 -> a
    5:6:void setProto(int,com.android.tools.r8.graph.DexProto):143:144 -> a
    7:8:void setMethod(int,com.android.tools.r8.graph.DexMethod):148:149 -> a
    9:10:void setField(int,com.android.tools.r8.graph.DexField):153:154 -> a
    11:12:void setType(int,com.android.tools.r8.graph.DexType):158:159 -> a
    13:14:void setString(int,com.android.tools.r8.graph.DexString):163:164 -> a
    15:16:void setCallSites(int,com.android.tools.r8.graph.DexCallSite):168:169 -> a
    17:18:void setMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):173:174 -> a
    1:2:com.android.tools.r8.graph.DexField[] getFieldMap():73:74 -> b
    3:4:com.android.tools.r8.graph.DexMethod getMethod(int):103:104 -> b
    1:2:com.android.tools.r8.graph.DexMethodHandle[] getMethodHandleMap():93:94 -> c
    3:4:com.android.tools.r8.graph.DexMethodHandle getMethodHandle(int):133:134 -> c
    1:2:com.android.tools.r8.graph.DexMethod[] getMethodMap():63:64 -> d
    3:4:com.android.tools.r8.graph.DexProto getProto(int):108:109 -> d
    1:2:com.android.tools.r8.graph.DexProto[] getProtosMap():68:69 -> e
    3:4:com.android.tools.r8.graph.DexString getString(int):123:124 -> e
    1:2:com.android.tools.r8.graph.DexString[] getStringMap():83:84 -> f
    3:4:com.android.tools.r8.graph.DexType getType(int):118:119 -> f
    1:2:void initializeCallSites(int):48:49 -> g
    3:4:com.android.tools.r8.graph.DexType[] getTypeMap():78:79 -> g
    1:2:void initializeClasses(int):18:19 -> h
    1:2:void initializeFields(int):33:34 -> i
    1:2:void initializeMethodHandles(int):53:54 -> j
    1:2:void initializeMethods(int):23:24 -> k
    1:2:void initializeProtos(int):28:29 -> l
    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.c3:
    com.android.tools.r8.graph.ParameterAnnotationsList EMPTY_PARAMETER_ANNOTATIONS_LIST -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexAnnotationSet[] values -> b
    int missingParameterAnnotations -> c
    1:4:void <clinit>():41:44 -> <clinit>
    1:3:void <init>():58:60 -> <init>
    4:9:void <init>(com.android.tools.r8.graph.DexAnnotationSet[],int):63:68 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexAnnotationSet[] lambda$specify$0(com.android.tools.r8.graph.ParameterAnnotationsList):51:51 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):51:51 -> a
    3:3:com.android.tools.r8.graph.ParameterAnnotationsList create(com.android.tools.r8.graph.DexAnnotationSet[],int):77:77 -> a
    4:4:boolean com.android.tools.r8.utils.ArrayUtils.isEmpty(java.lang.Object[]):51:51 -> a
    4:4:com.android.tools.r8.graph.ParameterAnnotationsList create(com.android.tools.r8.graph.DexAnnotationSet[],int):77 -> a
    5:7:com.android.tools.r8.graph.ParameterAnnotationsList create(com.android.tools.r8.graph.DexAnnotationSet[],int):77:79 -> a
    8:8:com.android.tools.r8.graph.ParameterAnnotationsList empty():55:55 -> a
    8:8:com.android.tools.r8.graph.ParameterAnnotationsList create(com.android.tools.r8.graph.DexAnnotationSet[],int):78 -> a
    9:10:boolean isAllEmpty(com.android.tools.r8.graph.DexAnnotationSet[]):83:84 -> a
    11:11:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):123:123 -> a
    12:12:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    12:12:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):124 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    13:13:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):124 -> a
    14:14:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    14:14:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):124 -> a
    15:15:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    15:15:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    15:15:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):124 -> a
    16:17:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):131:132 -> a
    18:19:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):226:227 -> a
    20:20:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.keepIf(java.util.function.Predicate):200:200 -> a
    20:20:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):227 -> a
    21:27:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):228:234 -> a
    28:28:com.android.tools.r8.graph.ParameterAnnotationsList empty():55:55 -> a
    28:28:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):242 -> a
    29:29:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):244:244 -> a
    30:37:com.android.tools.r8.graph.ParameterAnnotationsList rewrite(java.util.function.Function):248:255 -> a
    38:38:com.android.tools.r8.graph.DexAnnotationSet lambda$rewrite$2(java.util.function.Function,com.android.tools.r8.graph.DexAnnotationSet):253:253 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.ParameterAnnotationsList):51:51 -> b
    1:3:void forEachAnnotation(java.util.function.Consumer):141:143 -> d
    1:3:boolean equals(java.lang.Object):115:117 -> equals
    1:5:com.android.tools.r8.graph.DexAnnotationSet get(int):184:188 -> h
    1:1:int hashCode():107:107 -> hashCode
    1:2:boolean isMissing(int):171:172 -> i
    1:1:boolean isEmpty():136:136 -> isEmpty
    1:13:com.android.tools.r8.graph.ParameterAnnotationsList withParameterCount(int):193:205 -> j
    1:1:int countNonMissing():161:161 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():98:98 -> n
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList empty():55:55 -> n0
    1:7:com.android.tools.r8.graph.ParameterAnnotationsList withFakeThisParameter():210:216 -> o0
    1:1:int size():153:153 -> size
com.android.tools.r8.graph.PinnedPredicate -> com.android.tools.r8.internal.AL:
    boolean isPinned(com.android.tools.r8.graph.DexDefinition) -> a
com.android.tools.r8.graph.ProgramClassVisitor -> com.android.tools.r8.internal.BM:
    com.android.tools.r8.graph.DexApplication application -> a
    java.util.Set visited -> b
    1:1:void <init>(com.android.tools.r8.graph.DexApplication):32:32 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexApplication):30:33 -> <init>
    1:4:void accept(com.android.tools.r8.graph.DexClass):56:59 -> a
    5:14:void com.android.tools.r8.graph.ProgramClassVisitor.accept(com.android.tools.r8.graph.DexType):37:46 -> a
    5:14:void accept(com.android.tools.r8.graph.DexClass):59 -> a
    15:15:void accept(com.android.tools.r8.graph.DexClass):60:60 -> a
    16:16:void com.android.tools.r8.graph.ProgramClassVisitor.accept(com.android.tools.r8.graph.DexTypeList):50:50 -> a
    16:16:void accept(com.android.tools.r8.graph.DexClass):60 -> a
    17:26:void com.android.tools.r8.graph.ProgramClassVisitor.accept(com.android.tools.r8.graph.DexType):37:46 -> a
    17:26:void com.android.tools.r8.graph.ProgramClassVisitor.accept(com.android.tools.r8.graph.DexTypeList):51 -> a
    17:26:void accept(com.android.tools.r8.graph.DexClass):60 -> a
    27:28:void accept(com.android.tools.r8.graph.DexClass):61:62 -> a
    29:30:void run(com.android.tools.r8.graph.DexProgramClass[]):66:67 -> a
    void visit(com.android.tools.r8.graph.DexClass) -> b
com.android.tools.r8.graph.ProgramDefinition -> com.android.tools.r8.internal.DM:
    com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext) -> a
    com.android.tools.r8.graph.DexProgramClass getContextClass() -> a
    1:1:com.android.tools.r8.graph.DexClass getContextClass():11:11 -> a
    2:2:void rewriteAllAnnotations(java.util.function.BiFunction):43:43 -> a
    com.android.tools.r8.graph.ProgramMethod asMethod() -> c
    1:1:com.android.tools.r8.graph.DexClassAndMethod asMethod():11:11 -> c
    com.android.tools.r8.graph.ProgramField asField() -> d
    1:1:com.android.tools.r8.graph.DexClassAndField asField():11:11 -> d
    com.android.tools.r8.graph.ProgramDefinition asProgramDefinition() -> e
    boolean isProgramDefinition() -> f
    1:1:void clearAllAnnotations():38:38 -> z
com.android.tools.r8.graph.ProgramDerivedContext -> com.android.tools.r8.internal.EM:
    1:1:boolean isProgramContext():12:12 -> B
com.android.tools.r8.graph.ProgramDexCode -> com.android.tools.r8.internal.FM:
    com.android.tools.r8.graph.DexWritableCode code -> a
    com.android.tools.r8.graph.ProgramMethod method -> b
    1:3:void <init>(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):12:14 -> <init>
    1:1:com.android.tools.r8.graph.DexWritableCode getCode():18:18 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getMethod():22:22 -> b
com.android.tools.r8.graph.ProgramField -> com.android.tools.r8.graph.d3:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():10:10 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):14:14 -> <init>
    com.android.tools.r8.graph.ProgramMember asProgramMember() -> Q
    com.android.tools.r8.graph.ProgramField asProgramField() -> X
    1:1:com.android.tools.r8.graph.DexProgramClass getContextClass():37:37 -> a
    1:1:com.android.tools.r8.graph.DexClass getContextClass():10 -> a
    2:2:com.android.tools.r8.graph.DexProgramClass getContextClass():37:37 -> a
    1:3:com.android.tools.r8.graph.DexProgramClass getHolder():67:69 -> b
    com.android.tools.r8.graph.DexClassAndField asField() -> d
    com.android.tools.r8.graph.ProgramField asField() -> d
    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():74:74 -> d0
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():10 -> d0
    1:1:com.android.tools.r8.graph.DexClass getHolder():10:10 -> q
com.android.tools.r8.graph.ProgramMember -> com.android.tools.r8.internal.IM:
    com.android.tools.r8.graph.DexProgramClass getHolder() -> b
    com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo() -> d0
    com.android.tools.r8.graph.DexEncodedMember getDefinition() -> i
    1:1:void clearGenericSignature():27:27 -> v
com.android.tools.r8.graph.ProgramMethod -> com.android.tools.r8.graph.e3:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):26:26 -> <init>
    com.android.tools.r8.graph.ProgramMethod asProgramMethod() -> I
    com.android.tools.r8.graph.ProgramMember asProgramMember() -> Q
    1:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.AppView):30:31 -> a
    3:6:void registerCodeReferences(com.android.tools.r8.graph.UseRegistry):114:117 -> a
    7:7:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    7:7:void registerCodeReferences(com.android.tools.r8.graph.UseRegistry):117 -> a
    8:8:void registerCodeReferences(com.android.tools.r8.graph.UseRegistry):119:119 -> a
    9:9:com.android.tools.r8.graph.DexProgramClass getContextClass():135:135 -> a
    9:9:com.android.tools.r8.graph.DexClass getContextClass():22 -> a
    10:10:com.android.tools.r8.graph.DexProgramClass getContextClass():135:135 -> a
    1:8:boolean canBeConvertedToAbstractMethod(com.android.tools.r8.graph.AppView):73:80 -> b
    9:11:com.android.tools.r8.graph.DexProgramClass getHolder():165:167 -> b
    boolean isProgramMember() -> b0
    com.android.tools.r8.graph.DexClassAndMethod asMethod() -> c
    com.android.tools.r8.graph.ProgramMethod asMethod() -> c
    1:4:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):90:93 -> c
    5:5:void com.android.tools.r8.graph.MethodAccessFlags.demoteFromStrict():212:212 -> c
    5:5:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):94 -> c
    6:6:void com.android.tools.r8.graph.MethodAccessFlags.demoteFromSynchronized():136:136 -> c
    6:6:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):95 -> c
    7:7:void com.android.tools.r8.graph.AccessFlags.promote(int):290:290 -> c
    7:7:void com.android.tools.r8.graph.MethodAccessFlags.promoteToAbstract():196 -> c
    7:7:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):96 -> c
    8:10:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):97:99 -> c
    11:30:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForAbstractMethod(com.android.tools.r8.graph.ProgramMethod):123:142 -> c
    11:30:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):99 -> c
    1:2:void convertToAbstractOrThrowNullMethod(com.android.tools.r8.graph.AppView):84:85 -> d
    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():172:172 -> d0
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():22 -> d0
    1:1:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):105:105 -> e
    2:2:void com.android.tools.r8.graph.MethodAccessFlags.demoteFromAbstract():192:192 -> e
    2:2:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):106 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:5:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):107:109 -> e
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):137:137 -> e
    6:6:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):109 -> e
    7:7:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110:110 -> e
    8:8:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):147:147 -> e
    8:8:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:28:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForAbstractMethod(com.android.tools.r8.graph.ProgramMethod):123:142 -> e
    9:28:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):147 -> e
    9:28:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    29:31:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):148:150 -> e
    29:31:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
    32:34:java.util.BitSet com.android.tools.r8.utils.BitSetUtils.createFilled(boolean,int):12:14 -> e
    32:34:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):150 -> e
    32:34:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
    35:35:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):149:149 -> e
    35:35:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
    1:1:com.android.tools.r8.graph.DexClass getHolder():22:22 -> q
com.android.tools.r8.graph.ProgramOrClasspathClass -> com.android.tools.r8.internal.OM:
com.android.tools.r8.graph.ProgramPackage -> com.android.tools.r8.internal.PM:
    java.util.Set classes -> c
    java.lang.String packageDescriptor -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():15:15 -> <clinit>
    1:3:void <init>(java.lang.String,java.util.function.Supplier):25:27 -> <init>
    1:2:boolean add(com.android.tools.r8.graph.DexProgramClass):31:32 -> a
    3:3:void forEachField(java.util.function.Consumer):60:60 -> a
    4:4:java.util.Set classesInPackage():68:68 -> a
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    5:5:void lambda$forEachField$0(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):60 -> a
    6:6:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    6:6:void lambda$forEachField$0(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean contains(com.android.tools.r8.graph.DexProgramClass):36:36 -> b
    2:2:java.lang.String getPackageDescriptor():48:48 -> b
    3:3:void forEachMethod(java.util.function.Consumer):64:64 -> b
    4:4:void lambda$forEachMethod$1(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):64:64 -> b
    1:1:java.lang.String getPackageName():52:52 -> c
    1:1:java.util.Iterator iterator():73:73 -> iterator
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():78:78 -> toString
    5:5:java.lang.String toString():78:78 -> toString
    6:6:java.lang.String toString():78:78 -> toString
    2:2:java.lang.String com.android.tools.r8.graph.ProgramPackage.getPackageName():52:52 -> toString
    2:2:java.lang.String toString():78 -> toString
    3:3:java.lang.String toString():78:78 -> toString
com.android.tools.r8.graph.ProgramPackageCollection -> com.android.tools.r8.internal.QM:
    java.util.Map packages -> b
    1:2:void <init>(java.util.Map):15:16 -> <init>
    1:1:java.util.Iterator iterator():49:49 -> iterator
com.android.tools.r8.graph.PrunedItems -> com.android.tools.r8.internal.sP:
    com.android.tools.r8.graph.DexApplication prunedApp -> a
    java.util.Set noLongerSyntheticItems -> c
    java.util.Set removedClasses -> d
    java.util.Set removedFields -> e
    java.util.Set removedMethods -> f
    java.util.Set additionalPinnedItems -> b
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.graph.PrunedItems$1):11:11 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.DexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set):26:32 -> <init>
    1:1:com.android.tools.r8.graph.PrunedItems$Builder builder():36:36 -> a
    2:2:com.android.tools.r8.graph.PrunedItems empty(com.android.tools.r8.graph.DexApplication):44:44 -> a
    3:3:boolean isRemoved(com.android.tools.r8.graph.DexField):55:55 -> a
    4:4:boolean isRemoved(com.android.tools.r8.graph.DexMethod):59:59 -> a
    5:5:boolean isRemoved(com.android.tools.r8.graph.DexReference):63:63 -> a
    6:6:boolean isRemoved(com.android.tools.r8.graph.DexType):67:67 -> a
    1:1:java.util.Set getAdditionalPinnedItems():75:75 -> b
    1:1:java.util.Set getNoLongerSyntheticItems():79:79 -> c
    1:1:com.android.tools.r8.graph.DexApplication getPrunedApp():71:71 -> d
    1:1:java.util.Set getRemovedClasses():99:99 -> e
    1:1:java.util.Set getRemovedFields():103:103 -> f
    1:1:java.util.Set getRemovedMethods():107:107 -> g
    1:1:boolean hasRemovedClasses():83:83 -> h
    1:1:boolean hasRemovedFields():87:87 -> i
    1:1:boolean hasRemovedMembers():91:91 -> j
    1:1:boolean hasRemovedMethods():95:95 -> k
    1:4:boolean isEmpty():48:51 -> l
    1:1:com.android.tools.r8.graph.PrunedItems$Builder toBuilder():40:40 -> m
com.android.tools.r8.graph.PrunedItems$Builder -> com.android.tools.r8.internal.rP:
    com.android.tools.r8.graph.DexApplication prunedApp -> a
    java.util.Set noLongerSyntheticItems -> c
    java.util.Set removedClasses -> d
    java.util.Set removedFields -> e
    java.util.Set removedMethods -> f
    java.util.Set additionalPinnedItems -> b
    1:1:void <init>():120:120 -> <init>
    2:6:void <init>():114:118 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.PrunedItems):122:122 -> <init>
    8:22:void <init>(com.android.tools.r8.graph.PrunedItems):114:128 -> <init>
    1:1:com.android.tools.r8.graph.PrunedItems$Builder setPrunedApp(com.android.tools.r8.graph.DexApplication):132:132 -> a
    2:2:com.android.tools.r8.graph.PrunedItems$Builder addAdditionalPinnedItems(java.util.Collection):138:138 -> a
    3:4:com.android.tools.r8.graph.PrunedItems$Builder addRemovedClass(com.android.tools.r8.graph.DexType):148:149 -> a
    5:6:com.android.tools.r8.graph.PrunedItems$Builder addRemovedClasses(java.util.Set):154:155 -> a
    7:7:com.android.tools.r8.graph.PrunedItems$Builder addRemovedField(com.android.tools.r8.graph.DexField):160:160 -> a
    8:8:com.android.tools.r8.graph.PrunedItems$Builder addRemovedMethod(com.android.tools.r8.graph.DexMethod):165:165 -> a
    9:9:com.android.tools.r8.graph.PrunedItems build():180:180 -> a
    1:1:com.android.tools.r8.graph.PrunedItems$Builder setRemovedClasses(java.util.Set):170:170 -> b
    1:1:com.android.tools.r8.graph.PrunedItems$Builder setRemovedMethods(java.util.Set):175:175 -> c
com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer -> com.android.tools.r8.internal.xT:
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription prototypeChanges -> a
    1:1:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer.<init>():18:18 -> <init>
    1:1:void <init>(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):29 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):30:30 -> <init>
    1:1:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    1:1:java.util.BitSet fixupArgumentInfo(java.util.BitSet):162 -> a
    2:8:java.util.BitSet fixupArgumentInfo(java.util.BitSet):162:168 -> a
    9:9:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    9:9:java.util.BitSet fixupArgumentInfo(java.util.BitSet):171 -> a
    10:11:java.util.BitSet fixupArgumentInfo(java.util.BitSet):171:172 -> a
    12:12:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    12:12:java.util.BitSet fixupArgumentInfo(java.util.BitSet):172 -> a
    13:13:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    13:13:java.util.BitSet fixupArgumentInfo(java.util.BitSet):175 -> a
    14:16:java.util.BitSet fixupArgumentInfo(java.util.BitSet):175:177 -> a
    17:17:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    17:17:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo fixupBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo):43 -> a
    18:18:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo fixupBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo):43:43 -> a
    19:19:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    19:19:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):70 -> a
    20:20:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):70:70 -> a
    21:21:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    21:21:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):74 -> a
    22:22:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):73:73 -> a
    23:23:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    23:23:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):84 -> a
    24:24:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):84:84 -> a
    25:25:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    25:25:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):87 -> a
    26:26:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):87:87 -> a
    27:27:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    27:27:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):98 -> a
    28:28:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):98:98 -> a
    29:29:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    29:29:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):102 -> a
    30:30:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):101:101 -> a
    31:31:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    31:31:int fixupReturnedArgumentIndex(int):129 -> a
    32:32:int fixupReturnedArgumentIndex(int):129:129 -> a
    33:33:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    33:33:int fixupReturnedArgumentIndex(int):132 -> a
    34:34:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    34:34:int fixupReturnedArgumentIndex(int):132 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    35:35:int fixupReturnedArgumentIndex(int):132 -> a
    36:36:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    36:36:int fixupReturnedArgumentIndex(int):134 -> a
    37:37:int fixupReturnedArgumentIndex(int):134:134 -> a
    38:38:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    38:38:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):146 -> a
    39:39:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):146:146 -> a
    40:40:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    40:40:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):149 -> a
    41:41:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):149:149 -> a
    42:45:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupCallSiteOptimizationInfo(com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):56:59 -> a
    1:1:java.util.BitSet fixupNonNullParamOnNormalExits(java.util.BitSet):111:111 -> b
    1:1:java.util.BitSet fixupNonNullParamOrThrow(java.util.BitSet):120:120 -> c
    1:1:java.util.BitSet fixupUnusedArguments(java.util.BitSet):158:158 -> d
com.android.tools.r8.graph.SmaliWriter -> com.android.tools.r8.internal.UU:
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions):21:21 -> <init>
    void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream) -> a
    1:10:java.lang.String smali(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):26:35 -> a
    11:17:java.lang.String smali(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):27:33 -> a
    18:18:java.lang.String getFileEnding():40:40 -> a
    19:21:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):71:73 -> a
    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.SortedProgramPackage -> com.android.tools.r8.internal.dV:
    1:1:void <init>(java.lang.String):12:12 -> <init>
    1:1:int lambda$new$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):12:12 -> a
    1:1:java.util.Set lambda$new$1():12:12 -> d
com.android.tools.r8.graph.SortedProgramPackageCollection -> com.android.tools.r8.internal.eV:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:4:com.android.tools.r8.graph.SortedProgramPackageCollection createWithAllProgramClasses(com.android.tools.r8.graph.AppView):16:19 -> a
    5:7:boolean addProgramClass(com.android.tools.r8.graph.DexProgramClass):26:28 -> a
com.android.tools.r8.graph.SubtypingInfo -> com.android.tools.r8.graph.g3:
    java.util.Map subtypeMap -> a
    java.util.Map typeInfo -> b
    com.android.tools.r8.graph.DexItemFactory factory -> c
    java.util.Set NO_DIRECT_SUBTYPE -> d
    boolean $assertionsDisabled -> e
    1:8:void <clinit>():22:29 -> <clinit>
    1:4:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory):40:43 -> <init>
    1:1:java.util.Set access$000():22:22 -> a
    2:2:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppView):47:47 -> a
    3:6:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppInfoWithClassHierarchy):51:54 -> a
    7:7:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):434:434 -> a
    7:7:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppInfoWithClassHierarchy):53 -> a
    8:8:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppInfoWithClassHierarchy):52:52 -> a
    9:12:com.android.tools.r8.graph.SubtypingInfo create(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):60:63 -> a
    13:13:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> a
    13:13:java.lang.Iterable allImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType):206 -> a
    14:21:java.lang.Iterable allImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType):207:214 -> a
    22:23:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType,java.util.Map):86:87 -> a
    24:45:void populateAllSuperTypes(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):96:117 -> a
    46:51:void lambda$populateAllSuperTypes$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.SubtypingInfo$TypeInfo,com.android.tools.r8.graph.DexType,java.lang.Boolean):102:107 -> a
    52:57:void populateSubtypeMap(java.lang.Iterable,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):127:132 -> a
    58:92:boolean validateLevelsAreCorrect(java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):137:171 -> a
    58:92:void populateSubtypeMap(java.lang.Iterable,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):132 -> a
    93:93:java.util.Set lambda$populateSubtypeMap$2(com.android.tools.r8.graph.DexType,java.util.Set):131:131 -> a
    94:94:void forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    95:95:void forAllInterfaceRoots(java.util.function.Consumer):238:238 -> a
    96:96:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> a
    96:96:void forAllInterfaceRoots(java.util.function.Consumer):239 -> a
    97:97:void forAllInterfaceRoots(java.util.function.Consumer):239:239 -> a
    98:101:void forAllInterfaceRoots(java.util.function.Consumer):238:241 -> a
    1:4:void populateSuperType(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):73:76 -> b
    5:5:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> b
    5:5:java.lang.Iterable allImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType):230 -> b
    6:9:java.lang.Iterable allImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType):231:234 -> b
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> c
    1:1:java.util.Set allImmediateSubtypes(com.android.tools.r8.graph.DexType):334 -> c
    2:2:java.util.Set allImmediateSubtypes(com.android.tools.r8.graph.DexType):334:334 -> c
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> d
    1:1:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):185 -> d
    2:4:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):186:188 -> d
    5:5:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779:779 -> d
    5:5:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):188 -> d
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.getNext(java.util.Iterator,java.lang.Object):845:845 -> d
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779 -> d
    6:6:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):188 -> d
    7:7:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):188:188 -> d
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> e
    1:1:boolean lambda$allImmediateExtendsSubtypes$3(com.android.tools.r8.graph.DexType):209 -> e
    2:2:boolean lambda$allImmediateExtendsSubtypes$3(com.android.tools.r8.graph.DexType):209:209 -> e
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> f
    1:1:boolean lambda$allImmediateExtendsSubtypes$4(com.android.tools.r8.graph.DexType):212 -> f
    2:2:boolean lambda$allImmediateExtendsSubtypes$4(com.android.tools.r8.graph.DexType):212:212 -> f
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> g
    1:1:boolean lambda$allImmediateImplementsSubtypes$5(com.android.tools.r8.graph.DexType):232 -> g
    2:2:boolean lambda$allImmediateImplementsSubtypes$5(com.android.tools.r8.graph.DexType):232:232 -> g
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> h
    1:1:boolean lambda$forAllInterfaceRoots$6(com.android.tools.r8.graph.DexType):240 -> h
    2:2:boolean lambda$forAllInterfaceRoots$6(com.android.tools.r8.graph.DexType):240:240 -> h
    1:1:java.util.Set lambda$populateSuperType$0(com.android.tools.r8.graph.DexType):73:73 -> i
    1:3:java.util.Set subtypes(com.android.tools.r8.graph.DexType):179:181 -> j
com.android.tools.r8.graph.SubtypingInfo$TypeInfo -> com.android.tools.r8.graph.f3:
    java.util.Set directSubtypes -> c
    com.android.tools.r8.graph.DexType type -> a
    int hierarchyLevel -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():244:244 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType):255:255 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.DexType):248:256 -> <init>
    1:2:void ensureDirectSubTypeSet():279:280 -> a
    3:13:void setLevel(int):285:295 -> a
    14:17:void addDirectSubtype(com.android.tools.r8.graph.SubtypingInfo$TypeInfo):300:303 -> a
    18:20:void addInterfaceSubtype(com.android.tools.r8.graph.DexType):327:329 -> a
    1:3:boolean isInterface():315:317 -> b
    1:1:void tagAsInterface():311:311 -> c
    1:1:void tagAsSubtypeRoot():307:307 -> d
    1:5:boolean equals(java.lang.Object):266:270 -> equals
    1:1:int hashCode():261:261 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":278,"2":279,"3":280}}
    278:278:java.lang.String toString():275:275 -> toString
    279:279:java.lang.String toString():275:275 -> toString
    280:280:java.lang.String toString():275:275 -> toString
    276:276:java.lang.String toString():275:275 -> toString
    277:277:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":278,"2":279,"3":280}}
    278:278:java.lang.String toString():275:275 -> toString
    279:279:java.lang.String toString():275:275 -> toString
    280:280:java.lang.String toString():275:275 -> toString
com.android.tools.r8.graph.SuccessfulMemberResolutionResult -> com.android.tools.r8.internal.iX:
    com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
    com.android.tools.r8.graph.DexEncodedMember getResolvedMember() -> b
    com.android.tools.r8.graph.DexClassAndMember getResolutionPair() -> c
    com.android.tools.r8.graph.DexClass getResolvedHolder() -> d
com.android.tools.r8.graph.ThrowExceptionCode -> com.android.tools.r8.graph.h3:
    com.android.tools.r8.graph.DexType exceptionType -> d
    1:2:void <init>(com.android.tools.r8.graph.DexType):31:32 -> <init>
    com.android.tools.r8.graph.Code asCode() -> R
    com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> S
    int getOutgoingRegisterSize() -> U
    int codeSizeInBytes() -> Z
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    int getRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean) -> a
    void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep) -> a
    1:1:com.android.tools.r8.graph.ThrowExceptionCode create(com.android.tools.r8.graph.DexType):36:36 -> a
    2:3:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):46:47 -> a
    4:4: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):52:52 -> a
    5:5: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):65:65 -> a
    6:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80:81 -> a
    8:8:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    9:9:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    10:10:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    10:10:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    10:10:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    11:11:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):184:184 -> a
    12:12:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):189:189 -> a
    13:20:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):214:221 -> a
    21:21:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):236:236 -> a
    int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> b
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    1:5:boolean computeEquals(java.lang.Object):100:104 -> h
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():114:114 -> m
    1:1:int computeHashCode():92:92 -> m0
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():149:149 -> o
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> o0
    int estimatedDexCodeSizeUpperBoundInBytes() -> q0
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():124:124 -> s
    1:1:java.lang.String toString():231:231 -> toString
    com.android.tools.r8.graph.DexString getHighestSortingString() -> u
    boolean isDexWritableCode() -> v0
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> w
    boolean isSharedCodeObject() -> x0
com.android.tools.r8.graph.ThrowNullCode -> com.android.tools.r8.graph.j3:
    com.android.tools.r8.graph.ThrowNullCode INSTANCE -> d
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> O
    com.android.tools.r8.graph.Code asCode() -> R
    int getOutgoingRegisterSize() -> U
    int codeSizeInBytes() -> Z
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry) -> a
    void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry) -> a
    com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean) -> a
    void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep) -> a
    1:1:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):51:51 -> a
    2:2: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):56:56 -> a
    3:3:void com.android.tools.r8.graph.ThrowNullCode$ThrowNullSourceCode.<init>(com.android.tools.r8.graph.ProgramMethod):270:270 -> a
    3:3: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):56 -> a
    4:4: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):57:57 -> a
    5:8: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):70:73 -> a
    9:11:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):141:143 -> a
    9:11:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):137 -> a
    9:11:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):155 -> a
    12:12:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):155:155 -> a
    13:14:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):234:235 -> a
    15:17:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):141:143 -> a
    15:17:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):237 -> a
    18:18:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):237:237 -> a
    19:20:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):248:249 -> a
    21:21:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):264:264 -> a
    1:3:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):141:143 -> b
    1:3:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):137 -> b
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    boolean computeEquals(java.lang.Object) -> h
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():117:117 -> m
    1:1:int computeHashCode():97:97 -> m0
    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> n0
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():160:160 -> o
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> o0
    int estimatedDexCodeSizeUpperBoundInBytes() -> q0
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():127:127 -> s
    boolean isCfWritableCode() -> t0
    1:1:java.lang.String toString():259:259 -> toString
    com.android.tools.r8.graph.DexString getHighestSortingString() -> u
    boolean isDexWritableCode() -> v0
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> w
    boolean isSharedCodeObject() -> x0
    1:1:com.android.tools.r8.graph.ThrowNullCode get():41:41 -> z0
com.android.tools.r8.graph.ThrowNullCode$ThrowNullSourceCode -> com.android.tools.r8.graph.i3:
    1:6:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):275:280 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):274:274 -> <init>
    1:1:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):284:284 -> d
    2:2:void com.android.tools.r8.ir.conversion.IRBuilder.addNullConst(int):1211:1211 -> d
    2:2:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):284 -> d
    1:1:void lambda$getInstructionBuilders$1(com.android.tools.r8.ir.conversion.IRBuilder):284:284 -> e
    1:1:java.util.List getInstructionBuilders():284:284 -> f
com.android.tools.r8.graph.ThrowingInitClassLens -> com.android.tools.r8.internal.ZX:
    com.android.tools.r8.graph.ThrowingInitClassLens INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.graph.InitClassLens rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    2:2:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":25,"2":26,"3":27}}
    25:25:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    26:26:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    27:27:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    3:3:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":28,"2":29,"3":30,"4":31}}
    28:28:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    29:29:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    30:30:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    31:31:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    24:24:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    1:1:com.android.tools.r8.graph.ThrowingInitClassLens getInstance():16:16 -> c
com.android.tools.r8.graph.TopDownClassHierarchyTraversal -> com.android.tools.r8.internal.tY:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):14:14 -> <init>
    1:1:com.android.tools.r8.graph.TopDownClassHierarchyTraversal forAllClasses(com.android.tools.r8.graph.AppView):23:23 -> a
    2:3:com.android.tools.r8.graph.ClassHierarchyTraversal com.android.tools.r8.graph.ClassHierarchyTraversal.excludeInterfaces():60:61 -> a
    2:3:com.android.tools.r8.graph.ClassHierarchyTraversal excludeInterfaces():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:12:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):61:69 -> a
    13:13:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):25:25 -> a
    13:13:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):39:39 -> a
    27:27:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    28:28:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):36:36 -> a
    28:28:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    29:29:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):33:33 -> a
    29:29:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    30:30:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    30:30:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):33 -> a
    30:30:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    31:31:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    31:31:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):33 -> a
    31:31:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    32:32:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):30:30 -> a
    32:32:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    33:33:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    33:33:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):30 -> a
    33:33:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    34:39:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):72:77 -> a
    40:49:boolean com.android.tools.r8.graph.TopDownClassHierarchyTraversal.shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):95:104 -> a
    40:49:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):78 -> a
    50:50:boolean com.android.tools.r8.graph.TopDownClassHierarchyTraversal.shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):101:101 -> a
    50:50:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):78 -> a
    51:58:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):79:86 -> a
    59:68:boolean com.android.tools.r8.graph.TopDownClassHierarchyTraversal.shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):95:104 -> a
    59:68:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):87 -> a
    69:69:boolean com.android.tools.r8.graph.TopDownClassHierarchyTraversal.shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):101:101 -> a
    69:69:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):87 -> a
    70:70:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):88:88 -> a
    com.android.tools.r8.graph.ClassHierarchyTraversal self() -> b
    1:1:com.android.tools.r8.graph.TopDownClassHierarchyTraversal forProgramClasses(com.android.tools.r8.graph.AppView):50:50 -> b
com.android.tools.r8.graph.TreeFixerBase -> com.android.tools.r8.graph.k3:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.util.Map programClassCache -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map protoFixupCache -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):26:26 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):22:28 -> <init>
    void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField) -> a
    void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> a
    1:16:void recordFailedResolutionChanges():57:72 -> a
    17:17:com.android.tools.r8.graph.DexEncodedMethod recordMethodChange(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):83:83 -> a
    18:21:java.util.List fixupClasses(java.util.Collection):89:92 -> a
    22:22:java.util.List fixupClasses(java.util.Collection):91:91 -> a
    23:26:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):99:102 -> a
    23:26:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    27:27:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    27:27:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):103 -> a
    27:27:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    28:29:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):104:105 -> a
    28:29:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    30:30:com.android.tools.r8.graph.DexTypeList fixupTypeList(com.android.tools.r8.graph.DexTypeList):362:362 -> a
    30:30:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):106 -> a
    30:30:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    31:35:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):351:355 -> a
    31:35:com.android.tools.r8.graph.DexTypeList fixupTypeList(com.android.tools.r8.graph.DexTypeList):362 -> a
    31:35:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):106 -> a
    31:35:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    36:36:com.android.tools.r8.graph.DexTypeList fixupTypeList(com.android.tools.r8.graph.DexTypeList):363:363 -> a
    36:36:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):106 -> a
    36:36:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    37:38:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):107:108 -> a
    37:38:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    39:39:com.android.tools.r8.graph.NestHostClassAttribute fixupNestHost(com.android.tools.r8.graph.NestHostClassAttribute):273:273 -> a
    39:39:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):108 -> a
    39:39:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    40:40:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):109:109 -> a
    40:40:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    41:50:java.util.List fixupNestMemberAttributes(java.util.List):279:288 -> a
    41:50:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):109 -> a
    41:50:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    51:61:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):110:120 -> a
    51:61:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    62:62:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List):170:170 -> a
    62:62:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):120 -> a
    62:62:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    63:64:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):120:121 -> a
    63:64:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    65:65:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List):170:170 -> a
    65:65:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):121 -> a
    65:65:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    66:70:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):121:125 -> a
    66:70:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    71:73:com.android.tools.r8.graph.DexEncodedMethod[] fixupMethods(java.lang.Iterable,int):249:251 -> a
    71:73:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):123 -> a
    71:73:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    74:74:void com.android.tools.r8.graph.DexClass.setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):269:269 -> a
    74:74:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):122 -> a
    74:74:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    75:76:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):128:129 -> a
    75:76:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    77:82:com.android.tools.r8.graph.DexEncodedMethod[] fixupMethods(java.lang.Iterable,int):246:251 -> a
    77:82:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):127 -> a
    77:82:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    83:83:void com.android.tools.r8.graph.DexClass.setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):289:289 -> a
    83:83:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):126 -> a
    83:83:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    84:94:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):131:141 -> a
    84:94:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    95:95:com.android.tools.r8.graph.DexProgramClass recordClassChange(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):44:44 -> a
    95:95:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):142 -> a
    95:95:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    96:108:com.android.tools.r8.graph.EnclosingMethodAttribute fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):152:164 -> a
    109:113:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List,java.util.function.Consumer):176:180 -> a
    114:118:com.android.tools.r8.graph.DexEncodedField fixupField(com.android.tools.r8.graph.DexEncodedField,java.util.function.Consumer):187:191 -> a
    114:118:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List,java.util.function.Consumer):180 -> a
    119:119:com.android.tools.r8.graph.DexEncodedField recordFieldChange(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):49:49 -> a
    119:119:com.android.tools.r8.graph.DexEncodedField fixupField(com.android.tools.r8.graph.DexEncodedField,java.util.function.Consumer):190 -> a
    119:119:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List,java.util.function.Consumer):180 -> a
    120:120:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List,java.util.function.Consumer):180:180 -> a
    121:123:com.android.tools.r8.graph.DexField fixupFieldReference(com.android.tools.r8.graph.DexField):198:200 -> a
    124:130:java.util.List fixupInnerClassAttributes(java.util.List):205:211 -> a
    131:131:com.android.tools.r8.graph.DexType fixupTypeOrNull(com.android.tools.r8.graph.DexType):330:330 -> a
    131:131:java.util.List fixupInnerClassAttributes(java.util.List):212 -> a
    132:132:java.util.List fixupInnerClassAttributes(java.util.List):213:213 -> a
    133:133:com.android.tools.r8.graph.DexType fixupTypeOrNull(com.android.tools.r8.graph.DexType):330:330 -> a
    133:133:java.util.List fixupInnerClassAttributes(java.util.List):214 -> a
    134:145:java.util.List fixupInnerClassAttributes(java.util.List):215:226 -> a
    146:153:java.util.List fixupInnerClassAttributes(java.util.List):225:232 -> a
    154:154:boolean com.android.tools.r8.utils.InternalOptions.isTreeShakingEnabled():613:613 -> a
    154:154:java.util.List fixupInnerClassAttributes(java.util.List):232 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    155:161:java.util.List fixupInnerClassAttributes(java.util.List):232:238 -> a
    162:162:java.util.List fixupInnerClassAttributes(java.util.List):236:236 -> a
    163:166:com.android.tools.r8.graph.DexEncodedMethod fixupMethod(com.android.tools.r8.graph.DexEncodedMethod):257:260 -> a
    167:168:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):267:268 -> a
    169:172:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):296:299 -> a
    169:172:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268 -> a
    173:177:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):351:355 -> a
    173:177:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):299 -> a
    173:177:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268 -> a
    178:179:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):300:301 -> a
    178:179:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268 -> a
    180:180:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268:268 -> a
    181:181:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):267:267 -> a
    182:191:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):335:344 -> a
    192:192:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368:368 -> a
    193:196:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):296:299 -> a
    193:196:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    197:201:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):351:355 -> a
    197:201:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):299 -> a
    197:201:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    202:203:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):300:301 -> a
    202:203:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    204:204:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.withProto(com.android.tools.r8.graph.DexProto):62:62 -> a
    204:204:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    205:205:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    205:205:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.withProto(com.android.tools.r8.graph.DexProto):62 -> a
    205:205:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType) -> b
    1:3:void lambda$recordFailedResolutionChanges$0(com.android.tools.r8.graph.DexField):65:67 -> b
    4:6:void lambda$recordFailedResolutionChanges$1(com.android.tools.r8.graph.DexMethod):74:76 -> b
com.android.tools.r8.graph.UseRegistry -> com.android.tools.r8.graph.l3:
    com.android.tools.r8.graph.Definition context -> b
    com.android.tools.r8.utils.TraversalContinuation continuation -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.Definition):25:25 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.Definition):18:27 -> <init>
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():35:35 -> a
    2:2:void registerRecordFieldValues(com.android.tools.r8.graph.DexField[]):62:62 -> a
    3:3:void registerInstanceFieldReadInstruction(com.android.tools.r8.code.CfOrDexInstanceFieldRead):95:95 -> a
    4:4:void registerStaticFieldReadInstruction(com.android.tools.r8.code.CfOrDexStaticFieldRead):123:123 -> a
    5:5:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):146:146 -> a
    6:6:void registerCheckCast(com.android.tools.r8.graph.DexType,boolean):150:150 -> a
    7:7:void registerExceptionGuard(com.android.tools.r8.graph.DexType):158:158 -> a
    8:42:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):162:196 -> a
    43:43:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):190:190 -> a
    44:50:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):187:193 -> a
    51:53:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):182:184 -> a
    54:57:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):176:179 -> a
    58:67:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):164:173 -> a
    68:69:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):215:216 -> a
    70:70:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> a
    70:70:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):216 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> a
    71:71:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):216 -> a
    72:96:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):219:243 -> a
    97:97:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):239:239 -> a
    98:98:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):236:236 -> a
    99:107:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):225:233 -> a
    108:110:void registerProto(com.android.tools.r8.graph.DexProto):254:256 -> a
    108:110:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):233 -> a
    111:112:void registerCallSite(com.android.tools.r8.graph.DexCallSite):249:250 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():35:35 -> b
    1:1:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):202 -> b
    2:2:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):202:202 -> b
    3:3:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> b
    3:3:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):202 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> b
    4:4:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):202 -> b
    5:11:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):205:211 -> b
    12:13:void doBreak():39:40 -> b
    14:14:void registerInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField):99:99 -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():44:44 -> c
    2:3:com.android.tools.r8.graph.DexClassAndMethod getMethodContext():53:54 -> c
    2:3:com.android.tools.r8.graph.GraphLens getCodeLens():45 -> c
    4:4:com.android.tools.r8.graph.GraphLens getCodeLens():45:45 -> c
    5:6:com.android.tools.r8.graph.DexClassAndMethod getMethodContext():53:54 -> c
    5:6:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):76 -> c
    7:7:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):77:77 -> c
    8:8:boolean com.android.tools.r8.ir.code.Invoke$Type.isDirect():181:181 -> c
    8:8:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):78 -> c
    9:9:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):79:79 -> c
    10:10:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> c
    10:10:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):81 -> c
    11:12:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):81:82 -> c
    13:13:void registerInstanceOf(com.android.tools.r8.graph.DexType):139:139 -> c
    void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
    1:1:com.android.tools.r8.graph.Definition getContext():49:49 -> d
    2:2:void registerInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):105:105 -> d
    3:3:void registerNewInstance(com.android.tools.r8.graph.DexType):113:113 -> d
    void registerStaticFieldRead(com.android.tools.r8.graph.DexField) -> e
    1:1:com.android.tools.r8.utils.TraversalContinuation getTraversalContinuation():58:58 -> e
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod,boolean):109:109 -> e
    3:3:void registerSafeCheckCast(com.android.tools.r8.graph.DexType):154:154 -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerStaticFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField):127:127 -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    void registerStaticFieldWrite(com.android.tools.r8.graph.DexField) -> g
    1:1:void registerStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):133:133 -> h
com.android.tools.r8.graph.UseRegistry$MethodHandleUse -> com.android.tools.r8.internal.P00:
    com.android.tools.r8.graph.UseRegistry$MethodHandleUse ARGUMENT_TO_LAMBDA_METAFACTORY -> b
    com.android.tools.r8.graph.UseRegistry$MethodHandleUse NOT_ARGUMENT_TO_LAMBDA_METAFACTORY -> c
    1:2:void <clinit>():21:22 -> <clinit>
    1:1:void <init>(java.lang.String,int):20:20 -> <init>
com.android.tools.r8.graph.UseRegistryWithResult -> com.android.tools.r8.internal.Q00:
    java.lang.Object result -> e
    1:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.Definition,java.lang.Object):0:17 -> <init>
    1:1:java.lang.Object getResult():21:21 -> f
    1:27:void setResult(java.lang.Object):0:26 -> g
com.android.tools.r8.graph.analysis.ApiModelAnalysis -> com.android.tools.r8.internal.j2:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.androidapi.ComputedApiLevel minApiLevel -> c
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiCompute -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():20:20 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):26:29 -> <init>
    void lambda$notifyMarkVirtualDispatchTargetAsLive$0(com.android.tools.r8.graph.LookupLambdaTarget) -> a
    1:1:void processNewlyLiveField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.EnqueuerWorklist):35:35 -> a
    2:2:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):44:44 -> a
    3:12:void processTracedCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry,com.android.tools.r8.shaking.EnqueuerWorklist):50:59 -> a
    13:13:void notifyMarkMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):64:64 -> a
    14:14:void notifyMarkFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerWorklist):69:69 -> a
    15:15:void notifyMarkVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget,com.android.tools.r8.shaking.EnqueuerWorklist):75:75 -> a
    16:16:void notifyFailedMethodResolutionTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.EnqueuerWorklist):86:86 -> a
    17:22:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):91:96 -> a
    23:23:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):93:93 -> a
    24:24:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiLevelCompute.computeApiLevelForDefinition(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.androidapi.ComputedApiLevel):44:44 -> a
    24:24:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):93 -> a
    25:25:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):92:92 -> a
com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis -> com.android.tools.r8.internal.U9:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> b
    com.android.tools.r8.graph.DexString kotlinAssertionsEnabled -> c
    java.util.List r8InstructionSequence -> f
    java.util.List javacInstructionSequence -> e
    java.util.List assertionHandlers -> d
    java.util.List jacocoInstructionSequence -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:10:void <clinit>():150:159 -> <clinit>
    1:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):45:53 -> <init>
    1:2:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isUsingJavaAssertionsDisabledField(com.android.tools.r8.graph.DexField):59:60 -> a
    1:2:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):73 -> a
    3:3:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isUsingKotlinAssertionsEnabledField(com.android.tools.r8.graph.DexField):64:64 -> a
    3:3:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):73 -> a
    4:4:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):74:74 -> a
    5:5:void lambda$traceStaticFieldRead$0(com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):75:75 -> a
    6:11:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):85:90 -> a
    12:20:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):162:170 -> a
    12:20:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    21:28:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):232:239 -> a
    21:28:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    21:28:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    29:29:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    29:29:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):239 -> a
    29:29:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    29:29:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    30:30:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):239:239 -> a
    30:30:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    30:30:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    31:31:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    31:31:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):239 -> a
    31:31:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    31:31:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    32:34:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):243:245 -> a
    32:34:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    32:34:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    35:41:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.skipSequence(java.util.List,com.android.tools.r8.graph.CfCode,int):222:228 -> a
    35:41:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):246 -> a
    35:41:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    35:41:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    42:48:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):247:253 -> a
    42:48:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    42:48:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    49:49:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    49:49:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):253 -> a
    49:49:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    49:49:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    50:50:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):253:253 -> a
    50:50:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    50:50:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    51:51:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    51:51:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):253 -> a
    51:51:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    51:51:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    52:59:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):257:264 -> a
    52:59:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    52:59:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    60:67:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):269:276 -> a
    60:67:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):173 -> a
    60:67:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    68:68:boolean com.android.tools.r8.cf.code.CfInstruction.isStore():0:0 -> a
    68:68:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):276 -> a
    68:68:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):173 -> a
    68:68:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    69:69:boolean com.android.tools.r8.cf.code.CfInstruction.isLoad():0:0 -> a
    69:69:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):276 -> a
    69:69:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):173 -> a
    69:69:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    70:76:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):280:286 -> a
    70:76:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):173 -> a
    70:76:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    77:83:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):176:182 -> a
    77:83:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    84:106:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasKotlincClinitAssertionCode(com.android.tools.r8.graph.ProgramMethod):190:212 -> a
    84:106:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    107:107:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):92:92 -> a
com.android.tools.r8.graph.analysis.EnqueuerAnalysis -> com.android.tools.r8.internal.ai:
    1:1:void <init>():18:18 -> <init>
    void done(com.android.tools.r8.shaking.Enqueuer) -> a
    void notifyFailedMethodResolutionTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing) -> a
    void notifyMarkFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void notifyMarkMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void notifyMarkVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processNewlyLiveField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processTracedCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis -> com.android.tools.r8.internal.hi:
    void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> b
com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround -> com.android.tools.r8.internal.Sl:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> b
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> c
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):43:46 -> <init>
    void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    1:3:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isNoop(com.android.tools.r8.graph.AppView):58:60 -> a
    1:3:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):51 -> a
    4:4:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):52:52 -> a
    5:19:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isUnsafeToUseFieldOnDalvik(com.android.tools.r8.graph.DexField):86:100 -> a
    5:19:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):69 -> a
    20:20:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):70:70 -> a
    21:35:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isUnsafeToUseFieldOnDalvik(com.android.tools.r8.graph.DexField):86:100 -> a
    21:35:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):80 -> a
    36:36:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):81:81 -> a
    void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> b
com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis -> com.android.tools.r8.internal.hp:
    java.util.Map mapping -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):62:62 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):59:63 -> <init>
    1:17:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):69:85 -> a
    18:18:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):83:83 -> a
    19:19:void done(com.android.tools.r8.shaking.Enqueuer):91:91 -> a
com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods -> com.android.tools.r8.internal.gp:
    java.util.Map mapping -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$1):21:21 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):27:29 -> <init>
    1:18:boolean isClassDefinitelyLoadedInInstanceMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):34:51 -> a
com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround -> com.android.tools.r8.internal.Iu:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> b
    com.android.tools.r8.utils.InternalOptions options -> c
    com.android.tools.r8.graph.DexType androidHardwareCamera2CameraDeviceType -> a
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):36:40 -> <init>
    1:1:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isNoop(com.android.tools.r8.graph.AppView):52:52 -> a
    1:1:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):45 -> a
    2:2:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):46:46 -> a
    3:3:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57:57 -> a
    4:4:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):65:65 -> a
    4:4:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    5:5:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    6:6:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):66 -> a
    6:6:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
    7:7:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):67:67 -> a
    7:7:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
    8:8:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):58:58 -> a
com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata -> com.android.tools.r8.internal.h6:
    java.util.Set isReadForInvokeReceiver -> a
    boolean isReadForWrite -> b
    1:1:void <init>(java.util.Set,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$1):16:16 -> <init>
    2:4:void <init>(java.util.Set,boolean):38:40 -> <init>
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder builder():44:44 -> a
    1:1:java.util.Set getReadForInvokeReceiver():56:56 -> b
    1:1:boolean isReadForInvokeReceiver():52:52 -> c
    1:1:boolean isReadForWrite():60:60 -> d
com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder -> com.android.tools.r8.internal.g6:
    java.util.Set isReadForInvokeReceiver -> a
    boolean isReadForWrite -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():63:63 -> <clinit>
    1:3:void <init>():63:65 -> <init>
    1:3:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder setIsReadForInvokeReceiver(java.util.Set):73:75 -> a
    4:4:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata build():85:85 -> a
    5:5:boolean com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder.isEmpty():69:69 -> a
    5:5:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata build():85 -> a
    6:7:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata build():85:86 -> a
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder setIsReadForWrite():80:80 -> b
com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata -> com.android.tools.r8.internal.j6:
    java.util.Map backing -> a
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata EMPTY -> b
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():17:19 -> <clinit>
    1:3:void <init>(java.util.Map):23:25 -> <init>
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder builder(com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):29:29 -> a
    2:2:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata empty():34:34 -> a
    3:3:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(java.lang.Object):38:38 -> a
com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder -> com.android.tools.r8.internal.i6:
    java.util.Map backing -> b
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider bytecodeMetadataProvider -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():41:41 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):47:47 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):45:48 -> <init>
    1:4:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder setMetadata(com.android.tools.r8.ir.code.Instruction,java.lang.Object):52:55 -> a
    5:5:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata build():61:61 -> a
    6:6:boolean verifyNoMetadata(com.android.tools.r8.ir.code.Instruction):65:65 -> a
com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider -> com.android.tools.r8.internal.k6:
    java.util.Map backing -> a
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider EMPTY -> b
    1:2:void <clinit>():21:22 -> <clinit>
    1:2:void <init>(java.util.Map):26:27 -> <init>
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder builder():31:31 -> a
    2:2:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.ir.code.Instruction):43:43 -> a
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider empty():35:35 -> b
com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder -> com.android.tools.r8.internal.k6$a:
    java.util.Map builders -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():46:46 -> <clinit>
    1:3:void <init>():46:48 -> <init>
    1:4:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder addMetadata(com.android.tools.r8.ir.code.Instruction,java.util.function.Consumer):57:60 -> a
    5:11:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider build():65:71 -> a
    12:12:void lambda$build$0(java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder):70:70 -> a
com.android.tools.r8.graph.classmerging.MergedClasses -> com.android.tools.r8.internal.WD:
    boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType) -> a
    boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView) -> a
com.android.tools.r8.graph.classmerging.MergedClassesCollection -> com.android.tools.r8.internal.XD:
    java.util.List collection -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:3:void <init>():15:17 -> <init>
    1:1:void add(com.android.tools.r8.graph.classmerging.MergedClasses):20:20 -> a
    2:3:boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType):32:33 -> a
    4:5:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):52:53 -> a
com.android.tools.r8.graph.classmerging.VerticallyMergedClasses -> com.android.tools.r8.internal.E10:
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap mergedClasses -> a
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap mergedInterfaces -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(com.android.tools.r8.utils.collections.BidirectionalManyToOneMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneMap):24:26 -> <init>
    1:3:com.android.tools.r8.graph.classmerging.VerticallyMergedClasses empty():30:32 -> a
    4:4:com.android.tools.r8.graph.DexType getTargetForOrDefault(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):54:54 -> a
    5:5:boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType):76:76 -> a
    6:7:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):81:82 -> a
    8:8:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):82:82 -> a
    94:94:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):82:82 -> a
    95:95:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):82:82 -> a
    9:9:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":96,"2":97,"3":98,"4":99}}
    96:96:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    97:97:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    98:98:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    99:99:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    92:92:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    1:1:java.util.Map getForwardMap():41:41 -> b
    2:2:java.util.Collection getSourcesFor(com.android.tools.r8.graph.DexType):45:45 -> b
    1:2:com.android.tools.r8.graph.DexType getTargetFor(com.android.tools.r8.graph.DexType):49:50 -> c
    3:3:boolean isEmpty():66:66 -> c
    1:1:boolean hasBeenMergedIntoSubtype(com.android.tools.r8.graph.DexType):58:58 -> d
    1:1:boolean hasInterfaceBeenMergedIntoSubtype(com.android.tools.r8.graph.DexType):62:62 -> e
    1:1:java.util.Collection com.android.tools.r8.graph.classmerging.VerticallyMergedClasses.getSourcesFor(com.android.tools.r8.graph.DexType):45:45 -> f
    1:1:boolean isMergeTarget(com.android.tools.r8.graph.DexType):71 -> f
    2:2:boolean isMergeTarget(com.android.tools.r8.graph.DexType):71:71 -> f
com.android.tools.r8.graph.proto.ArgumentInfo -> com.android.tools.r8.graph.proto.b:
    com.android.tools.r8.graph.proto.ArgumentInfo NO_INFO -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo asRemovedArgumentInfo() -> a
    com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo) -> a
    com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    com.android.tools.r8.graph.proto.RewrittenTypeInfo asRewrittenTypeInfo() -> b
    boolean isRemovedArgumentInfo() -> c
com.android.tools.r8.graph.proto.ArgumentInfo$1 -> com.android.tools.r8.graph.proto.a:
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo) -> a
    com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:int hashCode():39:39 -> hashCode
com.android.tools.r8.graph.proto.ArgumentInfoCollection -> com.android.tools.r8.graph.proto.c:
    com.android.tools.r8.graph.proto.ArgumentPermutation argumentPermutation -> c
    boolean $assertionsDisabled -> f
    int argumentInfosSize -> b
    com.android.tools.r8.graph.proto.ArgumentInfoCollection EMPTY -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap EMPTY_MAP -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap argumentInfos -> a
    1:4:void <clinit>():29:32 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap,int,com.android.tools.r8.graph.proto.ArgumentPermutation,com.android.tools.r8.graph.proto.ArgumentInfoCollection$1):29:29 -> <init>
    2:5:void <init>():39:42 -> <init>
    6:14:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap,int,com.android.tools.r8.graph.proto.ArgumentPermutation):48:56 -> <init>
    1:1:int access$000(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap):29:29 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap access$100():29:29 -> a
    3:4:void forEach(com.android.tools.r8.utils.IntObjConsumer):64:65 -> a
    5:12:int getNumberOfRemovedArgumentsBefore(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap):124:131 -> a
    13:13:com.android.tools.r8.graph.proto.ArgumentInfo getArgumentInfo(int):152:152 -> a
    14:14:int getNewArgumentIndex(int,int):161:161 -> a
    15:34:com.android.tools.r8.graph.proto.ArgumentInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):171:190 -> a
    35:37:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder,int,com.android.tools.r8.graph.proto.ArgumentInfo):178:180 -> a
    38:39:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder,int,com.android.tools.r8.graph.proto.ArgumentInfo):186:187 -> a
    40:52:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):268:280 -> a
    53:55:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry peekNext(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator):326:328 -> a
    53:55:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):281 -> a
    56:59:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):283:286 -> a
    60:62:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry peekNext(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator):326:328 -> a
    60:62:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):289 -> a
    63:74:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):292:303 -> a
    75:75:boolean isArgumentRemoved(int):93:93 -> a
    75:75:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):304 -> a
    76:76:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):307:307 -> a
    77:77:boolean isArgumentRemoved(int):93:93 -> a
    77:77:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):308 -> a
    78:88:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):311:321 -> a
    89:89:java.util.function.Consumer createParameterAnnotationsRemover(com.android.tools.r8.graph.DexEncodedMethod):346:346 -> a
    90:90:void lambda$createParameterAnnotationsRemover$2(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):346:346 -> a
    1:1:int getNumberOfRemovedArgumentsBefore(int):118:118 -> b
    1:1:int getNewArgumentIndex(int):156 -> b
    2:2:int getNewArgumentIndex(int):156:156 -> b
    3:3:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder builder():215:215 -> b
    1:1:com.android.tools.r8.graph.proto.ArgumentInfoCollection empty():60:60 -> c
    2:2:boolean hasArgumentInfo(int):144:144 -> c
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():74:78 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet getKeys():70:70 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():79 -> d
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():81:81 -> d
    8:8:java.util.Iterator iterator():101:101 -> d
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():82 -> d
    9:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():83:86 -> d
    1:1:boolean hasArgumentPermutation():148:148 -> e
    2:2:boolean com.android.tools.r8.graph.proto.ArgumentPermutation.isDefault():0:0 -> e
    2:2:boolean hasArgumentPermutation():148 -> e
    1:6:boolean equals(java.lang.Object):200:205 -> equals
    1:2:boolean hasRemovedArguments():105:106 -> f
    1:1:boolean isEmpty():97:97 -> g
    1:1:int numberOfRemovedArguments():114:114 -> h
    1:1:int hashCode():211:211 -> hashCode
    1:2:int size():165:166 -> i
com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder -> com.android.tools.r8.graph.proto.c$a:
    com.android.tools.r8.graph.proto.ArgumentPermutation argumentPermutation -> c
    int argumentInfosSize -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap argumentInfos -> a
    1:5:void <init>():218:222 -> <init>
    1:1:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder addArgumentInfo(int,com.android.tools.r8.graph.proto.ArgumentInfo):225:225 -> a
    2:2:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder addArgumentInfos(com.android.tools.r8.graph.proto.ArgumentInfoCollection):230:230 -> a
    3:3:int getNumberOfRemovedArgumentsBefore(int):235:235 -> a
    4:4:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder setArgumentPermutation(com.android.tools.r8.graph.proto.ArgumentPermutation):252:252 -> a
    5:10:com.android.tools.r8.graph.proto.ArgumentInfoCollection build():257:262 -> a
    1:1:boolean hasArgumentInfo(int):239:239 -> b
    2:2:boolean isEmpty():243:243 -> b
    3:3:boolean com.android.tools.r8.graph.proto.ArgumentPermutation.isDefault():0:0 -> b
    3:3:boolean isEmpty():243 -> b
    1:1:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder setArgumentInfosSize(int):247:247 -> c
com.android.tools.r8.graph.proto.ArgumentPermutation -> com.android.tools.r8.internal.J2:
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.graph.proto.ArgumentPermutation$Builder builder(int):14:14 -> a
    2:2:com.android.tools.r8.graph.proto.DefaultArgumentPermutation getDefault():18:18 -> a
    int getNewArgumentIndex(int) -> b
    boolean isDefault() -> b
com.android.tools.r8.graph.proto.ArgumentPermutation$Builder -> com.android.tools.r8.internal.I2:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap newArgumentIndices -> a
    1:1:void <init>(int,com.android.tools.r8.graph.proto.ArgumentPermutation$1):27:27 -> <init>
    2:5:void <init>(int):31:34 -> <init>
    1:1:boolean com.android.tools.r8.graph.proto.ArgumentPermutation$Builder.isDefault():38:38 -> a
    1:1:com.android.tools.r8.graph.proto.ArgumentPermutation build():51 -> a
    2:2:com.android.tools.r8.graph.proto.DefaultArgumentPermutation com.android.tools.r8.graph.proto.ArgumentPermutation.getDefault():18:18 -> a
    2:2:com.android.tools.r8.graph.proto.ArgumentPermutation build():52 -> a
    3:3:com.android.tools.r8.graph.proto.ArgumentPermutation build():54:54 -> a
    4:6:com.android.tools.r8.graph.proto.ArgumentPermutation$Builder setNewArgumentIndex(int,int):43:45 -> a
com.android.tools.r8.graph.proto.ArgumentPermutationMap -> com.android.tools.r8.internal.K2:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap newArgumentIndices -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):13:15 -> <init>
    1:1:int getNewArgumentIndex(int):20:20 -> b
com.android.tools.r8.graph.proto.DefaultArgumentPermutation -> com.android.tools.r8.internal.He:
    com.android.tools.r8.graph.proto.DefaultArgumentPermutation INSTANCE -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    int getNewArgumentIndex(int) -> b
    1:1:com.android.tools.r8.graph.proto.DefaultArgumentPermutation get():14:14 -> c
com.android.tools.r8.graph.proto.RemovedArgumentInfo -> com.android.tools.r8.graph.proto.d:
    com.android.tools.r8.graph.DexType type -> c
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():14:14 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.graph.DexType):49:52 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo asRemovedArgumentInfo() -> a
    1:1:com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):14:14 -> a
    2:2:com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo):83:83 -> a
    1:4:com.android.tools.r8.graph.proto.RemovedArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):91:94 -> b
    boolean isRemovedArgumentInfo() -> c
    1:1:com.android.tools.r8.graph.proto.RemovedArgumentInfo$Builder builder():56:56 -> d
    1:1:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():64:64 -> e
    1:5:boolean equals(java.lang.Object):101:105 -> equals
    1:1:com.android.tools.r8.graph.DexType getType():68:68 -> f
    1:1:boolean hasSingleValue():60:60 -> g
    1:1:int hashCode():110:110 -> hashCode
com.android.tools.r8.graph.proto.RemovedArgumentInfo$Builder -> com.android.tools.r8.graph.proto.d$a:
    1:1:void <init>():34:34 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase self() -> a
    1:1:com.android.tools.r8.graph.proto.RemovedArgumentInfo build():37:37 -> b
com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase -> com.android.tools.r8.graph.proto.d$b:
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> a
    com.android.tools.r8.graph.DexType type -> b
    1:1:void <init>():16:16 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase self() -> a
    1:2:com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase setSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):22:23 -> a
    3:4:com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase setType(com.android.tools.r8.graph.DexType):27:28 -> a
com.android.tools.r8.graph.proto.RemovedReceiverInfo -> com.android.tools.r8.graph.proto.f:
    1:1:void <init>(com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.graph.DexType):17:17 -> <init>
    1:4:com.android.tools.r8.graph.proto.RemovedReceiverInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):29:32 -> a
    1:4:com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):14 -> a
    1:4:com.android.tools.r8.graph.proto.RemovedReceiverInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):29:32 -> b
    1:4:com.android.tools.r8.graph.proto.RemovedArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):14 -> b
    1:5:boolean equals(java.lang.Object):39:43 -> equals
    1:1:int hashCode():48:48 -> hashCode
com.android.tools.r8.graph.proto.RemovedReceiverInfo$Builder -> com.android.tools.r8.graph.proto.e:
    1:1:void <init>():51:51 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase self() -> a
    1:1:com.android.tools.r8.graph.proto.RemovedReceiverInfo build():58:58 -> b
com.android.tools.r8.graph.proto.RewrittenPrototypeDescription -> com.android.tools.r8.graph.proto.g:
    java.util.List extraParameters -> a
    com.android.tools.r8.graph.proto.RewrittenTypeInfo rewrittenReturnInfo -> c
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription NONE -> d
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.graph.proto.ArgumentInfoCollection argumentInfoCollection -> b
    1:3:void <clinit>():34:36 -> <clinit>
    1:4:void <init>():42:45 -> <init>
    5:10:void <init>(java.util.List,com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):51:56 -> <init>
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription create(java.util.List,com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):63:63 -> a
    2:2:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription none():74:74 -> a
    2:2:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription create(java.util.List,com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):64 -> a
    3:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription create(java.util.List,com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):65:65 -> a
    4:14:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):87:97 -> a
    15:15:java.util.List getExtraParameters():122:122 -> a
    15:15:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):98 -> a
    16:16:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):98:98 -> a
    17:17:java.util.List getExtraParameters():122:122 -> a
    17:17:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):99 -> a
    18:21:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):99:102 -> a
    22:22:com.android.tools.r8.graph.proto.RewrittenTypeInfo getRewrittenReturnInfo():149:149 -> a
    22:22:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):103 -> a
    23:23:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):103:103 -> a
    24:24:com.android.tools.r8.graph.proto.RewrittenTypeInfo com.android.tools.r8.graph.proto.RewrittenTypeInfo.combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):35:35 -> a
    24:24:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):103 -> a
    25:25:com.android.tools.r8.graph.proto.RewrittenTypeInfo getRewrittenReturnInfo():149:149 -> a
    25:25:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    26:27:com.android.tools.r8.graph.proto.ArgumentInfoCollection getArgumentInfoCollection():134:134 -> a
    26:27:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):106 -> a
    28:29:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):106:107 -> a
    30:30:com.android.tools.r8.graph.proto.ArgumentInfoCollection getArgumentInfoCollection():134:134 -> a
    30:30:java.util.function.Consumer createParameterAnnotationsRemover(com.android.tools.r8.graph.DexEncodedMethod):79 -> a
    31:31:java.util.function.Consumer createParameterAnnotationsRemover(com.android.tools.r8.graph.DexEncodedMethod):79:79 -> a
    32:32:com.android.tools.r8.graph.proto.ArgumentInfoCollection getArgumentInfoCollection():134:134 -> a
    33:36:com.android.tools.r8.ir.code.Instruction getConstantReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):166:169 -> a
    37:37:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    37:37:com.android.tools.r8.ir.code.Instruction getConstantReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):169 -> a
    38:38:com.android.tools.r8.ir.code.Instruction getConstantReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):170:170 -> a
    39:43:boolean verifyConstantReturnAccessibleInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):176:180 -> a
    44:45:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):185:186 -> a
    46:50:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):193:197 -> a
    46:50:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    51:55:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):203:207 -> a
    51:55:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    51:55:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    56:56:int com.android.tools.r8.graph.proto.ArgumentInfoCollection.numberOfRemovedNonReceiverArguments(com.android.tools.r8.graph.ProgramMethod):139:139 -> a
    56:56:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):210 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    56:56:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    56:56:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    57:57:int com.android.tools.r8.graph.proto.ArgumentInfoCollection.numberOfRemovedNonReceiverArguments(com.android.tools.r8.graph.ProgramMethod):140:140 -> a
    57:57:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):210 -> a
    57:57:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    57:57:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    58:58:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    58:58:int com.android.tools.r8.graph.proto.ArgumentInfoCollection.numberOfRemovedNonReceiverArguments(com.android.tools.r8.graph.ProgramMethod):140 -> a
    58:58:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):210 -> a
    58:58:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    58:58:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    59:59:int com.android.tools.r8.graph.proto.ArgumentInfoCollection.numberOfRemovedNonReceiverArguments(com.android.tools.r8.graph.ProgramMethod):140:140 -> a
    59:59:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):210 -> a
    59:59:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    59:59:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    60:66:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):210:216 -> a
    60:66:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    60:66:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    67:67:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isNone():0:0 -> a
    67:67:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):216 -> a
    67:67:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    67:67:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    68:68:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):217:217 -> a
    68:68:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    68:68:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    69:69:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    69:69:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):218 -> a
    69:69:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    69:69:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    70:76:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):219:225 -> a
    70:76:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198 -> a
    70:76:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    77:77:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):199:199 -> a
    77:77:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    78:78:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):189:189 -> a
    79:79:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    79:79:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):189 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    80:80:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    80:80:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):189 -> a
    81:89:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):232:240 -> a
    90:93:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription withRewrittenReturnInfo(com.android.tools.r8.graph.proto.RewrittenTypeInfo):248:251 -> a
    94:101:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription withExtraParameters(java.util.List):267:274 -> a
    1:1:java.util.List getExtraParameters():122:122 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo getRewrittenReturnInfo():149:149 -> c
    1:1:boolean hasBeenChangedToReturnVoid():130:130 -> d
    1:1:boolean hasExtraParameters():118:118 -> e
    1:7:boolean equals(java.lang.Object):280:286 -> equals
    1:1:boolean hasRewrittenReturnInfo():138:138 -> f
    1:3:boolean isEmpty():112:114 -> g
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription none():74:74 -> h
    1:1:int hashCode():291:291 -> hashCode
    1:1:int numberOfExtraParameters():126:126 -> i
    1:1:boolean requiresRewritingAtCallSite():142:142 -> j
    2:2:int numberOfExtraParameters():126:126 -> j
    2:2:boolean requiresRewritingAtCallSite():143 -> j
    3:5:boolean requiresRewritingAtCallSite():143:145 -> j
com.android.tools.r8.graph.proto.RewrittenTypeInfo -> com.android.tools.r8.graph.proto.h:
    com.android.tools.r8.graph.DexType newType -> d
    com.android.tools.r8.graph.DexType oldType -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexType castType -> b
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> e
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.graph.proto.RewrittenTypeInfo$1):15:15 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.value.SingleValue):27:31 -> <init>
    1:1:com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):15:15 -> a
    2:5:com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo):78:81 -> a
    6:6:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    6:6:com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo):81 -> a
    7:8:com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo):81:82 -> a
    9:12:com.android.tools.r8.graph.proto.RewrittenTypeInfo combine(com.android.tools.r8.graph.proto.RewrittenTypeInfo):86:89 -> a
    13:13:com.android.tools.r8.graph.DexType getCastType():39:39 -> a
    13:13:com.android.tools.r8.graph.proto.RewrittenTypeInfo combine(com.android.tools.r8.graph.proto.RewrittenTypeInfo):89 -> a
    14:14:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():51:51 -> a
    14:14:com.android.tools.r8.graph.proto.RewrittenTypeInfo combine(com.android.tools.r8.graph.proto.RewrittenTypeInfo):89 -> a
    15:15:com.android.tools.r8.graph.proto.RewrittenTypeInfo combine(com.android.tools.r8.graph.proto.RewrittenTypeInfo):89:89 -> a
    com.android.tools.r8.graph.proto.RewrittenTypeInfo asRewrittenTypeInfo() -> b
    1:4:com.android.tools.r8.graph.proto.RewrittenTypeInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):95:98 -> b
    5:5:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():51:51 -> b
    5:5:com.android.tools.r8.graph.proto.RewrittenTypeInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):98 -> b
    6:11:com.android.tools.r8.graph.proto.RewrittenTypeInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):98:103 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder builder():23:23 -> d
    1:1:com.android.tools.r8.graph.DexType getCastType():39:39 -> e
    1:7:boolean equals(java.lang.Object):111:117 -> equals
    1:1:com.android.tools.r8.graph.DexType getNewType():43:43 -> f
    1:1:com.android.tools.r8.graph.DexType getOldType():47:47 -> g
    1:1:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():51:51 -> h
    1:1:int hashCode():122:122 -> hashCode
    1:1:boolean hasBeenChangedToReturnVoid():55:55 -> i
    1:1:boolean hasCastType():59:59 -> j
    1:1:boolean hasSingleValue():63:63 -> k
com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder -> com.android.tools.r8.graph.proto.h$a:
    com.android.tools.r8.graph.DexType newType -> c
    com.android.tools.r8.graph.DexType oldType -> b
    com.android.tools.r8.graph.DexType castType -> a
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> d
    1:1:void <init>():125:125 -> <init>
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder applyIf(boolean,java.util.function.Consumer):134:134 -> a
    2:2:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder setCastType(com.android.tools.r8.graph.DexType):140:140 -> a
    3:3:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder setSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):155:155 -> a
    4:4:com.android.tools.r8.graph.proto.RewrittenTypeInfo build():160:160 -> a
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder setNewType(com.android.tools.r8.graph.DexType):150:150 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder setOldType(com.android.tools.r8.graph.DexType):145:145 -> c
com.android.tools.r8.horizontalclassmerging.ClassInstanceFieldsMerger -> com.android.tools.r8.internal.la:
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexEncodedField classIdField -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup):37:40 -> <init>
    1:15:void mapFields(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer):59:73 -> a
    16:37:void mapFields(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer):68:89 -> a
    38:43:java.util.Map getAvailableFieldsByExactInfo(com.android.tools.r8.graph.DexProgramClass):95:100 -> a
    44:44:java.util.LinkedList lambda$getAvailableFieldsByExactInfo$0(com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo):99:99 -> a
    45:47:java.util.Map getAvailableFieldsByRelaxedInfo(com.android.tools.r8.graph.AppView,java.util.Map):109:111 -> a
    48:48:void lambda$getAvailableFieldsByRelaxedInfo$2(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo,java.util.LinkedList):115:115 -> a
    49:52:void lambda$getAvailableFieldsByRelaxedInfo$2(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo,java.util.LinkedList):114:117 -> a
    53:63:com.android.tools.r8.graph.DexEncodedField[] merge():135:145 -> a
    64:64:void lambda$merge$5(java.util.List,java.util.Set,com.android.tools.r8.graph.DexEncodedField):144:144 -> a
    65:73:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):150:158 -> a
    74:74:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    74:74:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):158 -> a
    75:75:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):158:158 -> a
    76:76:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):157:157 -> a
    77:84:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):155:162 -> a
    85:85:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    85:85:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):162 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    86:86:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):162 -> a
    87:87:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.DexEncodedField.toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):308:308 -> a
    87:87:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):161 -> a
    88:88:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):167:167 -> a
    89:89:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.append(java.lang.Iterable,java.lang.Object):52:52 -> a
    89:89:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):169 -> a
    90:90:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    90:90:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.append(java.lang.Iterable,java.lang.Object):52 -> a
    90:90:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):169 -> a
    91:91:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):169:169 -> a
    92:95:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):168:171 -> a
    96:96:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):167:167 -> a
    97:97:boolean needsRelaxedType(com.android.tools.r8.graph.DexEncodedField,java.lang.Iterable):178:178 -> a
    98:98:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    98:98:boolean needsRelaxedType(com.android.tools.r8.graph.DexEncodedField,java.lang.Iterable):178 -> a
    99:99:boolean lambda$needsRelaxedType$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):179:179 -> a
    100:100:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    100:100:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    101:101:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    101:101:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122 -> a
    102:102:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122:122 -> a
    103:103:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    103:103:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122 -> a
    104:104:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):123:123 -> a
    105:105:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    105:105:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):125 -> a
    106:106:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):125:125 -> a
    107:107:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    107:107:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):125 -> a
    108:108:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):126:126 -> a
    109:109:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    109:109:boolean lambda$fixAccessFlags$3(com.android.tools.r8.graph.DexEncodedField):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    110:110:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    110:110:boolean lambda$fixAccessFlags$3(com.android.tools.r8.graph.DexEncodedField):122 -> a
    1:1:java.util.LinkedList lambda$getAvailableFieldsByRelaxedInfo$1(com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo):116:116 -> b
    2:2:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    2:2:boolean lambda$fixAccessFlags$4(com.android.tools.r8.graph.DexEncodedField):125 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    3:3:boolean lambda$fixAccessFlags$4(com.android.tools.r8.graph.DexEncodedField):125 -> b
    1:1:void setClassIdField(com.android.tools.r8.graph.DexEncodedField):131:131 -> c
com.android.tools.r8.horizontalclassmerging.ClassMerger -> com.android.tools.r8.internal.qa:
    com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder classMethodsBuilder -> f
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> m
    java.util.Collection virtualMethodMergers -> l
    com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection instanceInitializerMergers -> k
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> c
    com.android.tools.r8.horizontalclassmerging.ClassInstanceFieldsMerger classInstanceFieldsMerger -> h
    com.android.tools.r8.horizontalclassmerging.ClassStaticFieldsMerger classStaticFieldsMerger -> i
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> e
    com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger classInitializerMerger -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap classIdentifiers -> g
    1:5:void <clinit>():52:56 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Collection,com.android.tools.r8.horizontalclassmerging.ClassMerger$1):52:52 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Collection):82:82 -> <init>
    3:39:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Collection):64:100 -> <init>
    1:2:void buildClassIdentifierMap():104:105 -> a
    3:3:void lambda$buildClassIdentifierMap$0(com.android.tools.r8.graph.DexProgramClass):105:105 -> a
    4:4:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111:111 -> a
    5:11:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):118:124 -> a
    5:11:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    12:12:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    12:12:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):124 -> a
    12:12:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    13:13:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    13:13:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):124 -> a
    13:13:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    14:15:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):125:126 -> a
    14:15:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    16:16:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):318:318 -> a
    16:16:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):126 -> a
    16:16:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    17:17:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    17:17:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):318 -> a
    17:17:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):126 -> a
    17:17:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    18:23:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):127:132 -> a
    18:23:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    24:24:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.graph.MethodAccessFlags.createForClassInitializer():79:79 -> a
    24:24:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):133 -> a
    24:24:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    25:38:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):133:146 -> a
    25:38:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    39:39:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):113:113 -> a
    40:44:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):153:157 -> a
    45:45:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    45:45:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):157 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    46:46:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):157 -> a
    47:58:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):155:166 -> a
    59:59:void lambda$mergeInstanceInitializers$2(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger):193:193 -> a
    60:60:void lambda$mergeVirtualMethods$3(java.util.function.Consumer,com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger):210:210 -> a
    61:61:boolean lambda$fixNestMemberAttributes$5(com.android.tools.r8.graph.NestMemberClassAttribute):262:262 -> a
    62:62:void lambda$mergeInterfaces$6(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):286:286 -> a
    63:63:void lambda$mergeInterfaces$7(java.util.function.Consumer):286:286 -> a
    64:66:void lambda$mergeInterfaces$8(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):289:291 -> a
    67:67:void lambda$mergeInterfaces$9(java.util.Set,com.android.tools.r8.graph.DexProgramClass):297:297 -> a
    68:74:void mergeInstanceFields(com.android.tools.r8.graph.PrunedItems$Builder):311:317 -> a
    75:75:void lambda$mergeInstanceFields$10(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexEncodedField):314:314 -> a
    76:79:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):331:334 -> a
    80:80:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):303:303 -> a
    80:80:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):335 -> a
    81:81:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():219:219 -> a
    81:81:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):304 -> a
    81:81:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):335 -> a
    82:82:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    82:82:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():219 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    82:82:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):304 -> a
    82:82:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):335 -> a
    83:83:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    83:83:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():219 -> a
    83:83:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):304 -> a
    83:83:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):335 -> a
    84:89:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():219:224 -> a
    84:89:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):304 -> a
    84:89:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):335 -> a
    90:90:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPublicFinalSynthetic():80:80 -> a
    90:90:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():225 -> a
    90:90:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):304 -> a
    90:90:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):335 -> a
    91:105:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():225:239 -> a
    91:105:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):304 -> a
    91:105:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):335 -> a
    106:107:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):306:307 -> a
    106:107:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):335 -> a
    108:110:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):201:203 -> a
    108:110:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):336 -> a
    111:113:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):340:342 -> a
    114:114:void lambda$mergeGroup$12(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexProgramClass):342:342 -> a
    1:2:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):180:181 -> b
    3:3:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> b
    3:3:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):182 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> b
    4:4:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):182 -> b
    5:7:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):182:184 -> b
    8:8:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):181:181 -> b
    9:9:void mergeInstanceInitializers(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):191:191 -> b
    10:17:void mergeVirtualMethods(java.util.function.Consumer):208:215 -> b
    18:18:void lambda$mergeVirtualMethods$4(com.android.tools.r8.graph.DexProgramClass):215:215 -> b
    19:19:void fixAccessFlags():243:243 -> b
    20:20:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    20:20:void fixAccessFlags():243 -> b
    21:23:void fixAccessFlags():244:246 -> b
    24:24:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    24:24:void fixAccessFlags():246 -> b
    25:25:void fixAccessFlags():247:247 -> b
    26:28:void lambda$mergeInstanceFields$11(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexProgramClass):313:315 -> b
    1:1:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):151:151 -> c
    2:2:void com.android.tools.r8.graph.DexProgramClass.forEachProgramDirectMethod(java.util.function.Consumer):256:256 -> c
    2:2:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):151 -> c
    3:3:void com.android.tools.r8.graph.DexProgramClass.forEachProgramDirectMethod(java.util.function.Consumer):256:256 -> c
    3:3:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):151 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):171:171 -> c
    5:13:void fixNestMemberAttributes():252:260 -> c
    1:4:void mergeAnnotations():270:273 -> d
    1:1:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> e
    1:1:void mergeInterfaces():280 -> e
    2:20:void mergeInterfaces():281:299 -> e
    21:21:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.create(java.util.Collection):55:55 -> e
    21:21:void mergeInterfaces():299 -> e
    22:22:void com.android.tools.r8.graph.DexTypeList.<init>(java.util.Collection):47:47 -> e
    22:22:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.create(java.util.Collection):55 -> e
    22:22:void mergeInterfaces():299 -> e
    23:23:void com.android.tools.r8.graph.DexClass.setInterfaces(com.android.tools.r8.graph.DexTypeList):189:189 -> e
    23:23:void mergeInterfaces():299 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:3:void mergeStaticFields():321:323 -> f
com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder -> com.android.tools.r8.internal.pa:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> d
    1:1:void <clinit>():345:345 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):355:359 -> <init>
    1:15:java.util.List createVirtualMethodMergers():363:377 -> a
    16:16:void lambda$createVirtualMethodMergers$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):367:367 -> a
    17:17:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    17:17:void lambda$createVirtualMethodMergers$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):367 -> a
    18:18:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    18:18:void lambda$createVirtualMethodMergers$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):367 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:void lambda$createVirtualMethodMergers$1(java.util.Map,com.android.tools.r8.graph.ProgramMethod):371:371 -> a
    20:23:void lambda$createVirtualMethodMergers$1(java.util.Map,com.android.tools.r8.graph.ProgramMethod):370:373 -> a
    24:24:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder lambda$createVirtualMethodMergers$0(com.android.tools.r8.graph.DexMethodSignature):372:372 -> a
    25:31:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):392:398 -> a
    32:35:void com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder.createClassIdField():384:387 -> a
    32:35:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):399 -> a
    36:36:void com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder.createClassIdField():386:386 -> a
    36:36:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):399 -> a
    37:37:void com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder.createClassIdField():385:385 -> a
    37:37:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):399 -> a
    38:38:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):402:402 -> a
    39:39:boolean lambda$build$3(com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger):396:396 -> a
com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder -> com.android.tools.r8.internal.ra:
    java.util.List virtualMethods -> b
    java.util.List directMethods -> c
    java.util.Set reservedMethods -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():15:15 -> <clinit>
    1:4:void <init>():15:18 -> <init>
    1:3:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):27:29 -> a
    4:4:boolean isFresh(com.android.tools.r8.graph.DexMethod):33:33 -> a
    5:5:boolean lambda$setClassMethods$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):37:37 -> a
    6:11:void setClassMethods(com.android.tools.r8.graph.DexProgramClass):37:42 -> a
    1:3:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):21:23 -> b
    4:4:boolean lambda$setClassMethods$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):39:39 -> b
com.android.tools.r8.horizontalclassmerging.ClassStaticFieldsMerger -> com.android.tools.r8.internal.Qa:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> c
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> d
    java.util.Map targetFields -> e
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup):26:26 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup):23:30 -> <init>
    1:5:boolean isFresh(com.android.tools.r8.graph.DexField):34:38 -> a
    6:11:void addField(com.android.tools.r8.graph.DexEncodedField):47:52 -> a
    12:18:void addField(com.android.tools.r8.graph.DexEncodedField):49:55 -> a
    19:19:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.DexEncodedField.toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):308:308 -> a
    19:19:void addField(com.android.tools.r8.graph.DexEncodedField):55 -> a
    20:22:void addField(com.android.tools.r8.graph.DexEncodedField):56:58 -> a
    23:23:void addFields(com.android.tools.r8.graph.DexProgramClass):62:62 -> a
    24:24:void merge():66:66 -> a
com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint -> com.android.tools.r8.internal.Od:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexField classIdField -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap typeConstructors -> m
    1:1:void <clinit>():36:36 -> <clinit>
    1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexMethod):46:49 -> <init>
    1:1:void addConstructorInvoke(com.android.tools.r8.graph.DexMethod):57:57 -> a
    2:10:void lambda$addConstructorInvoke$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.IRBuilder):59:67 -> a
    11:11:void lambda$prepareMultiConstructorInstructions$3(int,int[],com.android.tools.r8.utils.IntBox,int[],com.android.tools.r8.ir.conversion.IRBuilder):100:100 -> a
    12:12:boolean lambda$prepareMultiConstructorInstructions$4(int,com.android.tools.r8.utils.IntBox,int[],com.android.tools.r8.ir.conversion.IRBuilder):101:101 -> a
    13:16:boolean com.android.tools.r8.ir.synthetic.SyntheticSourceCode.endsSwitch(com.android.tools.r8.ir.conversion.IRBuilder,int,int,int[]):237:240 -> a
    13:16:boolean lambda$prepareMultiConstructorInstructions$4(int,com.android.tools.r8.utils.IntBox,int[],com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    1:1:void lambda$addRegisterClassIdAssignment$1(int,com.android.tools.r8.ir.conversion.IRBuilder):74:74 -> b
    2:2:void lambda$addConstantRegisterClassIdAssignment$2(int,int,com.android.tools.r8.ir.conversion.IRBuilder):81:81 -> b
    3:3:void com.android.tools.r8.ir.conversion.IRBuilder.addIntConst(int,long):1203:1203 -> b
    3:3:void lambda$addConstantRegisterClassIdAssignment$2(int,int,com.android.tools.r8.ir.conversion.IRBuilder):81 -> b
    1:1:void addConstantRegisterClassIdAssignment(int):79:79 -> i
    2:2:boolean com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint.hasClassIdField():53:53 -> i
    2:2:void addConstantRegisterClassIdAssignment(int):79 -> i
    3:6:void addConstantRegisterClassIdAssignment(int):79:82 -> i
    7:10:void prepareInstructions():135:138 -> i
    1:1:void addRegisterClassIdAssignment(int):73:73 -> j
    2:2:boolean com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint.hasClassIdField():53:53 -> j
    2:2:void addRegisterClassIdAssignment(int):73 -> j
    3:4:void addRegisterClassIdAssignment(int):73:74 -> j
    5:8:void prepareMultiConstructorInstructions():86:89 -> j
    9:9:boolean com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint.hasClassIdField():53:53 -> j
    9:9:void prepareMultiConstructorInstructions():91 -> j
    10:36:void prepareMultiConstructorInstructions():92:118 -> j
    1:1:void prepareSingleConstructorInstructions():125:125 -> k
    2:2:boolean com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint.hasClassIdField():53:53 -> k
    2:2:void prepareSingleConstructorInstructions():126 -> k
    3:6:void prepareSingleConstructorInstructions():127:130 -> k
com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger -> com.android.tools.r8.internal.Lm:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():35:35 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):54:57 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger createForFinalClassMerging(com.android.tools.r8.graph.AppView):67:67 -> a
    2:16:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):89:103 -> a
    17:19:java.util.List com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.initializeClassMergers(com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,java.util.Collection):275:277 -> a
    17:19:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
    20:20:boolean com.android.tools.r8.horizontalclassmerging.MergeGroup.isNonTrivial():202:202 -> a
    20:20:java.util.List com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.initializeClassMergers(com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,java.util.Collection):277 -> a
    20:20:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    21:25:java.util.List com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.initializeClassMergers(com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,java.util.Collection):277:281 -> a
    21:25:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
    26:26:java.util.List com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.initializeClassMergers(com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,java.util.Collection):280:280 -> a
    26:26:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
    27:33:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):109:115 -> a
    34:42:com.android.tools.r8.graph.PrunedItems com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.applyClassMergers(java.util.Collection,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):292:300 -> a
    34:42:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):116 -> a
    43:51:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):123:131 -> a
    52:52:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.builder():28:28 -> a
    52:52:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    53:56:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131:134 -> a
    57:58:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.createLens(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass):312:313 -> a
    57:58:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):135 -> a
    59:63:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):137:141 -> a
    64:64:com.android.tools.r8.shaking.KeepInfoCollection com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection.mutate(java.util.function.Consumer):507:507 -> a
    64:64:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):141 -> a
    65:67:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):145:145 -> a
    68:68:void com.android.tools.r8.graph.AppView.rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication):734:734 -> a
    68:68:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):145 -> a
    69:77:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):149:157 -> a
    78:81:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):156:159 -> a
    82:82:void lambda$run$0(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):141:141 -> a
    83:85:void amendKeepInfo(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,java.util.List):165:167 -> a
    86:93:void lambda$amendKeepInfo$2(java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):170:177 -> a
    94:107:void lambda$amendKeepInfo$2(java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):173:186 -> a
    108:108:void lambda$amendKeepInfo$1(com.android.tools.r8.horizontalclassmerging.VirtuallyMergedMethodsKeepInfo,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):183:183 -> a
    109:124:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier createFieldAccessInfoCollectionModifier(java.util.Collection):193:208 -> a
    125:125:boolean lambda$createFieldAccessInfoCollectionModifier$3(com.android.tools.r8.graph.DexEncodedMethod):200:200 -> a
    126:126:void lambda$createFieldAccessInfoCollectionModifier$4(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):201:201 -> a
    127:127:void transformIncompleteCode(java.util.Collection,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,java.util.concurrent.ExecutorService):216:216 -> a
    128:130:void lambda$transformIncompleteCode$9(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.horizontalclassmerging.MergeGroup):219:221 -> a
    131:134:void lambda$transformIncompleteCode$8(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.graph.ProgramMethod):227:230 -> a
    135:142:com.android.tools.r8.graph.DirectMappedDexApplication getNewApplication(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):240:247 -> a
    143:143:boolean lambda$getNewApplication$10(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.graph.DexProgramClass):246:246 -> a
    144:156:java.util.List getInitialGroups():251:263 -> a
    157:157:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):327:327 -> a
    158:158:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":488,"2":489,"3":490}}
    488:488:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):327:327 -> a
    489:489:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):327:327 -> a
    490:490:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):327:327 -> a
    486:487:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):328:329 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger createForInitialClassMerging(com.android.tools.r8.graph.AppView):62:62 -> b
    2:2:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):73:73 -> b
    3:3:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":86,"2":87,"3":88}}
    86:86:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:74 -> b
    87:87:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:74 -> b
    88:88:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:74 -> b
    77:85:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:82 -> b
    89:89:boolean lambda$createFieldAccessInfoCollectionModifier$5(com.android.tools.r8.graph.DexEncodedMethod):204:204 -> b
    90:90:void lambda$createFieldAccessInfoCollectionModifier$6(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):205:205 -> b
    91:98:boolean verifyNoCyclesInInterfaceHierarchies(java.util.Collection):317:324 -> b
    1:2:boolean lambda$transformIncompleteCode$7(com.android.tools.r8.graph.DexEncodedMethod):223:224 -> c
com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode -> com.android.tools.r8.internal.Km:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode INITIAL -> b
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode FINAL -> c
    1:2:void <clinit>():38:39 -> <clinit>
    1:1:void <init>(java.lang.String,int):37:37 -> <init>
    1:1:boolean isFinal():46:46 -> a
    1:1:boolean isInitial():42:42 -> b
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerCfCode -> com.android.tools.r8.internal.Mm:
    1:1:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List):20:20 -> <init>
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens -> com.android.tools.r8.internal.Om:
    java.util.Map methodExtraParameters -> n
    com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses mergedClasses -> o
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$1):30:30 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):42:44 -> <init>
    1:10:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):64:73 -> a
    1:10:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):78:87 -> b
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    11:11:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):87 -> b
    12:17:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):85:90 -> b
    1:1:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):54:54 -> f
    2:2:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.prependSingleton(java.lang.Object,java.lang.Iterable):136:136 -> f
    2:2:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):54 -> f
    3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> f
    3:3:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.prependSingleton(java.lang.Object,java.lang.Iterable):136 -> f
    3:3:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):54 -> f
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder -> com.android.tools.r8.internal.Nm:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap newMethodSignatures -> c
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap newFieldSignatures -> a
    java.util.Map methodExtraParameters -> d
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap pendingNewFieldSignatureUpdates -> f
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap pendingNewMethodSignatureUpdates -> g
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap pendingMethodMapUpdates -> e
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap methodMap -> b
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():93:93 -> <clinit>
    1:1:void <init>():113:113 -> <init>
    2:17:void <init>():96:111 -> <init>
    1:5:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):117:121 -> a
    6:18:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):120:132 -> a
    19:20:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):137:138 -> a
    21:23:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):149:149 -> a
    25:27:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):151:153 -> a
    28:28:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):142:142 -> a
    28:28:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):154 -> a
    29:29:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):156:156 -> a
    30:30:void fixupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):160:160 -> a
    31:40:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.fixupOriginalMemberSignatures(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap):229:238 -> a
    31:40:void fixupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):160 -> a
    41:41:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.mapMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):168:168 -> a
    41:41:void mapMergedConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List):269 -> a
    42:43:void mapMergedConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List):270:271 -> a
    44:46:void recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):197:199 -> a
    47:52:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.fixupMethodMap(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):213:218 -> a
    47:52:void fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):204 -> a
    53:53:void fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):205:205 -> a
    54:63:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.fixupOriginalMemberSignatures(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap):229:238 -> a
    54:63:void fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):205 -> a
    64:69:void commitPendingUpdates():245:250 -> a
    70:72:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.commitPendingNewMemberSignatureUpdates(com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap):258:260 -> a
    70:72:void commitPendingUpdates():250 -> a
    73:73:void commitPendingUpdates():251:251 -> a
    74:76:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.commitPendingNewMemberSignatureUpdates(com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap):258:260 -> a
    74:76:void commitPendingUpdates():251 -> a
    77:87:void addExtraParameters(com.android.tools.r8.graph.DexMethod,java.util.List):276:286 -> a
    88:88:java.util.List lambda$addExtraParameters$2(java.util.List,com.android.tools.r8.graph.DexMethod):279:279 -> a
    boolean lambda$recordNewFieldSignature$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField) -> b
    1:3:boolean lambda$build$0(com.android.tools.r8.graph.DexMethod):123:123 -> b
    4:4:void mapMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):168:168 -> b
    5:5:java.util.List lambda$addExtraParameters$3(java.util.List,com.android.tools.r8.graph.DexMethod):285:285 -> b
    1:1:void recordNewFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):142:142 -> c
    2:2:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.mapMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):168:168 -> c
    2:2:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):176 -> c
    2:2:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):172 -> c
    3:3:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):177:177 -> c
    3:3:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):172 -> c
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerUtils -> com.android.tools.r8.internal.Pm:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:4:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):14:17 -> a
    5:5:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexField):181:181 -> a
    5:5:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):17 -> a
    6:6:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):19:19 -> a
    7:7:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexField):181:181 -> a
    7:7:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):19 -> a
    8:8:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):19:19 -> a
com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses -> com.android.tools.r8.internal.Rm:
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap mergedClasses -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():19:19 -> <clinit>
    1:2:void <init>(com.android.tools.r8.utils.collections.BidirectionalManyToOneMap):23:24 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses empty():32:32 -> a
    2:3:void lambda$extend$1(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder,java.util.Set,com.android.tools.r8.graph.DexType):45:46 -> a
    4:4:void lambda$extend$0(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):46:46 -> a
    5:5:void lambda$extend$3(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder,java.util.Set,com.android.tools.r8.graph.DexType):49:49 -> a
    6:6:void forEachMergeGroup(java.util.function.BiConsumer):55:55 -> a
    7:7:boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType):76:76 -> a
    8:8:boolean com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.isEmpty():80:80 -> a
    8:8:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):36 -> a
    9:9:boolean com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.isEmpty():80:80 -> a
    9:9:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):39 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.isEmpty():80:80 -> a
    10:10:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):39 -> a
    11:11:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.builder():28:28 -> a
    11:11:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):42 -> a
    12:19:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):43:50 -> a
    20:21:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):98:99 -> a
    22:22:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":125,"2":126,"3":127}}
    125:125:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):99:99 -> a
    126:126:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):99:99 -> a
    127:127:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):99:99 -> a
    23:23:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131,"4":132}}
    129:129:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    130:130:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    131:131:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    132:132:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    124:124:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    1:1:void lambda$extend$2(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):49:49 -> b
    2:2:com.android.tools.r8.graph.DexType getMergeTargetOrDefault(com.android.tools.r8.graph.DexType):59:59 -> b
    3:3:java.util.Map getForwardMap():93:93 -> b
    1:1:java.util.Set getSources():63:63 -> c
    2:2:java.util.Set getSourcesFor(com.android.tools.r8.graph.DexType):67:67 -> c
    1:1:java.util.Set getTargets():71:71 -> d
    2:2:boolean hasBeenMergedOrIsMergeTarget(com.android.tools.r8.graph.DexType):89:89 -> d
    1:1:boolean isEmpty():80:80 -> e
    2:2:boolean isMergeTarget(com.android.tools.r8.graph.DexType):85:85 -> e
com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder -> com.android.tools.r8.internal.Qm:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap mergedClasses -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():107:107 -> <clinit>
    1:4:void <init>():107:110 -> <init>
    1:2:void add(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):113:114 -> a
    3:3:void addMergeGroup(com.android.tools.r8.horizontalclassmerging.MergeGroup):118:118 -> a
    4:4:void lambda$addMergeGroup$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.DexProgramClass):118:118 -> a
    5:5:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder addMergeGroups(java.lang.Iterable):122:122 -> a
    6:6:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses build():127:127 -> a
com.android.tools.r8.horizontalclassmerging.IRCodeProvider -> com.android.tools.r8.internal.qn:
    com.android.tools.r8.graph.AppView appViewForConversion -> a
    1:10:void <init>(com.android.tools.r8.graph.AppView):17:26 -> <init>
    1:3:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod):31:33 -> a
com.android.tools.r8.horizontalclassmerging.IncompleteVirtuallyMergedMethodCode -> com.android.tools.r8.internal.Qo:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap mappedMethods -> e
    com.android.tools.r8.graph.DexMethod superMethod -> g
    com.android.tools.r8.graph.DexMethod originalMethod -> f
    com.android.tools.r8.graph.DexField classIdField -> d
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():49:49 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):60:64 -> <init>
    1:27:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):96:122 -> a
    28:28:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> a
    28:28:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):122 -> a
    29:39:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):122:132 -> a
    40:55:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):131:146 -> a
    56:59:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):145:148 -> a
    60:69:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):147:156 -> a
    70:77:com.android.tools.r8.cf.code.CfFrame createCfFrameForSwitchCase(com.android.tools.r8.graph.ProgramMethod,int):172:179 -> a
    78:88:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.horizontalclassmerging.IncompleteVirtuallyMergedMethodCode.createLocalFrames(com.android.tools.r8.graph.ProgramMethod,int):184:194 -> a
    78:88:com.android.tools.r8.cf.code.CfFrame createCfFrameForSwitchCase(com.android.tools.r8.graph.ProgramMethod,int):179 -> a
    89:89:com.android.tools.r8.cf.code.CfFrame createCfFrameForSwitchCase(com.android.tools.r8.graph.ProgramMethod,int):179:179 -> a
    90:90: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):202:202 -> a
    91:91:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):227:227 -> a
    92:92:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):232:232 -> a
    93:93:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):242:242 -> a
    1:1:boolean computeEquals(java.lang.Object):207:207 -> h
    1:1:int computeHashCode():212:212 -> m0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():217:217 -> q0
    1:1:java.lang.String toString():237:237 -> toString
    boolean isHorizontalClassMergingCode() -> w0
com.android.tools.r8.horizontalclassmerging.IncompleteVirtuallyMergedMethodCode$1 -> com.android.tools.r8.internal.Po:
    boolean $assertionsDisabled -> n
    1:1:void <clinit>():156:156 -> <clinit>
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.IncompleteVirtuallyMergedMethodCode,com.android.tools.r8.graph.DexType,int,int,java.util.List):156:156 -> <init>
    1:4:com.android.tools.r8.graph.GraphLens getCodeLens(com.android.tools.r8.graph.AppView):162:165 -> a
com.android.tools.r8.horizontalclassmerging.InstanceInitializerAnalysis -> com.android.tools.r8.internal.Qp:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription$Builder com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):44 -> a
    2:73:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):45:116 -> a
    74:74:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    74:74:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):116 -> a
    75:75:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    75:75:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    75:75:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):116 -> a
    76:96:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):117:137 -> a
    97:107:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):68:78 -> a
    108:108:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    108:108:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    109:129:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):79:99 -> a
    130:219:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):61:150 -> a
    220:234:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInitializationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):155:169 -> a
    235:235:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    235:235:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInitializationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):171 -> a
    236:237:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInitializationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):173:174 -> a
com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription -> com.android.tools.r8.internal.Sp:
    java.util.Map instanceFieldAssignmentsPre -> a
    java.util.Map instanceFieldAssignmentsPost -> b
    com.android.tools.r8.graph.DexTypeList relaxedParameters -> e
    java.util.List parentConstructorArguments -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexMethod parentConstructor -> c
    1:1:void <clinit>():46:46 -> <clinit>
    1:6:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.graph.DexTypeList):73:78 -> <init>
    1:31:com.android.tools.r8.graph.CfCode createCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.horizontalclassmerging.MergeGroup,boolean,int):102:132 -> a
    32:32:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> a
    32:32:com.android.tools.r8.graph.CfCode createCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.horizontalclassmerging.MergeGroup,boolean,int):132 -> a
    33:55:com.android.tools.r8.graph.CfCode createCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.horizontalclassmerging.MergeGroup,boolean,int):132:154 -> a
    56:65:com.android.tools.r8.graph.CfCode createCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.horizontalclassmerging.MergeGroup,boolean,int):150:159 -> a
    66:67:void com.android.tools.r8.utils.IntBox.setMax(int):61:62 -> a
    66:67:com.android.tools.r8.graph.CfCode createCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.horizontalclassmerging.MergeGroup,boolean,int):160 -> a
    68:75:com.android.tools.r8.graph.CfCode createCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.horizontalclassmerging.MergeGroup,boolean,int):163:170 -> a
    76:76:void addCfInstructionsForInstanceFieldAssignments(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,java.util.Map,int[],com.android.tools.r8.utils.IntBox):178:178 -> a
    77:80:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):181:184 -> a
    81:83:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):183:185 -> a
    84:84:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> a
    84:84:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):185 -> a
    85:85:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):185:185 -> a
    86:86:void com.android.tools.r8.utils.IntBox.setMax(int):61:61 -> a
    86:86:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):186 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    87:87:void com.android.tools.r8.utils.IntBox.setMax(int):62:62 -> a
    87:87:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):186 -> a
    88:91:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):195:198 -> a
    92:101:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):197:206 -> a
    102:102:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleConstClassValue():0:0 -> a
    102:102:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):206 -> a
    103:104:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):207:208 -> a
    105:105:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    105:105:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):208 -> a
    106:106:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):207:207 -> a
    107:107:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleDexItemBasedStringValue():0:0 -> a
    107:107:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):210 -> a
    108:111:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):212:215 -> a
    112:112:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):213:213 -> a
    113:113:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    113:113:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):217 -> a
    114:114:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):218:218 -> a
    115:115:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    115:115:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):219 -> a
    116:122:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):219:225 -> a
    123:131:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):223:231 -> a
    132:132:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):230:230 -> a
    1:8:boolean equals(java.lang.Object):238:245 -> equals
    1:1:int hashCode():250:250 -> hashCode
com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription$Builder -> com.android.tools.r8.internal.Rp:
    java.util.Map instanceFieldAssignmentsPre -> c
    java.util.Map instanceFieldAssignmentsPost -> d
    java.util.List parentConstructorArguments -> f
    com.android.tools.r8.graph.DexTypeList relaxedParameters -> b
    com.android.tools.r8.graph.DexMethod parentConstructor -> e
    boolean $assertionsDisabled -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:1:void <clinit>():258:258 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.ProgramMethod):270:270 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.ProgramMethod):263:275 -> <init>
    1:1:com.android.tools.r8.graph.DexType lambda$new$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):276:276 -> a
    2:20:void addInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):280:298 -> a
    21:23:boolean addInvokeConstructor(com.android.tools.r8.graph.DexMethod,java.util.List):303:305 -> a
    24:25:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription build():312:313 -> a
    1:1:boolean isValid():322:322 -> b
com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger -> com.android.tools.r8.internal.Wp:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription instanceInitializerDescription -> f
    boolean $assertionsDisabled -> i
    java.util.List instanceInitializers -> e
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap classIdentifiers -> b
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> d
    1:1:void <clinit>():40:40 -> <clinit>
    1:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription):68:81 -> <init>
    1:1:int getArity():86:86 -> a
    2:11:com.android.tools.r8.graph.DexMethod getNewMethodReference(com.android.tools.r8.graph.ProgramMethod,boolean):110:119 -> a
    12:22:com.android.tools.r8.graph.DexMethod getNewMethodReference(com.android.tools.r8.graph.ProgramMethod,boolean):117:127 -> a
    23:23:com.android.tools.r8.graph.DexType lambda$getNewMethodReference$0(int,com.android.tools.r8.graph.ProgramMethod):121:121 -> a
    24:28:com.android.tools.r8.graph.DexMethod getSyntheticMethodReference(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):147:147 -> a
    29:33:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):305:309 -> a
    34:34:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():241:241 -> a
    34:34:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):310 -> a
    35:44:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):310:319 -> a
    45:52:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):317:324 -> a
    53:53:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():241:241 -> a
    53:53:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):327 -> a
    54:54:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):328:328 -> a
    55:57:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):185:187 -> a
    55:57:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):181 -> a
    55:57:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):328 -> a
    58:59:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):176:177 -> a
    58:59:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):187 -> a
    58:59:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):181 -> a
    58:59:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):328 -> a
    60:60:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.isSingleton():297:297 -> a
    60:60:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):329 -> a
    61:62:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):329:330 -> a
    63:63:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):176:176 -> a
    63:63:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):330 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:64:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):177:177 -> a
    64:64:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):330 -> a
    65:70:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):332:337 -> a
    71:71:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):192:192 -> a
    71:71:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):336 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    72:72:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):343:343 -> a
    73:73:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.isSingleton():297:297 -> a
    73:73:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):344 -> a
    74:85:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):344:355 -> a
    86:86:void com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter.<init>():20:20 -> a
    86:86:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):355 -> a
    87:89:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):355:357 -> a
    90:97:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):356:363 -> a
    98:98:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewAccessFlags():268:268 -> a
    98:98:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):364 -> a
    99:99:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):364:364 -> a
    100:100:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():241:241 -> a
    100:100:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):277 -> a
    100:100:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    101:101:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():131:131 -> a
    101:101:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):280 -> a
    101:101:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    102:102:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getRepresentative():135:135 -> a
    102:102:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():131 -> a
    102:102:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):280 -> a
    102:102:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    103:103:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():131:131 -> a
    103:103:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):280 -> a
    103:103:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    104:104:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    104:104:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():131 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    104:104:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):280 -> a
    104:104:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    105:105:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):280:280 -> a
    105:105:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    106:106:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):278:278 -> a
    106:106:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    107:107:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.isSingleton():297:297 -> a
    107:107:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):286 -> a
    107:107:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    108:108:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):286:286 -> a
    108:108:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    109:109:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getRepresentative():135:135 -> a
    109:109:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):287 -> a
    109:109:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    110:112:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):287:289 -> a
    110:112:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    113:113:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():155:155 -> a
    113:113:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):290 -> a
    113:113:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    114:114:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():241:241 -> a
    114:114:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():155 -> a
    114:114:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):290 -> a
    114:114:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    115:120:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():155:160 -> a
    115:120:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):290 -> a
    115:120:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    121:121:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():158:158 -> a
    121:121:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):290 -> a
    121:121:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    122:122:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):292:292 -> a
    122:122:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    123:123:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):365:365 -> a
    124:128:com.android.tools.r8.cf.CfVersion com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewClassFileVersion():95:99 -> a
    124:128:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):367 -> a
    129:129:com.android.tools.r8.cf.CfVersion com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewClassFileVersion():98:98 -> a
    129:129:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):367 -> a
    130:139:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):367:376 -> a
    140:144:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):375:379 -> a
    145:145:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):378:378 -> a
    1:1:java.util.List getInstanceInitializers():90:90 -> b
    2:7:com.android.tools.r8.graph.DexMethod moveInstanceInitializer(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):246:251 -> b
    8:22:com.android.tools.r8.graph.DexMethod moveInstanceInitializer(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):247:261 -> b
    1:1:int size():166:166 -> c
com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder -> com.android.tools.r8.internal.Vp:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> f
    java.util.List instanceInitializerGroups -> d
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap classIdentifiers -> b
    boolean $assertionsDisabled -> g
    int estimatedDexCodeSize -> c
    1:1:void <clinit>():169:169 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):182:182 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):174:187 -> <init>
    1:2:void createNewGroup():191:192 -> a
    3:6:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):197:200 -> a
    7:7:int com.android.tools.r8.utils.InternalOptions.minimumVerificationSizeLimitInBytes():314:314 -> a
    7:7:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:int com.android.tools.r8.utils.InternalOptions.minimumVerificationSizeLimitInBytes():314:314 -> a
    8:8:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):200 -> a
    9:15:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):200:206 -> a
    16:17:java.util.List build(com.android.tools.r8.horizontalclassmerging.MergeGroup):216:217 -> a
    18:18:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger lambda$build$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List):220:220 -> a
    19:19:void com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):58:58 -> a
    19:19:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger lambda$build$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List):220 -> a
    20:23:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger buildSingle(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription):226:229 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder addEquivalent(com.android.tools.r8.graph.ProgramMethod):211:211 -> b
com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection -> com.android.tools.r8.internal.Xp:
    java.util.List instanceInitializerMergers -> a
    java.util.Map equivalentInstanceInitializerMergers -> b
    1:3:void <init>(java.util.List,java.util.Map):34:36 -> <init>
    1:69:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):48:116 -> a
    70:72:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):115:117 -> a
    73:73:void lambda$create$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass):52:52 -> a
    74:80:void lambda$create$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):56:62 -> a
    81:89:void lambda$create$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):60:68 -> a
    90:90:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder lambda$create$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):64:64 -> a
    91:97:void lambda$create$3(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.Map,com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription,com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder):77:83 -> a
    98:98:void lambda$create$5(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.graph.ProgramMethod):95:95 -> a
    99:104:void lambda$create$5(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.graph.ProgramMethod):94:99 -> a
    105:105:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder lambda$create$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.graph.DexProto):97:97 -> a
    106:107:void forEach(java.util.function.Consumer):122:123 -> a
com.android.tools.r8.horizontalclassmerging.MergeGroup -> com.android.tools.r8.internal.VD:
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap instanceFieldMap -> e
    com.android.tools.r8.graph.DexProgramClass target -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexField classIdField -> c
    java.util.LinkedList classes -> b
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>():42:42 -> <init>
    2:8:void <init>():37:43 -> <init>
    9:10:void <init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> <init>
    11:12:void <init>(java.lang.Iterable):52:53 -> <init>
    1:1:boolean add(com.android.tools.r8.graph.DexProgramClass):64:64 -> a
    2:2:boolean add(com.android.tools.r8.horizontalclassmerging.MergeGroup):68:68 -> a
    3:3:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> a
    3:3:boolean add(com.android.tools.r8.horizontalclassmerging.MergeGroup):68 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean add(com.android.tools.r8.horizontalclassmerging.MergeGroup):68:68 -> a
    5:8:void forEachSource(java.util.function.Consumer):92:95 -> a
    9:10:com.android.tools.r8.graph.DexField getClassIdField():109:110 -> a
    11:11:void setClassIdField(com.android.tools.r8.graph.DexField):114:114 -> a
    12:18:void selectInstanceFieldMap(com.android.tools.r8.graph.AppView):127:133 -> a
    19:19:void lambda$selectInstanceFieldMap$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap,com.android.tools.r8.graph.DexProgramClass):132:132 -> a
    20:21:void setInstanceFieldMap(com.android.tools.r8.utils.collections.BidirectionalManyToOneMap):138:139 -> a
    22:24:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):161:163 -> a
    25:25:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.MergeGroup.getTarget():157:157 -> a
    25:25:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):163 -> a
    26:27:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):166:167 -> a
    28:28:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.MergeGroup.getTarget():157:157 -> a
    28:28:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):167 -> a
    29:29:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):167:167 -> a
    1:1:boolean add(java.lang.Object):30:30 -> add
    2:2:boolean com.android.tools.r8.horizontalclassmerging.MergeGroup.add(com.android.tools.r8.graph.DexProgramClass):64:64 -> add
    2:2:boolean add(java.lang.Object):30 -> add
    1:1:boolean addAll(java.util.Collection):73:73 -> addAll
    1:1:java.util.LinkedList getClasses():101:101 -> b
    2:2:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> b
    2:2:void selectTarget(com.android.tools.r8.graph.AppView):171 -> b
    3:3:void selectTarget(com.android.tools.r8.graph.AppView):171:171 -> b
    4:4:boolean com.android.tools.r8.utils.IterableUtils.isEmpty(java.lang.Iterable):128:128 -> b
    4:4:void selectTarget(com.android.tools.r8.graph.AppView):172 -> b
    5:5:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> b
    5:5:void selectTarget(com.android.tools.r8.graph.AppView):173 -> b
    6:6:void selectTarget(com.android.tools.r8.graph.AppView):175:175 -> b
    7:7:java.lang.Object com.android.tools.r8.utils.IterableUtils.first(java.lang.Iterable):77:77 -> b
    7:7:void selectTarget(com.android.tools.r8.graph.AppView):176 -> b
    8:17:void selectTarget(com.android.tools.r8.graph.AppView):176:185 -> b
    18:18:int com.android.tools.r8.graph.DexString.size():44:44 -> b
    18:18:void selectTarget(com.android.tools.r8.graph.AppView):185 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:void selectTarget(com.android.tools.r8.graph.AppView):185:185 -> b
    20:20:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> b
    20:20:void selectTarget(com.android.tools.r8.graph.AppView):189 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    21:21:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> b
    21:21:void selectTarget(com.android.tools.r8.graph.AppView):189 -> b
    22:22:void selectTarget(com.android.tools.r8.graph.AppView):189:189 -> b
    23:24:void com.android.tools.r8.horizontalclassmerging.MergeGroup.setTarget(com.android.tools.r8.graph.DexProgramClass):193:194 -> b
    23:24:void selectTarget(com.android.tools.r8.graph.AppView):189 -> b
    25:25:boolean lambda$getSources$1(com.android.tools.r8.graph.DexProgramClass):144:144 -> b
    1:2:com.android.tools.r8.utils.collections.BidirectionalManyToOneMap getInstanceFieldMap():122:123 -> c
    1:1:void clear():78:78 -> clear
    1:1:boolean contains(java.lang.Object):83:83 -> contains
    1:1:boolean containsAll(java.util.Collection):88:88 -> containsAll
    1:2:java.lang.Iterable getSources():143:144 -> d
    1:1:com.android.tools.r8.graph.DexType getSuperType():148:148 -> e
    2:2:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> e
    2:2:com.android.tools.r8.graph.DexType getSuperType():149 -> e
    3:3:com.android.tools.r8.graph.DexType getSuperType():149:149 -> e
    1:1:com.android.tools.r8.graph.DexProgramClass getTarget():157:157 -> f
    1:1:boolean hasClassIdField():105:105 -> g
    1:1:boolean hasInstanceFieldMap():118:118 -> h
    1:1:boolean hasTarget():153:153 -> i
    1:1:boolean isEmpty():207:207 -> isEmpty
    1:1:java.util.Iterator iterator():222:222 -> iterator
    1:1:boolean isClassGroup():211:211 -> j
    1:1:boolean isInterfaceGroup():215:215 -> k
    2:2:boolean com.android.tools.r8.horizontalclassmerging.MergeGroup.isEmpty():207:207 -> k
    2:2:boolean isInterfaceGroup():215 -> k
    3:3:boolean isInterfaceGroup():215:215 -> k
    4:4:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> k
    4:4:boolean isInterfaceGroup():216 -> k
    5:5:boolean isInterfaceGroup():216:216 -> k
    6:6:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> k
    6:6:boolean isInterfaceGroup():217 -> k
    7:7:boolean isInterfaceGroup():217:217 -> k
    1:1:int com.android.tools.r8.horizontalclassmerging.MergeGroup.size():227:227 -> l
    1:1:boolean isTrivial():198 -> l
    1:1:com.android.tools.r8.graph.DexProgramClass removeLast():250:250 -> m
    1:1:boolean remove(java.lang.Object):232:232 -> remove
    1:1:boolean removeAll(java.util.Collection):237:237 -> removeAll
    1:1:boolean removeIf(java.util.function.Predicate):246:246 -> removeIf
    1:1:boolean retainAll(java.util.Collection):255:255 -> retainAll
    1:1:int size():227:227 -> size
    1:1:java.lang.Object[] toArray():260:260 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):265:265 -> toArray
com.android.tools.r8.horizontalclassmerging.MultiClassPolicy -> com.android.tools.r8.internal.IF:
    1:1:void <init>():9:9 -> <init>
    java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup) -> a
    com.android.tools.r8.horizontalclassmerging.MultiClassPolicy asMultiClassPolicy() -> a
    boolean isMultiClassPolicy() -> g
com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing -> com.android.tools.r8.internal.JF:
    1:1:void <init>():11:11 -> <init>
    java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object) -> a
    java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService) -> a
    com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing asMultiClassPolicyWithPreprocessing() -> b
    boolean isMultiClassPolicyWithPreprocessing() -> h
com.android.tools.r8.horizontalclassmerging.MultiClassSameReferencePolicy -> com.android.tools.r8.internal.KF:
    1:1:void <init>():12:12 -> <init>
    java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass) -> a
    1:9:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):16:24 -> a
    10:10:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$apply$0(java.lang.Object):20:20 -> a
com.android.tools.r8.horizontalclassmerging.Policy -> com.android.tools.r8.internal.FL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.horizontalclassmerging.MultiClassPolicy asMultiClassPolicy() -> a
    1:2:java.util.Collection removeTrivialGroups(java.util.Collection):61:62 -> a
    3:6:boolean recordRemovedClassesForDebugging(boolean,int,java.util.Collection):68:71 -> a
    7:7:boolean com.android.tools.r8.horizontalclassmerging.MergeGroup.isNonTrivial():202:202 -> a
    7:7:boolean recordRemovedClassesForDebugging(boolean,int,java.util.Collection):72 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:11:boolean recordRemovedClassesForDebugging(boolean,int,java.util.Collection):73:76 -> a
    com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing asMultiClassPolicyWithPreprocessing() -> b
    com.android.tools.r8.horizontalclassmerging.SingleClassPolicy asSingleClassPolicy() -> c
    void clear() -> d
    java.lang.String getName() -> e
    boolean isIdentityForInterfaceGroups() -> f
    boolean isMultiClassPolicy() -> g
    boolean isMultiClassPolicyWithPreprocessing() -> h
    boolean isSingleClassPolicy() -> i
    boolean shouldSkipPolicy() -> j
com.android.tools.r8.horizontalclassmerging.PolicyExecutor -> com.android.tools.r8.internal.GL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():20:20 -> <clinit>
    1:8:void applySingleClassPolicy(com.android.tools.r8.horizontalclassmerging.SingleClassPolicy,java.util.LinkedList):23:30 -> a
    9:12:void applySingleClassPolicy(com.android.tools.r8.horizontalclassmerging.SingleClassPolicy,java.util.LinkedList):29:32 -> a
    13:13:boolean lambda$applySingleClassPolicy$0(com.android.tools.r8.horizontalclassmerging.SingleClassPolicy,com.android.tools.r8.graph.DexProgramClass):28:28 -> a
    14:15:java.util.LinkedList applyMultiClassPolicy(com.android.tools.r8.horizontalclassmerging.MultiClassPolicy,java.util.LinkedList):40:41 -> a
    16:22:void lambda$applyMultiClassPolicy$2(com.android.tools.r8.horizontalclassmerging.MultiClassPolicy,java.util.LinkedList,com.android.tools.r8.horizontalclassmerging.MergeGroup):43:49 -> a
    23:23:void lambda$applyMultiClassPolicy$1(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):46:46 -> a
    24:24:void com.android.tools.r8.horizontalclassmerging.MergeGroup.applyMetadataFrom(com.android.tools.r8.horizontalclassmerging.MergeGroup):58:58 -> a
    24:24:void lambda$applyMultiClassPolicy$1(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):46 -> a
    25:27:java.util.LinkedList applyMultiClassPolicyWithPreprocessing(com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing,java.util.LinkedList,java.util.concurrent.ExecutorService):60:62 -> a
    28:34:void lambda$applyMultiClassPolicyWithPreprocessing$4(com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing,java.lang.Object,java.util.LinkedList,com.android.tools.r8.horizontalclassmerging.MergeGroup):64:70 -> a
    35:49:java.util.Collection run(java.util.Collection,java.util.Collection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):94:108 -> a
    50:62:java.util.Collection run(java.util.Collection,java.util.Collection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107:119 -> a
    63:63:boolean lambda$run$5(com.android.tools.r8.horizontalclassmerging.MergeGroup):119:119 -> a
    1:1:void lambda$applyMultiClassPolicyWithPreprocessing$3(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):67:67 -> b
    2:2:void com.android.tools.r8.horizontalclassmerging.MergeGroup.applyMetadataFrom(com.android.tools.r8.horizontalclassmerging.MergeGroup):58:58 -> b
    2:2:void lambda$applyMultiClassPolicyWithPreprocessing$3(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):67 -> b
com.android.tools.r8.horizontalclassmerging.PolicyScheduler -> com.android.tools.r8.internal.HL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():63:63 -> <clinit>
    1:1:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):71:71 -> a
    2:2:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):84:84 -> a
    2:2:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    3:3:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addRequiredSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):110:110 -> a
    3:3:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):86 -> a
    3:3:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    4:15:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):88:99 -> a
    4:15:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    16:16:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addSingleClassPoliciesForMergingNonSyntheticClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):122:122 -> a
    16:16:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):100 -> a
    16:16:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    17:17:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):104:104 -> a
    17:17:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    18:18:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72:72 -> a
    19:19:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):160:160 -> a
    19:19:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    20:21:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addRequiredMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):203:204 -> a
    20:21:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):162 -> a
    20:21:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    22:23:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):164:165 -> a
    22:23:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    24:24:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addMultiClassPoliciesForMergingNonSyntheticClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):223:223 -> a
    24:24:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):166 -> a
    24:24:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    25:33:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):169:177 -> a
    25:33:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    34:34:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addMultiClassPoliciesForInterfaceMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):230:230 -> a
    34:34:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):182 -> a
    34:34:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    35:45:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):184:194 -> a
    35:45:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    46:49:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73:76 -> a
    50:50:boolean verifySingleClassPoliciesIrrelevantForMergingSynthetics(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):140:140 -> a
    51:51:void com.android.tools.r8.horizontalclassmerging.policies.NoDirectRuntimeTypeChecks.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):22:22 -> a
    51:51:boolean verifySingleClassPoliciesIrrelevantForMergingSynthetics(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):140 -> a
    52:63:boolean verifySingleClassPoliciesIrrelevantForMergingSynthetics(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):140:151 -> a
    64:70:boolean verifyPolicyOrderingConstraints(java.util.List):242:248 -> a
    71:71:boolean lambda$verifyPolicyOrderingConstraints$0(com.android.tools.r8.horizontalclassmerging.Policy):244:244 -> a
com.android.tools.r8.horizontalclassmerging.SingleClassPolicy -> com.android.tools.r8.internal.EU:
    1:1:void <init>():9:9 -> <init>
    boolean canMerge(com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.horizontalclassmerging.SingleClassPolicy asSingleClassPolicy() -> c
    boolean isSingleClassPolicy() -> i
com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses -> com.android.tools.r8.internal.hX:
    java.util.Map subtypeMap -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Collection roots -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):38:38 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView):35:40 -> <init>
    1:1:void calculateSubtyping(java.lang.Iterable):48:48 -> a
    2:2:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):52:52 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44:44 -> a
    3:3:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> a
    4:4:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    4:4:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> a
    5:5:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    5:5:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> a
    6:6:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    6:6:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44 -> a
    6:6:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> a
    7:9:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):57:59 -> a
    10:10:java.util.Collection getProgramRoots():64:64 -> a
    11:11:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):73:73 -> a
    12:12:java.util.Collection com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.getSubtypesFor(com.android.tools.r8.graph.DexProgramClass):68:68 -> a
    12:12:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):74 -> a
    13:13:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):74:74 -> a
    14:14:void lambda$traverseNodeDepthFirst$1(java.lang.Object,java.util.function.BiFunction,com.android.tools.r8.graph.DexProgramClass):74:74 -> a
    1:1:java.util.List lambda$calculateSubtyping$0(com.android.tools.r8.graph.DexProgramClass):59:59 -> b
com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass -> com.android.tools.r8.internal.AX:
    java.util.List syntheticClassTypes -> a
    1:1:void <init>(java.util.List,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$1):33:33 -> <init>
    2:3:void <init>(java.util.List):37:38 -> <init>
    1:1:java.util.List getArgumentClasses():42:42 -> a
com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$Builder -> com.android.tools.r8.internal.zX:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():45:45 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):49:50 -> <init>
    void lambda$synthesizeClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder) -> a
    1:3:com.android.tools.r8.graph.DexProgramClass synthesizeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):54:56 -> a
    4:6:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$Builder.getDeterministicContext(java.util.Collection):73:75 -> a
    4:6:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):60 -> a
    7:9:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):61:63 -> a
    10:13:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):62:65 -> a
    14:17:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):64:67 -> a
    18:20:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):66:68 -> a
com.android.tools.r8.horizontalclassmerging.TreeFixer -> com.android.tools.r8.internal.JY:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses mergedClasses -> g
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> i
    com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass syntheticArgumentClass -> k
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> h
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> j
    java.util.Map originalSuperTypes -> l
    com.android.tools.r8.com.google.common.collect.BiMap reservedInterfaceSignatures -> m
    1:1:void <clinit>():45:45 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass):64:64 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass):54:70 -> <init>
    1:4:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):142:145 -> a
    5:13:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):144:152 -> a
    14:14:com.android.tools.r8.graph.NestHostClassAttribute com.android.tools.r8.graph.TreeFixerBase.fixupNestHost(com.android.tools.r8.graph.NestHostClassAttribute):273:273 -> a
    14:14:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):152 -> a
    15:16:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):152:153 -> a
    17:26:java.util.List com.android.tools.r8.graph.TreeFixerBase.fixupNestMemberAttributes(java.util.List):279:288 -> a
    17:26:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):153 -> a
    27:27:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):153:153 -> a
    28:34:com.android.tools.r8.com.google.common.collect.BiMap fixupProgramClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap):167:173 -> a
    35:35:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> a
    35:35:com.android.tools.r8.com.google.common.collect.BiMap fixupProgramClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap):175 -> a
    36:49:com.android.tools.r8.com.google.common.collect.BiMap fixupProgramClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap):177:190 -> a
    50:51:com.android.tools.r8.graph.DexTypeList fixupInterfaces(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexTypeList):249:250 -> a
    52:66:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):280:294 -> a
    67:72:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):292:297 -> a
    73:73:void com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter.<init>():20:20 -> a
    73:73:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):297 -> a
    74:74:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
    75:81:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):297:303 -> a
    82:99:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):302:319 -> a
    100:100:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    100:100:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):319 -> a
    101:105:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):319:323 -> a
    106:106:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):322:322 -> a
    107:119:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.horizontalclassmerging.TreeFixer.fixupProgramMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):260:272 -> a
    107:119:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):326 -> a
    120:120:boolean lambda$fixupDirectMethod$4(java.util.Set,com.android.tools.r8.graph.DexMethod):295:295 -> a
    121:122:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):355:356 -> a
    123:136:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.horizontalclassmerging.TreeFixer.lookupReservedVirtualName(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.com.google.common.collect.BiMap):332:345 -> a
    123:136:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):359 -> a
    137:166:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):362:391 -> a
    167:167:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    167:167:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):390 -> a
    168:168:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):394:394 -> a
    169:173:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):375:379 -> a
    174:200:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):376:402 -> a
    201:201:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    201:201:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):402 -> a
    202:214:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.horizontalclassmerging.TreeFixer.fixupProgramMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):260:272 -> a
    202:214:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):403 -> a
    215:217:boolean lambda$fixupVirtualMethod$6(java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.DexMethodSignature):381:383 -> a
    218:218:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):408:408 -> a
    219:219:boolean com.android.tools.r8.utils.ArrayUtils.isEmpty(java.lang.Object[]):51:51 -> a
    219:219:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):408 -> a
    220:234:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):412:426 -> a
    235:235:java.lang.Object com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2246:2246 -> a
    235:235:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2277 -> a
    235:235:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    236:236:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2277:2277 -> a
    236:236:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422 -> a
    237:248:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422:433 -> a
    249:249:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.DexEncodedField.toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):308:308 -> a
    249:249:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):433 -> a
    250:252:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):433:435 -> a
    253:253:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):409:409 -> a
    254:254:java.util.Optional lambda$fixupFields$8(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexString):424:424 -> a
    255:255:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):209:209 -> a
    255:255:java.util.Optional lambda$fixupFields$8(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexString):424 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    256:256:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):209:209 -> a
    256:256:java.util.Optional lambda$fixupFields$8(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexString):424 -> a
    257:258:java.util.Optional lambda$fixupFields$8(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexString):424:425 -> a
    259:259:boolean lambda$fixupFields$7(java.util.Set,com.android.tools.r8.graph.DexField):425:425 -> a
    260:260:com.android.tools.r8.graph.DexType com.android.tools.r8.horizontalclassmerging.TreeFixer.mapClassType(com.android.tools.r8.graph.DexType):444:444 -> a
    260:260:com.android.tools.r8.graph.DexType lambda$fixupInterfaces$3(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexType):252 -> a
    261:262:com.android.tools.r8.graph.DexType lambda$fixupInterfaces$3(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexType):253:254 -> a
    263:263:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):450:450 -> a
    264:264:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):456:456 -> a
    265:265:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):462:462 -> a
    1:11:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens fixupTypeReferences():127:137 -> b
    12:12:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupProgramClass$0(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):179:179 -> b
    13:18:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):196:201 -> b
    19:19:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    19:19:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):200 -> b
    20:31:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):207:218 -> b
    32:32:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217:217 -> b
    33:42:java.lang.String com.android.tools.r8.graph.DexItemFactory.createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2232:2241 -> b
    33:42:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2288 -> b
    33:42:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2301 -> b
    33:42:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
    43:45:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2289:2291 -> b
    43:45:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2301 -> b
    43:45:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
    46:53:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):219:226 -> b
    54:54:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMember.getContextType():37:37 -> b
    54:54:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70 -> b
    54:54:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):227 -> b
    55:55:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> b
    55:55:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):227 -> b
    56:57:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):228:229 -> b
    58:70:void fixupInterfaceClass(com.android.tools.r8.graph.DexProgramClass):233:245 -> b
    71:71:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupInterfaceClass$2(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):236:236 -> b
    72:73:boolean lambda$fixupDirectMethod$5(java.util.Set,com.android.tools.r8.graph.DexMethod):307:308 -> b
    74:74:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):444:444 -> b
    1:6:void fixupProgramClassSuperTypes(com.android.tools.r8.graph.DexProgramClass):157:162 -> c
    7:7:void com.android.tools.r8.graph.DexClass.setInterfaces(com.android.tools.r8.graph.DexTypeList):189:189 -> c
    7:7:void fixupProgramClassSuperTypes(com.android.tools.r8.graph.DexProgramClass):162 -> c
    8:8:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupProgramClass$1(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):182:182 -> c
com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger -> com.android.tools.r8.internal.T10:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> c
    java.util.List methods -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexMethod superMethod -> e
    1:1:void <clinit>():28:28 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List,com.android.tools.r8.graph.DexMethod):40:45 -> <init>
    1:7:com.android.tools.r8.graph.DexMethod moveMethod(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):96:102 -> a
    8:22:com.android.tools.r8.graph.DexMethod moveMethod(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):98:112 -> a
    23:29:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():116:122 -> a
    30:30:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    30:30:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():122 -> a
    31:33:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():123:125 -> a
    34:34:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    34:34:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():125 -> a
    35:38:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():126:129 -> a
    39:39:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    39:39:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():129 -> a
    40:43:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():130:133 -> a
    44:44:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    44:44:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():133 -> a
    45:47:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():134:136 -> a
    48:48:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    48:48:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():136 -> a
    49:51:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():137:139 -> a
    52:52:boolean lambda$getAccessFlags$0(com.android.tools.r8.graph.MethodAccessFlags):119:119 -> a
    53:53:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():144:144 -> a
    53:53:void mergeTrivial(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):183 -> a
    54:54:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):309:309 -> a
    54:54:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():144 -> a
    54:54:void mergeTrivial(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):183 -> a
    55:91:void mergeTrivial(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):186:222 -> a
    92:92:boolean lambda$isNop$6(com.android.tools.r8.graph.ProgramMethod):153:153 -> a
    93:93:void lambda$mergeTrivial$9(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):193:193 -> a
    94:94:void lambda$mergeTrivial$10(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.DexEncodedMethod$Builder):217:217 -> a
    95:95:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIfKnown(com.android.tools.r8.utils.OptionalBool):1443:1443 -> a
    95:95:void lambda$mergeTrivial$10(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.DexEncodedMethod$Builder):217 -> a
    96:96:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1436:1436 -> a
    96:96:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIfKnown(com.android.tools.r8.utils.OptionalBool):1442 -> a
    96:96:void lambda$mergeTrivial$10(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.DexEncodedMethod$Builder):217 -> a
    97:118:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):230:251 -> a
    119:119:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):192:192 -> a
    119:119:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):251 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    120:120:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):253:253 -> a
    121:132:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):252:263 -> a
    133:133:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    133:133:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):263 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    134:138:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):264:268 -> a
    139:144:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):265:270 -> a
    145:145:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():144:144 -> a
    145:145:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):271 -> a
    146:146:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):309:309 -> a
    146:146:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():144 -> a
    146:146:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):271 -> a
    147:168:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):272:293 -> a
    169:169:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):192:192 -> a
    169:169:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):297 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    170:173:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):299:302 -> a
    1:1:boolean lambda$getAccessFlags$1(com.android.tools.r8.graph.MethodAccessFlags):122:122 -> b
    2:3:boolean isNop():152:153 -> b
    4:4:boolean lambda$isTrivial$7(com.android.tools.r8.graph.ProgramMethod):169:169 -> b
    1:1:boolean lambda$getAccessFlags$2(com.android.tools.r8.graph.MethodAccessFlags):125:125 -> c
    2:2:boolean isNopOrTrivial():174:174 -> c
    3:3:boolean lambda$mergeTrivial$8(com.android.tools.r8.graph.ProgramMethod):187:187 -> c
    1:1:boolean lambda$getAccessFlags$3(com.android.tools.r8.graph.MethodAccessFlags):129:129 -> d
    2:9:boolean isTrivial():162:169 -> d
    10:12:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):124:126 -> d
    10:12:boolean isTrivial():169 -> d
    13:17:int com.android.tools.r8.com.google.common.collect.Iterators.size(java.util.Iterator):163:167 -> d
    13:17:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):126 -> d
    13:17:boolean isTrivial():169 -> d
    1:1:boolean lambda$getAccessFlags$4(com.android.tools.r8.graph.MethodAccessFlags):133:133 -> e
    1:1:boolean lambda$getAccessFlags$5(com.android.tools.r8.graph.MethodAccessFlags):136:136 -> f
com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder -> com.android.tools.r8.internal.S10:
    java.util.List methods -> a
    1:2:void <init>():48:49 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):52:52 -> a
    2:2:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):82:82 -> a
    3:20:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder.superMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):59:76 -> a
    3:20:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):82 -> a
    21:21:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):83:83 -> a
com.android.tools.r8.horizontalclassmerging.VirtuallyMergedMethodsKeepInfo -> com.android.tools.r8.internal.W10:
    com.android.tools.r8.shaking.KeepMethodInfo$Joiner keepInfo -> b
    com.android.tools.r8.graph.DexMethod representative -> a
    1:1:void <init>(com.android.tools.r8.graph.DexMethod):16:16 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexMethod):14:17 -> <init>
    1:1:void amendKeepInfo(com.android.tools.r8.shaking.KeepMethodInfo):21:21 -> a
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Joiner getKeepInfo():29:29 -> a
    1:1:com.android.tools.r8.graph.DexMethod getRepresentative():25:25 -> b
com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger -> com.android.tools.r8.internal.ba:
    com.android.tools.r8.com.google.common.collect.ImmutableList classInitializers -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():53:53 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$1):53:53 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):57:58 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$300(com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger):53:53 -> a
    2:9:com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger create(com.android.tools.r8.horizontalclassmerging.MergeGroup):62:69 -> a
    10:11:void lambda$create$0(com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$Builder,com.android.tools.r8.graph.DexProgramClass):65:66 -> a
    12:20:com.android.tools.r8.graph.Code getCode(com.android.tools.r8.graph.DexMethod):77:85 -> a
    21:29:com.android.tools.r8.cf.CfVersion getCfVersion():89:97 -> a
    30:32:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.CfVersionUtils.max(java.util.List):16:18 -> a
    30:32:com.android.tools.r8.cf.CfVersion getCfVersion():97 -> a
    33:33:java.lang.Boolean lambda$getCfVersion$2(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    34:37:com.android.tools.r8.androidapi.ComputedApiLevel getApiReferenceLevel(com.android.tools.r8.graph.AppView):103:106 -> a
    38:38:com.android.tools.r8.androidapi.ComputedApiLevel getApiReferenceLevel(com.android.tools.r8.graph.AppView):104:104 -> a
    39:39:com.android.tools.r8.androidapi.ComputedApiLevel lambda$getApiReferenceLevel$3(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.ProgramMethod):107:107 -> a
    1:1:boolean isEmpty():73:73 -> b
    2:2:java.lang.Boolean lambda$getCode$1(com.android.tools.r8.graph.ProgramMethod):82:82 -> b
com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$Builder -> com.android.tools.r8.internal.Y9:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder classInitializers -> a
    1:1:void <clinit>():110:110 -> <clinit>
    1:3:void <init>():110:112 -> <init>
    1:3:void add(com.android.tools.r8.graph.ProgramMethod):115:117 -> a
    4:4:com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger build():121:121 -> a
com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder -> com.android.tools.r8.internal.Z9:
    com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger this$0 -> c
    int maxLocals -> b
    int maxStack -> a
    1:4:void <init>(com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger):126:129 -> <init>
    5:5:void <init>(com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger,com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$1):126:126 -> <init>
    1:4:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.graph.DexMethod):135:138 -> a
    5:8:java.util.List buildInstructions(com.android.tools.r8.ir.code.Position):142:145 -> a
    9:16:void com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder.addCfCode(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):151:158 -> a
    9:16:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
    17:17:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    17:17:void com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder.addCfCode(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):158 -> a
    17:17:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
    18:22:void com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder.addCfCode(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):159:163 -> a
    18:22:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
    23:38:void com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder.addCfCode(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):160:175 -> a
    23:38:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$IRProvider -> com.android.tools.r8.internal.aa:
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexMethod syntheticMethodReference -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList classInitializers -> d
    1:1:void <clinit>():184:184 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$1):184:184 -> <init>
    2:4:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.graph.DexMethod):190:192 -> <init>
    1:15: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):197:211 -> a
    16:16:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    16:16: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):211 -> a
    17:19: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):212:214 -> a
    20:29: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):210:219 -> a
    30:30:com.android.tools.r8.ir.code.Return$Builder com.android.tools.r8.ir.code.Return.builder():32:32 -> a
    30:30: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):219 -> a
    31:68: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):219:256 -> a
    69:87: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):248:266 -> a
    88:88:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):293:293 -> a
    89:89:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):298:298 -> a
    90:90:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):308:308 -> a
    1:1:boolean computeEquals(java.lang.Object):278:278 -> h
    1:1:int computeHashCode():273:273 -> m0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():283:283 -> q0
    1:1:java.lang.String toString():303:303 -> toString
com.android.tools.r8.horizontalclassmerging.code.ConstructorEntryPointSynthesizedCode -> com.android.tools.r8.internal.Pd:
    com.android.tools.r8.graph.DexField classIdField -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap typeConstructors -> g
    com.android.tools.r8.graph.DexMethod originalMethod -> e
    com.android.tools.r8.graph.DexMethod newConstructor -> d
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():16:16 -> <clinit>
    1:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):26:30 -> <init>
    1:1:com.android.tools.r8.ir.conversion.SourceCode lambda$getSourceCodeProvider$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):36:36 -> a
    2:2:java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod):42:42 -> a
    3:6:void registerReachableDefinitions(com.android.tools.r8.graph.UseRegistry):46:49 -> a
    boolean isHorizontalClassMergingCode() -> w0
    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():35:35 -> z0
com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter -> com.android.tools.r8.internal.GX:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List methods -> c
    com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,java.util.List,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$1):26:26 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,java.util.List):35:38 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider):43:43 -> a
    2:7:void convert(java.util.concurrent.ExecutorService):52:57 -> a
    8:8:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):315:315 -> a
    8:8:void convert(java.util.concurrent.ExecutorService):57 -> a
    9:9:void convert(java.util.concurrent.ExecutorService):58:58 -> a
    10:12:void lambda$convert$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod):61:63 -> a
    13:13:void lambda$convert$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    14:14:boolean isEmpty():69:69 -> a
com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder -> com.android.tools.r8.internal.FX:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List methods -> c
    com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$1):72:72 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider):79:79 -> <init>
    3:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider):76:81 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder add(com.android.tools.r8.graph.ProgramMethod):85:85 -> a
    2:2:com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter build():90:90 -> a
com.android.tools.r8.horizontalclassmerging.policies.AllInstantiatedOrUninstantiated -> com.android.tools.r8.internal.B1:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):17:22 -> <init>
    1:1:java.lang.Boolean com.android.tools.r8.horizontalclassmerging.policies.AllInstantiatedOrUninstantiated.getMergeKey(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):13 -> a
    1:1:java.lang.String getName():32:32 -> e
com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses -> com.android.tools.r8.internal.l9:
    com.android.tools.r8.utils.InternalOptions options -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):23:24 -> <init>
    1:3:com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses.getMergeKey(com.android.tools.r8.graph.DexProgramClass):41:43 -> a
    1:3:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):14 -> a
    1:1:java.lang.String getName():29:29 -> e
    1:1:boolean shouldSkipPolicy():36:36 -> j
com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification -> com.android.tools.r8.internal.k9:
    com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification NOT_ABSTRACT -> c
    com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification ABSTRACT -> b
    1:2:void <clinit>():17:18 -> <clinit>
    1:1:void <init>(java.lang.String,int):16:16 -> <init>
com.android.tools.r8.horizontalclassmerging.policies.CheckSyntheticClasses -> com.android.tools.r8.internal.B9:
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> c
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView):19:21 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
    2:2:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    2:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    3:3:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26 -> a
    4:4:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):29:29 -> a
    5:5:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    5:5:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):29 -> a
    6:6:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    6:6:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    6:6:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):29 -> a
    1:1:java.lang.String getName():37:37 -> e
com.android.tools.r8.horizontalclassmerging.policies.FinalizeMergeGroup -> com.android.tools.r8.internal.ok:
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):31:33 -> <init>
    1:7:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):38:44 -> a
    8:15:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):39:46 -> a
    16:16:void lambda$verifyAlreadyFinalized$0(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):65:65 -> a
    17:17:void lambda$verifyAlreadyFinalized$1(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.function.Consumer):65:65 -> a
    18:19:void lambda$verifyAlreadyFinalized$2(java.util.Set,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):70:71 -> a
    1:9:boolean verifyAlreadyFinalized(com.android.tools.r8.horizontalclassmerging.MergeGroup):60:68 -> b
    1:1:java.lang.String getName():51:51 -> e
com.android.tools.r8.horizontalclassmerging.policies.LimitClassGroups -> com.android.tools.r8.internal.vB:
    int maxGroupSize -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):20:22 -> <init>
    1:5:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):27:31 -> a
    6:7:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.LimitClassGroups.createNewGroup(java.util.LinkedList):51:52 -> a
    6:7:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):32 -> a
    8:9:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):33:34 -> a
    10:11:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.LimitClassGroups.createNewGroup(java.util.LinkedList):51:52 -> a
    10:11:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):35 -> a
    12:19:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):37:44 -> a
    20:20:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):28:28 -> a
    1:1:java.lang.String getName():58:58 -> e
    boolean isIdentityForInterfaceGroups() -> f
com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups -> com.android.tools.r8.internal.wB:
    int maxGroupSize -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):22:23 -> <init>
    1:6:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):29:34 -> a
    7:22:void com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups.processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):41:56 -> a
    7:22:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):35 -> a
    23:24:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    23:24:void com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups.processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):56 -> a
    23:24:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):35 -> a
    25:25:void com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups.processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):56:56 -> a
    25:25:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):35 -> a
    26:26:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):37:37 -> a
    1:1:java.lang.String getName():61:61 -> e
com.android.tools.r8.horizontalclassmerging.policies.MinimizeInstanceFieldCasts -> com.android.tools.r8.internal.QE:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    1:35:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):25:59 -> a
    36:36:void lambda$apply$0(java.util.Map,com.android.tools.r8.graph.DexProgramClass):26:26 -> a
    37:38:boolean lambda$apply$1(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):34:35 -> a
    39:39:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$addExact$2(com.android.tools.r8.com.google.common.collect.Multiset):63:63 -> a
    40:42:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.horizontalclassmerging.policies.MinimizeInstanceFieldCasts.getExactMergeKey(com.android.tools.r8.graph.DexProgramClass):67:69 -> a
    40:42:void addExact(com.android.tools.r8.graph.DexProgramClass,java.util.Map):63 -> a
    43:43:void addExact(com.android.tools.r8.graph.DexProgramClass,java.util.Map):63:63 -> a
    1:1:java.lang.String getName():76:76 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoAnnotationClasses -> com.android.tools.r8.internal.yG:
    1:1:void <init>():10:10 -> <init>
    1:1:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):13 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    2:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):13 -> a
    1:1:java.lang.String getName():18:18 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoCheckDiscard -> com.android.tools.r8.internal.zG:
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> b
    com.android.tools.r8.utils.InternalOptions options -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView):19:21 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
    1:1:java.lang.String getName():31:31 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoClassAnnotationCollisions -> com.android.tools.r8.internal.AG:
    1:1:void com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.<init>():18:18 -> <init>
    1:1:void <init>():9 -> <init>
    1:2:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):23:24 -> a
    1:2:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassAnnotationCollisions.atMostOneOf(com.android.tools.r8.graph.DexProgramClass):13:13 -> a
    3:3:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):25 -> a
    3:3:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):26:26 -> a
    4:4:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:6:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    5:6:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):26 -> a
    5:6:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:19:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):26:38 -> a
    7:19:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassAnnotationCollisions.atMostOneOf(com.android.tools.r8.graph.DexProgramClass):13:13 -> a
    20:20:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):39 -> a
    20:20:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    21:24:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):40:43 -> a
    21:24:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():18:18 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles -> com.android.tools.r8.internal.DG:
    java.util.Map allGroups -> c
    com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation singleCallerInformation -> d
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():94:94 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):103:103 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView):99:104 -> <init>
    1:1:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94:94 -> a
    2:11:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):115:124 -> a
    2:11:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    12:14:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):155:157 -> a
    12:14:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    12:14:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    15:15:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.setTracingRoot(com.android.tools.r8.graph.DexProgramClass):382:382 -> a
    15:15:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):161 -> a
    15:15:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    15:15:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    16:24:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):162:170 -> a
    16:24:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    16:24:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    25:33:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.canMerge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):182:190 -> a
    25:33:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):171 -> a
    25:33:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    25:33:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    34:35:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):176:177 -> a
    34:35:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    34:35:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    36:43:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):127:134 -> a
    36:43:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    44:52:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.commit(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List):140:148 -> a
    44:52:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):135 -> a
    44:52:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    53:57:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):203:207 -> a
    58:58:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):206:206 -> a
    59:63:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.AppInfoWithClassHierarchy.traverseSuperClasses(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriFunction):165:169 -> a
    59:63:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):206 -> a
    64:76:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):217:229 -> a
    77:84:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getNearestLock(com.android.tools.r8.graph.DexProgramClass,java.util.Set):249:256 -> a
    77:84:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):230 -> a
    85:97:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):232:244 -> a
    98:102:com.android.tools.r8.utils.TraversalContinuation lambda$partitionClassesWithPossibleClassInitializerDeadlock$0(java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):209:213 -> a
    103:109:java.lang.Void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):274:280 -> a
    103:109:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):94 -> a
    1:1:void clear():263:263 -> d
    1:1:java.lang.String getName():268:268 -> e
    1:2:boolean shouldSkipPolicy():286:287 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer -> com.android.tools.r8.internal.CG:
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> a
    com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles this$0 -> h
    java.util.Set seenClassInitializers -> c
    com.android.tools.r8.utils.collections.ProgramMethodSet seenMethods -> d
    boolean $assertionsDisabled -> i
    java.util.Deque worklist -> e
    java.util.Set groupMembers -> b
    java.util.Map classInitializerReachableFromClasses -> f
    java.util.Collection tracingRoots -> g
    1:1:void <clinit>():290:290 -> <clinit>
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles,com.android.tools.r8.horizontalclassmerging.MergeGroup):310:310 -> <init>
    2:17:void <init>(com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles,com.android.tools.r8.horizontalclassmerging.MergeGroup):297:312 -> <init>
    1:1:void clearWorklist():321:321 -> a
    2:3:boolean enqueueMethod(com.android.tools.r8.graph.ProgramMethod):329:330 -> a
    4:6:boolean hasPossibleClassInitializerDeadlock(com.android.tools.r8.graph.DexProgramClass):362:364 -> a
    7:9:boolean isClassInitializedByClassInitializationOf(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):369:371 -> a
    10:10:void setTracingRoots(java.util.Collection):386:386 -> a
    11:12:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.verifySeenSetIsEmpty():397:398 -> a
    11:12:void setTracingRoots(java.util.Collection):386 -> a
    13:13:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.verifyWorklistIsEmpty():403:403 -> a
    13:13:void setTracingRoots(java.util.Collection):387 -> a
    14:14:void setTracingRoots(java.util.Collection):388:388 -> a
    1:3:void enqueueTracingRoot(com.android.tools.r8.graph.ProgramMethod):337:339 -> b
    4:7:void recordTracingRootsIneligibleForClassMerging():350:353 -> b
    8:8:boolean hasSingleTracingRoot(com.android.tools.r8.graph.DexProgramClass):358:358 -> b
    1:1:boolean markClassInitializerAsSeen(com.android.tools.r8.graph.DexProgramClass):325:325 -> c
    2:4:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.processWorklist():375:377 -> c
    2:4:void trace():392 -> c
    5:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.clearSeen():316:317 -> c
    5:6:void trace():393 -> c
    1:4:void recordClassInitializerReachableFromTracingRoots(com.android.tools.r8.graph.DexProgramClass):343:346 -> d
com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry -> com.android.tools.r8.internal.BG:
    com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer this$1 -> e
    1:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer,com.android.tools.r8.graph.ProgramMethod):409:410 -> <init>
    void registerCheckCast(com.android.tools.r8.graph.DexType,boolean) -> a
    void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean) -> a
    void registerExceptionGuard(com.android.tools.r8.graph.DexType) -> a
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    1:6:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):445:450 -> a
    7:9:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> a
    7:9:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):453 -> a
    10:23:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):456:469 -> a
    24:24:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializer(com.android.tools.r8.graph.DexType):438:438 -> a
    24:24:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):469 -> a
    25:25:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> a
    25:25:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializer(com.android.tools.r8.graph.DexType):438 -> a
    25:25:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):469 -> a
    26:26:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializer(com.android.tools.r8.graph.DexType):440:440 -> a
    26:26:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):469 -> a
    27:30:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):471:474 -> a
    31:32:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):487:488 -> a
    33:33:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    33:33:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):488 -> a
    34:34:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    34:34:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    34:34:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):488 -> a
    35:40:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):488:493 -> a
    41:41:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575:575 -> a
    42:45:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):281:284 -> a
    42:45:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575 -> a
    46:46:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> a
    46:46:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575 -> a
    47:47:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> a
    47:47:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
    47:47:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575 -> a
    48:50:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> a
    48:50:void registerCallSite(com.android.tools.r8.graph.DexCallSite):578 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):481:481 -> b
    2:2:void registerInitClass(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void registerInitClass(com.android.tools.r8.graph.DexType):481:481 -> b
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    8:8:void registerInitClass(com.android.tools.r8.graph.DexType):481 -> b
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    9:9:void registerInitClass(com.android.tools.r8.graph.DexType):481 -> b
    3:3:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421:421 -> b
    3:3:void registerInitClass(com.android.tools.r8.graph.DexType):482 -> b
    4:4:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> b
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421 -> b
    4:4:void registerInitClass(com.android.tools.r8.graph.DexType):482 -> b
    5:5:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> b
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> b
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> b
    5:5:void registerInitClass(com.android.tools.r8.graph.DexType):482 -> b
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> b
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> b
    6:6:void registerInitClass(com.android.tools.r8.graph.DexType):482 -> b
    10:11:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):499:500 -> b
    12:12:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):414:414 -> b
    12:12:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):500 -> b
    13:13:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> b
    13:13:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):414 -> b
    13:13:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):500 -> b
    14:16:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):500:502 -> b
    17:19:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> b
    17:19:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):504 -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):510:511 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):418:418 -> d
    3:3:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):511 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):418 -> d
    4:4:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):511 -> d
    5:12:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):511:518 -> d
    13:13:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> d
    13:13:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> d
    13:13:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):518 -> d
    14:14:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> d
    14:14:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):518 -> d
    15:15:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):519:519 -> d
    16:16:void registerNewInstance(com.android.tools.r8.graph.DexType):552:552 -> d
    17:17:void registerNewInstance(com.android.tools.r8.graph.DexType):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24}}
    22:22:void registerNewInstance(com.android.tools.r8.graph.DexType):552:552 -> d
    23:23:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    23:23:void registerNewInstance(com.android.tools.r8.graph.DexType):552 -> d
    24:24:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    24:24:void registerNewInstance(com.android.tools.r8.graph.DexType):552 -> d
    18:18:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421:421 -> d
    18:18:void registerNewInstance(com.android.tools.r8.graph.DexType):553 -> d
    19:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> d
    19:19:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421 -> d
    19:19:void registerNewInstance(com.android.tools.r8.graph.DexType):553 -> d
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> d
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> d
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> d
    20:20:void registerNewInstance(com.android.tools.r8.graph.DexType):553 -> d
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> d
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> d
    21:21:void registerNewInstance(com.android.tools.r8.graph.DexType):553 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):558:558 -> e
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):558 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559:559 -> e
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421:421 -> e
    4:4:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559 -> e
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> e
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421 -> e
    5:5:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559 -> e
    6:6:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> e
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> e
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> e
    6:6:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559 -> e
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> e
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> e
    7:7:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):525:526 -> f
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):422:422 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):526 -> f
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> f
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):422 -> f
    4:4:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):526 -> f
    5:8:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):526:529 -> f
    9:9:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> f
    9:9:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):529 -> f
    10:13:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):528:531 -> f
    1:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):537:538 -> g
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):426:426 -> g
    3:3:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):538 -> g
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> g
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):426 -> g
    4:4:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):538 -> g
    5:9:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):538:542 -> g
    10:12:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> g
    10:12:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):543 -> g
    13:13:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> g
    13:13:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):544 -> g
    14:14:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):545:545 -> g
    15:15:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):564:564 -> g
    16:16:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> g
    16:16:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):564 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565:565 -> g
    18:18:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421:421 -> g
    18:18:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565 -> g
    19:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> g
    19:19:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421 -> g
    19:19:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565 -> g
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> g
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> g
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> g
    20:20:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565 -> g
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> g
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> g
    21:21:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565 -> g
com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerWithObservableSideEffects -> com.android.tools.r8.internal.EG:
    1:1:void <init>():16:16 -> <init>
    1:5:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):20:24 -> a
    6:7:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerWithObservableSideEffects.isKotlinLambda(com.android.tools.r8.graph.DexProgramClass):28:29 -> a
    6:7:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):24 -> a
    1:1:java.lang.String getName():34:34 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoConstructorCollisions -> com.android.tools.r8.internal.FG:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():42:42 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):47:50 -> <init>
    1:1:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):42:42 -> a
    2:2:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):42:42 -> a
    3:6:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Set):59:62 -> a
    7:7:boolean lambda$apply$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):61:61 -> a
    8:8:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    8:8:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):115 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):115:115 -> a
    10:14:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):114:118 -> a
    15:15:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> a
    15:15:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):118 -> a
    16:16:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):118:118 -> a
    17:17:com.android.tools.r8.graph.DexType lambda$rewriteProto$1(java.util.Map,com.android.tools.r8.graph.DexType):116:116 -> a
    18:32:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.DexType,java.util.Map):129:143 -> a
    1:25:java.util.Set preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72:96 -> b
    26:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.policies.NoConstructorCollisions.rewriteReference(com.android.tools.r8.graph.DexMethod,java.util.Map):122:122 -> b
    26:30:java.util.Set preprocess(java.util.Collection,java.util.concurrent.ExecutorService):96 -> b
    31:41:java.util.Set preprocess(java.util.Collection,java.util.concurrent.ExecutorService):97:107 -> b
    1:1:java.lang.String getName():149:149 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoDeadEnumLiteMaps -> com.android.tools.r8.internal.GG:
    java.util.Set deadEnumLiteMaps -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):21:27 -> <init>
    8:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):26:26 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):32:32 -> a
    1:1:java.lang.String getName():37:37 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks -> com.android.tools.r8.internal.HG:
    com.android.tools.r8.graph.AppView appView -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):20:21 -> <init>
    1:1:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks.isSynchronizationClass(com.android.tools.r8.graph.DexProgramClass):25:25 -> a
    1:1:boolean lambda$apply$0(java.util.Collection,com.android.tools.r8.graph.DexProgramClass):34 -> a
    2:3:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1229:1230 -> a
    2:3:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks.isSynchronizationClass(com.android.tools.r8.graph.DexProgramClass):25 -> a
    2:3:boolean lambda$apply$0(java.util.Collection,com.android.tools.r8.graph.DexProgramClass):34 -> a
    4:4:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    4:4:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1230 -> a
    4:4:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks.isSynchronizationClass(com.android.tools.r8.graph.DexProgramClass):25 -> a
    4:4:boolean lambda$apply$0(java.util.Collection,com.android.tools.r8.graph.DexProgramClass):34 -> a
    5:7:boolean lambda$apply$0(java.util.Collection,com.android.tools.r8.graph.DexProgramClass):36:38 -> a
    8:32:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):31:55 -> a
    1:1:java.lang.String getName():62:62 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions -> com.android.tools.r8.internal.JG:
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):79:81 -> <init>
    1:1:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72:72 -> a
    2:17:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):86:101 -> a
    2:17:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72 -> a
    18:22:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.isSafeToAddDefaultMethodsToClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Map):131:135 -> a
    18:22:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):102 -> a
    18:22:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72 -> a
    23:26:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.isSafeToAddDefaultMethodsToClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Map):134:137 -> a
    23:26:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):102 -> a
    23:26:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72 -> a
    27:30:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):103:106 -> a
    27:30:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72 -> a
    31:36:java.util.Set computeNewDefaultMethodsAddedToClassByMerge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):113:118 -> a
    37:37:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):149:149 -> a
    37:37:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    38:38:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.computeClassesOfInterest(com.android.tools.r8.graph.SubtypingInfo):184:184 -> a
    38:38:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):150 -> a
    38:38:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    39:60:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):152:173 -> a
    39:60:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    61:61:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):172:172 -> a
    61:61:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    62:62:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):168:168 -> a
    62:62:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    63:63:void lambda$computeInheritedClassMethodsPerProgramClass$0(java.util.Map,com.android.tools.r8.graph.DexClass):202:202 -> a
    64:64:void lambda$computeInheritedClassMethodsPerProgramClass$0(java.util.Map,com.android.tools.r8.graph.DexClass):201:201 -> a
    65:71:void lambda$computeInheritedClassMethodsPerProgramClass$0(java.util.Map,com.android.tools.r8.graph.DexClass):200:206 -> a
    72:115:java.util.Map computeInheritedDefaultMethodsPerProgramType(java.util.Collection,java.util.Map):222:265 -> a
    116:143:void lambda$computeInheritedDefaultMethodsPerProgramType$5(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass):230:257 -> a
    144:144:void lambda$computeInheritedDefaultMethodsPerProgramType$5(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass):256:256 -> a
    145:150:void lambda$computeInheritedDefaultMethodsPerProgramType$5(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass):255:260 -> a
    151:213:java.util.Map computeDefaultMethodsInheritedBySubclassesPerProgramClass(java.util.Collection,java.util.Map,java.util.Collection,com.android.tools.r8.graph.SubtypingInfo):281:343 -> a
    214:215:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$9(java.util.Collection,java.util.function.BiConsumer):284:285 -> a
    216:216:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$7(java.util.function.BiConsumer,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.DexProgramClass):286:286 -> a
    217:217:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$8(java.util.function.BiConsumer,com.android.tools.r8.horizontalclassmerging.MergeGroup):286:286 -> a
    218:218:java.util.Map lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$10(java.util.Map):295:295 -> a
    219:225:java.lang.Iterable lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$12(com.android.tools.r8.graph.SubtypingInfo,java.util.Map,com.android.tools.r8.graph.DexType):305:311 -> a
    226:226:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$11(java.util.Set,com.android.tools.r8.graph.DexProgramClass):309:309 -> a
    227:227:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$16(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):324:324 -> a
    228:238:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$16(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):323:333 -> a
    239:239:java.util.Map lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$13(com.android.tools.r8.graph.DexType):332:332 -> a
    240:240:java.util.Set lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$14(com.android.tools.r8.graph.DexMethodSignature):336:336 -> a
    241:242:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$15(java.util.Map,com.android.tools.r8.graph.DexMethodSignature,java.util.Set):336:337 -> a
    1:18:java.util.Map computeInheritedClassMethodsPerProgramClass(java.util.Collection):193:210 -> b
    19:19:java.util.Set lambda$computeInheritedDefaultMethodsPerProgramType$2(com.android.tools.r8.graph.DexMethodSignature):237:237 -> b
    20:21:void lambda$computeInheritedDefaultMethodsPerProgramType$3(java.util.Map,com.android.tools.r8.graph.DexMethodSignature,java.util.Set):237:238 -> b
    22:22:boolean lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$17(com.android.tools.r8.graph.DexType):343:343 -> b
    1:1:boolean lambda$computeInheritedClassMethodsPerProgramClass$1(com.android.tools.r8.graph.DexType):210:210 -> c
    2:2:java.util.Set lambda$computeInheritedDefaultMethodsPerProgramType$4(com.android.tools.r8.graph.DexMethodSignature):246:246 -> c
    1:1:boolean lambda$computeInheritedDefaultMethodsPerProgramType$6(com.android.tools.r8.graph.DexType):265:265 -> d
    1:1:java.lang.String getName():349:349 -> e
    1:1:boolean shouldSkipPolicy():354:354 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions$InterfaceInfo -> com.android.tools.r8.internal.IG:
    java.util.Map inheritedDefaultMethods -> a
    java.util.Map defaultMethodsInheritedBySubclasses -> b
    1:3:void <init>(java.util.Map,java.util.Map):369:371 -> <init>
    1:1:java.util.Map getDefaultMethodsInheritedBySubclasses():379:379 -> a
    1:1:java.util.Map getInheritedDefaultMethods():375:375 -> b
com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodMerging -> com.android.tools.r8.internal.KG:
    com.android.tools.r8.utils.InternalOptions options -> c
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):35:37 -> <init>
    1:11:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):42:52 -> a
    12:12:java.util.LinkedList com.android.tools.r8.com.google.common.collect.Lists.newLinkedList():214:214 -> a
    12:12:java.util.LinkedList com.android.tools.r8.com.google.common.collect.Lists.newLinkedList(java.lang.Iterable):236 -> a
    12:12:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):52 -> a
    13:13:java.util.LinkedList com.android.tools.r8.com.google.common.collect.Lists.newLinkedList(java.lang.Iterable):237:237 -> a
    13:13:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):52 -> a
    14:14:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):52:52 -> a
    15:30:void addClassToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Map):57:72 -> a
    31:32:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    31:32:void addClassToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Map):72 -> a
    33:33:void addClassToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Map):72:72 -> a
    1:1:java.lang.String getName():77:77 -> e
    1:1:boolean shouldSkipPolicy():82:82 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel -> com.android.tools.r8.internal.LG:
    com.android.tools.r8.graph.AppView appView -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> b
    boolean enableApiCallerIdentification -> d
    1:1:void <clinit>():15:15 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView):22:26 -> <init>
    1:2:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel.getMergeKey(com.android.tools.r8.graph.DexProgramClass):41:42 -> a
    1:2:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):60:60 -> a
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel.getMergeKey(com.android.tools.r8.graph.DexProgramClass):42 -> a
    3:3:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel.getMergeKey(com.android.tools.r8.graph.DexProgramClass):42 -> a
    4:4:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    5:9:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getMembersApiReferenceLevelForMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.androidapi.ComputedApiLevel):68:72 -> a
    5:9:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):57 -> a
    5:9:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel.getMergeKey(com.android.tools.r8.graph.DexProgramClass):42 -> a
    5:9:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    1:1:java.lang.String getName():36:36 -> e
    1:1:boolean shouldSkipPolicy():31:31 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoDirectRuntimeTypeChecks -> com.android.tools.r8.internal.MG:
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> d
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.shaking.RuntimeTypeCheckInfo runtimeTypeCheckInfo -> c
    1:1:void <clinit>():15:15 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):26:30 -> <init>
    1:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):35:36 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    3:3:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36 -> a
    4:4:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    4:4:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    4:4:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36 -> a
    5:5:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    6:6:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
    47:47:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    48:48:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    49:49:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    43:46:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):37:40 -> a
    1:1:java.lang.String getName():45:45 -> e
    1:1:boolean shouldSkipPolicy():50:50 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoEnums -> com.android.tools.r8.internal.NG:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap cache -> c
    com.android.tools.r8.graph.AppView appView -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):20:20 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):18:21 -> <init>
    1:4:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:39 -> a
    5:17:boolean isEnumSubtype(com.android.tools.r8.graph.DexClass):46:58 -> a
    1:1:void clear():26:26 -> d
    1:1:java.lang.String getName():31:31 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoFailedResolutionTargets -> com.android.tools.r8.internal.OG:
    java.util.Set failedResolutionHolders -> b
    1:4:void <init>(com.android.tools.r8.graph.AppView):21:24 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):35:35 -> a
    1:1:java.lang.String getName():30:30 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoIllegalInlining -> com.android.tools.r8.internal.PG:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():18:18 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):22:26 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):56:56 -> a
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    2:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):55 -> a
    3:3:boolean lambda$canMerge$0(com.android.tools.r8.graph.ProgramMethod):57:57 -> a
    4:19:boolean com.android.tools.r8.horizontalclassmerging.policies.NoIllegalInlining.disallowInlining(com.android.tools.r8.graph.ProgramMethod):30:45 -> a
    4:19:boolean lambda$canMerge$0(com.android.tools.r8.graph.ProgramMethod):57 -> a
    20:20:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.NoIllegalInlining.disallowInlining(com.android.tools.r8.graph.ProgramMethod):46 -> a
    20:20:boolean lambda$canMerge$0(com.android.tools.r8.graph.ProgramMethod):57 -> a
    1:1:java.lang.String getName():62:62 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoIndirectRuntimeTypeChecks -> com.android.tools.r8.internal.QG:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap cache -> d
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.shaking.RuntimeTypeCheckInfo runtimeTypeCheckInfo -> c
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):27:27 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):23:29 -> <init>
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):18:18 -> a
    2:30:boolean computeInterfaceHasDirectOrIndirectRuntimeTypeCheck(com.android.tools.r8.graph.DexType):44:72 -> a
    31:31:boolean computeInterfaceHasDirectOrIndirectRuntimeTypeCheck(com.android.tools.r8.graph.DexType):59:59 -> a
    32:32:boolean computeInterfaceHasDirectOrIndirectRuntimeTypeCheck(com.android.tools.r8.graph.DexType):49:49 -> a
    33:33:boolean lambda$computeInterfaceHasDirectOrIndirectRuntimeTypeCheck$0(com.android.tools.r8.graph.DexEncodedMethod):64:64 -> a
    1:1:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):38:38 -> b
    2:2:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.keepIf(java.util.function.Predicate):67:67 -> b
    2:2:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):39 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.keepIf(java.util.function.Predicate):67:68 -> b
    3:4:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):39 -> b
    5:5:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.create(com.android.tools.r8.graph.DexType[]):51:51 -> b
    5:5:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.keepIf(java.util.function.Predicate):69 -> b
    5:5:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):39 -> b
    6:6:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:162 -> b
    6:6:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):40 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:13:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:168 -> b
    7:13:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):40 -> b
    1:1:java.lang.String getName():81:81 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoInnerClasses -> com.android.tools.r8.internal.RG:
    1:1:void <init>():10:10 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15:15 -> a
    1:1:java.lang.String getName():20:20 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoInstanceFieldAnnotations -> com.android.tools.r8.internal.SG:
    1:1:void <init>():11:11 -> <init>
    1:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15:16 -> a
    1:1:java.lang.String getName():25:25 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoInstanceInitializerMerging -> com.android.tools.r8.internal.TG:
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():49:49 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):57:60 -> <init>
    1:41:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):65:105 -> a
    42:46:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoInstanceInitializerMerging.getInstanceInitializersByRelaxedSignature(com.android.tools.r8.graph.DexProgramClass):184:188 -> a
    42:46:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):108 -> a
    47:49:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):109:111 -> a
    50:67:boolean com.android.tools.r8.horizontalclassmerging.policies.NoInstanceInitializerMerging.canAddClassToGroup(java.util.Map,java.util.Map,java.util.function.Function):139:156 -> a
    50:67:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):112 -> a
    68:75:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):117:124 -> a
    76:77:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    76:77:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):124 -> a
    78:84:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):124:130 -> a
    85:85:java.util.Optional lambda$apply$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):100:100 -> a
    86:98:boolean hasMultipleInstanceInitializersWithSameRelaxedSignature(com.android.tools.r8.graph.DexProgramClass):164:176 -> a
    99:100:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    99:100:boolean hasMultipleInstanceInitializersWithSameRelaxedSignature(com.android.tools.r8.graph.DexProgramClass):176 -> a
    101:101:boolean hasMultipleInstanceInitializersWithSameRelaxedSignature(com.android.tools.r8.graph.DexProgramClass):177:177 -> a
    102:102:boolean lambda$hasMultipleInstanceInitializersWithSameRelaxedSignature$1(java.util.Set,com.android.tools.r8.graph.ProgramMethod):179:179 -> a
    103:103:java.util.Optional getOrComputeInstanceInitializerDescription(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.ProgramMethodMap):197:197 -> a
    104:107:java.util.Optional lambda$getOrComputeInstanceInitializerDescription$2(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):200:203 -> a
    108:115:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):208:215 -> a
    116:117:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):214:215 -> a
    118:118:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createInstanceInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2441:2441 -> a
    118:118:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):215 -> a
    119:119:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):216:216 -> a
    120:120:com.android.tools.r8.graph.DexType lambda$getRelaxedSignature$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):211:211 -> a
    121:134:void setInstanceFieldMaps(java.lang.Iterable,com.android.tools.r8.horizontalclassmerging.MergeGroup):220:233 -> a
    135:156:void setInstanceFieldMaps(java.lang.Iterable,com.android.tools.r8.horizontalclassmerging.MergeGroup):230:251 -> a
    157:157:void lambda$setInstanceFieldMaps$5(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap,com.android.tools.r8.graph.DexProgramClass):242:242 -> a
    158:162:void lambda$setInstanceFieldMaps$4(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap,com.android.tools.r8.graph.ProgramField):245:249 -> a
    1:1:java.lang.String getName():257:257 -> e
    boolean isIdentityForInterfaceGroups() -> f
com.android.tools.r8.horizontalclassmerging.policies.NoInterfaces -> com.android.tools.r8.internal.UG:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):19:21 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
    1:1:java.lang.String getName():36:36 -> e
    1:1:boolean shouldSkipPolicy():31:31 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoKeepRules -> com.android.tools.r8.internal.VG:
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> c
    com.android.tools.r8.graph.AppView appView -> b
    java.util.Set dontMergeTypes -> e
    com.android.tools.r8.utils.InternalOptions options -> d
    1:1:void <init>(com.android.tools.r8.graph.AppView):27:27 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):25:31 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):54:54 -> a
    1:9:void processClass(com.android.tools.r8.graph.DexProgramClass):35:43 -> b
    10:10:void processClass(com.android.tools.r8.graph.DexProgramClass):42:42 -> b
    11:19:void processClass(com.android.tools.r8.graph.DexProgramClass):40:48 -> b
    1:1:java.lang.String getName():59:59 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoKotlinMetadata -> com.android.tools.r8.internal.WG:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):17:17 -> a
    2:3:boolean com.android.tools.r8.horizontalclassmerging.policies.NoKotlinMetadata.verifyNoUnexpectedKotlinInfo(com.android.tools.r8.graph.DexProgramClass):22:23 -> a
    2:3:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):17 -> a
    4:4:boolean lambda$verifyNoUnexpectedKotlinMemberInfo$0(com.android.tools.r8.graph.DexEncodedMember):29:29 -> a
    1:3:boolean verifyNoUnexpectedKotlinMemberInfo(com.android.tools.r8.graph.DexProgramClass):28:28 -> b
    1:1:java.lang.String getName():35:35 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoNativeMethods -> com.android.tools.r8.internal.XG:
    1:1:void <init>():12:12 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15:15 -> a
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    2:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15 -> a
    1:1:java.lang.String getName():20:20 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoServiceLoaders -> com.android.tools.r8.internal.YG:
    com.android.tools.r8.graph.AppView appView -> b
    java.util.Set allServiceImplementations -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView):18:20 -> <init>
    1:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):25:26 -> a
    1:1:java.lang.String getName():31:31 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoVerticallyMergedClasses -> com.android.tools.r8.internal.ZG:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):16:20 -> <init>
    1:4:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):25:28 -> a
    1:1:java.lang.String getName():33:33 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging -> com.android.tools.r8.internal.aH:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():33:33 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):37:39 -> <init>
    1:13:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):44:56 -> a
    14:22:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.canAddNonAbstractVirtualMethodsToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):79:87 -> a
    14:22:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):55 -> a
    23:23:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):103:103 -> a
    23:23:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.canAddNonAbstractVirtualMethodsToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):88 -> a
    23:23:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):55 -> a
    24:29:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInSuperClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):108:113 -> a
    24:29:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):103 -> a
    24:29:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.canAddNonAbstractVirtualMethodsToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):88 -> a
    24:29:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):55 -> a
    30:30:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):104:104 -> a
    30:30:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.canAddNonAbstractVirtualMethodsToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):88 -> a
    30:30:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):55 -> a
    31:39:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):58:66 -> a
    40:41:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    40:41:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):66 -> a
    42:45:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):66:69 -> a
    46:46:void lambda$apply$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):49:49 -> a
    47:47:boolean hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    48:53:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInSuperClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):108:113 -> a
    48:53:boolean hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):96 -> a
    54:56:boolean hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):96:98 -> a
    57:57:boolean hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
    58:58:boolean hasNonAbstractDefinitionInSuperInterface(java.lang.Iterable,com.android.tools.r8.graph.ProgramMethod):118:118 -> a
    59:59:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    59:59:boolean hasNonAbstractDefinitionInSuperInterface(java.lang.Iterable,com.android.tools.r8.graph.ProgramMethod):118 -> a
    60:65:boolean lambda$hasNonAbstractDefinitionInSuperInterface$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):121:126 -> a
    1:1:java.lang.String getName():132:132 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges -> com.android.tools.r8.internal.bH:
    java.util.Map inheritedInterfaceMethodsCache -> d
    com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph graph -> b
    java.util.Map nonPublicVirtualMethodSignaturesCache -> e
    java.util.Map nonPublicVirtualLibraryMethodSignaturesCache -> f
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> c
    java.util.Map stronglyConnectedComponentsCache -> g
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):41:41 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):30:43 -> <init>
    1:9:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):48:56 -> a
    10:16:java.util.Set com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.getOrComputeStronglyConnectedComponent(com.android.tools.r8.graph.DexProgramClass):130:136 -> a
    10:16:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.getOrComputeNonPublicVirtualMethodSignaturesInComponentOf(com.android.tools.r8.graph.DexProgramClass):144 -> a
    10:16:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):91 -> a
    10:16:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    17:17:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.getOrComputeNonPublicVirtualMethodSignaturesInComponentOf(com.android.tools.r8.graph.DexProgramClass):143:143 -> a
    17:17:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):91 -> a
    17:17:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    18:25:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):92:99 -> a
    18:25:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    26:32:java.util.Set com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.getOrComputeStronglyConnectedComponent(com.android.tools.r8.graph.DexProgramClass):130:136 -> a
    26:32:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):100 -> a
    26:32:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    33:37:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):100:104 -> a
    33:37:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    38:38:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):66:66 -> a
    39:40:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    39:40:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):66 -> a
    41:56:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):67:82 -> a
    57:70:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeInheritedInterfaceMethods(com.android.tools.r8.graph.DexClass):112:125 -> a
    71:71:void lambda$getOrComputeInheritedInterfaceMethods$0(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):120:120 -> a
    72:87:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeNonPublicVirtualMethodSignaturesInComponent(java.util.Set):149:164 -> a
    88:88:boolean lambda$getOrComputeNonPublicVirtualLibraryMethodSignatures$4(com.android.tools.r8.graph.DexEncodedMethod):176:176 -> a
    1:1:boolean lambda$getOrComputeNonPublicVirtualMethodSignaturesInComponent$1(com.android.tools.r8.graph.DexEncodedMethod):155:155 -> b
    2:14:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeNonPublicVirtualLibraryMethodSignatures(com.android.tools.r8.graph.DexClass):171:183 -> b
    15:15:void lambda$getOrComputeNonPublicVirtualLibraryMethodSignatures$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):182:182 -> b
    16:16:void lambda$getOrComputeNonPublicVirtualLibraryMethodSignatures$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):181:181 -> b
    1:1:boolean lambda$getOrComputeNonPublicVirtualMethodSignaturesInComponent$2(com.android.tools.r8.graph.DexClass):159:159 -> c
    2:2:void lambda$getOrComputeNonPublicVirtualMethodSignaturesInComponent$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):162:162 -> c
    3:3:void lambda$getOrComputeNonPublicVirtualMethodSignaturesInComponent$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):161:161 -> c
    1:3:void clear():190:192 -> d
    1:1:java.lang.String getName():197:197 -> e
com.android.tools.r8.horizontalclassmerging.policies.NotMatchedByNoHorizontalClassMerging -> com.android.tools.r8.internal.wH:
    com.android.tools.r8.graph.AppView appView -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):16:17 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):22:22 -> a
    1:1:java.lang.String getName():27:27 -> e
com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces -> com.android.tools.r8.internal.oK:
    java.util.Map committed -> d
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    1:1:void <clinit>():58:58 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):68:68 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):65:70 -> <init>
    1:1:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):58:58 -> a
    2:39:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.SubtypingInfo):75:112 -> a
    2:39:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):58 -> a
    40:40:java.util.Set computeSuperInterfaces(com.android.tools.r8.graph.DexProgramClass):119:119 -> a
    41:41:java.util.Set computeSubInterfaces(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):124:124 -> a
    42:42:java.lang.Iterable lambda$computeSubInterfaces$0(com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexProgramClass):125:125 -> a
    43:62:java.util.Set computeTransitiveSubOrSuperInterfaces(com.android.tools.r8.graph.DexProgramClass,java.util.function.Function):131:150 -> a
    63:63:com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):165:165 -> a
    63:63:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):58 -> a
    1:1:void clear():155:155 -> d
    1:1:java.lang.String getName():160:160 -> e
    1:1:boolean shouldSkipPolicy():170:170 -> j
com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces$MergeGroupWithInfo -> com.android.tools.r8.internal.nK:
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> a
    java.util.Set superInterfaces -> c
    java.util.Set subInterfaces -> d
    java.util.Set members -> b
    1:5:void <init>(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):183:187 -> <init>
    1:5:void add(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):194:198 -> a
    6:13:void add(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):196:203 -> a
    14:17:void add(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):201:204 -> a
    18:18:boolean lambda$add$0(com.android.tools.r8.graph.DexProgramClass):199:199 -> a
    19:19:com.android.tools.r8.horizontalclassmerging.MergeGroup getGroup():208:208 -> a
    1:1:boolean lambda$add$1(com.android.tools.r8.graph.DexProgramClass):203:203 -> b
    2:19:boolean isSafeToAddSubAndSuperInterfaces(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):216:233 -> b
com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics -> com.android.tools.r8.internal.gM:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():30:30 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):94:98 -> <init>
    1:4:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):140:143 -> a
    5:5:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    5:5:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):143 -> a
    6:16:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):145:155 -> a
    17:17:boolean lambda$apply$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$TargetGroup):143:143 -> a
    1:1:java.lang.String getName():34:34 -> e
com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics -> com.android.tools.r8.internal.eM:
    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> c
    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> a
    boolean isAssumeNoSideEffectsMethod -> b
    boolean isMainDexRoot -> d
    1:12:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean,boolean):45:56 -> <init>
    1:3:com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):61:63 -> a
    4:4:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):760:760 -> a
    4:4:com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):63 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):760:760 -> a
    5:5:com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):63 -> a
    6:6:com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):64:64 -> a
    1:5:boolean equals(java.lang.Object):81:85 -> equals
    1:6:int hashCode():69:69 -> hashCode
com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$TargetGroup -> com.android.tools.r8.internal.fM:
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> a
    java.util.Map methodMap -> b
    1:4:void <init>():101:104 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.MergeGroup getGroup():107:107 -> a
    2:16:boolean tryAdd(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):111:125 -> a
    17:17:boolean isSubjectToMethodMerging(com.android.tools.r8.graph.DexEncodedMethod):130:130 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions -> com.android.tools.r8.internal.oM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ParentClassSignaturesCache parentClassMethodsCache -> e
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ReservedInterfaceSignaturesFor reservedInterfaceSignaturesFor -> f
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> c
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache interfaceDefaultMethodsCache -> d
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):129:129 -> <init>
    2:76:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):57:131 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$400(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):52:52 -> a
    2:12:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):156:166 -> a
    13:15:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions.computeReservedSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):147:149 -> a
    13:15:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):167 -> a
    16:20:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):168:172 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    21:21:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
    21:21:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):172 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    22:22:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    22:22:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
    22:22:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):172 -> a
    23:26:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):173:176 -> a
    27:28:void com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DispatchSignature.addSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory):141:142 -> a
    27:28:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):179 -> a
    29:31:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):181:183 -> a
    32:32:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$apply$0(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DispatchSignature):181:181 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache access$600(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):52:52 -> b
    1:1:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo access$700(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):52:52 -> c
    1:1:java.lang.String getName():66:66 -> e
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DexClassSignaturesCache -> com.android.tools.r8.internal.hM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions this$0 -> b
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):85:85 -> <init>
    2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):85:85 -> <init>
    1:2:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeSignatures(com.android.tools.r8.graph.DexType):88:89 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DispatchSignature -> com.android.tools.r8.internal.iM:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():139:139 -> <clinit>
    1:1:void <init>():139:139 -> <init>
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache -> com.android.tools.r8.internal.jM:
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):93:93 -> <init>
    2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):93:93 -> <init>
    1:2:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):97:98 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory -> com.android.tools.r8.internal.kM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory KEEP_ABSENT -> c
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory CLASS_HIERARCHY_SAFE -> b
    1:2:void <clinit>():135:136 -> <clinit>
    1:1:void <init>(java.lang.String,int):134:134 -> <init>
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ParentClassSignaturesCache -> com.android.tools.r8.internal.lM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions this$0 -> c
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):102:102 -> <init>
    2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):102:102 -> <init>
    1:5:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):106:110 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ReservedInterfaceSignaturesFor -> com.android.tools.r8.internal.mM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions this$0 -> b
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):116:116 -> <init>
    2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):116:116 -> <init>
    1:1:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):116:116 -> a
    2:2:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):121:121 -> a
    3:6:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):120:123 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$SignaturesCache -> com.android.tools.r8.internal.nM:
    java.util.Map memoizedSignatures -> a
    1:2:void <init>():69:70 -> <init>
    3:3:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):69:69 -> <init>
    void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet) -> a
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeSignatures(com.android.tools.r8.graph.DexClass):73:73 -> a
    2:3:com.android.tools.r8.utils.collections.DexMethodSignatureSet lambda$getOrComputeSignatures$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):76:77 -> a
com.android.tools.r8.horizontalclassmerging.policies.RespectPackageBoundaries -> com.android.tools.r8.internal.ES:
    com.android.tools.r8.graph.AppView appView -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):28:29 -> <init>
    1:1:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    2:2:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:124 -> a
    2:2:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):72 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):125:125 -> a
    3:3:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):72 -> a
    4:9:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):72:77 -> a
    10:10:void tryFindRestrictedPackage(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):85:85 -> a
    11:13:boolean lambda$tryFindRestrictedPackage$1(java.util.Map,com.android.tools.r8.graph.DexProgramClass):87:89 -> a
    14:37:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):98:121 -> a
    38:38:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$apply$2(java.lang.String):105:105 -> a
    39:39:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    39:39:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):34 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    40:40:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):34 -> a
    41:42:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):43:44 -> a
    43:43:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    43:43:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):44 -> a
    44:46:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):49:51 -> a
    47:47:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    47:47:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):52 -> a
    48:68:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):59:79 -> a
    1:1:java.lang.String getName():127:127 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit -> com.android.tools.r8.internal.IT:
    com.android.tools.r8.graph.AppView appView -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):16:17 -> <init>
    1:4:com.android.tools.r8.FeatureSplit com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit.getMergeKey(com.android.tools.r8.graph.DexProgramClass):22:25 -> a
    1:4:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):13 -> a
    5:5:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    5:5:com.android.tools.r8.FeatureSplit com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit.getMergeKey(com.android.tools.r8.graph.DexProgramClass):25 -> a
    5:5:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):13 -> a
    1:1:java.lang.String getName():30:30 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields -> com.android.tools.r8.internal.KT:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):26:28 -> <init>
    1:9:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields.getMergeKey(com.android.tools.r8.graph.DexProgramClass):33:41 -> a
    1:9:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):21 -> a
    1:1:java.lang.String getName():48:48 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo -> com.android.tools.r8.internal.JT:
    com.android.tools.r8.graph.DexType type -> b
    com.android.tools.r8.graph.FieldAccessFlags accessFlags -> a
    1:6:void <init>(com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.DexType):56:61 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo createExact(com.android.tools.r8.graph.DexEncodedField):65:65 -> a
    2:4:com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo createRelaxed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexItemFactory):70:72 -> a
    5:6:com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo toInfoWithRelaxedType(com.android.tools.r8.graph.DexItemFactory):80:81 -> a
    1:5:boolean equals(java.lang.Object):86:90 -> equals
    1:1:int hashCode():95:95 -> hashCode
com.android.tools.r8.horizontalclassmerging.policies.SameMainDexGroup -> com.android.tools.r8.internal.LT:
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> b
    com.android.tools.r8.synthesis.SyntheticItems synthetics -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView):20:22 -> <init>
    1:2:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup com.android.tools.r8.horizontalclassmerging.policies.SameMainDexGroup.getMergeKey(com.android.tools.r8.graph.DexProgramClass):27:28 -> a
    1:2:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    1:1:java.lang.String getName():34:34 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameNestHost -> com.android.tools.r8.internal.MT:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):18:19 -> <init>
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.horizontalclassmerging.policies.SameNestHost.getMergeKey(com.android.tools.r8.graph.DexProgramClass):24:24 -> a
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):14 -> a
    1:1:java.lang.String getName():29:29 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameParentClass -> com.android.tools.r8.internal.NT:
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.horizontalclassmerging.policies.SameParentClass.getMergeKey(com.android.tools.r8.graph.DexProgramClass):15:15 -> a
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):11 -> a
    1:1:java.lang.String getName():20:20 -> e
com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy -> com.android.tools.r8.internal.JX:
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> c
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):25:27 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy.getMergeKey(com.android.tools.r8.graph.DexProgramClass):33:33 -> a
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    2:2:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    2:2:com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy.getMergeKey(com.android.tools.r8.graph.DexProgramClass):33 -> a
    2:2:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    3:3:com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy.getMergeKey(com.android.tools.r8.graph.DexProgramClass):33 -> a
    3:3:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    4:8:com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy.getMergeKey(com.android.tools.r8.graph.DexProgramClass):34:38 -> a
    4:8:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    1:1:java.lang.String getName():43:43 -> e
com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind -> com.android.tools.r8.internal.IX:
    com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind SYNTHETIC -> b
    com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind NOT_SYNTHETIC -> c
    1:2:void <clinit>():18:19 -> <clinit>
    1:1:void <init>(java.lang.String,int):17:17 -> <init>
com.android.tools.r8.horizontalclassmerging.policies.VerifyPolicyAlwaysSatisfied -> com.android.tools.r8.internal.l10:
    com.android.tools.r8.horizontalclassmerging.SingleClassPolicy policy -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():10:10 -> <clinit>
    1:2:void <init>(com.android.tools.r8.horizontalclassmerging.SingleClassPolicy):14:15 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):20:20 -> a
    1:1:java.lang.String getName():0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":28,"2":29,"3":30}}
    28:28:java.lang.String getName():26:26 -> e
    29:29:java.lang.String getName():26:26 -> e
    30:30:java.lang.String getName():26:26 -> e
    27:27:java.lang.String getName():26:26 -> e
    1:1:boolean shouldSkipPolicy():31:31 -> j
com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation -> com.android.tools.r8.internal.DU:
    java.util.Map singleClinitCallers -> b
    com.android.tools.r8.utils.collections.ProgramMethodMap singleCallers -> a
    1:3:void <init>(com.android.tools.r8.utils.collections.ProgramMethodMap,java.util.Map):42:44 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder builder(com.android.tools.r8.graph.AppView):48:48 -> a
    2:2:com.android.tools.r8.graph.ProgramMethod getSingleCaller(com.android.tools.r8.graph.ProgramMethod):52:52 -> a
    3:3:com.android.tools.r8.graph.ProgramMethod getSingleClassInitializerCaller(com.android.tools.r8.graph.DexProgramClass):56:56 -> a
com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder -> com.android.tools.r8.internal.CU:
    java.util.Map clinitCallers -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.collections.ProgramMethodMap callers -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):70:70 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):67:71 -> <init>
    1:3:com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder analyze(java.util.concurrent.ExecutorService):75:75 -> a
    4:10:com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation build():81:87 -> a
    11:11:void lambda$build$0(com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    12:12:void lambda$build$1(com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod,java.util.Optional):83:83 -> a
    13:13:void lambda$build$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):86:86 -> a
    14:14:void lambda$build$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,java.util.Optional):86:86 -> a
    15:15:void processMethod(com.android.tools.r8.graph.ProgramMethod):91:91 -> a
com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor -> com.android.tools.r8.internal.BU:
    com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder this$0 -> f
    com.android.tools.r8.graph.AppView appView -> e
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():94:94 -> <clinit>
    1:3:void <init>(com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):98:100 -> <init>
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    1:1:void recordDispatchTarget(com.android.tools.r8.graph.ProgramMethod):104:104 -> a
    2:10:java.util.Optional lambda$recordDispatchTarget$0(com.android.tools.r8.graph.ProgramMethod,java.util.Optional):109:117 -> a
    11:41:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):146:176 -> a
    42:42:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializer(com.android.tools.r8.graph.DexType):139:139 -> a
    42:42:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):176 -> a
    43:43:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> a
    43:43:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializer(com.android.tools.r8.graph.DexType):139 -> a
    43:43:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):176 -> a
    44:44:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializer(com.android.tools.r8.graph.DexType):141:141 -> a
    44:44:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):176 -> a
    45:49:java.util.Optional lambda$triggerClassInitializer$1(com.android.tools.r8.graph.DexProgramClass,java.util.Optional):168:172 -> a
    50:51:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):197:198 -> a
    52:52:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    52:52:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):198 -> a
    53:53:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    53:53:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    53:53:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):198 -> a
    54:55:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):198:199 -> a
    56:56:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> a
    56:56:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):199 -> a
    57:59:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):200:202 -> a
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):181:181 -> b
    2:2:void registerInitClass(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void registerInitClass(com.android.tools.r8.graph.DexType):181:181 -> b
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    8:8:void registerInitClass(com.android.tools.r8.graph.DexType):181 -> b
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    9:9:void registerInitClass(com.android.tools.r8.graph.DexType):181 -> b
    3:3:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122:122 -> b
    3:3:void registerInitClass(com.android.tools.r8.graph.DexType):182 -> b
    4:4:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> b
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122 -> b
    4:4:void registerInitClass(com.android.tools.r8.graph.DexType):182 -> b
    5:5:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> b
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> b
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> b
    5:5:void registerInitClass(com.android.tools.r8.graph.DexType):182 -> b
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> b
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> b
    6:6:void registerInitClass(com.android.tools.r8.graph.DexType):182 -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):214:215 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> d
    3:3:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):215 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> d
    4:4:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):215 -> d
    5:13:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):215:223 -> d
    14:14:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> d
    14:14:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> d
    14:14:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):223 -> d
    15:15:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> d
    15:15:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):223 -> d
    16:16:void registerNewInstance(com.android.tools.r8.graph.DexType):241:241 -> d
    17:17:void registerNewInstance(com.android.tools.r8.graph.DexType):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24}}
    22:22:void registerNewInstance(com.android.tools.r8.graph.DexType):241:241 -> d
    23:23:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    23:23:void registerNewInstance(com.android.tools.r8.graph.DexType):241 -> d
    24:24:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    24:24:void registerNewInstance(com.android.tools.r8.graph.DexType):241 -> d
    18:18:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122:122 -> d
    18:18:void registerNewInstance(com.android.tools.r8.graph.DexType):242 -> d
    19:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> d
    19:19:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122 -> d
    19:19:void registerNewInstance(com.android.tools.r8.graph.DexType):242 -> d
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> d
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> d
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> d
    20:20:void registerNewInstance(com.android.tools.r8.graph.DexType):242 -> d
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> d
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> d
    21:21:void registerNewInstance(com.android.tools.r8.graph.DexType):242 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):247:247 -> e
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):247 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248:248 -> e
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122:122 -> e
    4:4:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248 -> e
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> e
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122 -> e
    5:5:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248 -> e
    6:6:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> e
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> e
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> e
    6:6:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248 -> e
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> e
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> e
    7:7:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248 -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):253:253 -> g
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):253 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254:254 -> g
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122:122 -> g
    4:4:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254 -> g
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):370:370 -> g
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122 -> g
    5:5:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254 -> g
    6:6:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> g
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> g
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> g
    6:6:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254 -> g
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> g
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> g
    7:7:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254 -> g
com.android.tools.r8.inspector.internal.ClassInspectorImpl -> com.android.tools.r8.internal.ka:
    com.android.tools.r8.graph.DexClass clazz -> a
    com.android.tools.r8.references.ClassReference reference -> b
    1:1:void <init>(com.android.tools.r8.graph.DexClass):20:20 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexClass):18:21 -> <init>
    1:1:void lambda$forEachField$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):40:40 -> a
    2:2:void lambda$forEachMethod$1(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):45:45 -> a
    1:1:void forEachField(java.util.function.Consumer):40:40 -> forEachField
    1:1:void forEachMethod(java.util.function.Consumer):45:45 -> forEachMethod
    1:4:com.android.tools.r8.references.ClassReference getClassReference():26:29 -> getClassReference
    1:2:java.lang.String getSourceFile():34:35 -> getSourceFile
com.android.tools.r8.inspector.internal.FieldInspectorImpl -> com.android.tools.r8.internal.Hj:
    com.android.tools.r8.graph.DexEncodedField field -> b
    com.android.tools.r8.inspector.internal.ClassInspectorImpl parent -> a
    com.android.tools.r8.references.FieldReference reference -> c
    1:1:void <init>(com.android.tools.r8.inspector.internal.ClassInspectorImpl,com.android.tools.r8.graph.DexEncodedField):18:18 -> <init>
    2:6:void <init>(com.android.tools.r8.inspector.internal.ClassInspectorImpl,com.android.tools.r8.graph.DexEncodedField):16:20 -> <init>
    1:6:com.android.tools.r8.references.FieldReference getFieldReference():25:30 -> getFieldReference
    7:12:com.android.tools.r8.references.FieldReference getFieldReference():27:32 -> getFieldReference
    1:4:java.util.Optional getInitialValue():47:50 -> getInitialValue
    1:1:boolean isFinal():42:42 -> isFinal
    1:1:boolean isStatic():37:37 -> isStatic
com.android.tools.r8.inspector.internal.InspectorImpl -> com.android.tools.r8.internal.Fp:
    java.util.Collection classes -> a
    1:2:void <init>(java.util.Collection):43:44 -> <init>
    1:6:java.util.List wrapInspections(java.util.Collection):20:25 -> a
    7:7:java.util.List wrapInspections(java.util.Collection):21:21 -> a
    8:13:void runInspections(java.util.List,java.util.Collection):32:37 -> a
    1:2:void forEachClass(java.util.function.Consumer):49:50 -> forEachClass
com.android.tools.r8.inspector.internal.MethodInspectorImpl -> com.android.tools.r8.internal.sE:
    com.android.tools.r8.inspector.internal.ClassInspectorImpl parent -> a
    com.android.tools.r8.references.MethodReference reference -> c
    com.android.tools.r8.graph.DexEncodedMethod method -> b
    1:3:void <init>(com.android.tools.r8.inspector.internal.ClassInspectorImpl,com.android.tools.r8.graph.DexEncodedMethod):19:21 -> <init>
    1:1:com.android.tools.r8.references.TypeReference lambda$getMethodReference$0(com.android.tools.r8.graph.DexType):33:33 -> a
    1:7:com.android.tools.r8.references.MethodReference getMethodReference():26:32 -> getMethodReference
    8:14:com.android.tools.r8.references.MethodReference getMethodReference():31:37 -> getMethodReference
    15:15:com.android.tools.r8.references.MethodReference getMethodReference():36:36 -> getMethodReference
    16:27:com.android.tools.r8.references.MethodReference getMethodReference():28:39 -> getMethodReference
com.android.tools.r8.inspector.internal.ValueInspectorImpl -> com.android.tools.r8.internal.d10:
    com.android.tools.r8.graph.DexValue value -> a
    com.android.tools.r8.graph.DexType type -> b
    1:3:void <init>(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType):34:36 -> <init>
    1:1:void guard(boolean):195:195 -> a
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isBooleanValue():51:51 -> asBooleanValue
    1:1:com.android.tools.r8.inspector.BooleanValueInspector asBooleanValue():56 -> asBooleanValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67:67 -> asByteValue
    1:1:com.android.tools.r8.inspector.ByteValueInspector asByteValue():72 -> asByteValue
    2:2:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> asByteValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67 -> asByteValue
    2:2:com.android.tools.r8.inspector.ByteValueInspector asByteValue():72 -> asByteValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> asByteValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67 -> asByteValue
    3:3:com.android.tools.r8.inspector.ByteValueInspector asByteValue():72 -> asByteValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83:83 -> asCharValue
    1:1:com.android.tools.r8.inspector.CharValueInspector asCharValue():88 -> asCharValue
    2:2:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> asCharValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83 -> asCharValue
    2:2:com.android.tools.r8.inspector.CharValueInspector asCharValue():88 -> asCharValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> asCharValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83 -> asCharValue
    3:3:com.android.tools.r8.inspector.CharValueInspector asCharValue():88 -> asCharValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isDoubleValue():163:163 -> asDoubleValue
    1:1:com.android.tools.r8.inspector.DoubleValueInspector asDoubleValue():168 -> asDoubleValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isFloatValue():147:147 -> asFloatValue
    1:1:com.android.tools.r8.inspector.FloatValueInspector asFloatValue():152 -> asFloatValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isIntValue():115:115 -> asIntValue
    1:1:com.android.tools.r8.inspector.IntValueInspector asIntValue():120 -> asIntValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isLongValue():131:131 -> asLongValue
    1:1:com.android.tools.r8.inspector.LongValueInspector asLongValue():136 -> asLongValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99:99 -> asShortValue
    1:1:com.android.tools.r8.inspector.ShortValueInspector asShortValue():104 -> asShortValue
    2:2:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> asShortValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99 -> asShortValue
    2:2:com.android.tools.r8.inspector.ShortValueInspector asShortValue():104 -> asShortValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> asShortValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99 -> asShortValue
    3:3:com.android.tools.r8.inspector.ShortValueInspector asShortValue():104 -> asShortValue
    1:1:com.android.tools.r8.inspector.StringValueInspector asStringValue():184:184 -> asStringValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isBooleanValue():51:51 -> getBooleanValue
    1:1:boolean getBooleanValue():61 -> getBooleanValue
    2:3:boolean getBooleanValue():61:62 -> getBooleanValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67:67 -> getByteValue
    1:1:byte getByteValue():77 -> getByteValue
    2:2:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> getByteValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67 -> getByteValue
    2:2:byte getByteValue():77 -> getByteValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> getByteValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67 -> getByteValue
    3:3:byte getByteValue():77 -> getByteValue
    4:5:byte getByteValue():77:78 -> getByteValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83:83 -> getCharValue
    1:1:char getCharValue():93 -> getCharValue
    2:2:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> getCharValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83 -> getCharValue
    2:2:char getCharValue():93 -> getCharValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> getCharValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83 -> getCharValue
    3:3:char getCharValue():93 -> getCharValue
    4:5:char getCharValue():93:94 -> getCharValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isDoubleValue():163:163 -> getDoubleValue
    1:1:double getDoubleValue():173 -> getDoubleValue
    2:3:double getDoubleValue():173:174 -> getDoubleValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isFloatValue():147:147 -> getFloatValue
    1:1:float getFloatValue():157 -> getFloatValue
    2:3:float getFloatValue():157:158 -> getFloatValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isIntValue():115:115 -> getIntValue
    1:1:int getIntValue():125 -> getIntValue
    2:3:int getIntValue():125:126 -> getIntValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isLongValue():131:131 -> getLongValue
    1:1:long getLongValue():141 -> getLongValue
    2:3:long getLongValue():141:142 -> getLongValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99:99 -> getShortValue
    1:1:short getShortValue():109 -> getShortValue
    2:2:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> getShortValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99 -> getShortValue
    2:2:short getShortValue():109 -> getShortValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> getShortValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99 -> getShortValue
    3:3:short getShortValue():109 -> getShortValue
    4:5:short getShortValue():109:110 -> getShortValue
    1:2:java.lang.String getStringValue():189:190 -> getStringValue
    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():284:284 -> isByteValue
    2:2:boolean isByteValue():67 -> isByteValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> isByteValue
    3:3:boolean isByteValue():67 -> isByteValue
    1:1:boolean isCharValue():83:83 -> isCharValue
    2:2:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> isCharValue
    2:2:boolean isCharValue():83 -> isCharValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> isCharValue
    3:3:boolean isCharValue():83 -> isCharValue
    1:1:boolean isDoubleValue():163:163 -> isDoubleValue
    1:1:boolean isFloatValue():147:147 -> isFloatValue
    1:1:boolean isIntValue():115:115 -> isIntValue
    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():292:292 -> isShortValue
    2:2:boolean isShortValue():99 -> isShortValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> isShortValue
    3:3:boolean isShortValue():99 -> isShortValue
    1:1:boolean isStringValue():179:179 -> isStringValue
com.android.tools.r8.internal.ApiLevelException$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.g2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:6:java.lang.String com.android.tools.r8.ApiLevelException$$InternalSyntheticOutline$128$8070fe10555e1c79bfb7f4e2706650b727cc4dbc5f8918e1eca3a7095790ada6$0.m(java.lang.String,java.lang.String,java.lang.String):0:5 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.ApiLevelException$$ExternalSyntheticOutline1 -> com.android.tools.r8.internal.h2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.StringBuilder com.android.tools.r8.ApiLevelException$$InternalSyntheticOutline$128$8070fe10555e1c79bfb7f4e2706650b727cc4dbc5f8918e1eca3a7095790ada6$1.m(java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.ApiReferenceStubber$ReferencesToApiLevelUseRegistry$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.k2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:com.android.tools.r8.graph.DexType com.android.tools.r8.androidapi.ApiReferenceStubber$ReferencesToApiLevelUseRegistry$$InternalSyntheticOutline$128$fa4d2f1aaebefe56a72bd0d8d45ffdaa11db5a921b4ae78a58021043b9c16d22$0.m(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.AppServices$Builder$DataResourceProviderVisitor$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.n2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.StringBuilder com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor$$InternalSyntheticOutline$128$1b9a9c3997290883e73a01d40bf4d3e6803f9ca951c5774170dba710a59428cb$0.m(com.android.tools.r8.graph.DexType,java.lang.StringBuilder,java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.ApplicationReader$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.q2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:4:java.lang.String com.android.tools.r8.dex.ApplicationReader$$InternalSyntheticOutline$128$9f54f232c90535949cbd79764f24cb98be32503bebdfcbf91538e9404314da22$0.m(com.android.tools.r8.graph.DexType,java.lang.StringBuilder,java.lang.String):0:3 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.ArchiveClassFileProvider$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.F2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.String com.android.tools.r8.ArchiveClassFileProvider$$InternalSyntheticOutline$128$fcf1b6b975830033929cccf6ad2b54a77cab1d87d8c3fcbcd1f412b054bd8dde$0.m(java.lang.String,java.lang.String):0:4 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.AvailableApiExceptions$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.X3:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:6:void com.android.tools.r8.androidapi.AvailableApiExceptions$$InternalSyntheticOutline$128$20e6908fb16c2dd8ad959b1c1a6646d5062d52ffebb6111c792ca6515e114c85$0.m(com.android.tools.r8.graph.DexItemFactory,java.lang.String,java.util.Set,java.lang.String,java.lang.String):0:5 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.BackportedMethodListCommand$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Z3:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.String com.android.tools.r8.BackportedMethodListCommand$$InternalSyntheticOutline$128$7b25eb1be35d851e67f562f9da6a58cac1f92adedb289ac8c30b03bb2cd9fef7$0.m(java.lang.StringBuilder,java.lang.String,java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.BackportedMethodListCommand$Builder$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.a4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.String com.android.tools.r8.BackportedMethodListCommand$Builder$$InternalSyntheticOutline$128$74531d99dd9e8c41302dc64bf7c1ad28bdce38f5e1cbae1669b2746d1cca7f73$0.m(java.lang.String,int):0:4 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.BasicBlock$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.s4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock$$InternalSyntheticOutline$128$b6dd67f260863294e1347834de9654f6bdbe9ba876ac452b76d49eee6a2321aa$0.m(com.android.tools.r8.ir.code.BasicBlock):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.BisectState$Range$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.b5:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.String com.android.tools.r8.bisect.BisectState$Range$$InternalSyntheticOutline$128$ce08529379ee2f531b289ce75fde83cc622d5b95d2bff129f3fff11db0ec6f8a$0.m(java.lang.StringBuilder,int,java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.CfConstClass$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.T6:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.String com.android.tools.r8.cf.code.CfConstClass$$InternalSyntheticOutline$128$37c66abd9d2a2dc03f27fba98790669ca793ab689546056e468f3d38bbb416c6$0.m(java.lang.String,com.android.tools.r8.graph.DexType):0:4 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.CfSourceCode$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.s8:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:6:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode$$InternalSyntheticOutline$128$438dbc8eceffdeb61d226aaaed697fac8e37ed1b14c877d9379a82f963ca1ee0$0.m(java.lang.String,int,java.lang.String):0:5 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.CheckCast$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.n9:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:void com.android.tools.r8.code.CheckCast$$InternalSyntheticOutline$128$0cd8e795b91e7e03e2ae5dc62b9c7e88807c64648c0df57be3707207ae08afdb$0.m(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexType):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.DexFileMergerHelper$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.tg:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.StringBuilder com.android.tools.r8.DexFileMergerHelper$$InternalSyntheticOutline$128$9c9cadf1489a20b6e2f21254b49c29d5709cced0f7609f978195acf1f013b7c9$0.m(java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.DexOutputBuffer$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Wg:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.StringBuilder com.android.tools.r8.dex.DexOutputBuffer$$InternalSyntheticOutline$128$2fa3327658a3747aa1eac19934d5e19eadcfd88a0fe905e3e2553d0deedbdab7$0.m(java.lang.String,int,java.lang.String):0:4 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.GenerateLintFiles$HTMLBuilder$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.zl:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.String com.android.tools.r8.GenerateLintFiles$HTMLBuilder$$InternalSyntheticOutline$128$ed6e21f6b1f6064d1f7d01ae8ade57a5452d19bf2d8e818564c5d5284e989760$0.m(java.lang.String,int,int):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.Intrinsics$$ExternalSyntheticCheckNotZero0 -> com.android.tools.r8.internal.eu:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:1:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> a
    1:1:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.checkNotNullParameter(java.lang.Object,java.lang.String):131 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:13:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.createParameterIsNullExceptionMessage(java.lang.String):144:155 -> a
    2:13:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140 -> a
    2:13:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.checkNotNullParameter(java.lang.Object,java.lang.String):131 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    14:14:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.checkNotNullParameter(java.lang.Object,java.lang.String):131 -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.internal.StatelessLibraryMethodModelCollection$$ExternalSyntheticThrowCCEIfNotNull0 -> com.android.tools.r8.internal.SV:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    void com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection$$InternalSyntheticThrowCCEIfNotNull$53$a45cf4883edbf7d524f6dd82ceaf6eb6b32f4f6bf2ef1c90a926aae8bee744ee$0.m(java.lang.Object) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis -> com.android.tools.r8.internal.T9:
    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
    1:13:void <clinit>():54:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$1):54:54 -> <init>
    2:2:void <init>():82:82 -> <init>
    3:8:void <init>():79:84 -> <init>
    9:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):87:87 -> <init>
    10:20:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):79:89 -> <init>
    1:26:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):98:123 -> a
    27:53:com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption com.android.tools.r8.ir.analysis.ClassInitializationAnalysis.getAssumptionForDominator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):182:208 -> a
    27:53:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):124 -> a
    54:64:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):125:135 -> a
    65:65:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.stream(java.util.Iterator):84:84 -> a
    65:65:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):135 -> a
    66:68:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):135:135 -> a
    69:71:void com.android.tools.r8.ir.analysis.ClassInitializationAnalysis.returnMarkingColor():227:229 -> a
    69:71:void finish():223 -> a
    1:1:void notifyCodeHasChanged():217:217 -> b
    2:4:void com.android.tools.r8.ir.analysis.ClassInitializationAnalysis.returnMarkingColor():227:229 -> b
    2:4:void notifyCodeHasChanged():218 -> b
    1:1:com.android.tools.r8.ir.analysis.ClassInitializationAnalysis trivial():94:94 -> c
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$1 -> com.android.tools.r8.internal.P9:
    1:1:void <init>():67:67 -> <init>
    boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction) -> a
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption -> com.android.tools.r8.internal.Q9:
    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption INSTRUCTION_DOES_NOT_THROW -> b
    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption NONE -> c
    1:2:void <clinit>():57:58 -> <clinit>
    1:1:void <init>(java.lang.String,int):56:56 -> <init>
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils -> com.android.tools.r8.internal.R9:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():233:233 -> <clinit>
    1: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):241:246 -> a
    7:7: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):255:255 -> a
    8:8: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):264:264 -> a
    9:9: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):273:273 -> a
    10:10:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    10:10: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):273 -> a
    11:14: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):273:276 -> a
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    15:15: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):276 -> a
    16:25: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):277:286 -> a
    26:33: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):295:302 -> a
    34:34:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    34:34: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):302 -> a
    35:36: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):303:304 -> a
    37:54: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):314:331 -> a
    55:66: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):330:341 -> a
    67:73: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):351:357 -> a
    74:91: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):367:384 -> a
    92:111: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):383:402 -> a
    112:129: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):412:429 -> a
    130:141: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):428:439 -> a
    142:147: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):448:453 -> a
    148:155:boolean com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils.forStaticGetOrPut(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):480:487 -> a
    148:155: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):462 -> a
    156:156:boolean com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils.forStaticGetOrPut(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):480:480 -> a
    156:156: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):471 -> a
    157:157:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    157:157:boolean com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils.forStaticGetOrPut(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):480 -> a
    157:157: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):471 -> a
    158:164:boolean com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils.forStaticGetOrPut(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):481:487 -> a
    158:164: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):471 -> a
    165:180: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):496:511 -> a
    181:181:boolean com.android.tools.r8.graph.DexDefinition.isDexEncodedField():0:0 -> a
    181:181: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):512 -> a
    182:206: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):513:537 -> a
    207:207: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):536:536 -> a
    208:208: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):521:521 -> a
    209:210:void enqueue(com.android.tools.r8.graph.DexType,java.util.Set,java.util.Deque):546:547 -> a
    211:232:void enqueueInitializedClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.List,java.util.Set,java.util.Deque):556:577 -> a
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query -> com.android.tools.r8.internal.S9:
    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query DIRECTLY -> b
    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query DIRECTLY_OR_INDIRECTLY -> c
    1:2:void <clinit>():62:63 -> <clinit>
    1:1:void <init>(java.lang.String,int):61:61 -> <init>
com.android.tools.r8.ir.analysis.DeterminismAnalysis -> com.android.tools.r8.internal.Uf:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):22:23 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    3:3:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    4:4:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):30 -> a
    5:5:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34:34 -> a
    6:6:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> a
    6:6:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34 -> a
    7:11:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):38:42 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> a
    12:12:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):47 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    13:13:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):47 -> a
    14:14:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):51:51 -> a
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    15:15:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):55 -> a
    16:16:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):59:59 -> a
    17:17:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    17:17:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):60 -> a
    18:18:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):61:61 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    19:19:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):62 -> a
    20:20:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):63:63 -> a
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> a
    21:21:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):64 -> a
    22:23:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):65:66 -> a
    24:24:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> a
    24:24:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):67 -> a
    25:27:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):68:70 -> a
    28:28:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):59:59 -> a
com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis -> com.android.tools.r8.internal.jp:
    1:15:java.util.Set computeInitializedClassesOnNormalExit(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):40:54 -> a
com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor -> com.android.tools.r8.internal.ip:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set initializedClassesOnNormalExit -> c
    com.android.tools.r8.graph.ProgramMethod context -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():57:57 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63:63 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):61:65 -> <init>
    1:1:void markInitializedOnNormalExit(java.lang.Iterable):73:73 -> a
    2:37:void markInitializedOnNormalExit(com.android.tools.r8.graph.DexType):77:112 -> a
    38:44:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.handleFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction):118:124 -> a
    38:44:java.lang.Object handleFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction):57 -> a
    45:56:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.handleInvoke(com.android.tools.r8.ir.code.Invoke):132:143 -> a
    45:56:java.lang.Object handleInvoke(com.android.tools.r8.ir.code.Invoke):57 -> a
    57:63:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.handleInvoke(com.android.tools.r8.ir.code.Invoke):139:145 -> a
    57:63:java.lang.Object handleInvoke(com.android.tools.r8.ir.code.Invoke):57 -> a
    64:64:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.visit(com.android.tools.r8.ir.code.NewInstance):154:154 -> a
    64:64:java.lang.Object visit(com.android.tools.r8.ir.code.NewInstance):57 -> a
    65:65:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.visit(com.android.tools.r8.ir.code.NewUnboxedEnumInstance):160:160 -> a
    65:65:java.lang.Object visit(com.android.tools.r8.ir.code.NewUnboxedEnumInstance):57 -> a
    1:1:java.util.Set build():69:69 -> b
com.android.tools.r8.ir.analysis.TypeChecker -> com.android.tools.r8.internal.PZ:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.analysis.VerifyTypesHelper verifyTypesHelper -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():31:31 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):37:39 -> <init>
    1:3:boolean check(com.android.tools.r8.ir.code.IRCode):43:45 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.InstancePut):66:66 -> a
    4:4:boolean check(com.android.tools.r8.ir.code.IRCode):45 -> a
    5:6:boolean check(com.android.tools.r8.ir.code.IRCode):48:49 -> a
    7:13:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.DexEncodedMethod):70:76 -> a
    7:13:boolean check(com.android.tools.r8.ir.code.IRCode):49 -> a
    14:24:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.DexEncodedMethod):75:85 -> a
    14:24:boolean check(com.android.tools.r8.ir.code.IRCode):49 -> a
    25:26:boolean check(com.android.tools.r8.ir.code.IRCode):52:53 -> a
    27:27:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.StaticPut):92:92 -> a
    27:27:boolean check(com.android.tools.r8.ir.code.IRCode):53 -> a
    28:29:boolean check(com.android.tools.r8.ir.code.IRCode):56:57 -> a
    30:33:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.Throw):115:118 -> a
    30:33:boolean check(com.android.tools.r8.ir.code.IRCode):57 -> a
    34:36:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.Throw):117:119 -> a
    34:36:boolean check(com.android.tools.r8.ir.code.IRCode):57 -> a
    37:49:boolean checkFieldPut(com.android.tools.r8.ir.code.FieldInstruction):96:108 -> a
com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis -> com.android.tools.r8.internal.f10:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.ProgramMethod context -> b
    1:1:void <clinit>():80:80 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):87:91 -> <init>
    1:12:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):95:106 -> a
    13:23:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addConstantValueToValueGraph(com.android.tools.r8.ir.code.Value):167:177 -> a
    13:23:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):154 -> a
    13:23:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    24:24:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addConstantValueToValueGraph(com.android.tools.r8.ir.code.Value):177 -> a
    24:24:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):154 -> a
    24:24:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    25:25:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addConstantValueToValueGraph(com.android.tools.r8.ir.code.Value):178:178 -> a
    25:25:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):154 -> a
    25:25:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    26:26:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    26:26:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addConstantValueToValueGraph(com.android.tools.r8.ir.code.Value):179 -> a
    26:26:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):154 -> a
    26:26:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    27:35:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):193:201 -> a
    27:35:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    27:35:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    36:36:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):201 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    36:36:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    37:40:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):202:205 -> a
    37:40:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    37:40:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    41:41:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    41:41:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):207 -> a
    41:41:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    41:41:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    42:82:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):208:248 -> a
    42:82:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    42:82:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    83:87:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):157:161 -> a
    83:87:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    88:112:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):120:144 -> a
    113:114:boolean lambda$anyValueMayDependOnEnvironment$0(java.util.Set,java.util.Set,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):129:130 -> a
    115:123:boolean addInvokeVirtualValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):259:267 -> a
    124:132:boolean addLogicalBinopValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):288:296 -> a
    133:144:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):309:320 -> a
    145:145:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    145:145:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):320 -> a
    146:160:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):321:335 -> a
    161:165:java.util.List com.android.tools.r8.graph.DexClass.getDirectAndIndirectInstanceFields(com.android.tools.r8.graph.AppView):1210:1214 -> a
    161:165:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):335 -> a
    166:180:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):336:350 -> a
    181:181:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    181:181:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):351 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    182:182:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    182:182:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):351 -> a
    183:188:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):357:362 -> a
    189:197:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):370:378 -> a
    198:200:com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock,java.util.Map):421:423 -> a
    198:200:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):379 -> a
    201:202:void com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.add(com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState):440:441 -> a
    201:202:com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock,java.util.Map):423 -> a
    201:202:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):379 -> a
    203:209:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):381:387 -> a
    210:210:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.isTrackingValue(com.android.tools.r8.ir.code.Value):449:449 -> a
    210:210:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):387 -> a
    211:214:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.recordTrackedValueHasEscaped():453:456 -> a
    211:214:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):388 -> a
    215:215:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.hasTrackedValueEscaped():445:445 -> a
    215:215:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):390 -> a
    216:224:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):391:399 -> a
    225:228:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.recordTrackedValueHasEscaped():453:456 -> a
    225:228:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):400 -> a
    229:229:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.hasTrackedValueEscaped():445:445 -> a
    229:229:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):402 -> a
    230:236:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):402:408 -> a
    237:237:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.startTrackingValue(com.android.tools.r8.ir.code.Value):461:461 -> a
    237:237:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):408 -> a
    238:240:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):411:413 -> a
    1:5:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):274:278 -> b
    6:6:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> b
    6:6:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165 -> b
    6:6:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
    7:7:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> b
    7:7:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> b
    7:7:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165 -> b
    7:7:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
    8:8:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> b
    8:8:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165 -> b
    8:8:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
    9:9:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165:165 -> b
    9:9:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState -> com.android.tools.r8.internal.e10:
    java.util.Set trackedValues -> b
    com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState EMPTY -> c
    boolean hasTrackedValueEscaped -> a
    1:1:void <clinit>():430:430 -> <clinit>
    1:6:void <init>():428:433 -> <init>
    1:1:com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState empty():436:436 -> a
    2:2:boolean isTrackingValue(com.android.tools.r8.ir.code.Value):449:449 -> a
com.android.tools.r8.ir.analysis.VerifyTypesHelper -> com.android.tools.r8.internal.m10:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():10:10 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):14:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.VerifyTypesHelper create(com.android.tools.r8.graph.AppView):19:19 -> a
    2:28:boolean isAssignable(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):23:49 -> a
com.android.tools.r8.ir.analysis.constant.Bottom -> com.android.tools.r8.internal.D5:
    com.android.tools.r8.ir.analysis.constant.Bottom INSTANCE -> a
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement) -> a
    1:1:com.android.tools.r8.ir.analysis.constant.Bottom getInstance():13:13 -> c
    1:1:java.lang.String toString():28:28 -> toString
com.android.tools.r8.ir.analysis.constant.ConstLatticeElement -> com.android.tools.r8.internal.id:
    com.android.tools.r8.ir.code.ConstNumber value -> a
    1:2:void <init>(com.android.tools.r8.ir.code.ConstNumber):11:12 -> <init>
    com.android.tools.r8.ir.analysis.constant.ConstLatticeElement asConst() -> a
    1:1:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):17:17 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):17 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isBottom():0:0 -> a
    3:3:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):20 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):23 -> a
    5:9:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):24:28 -> a
    1:1:com.android.tools.r8.ir.code.ConstNumber getConstNumber():47:47 -> c
    1:1:int getIntValue():51:51 -> d
    1:1:java.lang.String toString():43:43 -> toString
com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement -> com.android.tools.r8.internal.nd:
    com.android.tools.r8.ir.code.Value value -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():8:8 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value):11:13 -> <init>
    1:1:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):18:18 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):18 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isBottom():0:0 -> a
    3:3:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):21 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isValueRange():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):24 -> a
    5:5:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):25:25 -> a
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement.getConstRange():44:44 -> a
    6:6:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):26 -> a
    7:7:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):26:26 -> a
    8:8:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement.getConstRange():44:44 -> a
    8:8:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):26 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:13:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):26:30 -> a
    com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement asConstRange() -> b
    1:1:com.android.tools.r8.ir.code.Value getConstRange():44:44 -> c
    1:1:java.lang.String toString():40:40 -> toString
com.android.tools.r8.ir.analysis.constant.LatticeElement -> com.android.tools.r8.internal.IA:
    1:1:void <init>():6:6 -> <init>
    com.android.tools.r8.ir.analysis.constant.ConstLatticeElement asConst() -> a
    com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement) -> a
    com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement asConstRange() -> b
com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation -> com.android.tools.r8.internal.lV:
    java.util.Deque ssaEdges -> d
    java.util.Map mapping -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.BitSet[] executableFlowEdges -> g
    java.util.BitSet visitedBlocks -> h
    boolean $assertionsDisabled -> i
    java.util.Deque flowEdges -> e
    int maxBlockNumber -> f
    com.android.tools.r8.ir.code.IRCode code -> b
    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):41:41 -> 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:47:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    47:47:boolean lambda$rewriteCode$0(java.util.Map$Entry):88 -> a
    48:63:void lambda$rewriteCode$3(java.util.Set,java.util.List,java.util.Map$Entry):91:106 -> a
    64:64:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    64:64:void lambda$rewriteCode$3(java.util.Set,java.util.List,java.util.Map$Entry):107 -> a
    65:74:void lambda$rewriteCode$3(java.util.Set,java.util.List,java.util.Map$Entry):108:117 -> a
    75:75:boolean lambda$rewriteCode$1(com.android.tools.r8.ir.code.Instruction):105:105 -> a
    76:76:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    76:76:boolean lambda$rewriteCode$1(com.android.tools.r8.ir.code.Instruction):105 -> a
    77:77:boolean lambda$rewriteCode$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):116:116 -> a
    78:78:com.android.tools.r8.ir.analysis.constant.LatticeElement getLatticeElement(com.android.tools.r8.ir.code.Value):131:131 -> a
    79:86:void visitPhi(com.android.tools.r8.ir.code.Phi):139:146 -> a
    87:91:boolean com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.isExecutableEdge(int,int):262:266 -> a
    87:91:void visitPhi(com.android.tools.r8.ir.code.Phi):146 -> a
    92:94:void visitPhi(com.android.tools.r8.ir.code.Phi):147:149 -> a
    95:95:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isBottom():0:0 -> a
    95:95:void visitPhi(com.android.tools.r8.ir.code.Phi):149 -> a
    96:96:void visitPhi(com.android.tools.r8.ir.code.Phi):154:154 -> a
    97:97:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> a
    97:97:void visitPhi(com.android.tools.r8.ir.code.Phi):154 -> a
    98:100:void visitPhi(com.android.tools.r8.ir.code.Phi):155:157 -> a
    101:101:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setLatticeElement(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.constant.LatticeElement):135:135 -> a
    101:101:void visitPhi(com.android.tools.r8.ir.code.Phi):158 -> a
    1:1:void run():54:54 -> b
    2:5:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.visitInstructions(com.android.tools.r8.ir.code.BasicBlock):164:167 -> b
    2:5:void run():55 -> b
    6:30:void run():57:81 -> b
    31:36:void run():58:63 -> b
    37:40:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.visitInstructions(com.android.tools.r8.ir.code.BasicBlock):164:167 -> b
    37:40:void run():64 -> b
    41:49:void run():67:75 -> b
    50:50:void visitInstruction(com.android.tools.r8.ir.code.Instruction):171:171 -> b
    51:51:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> b
    51:51:void visitInstruction(com.android.tools.r8.ir.code.Instruction):171 -> b
    52:55:void visitInstruction(com.android.tools.r8.ir.code.Instruction):172:175 -> b
    56:56:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setLatticeElement(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.constant.LatticeElement):135:135 -> b
    56:56:void visitInstruction(com.android.tools.r8.ir.code.Instruction):175 -> b
    57:61:void visitInstruction(com.android.tools.r8.ir.code.Instruction):176:180 -> b
    62:68:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):185:191 -> b
    62:68:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    69:69:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    69:69:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):191 -> b
    69:69:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    70:71:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):192:193 -> b
    70:71:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    72:76:boolean com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.isExecutableEdge(int,int):262:266 -> b
    72:76:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):193 -> b
    72:76:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    77:77:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):194:194 -> b
    77:77:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    78:83:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    78:83:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):194 -> b
    78:83:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    84:91:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):195:202 -> b
    84:91:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    92:92:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    92:92:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):202 -> b
    92:92:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    93:93:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):202:202 -> b
    93:93:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    94:94:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    94:94:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):202 -> b
    94:94:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    95:98:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):203:206 -> b
    95:98:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    99:103:boolean com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.isExecutableEdge(int,int):262:266 -> b
    99:103:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):206 -> b
    99:103:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    104:104:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):207:207 -> b
    104:104:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    105:110:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    105:110:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):207 -> b
    105:110:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    111:115:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):208:212 -> b
    111:115:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    116:116:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> b
    116:116:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):212 -> b
    116:116:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    117:118:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):212:213 -> b
    117:118:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    119:119:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> b
    119:119:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):213 -> b
    119:119:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    120:125:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):213:218 -> b
    120:125:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    126:126:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    126:126:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):218 -> b
    126:126:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    127:133:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):219:225 -> b
    127:133:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    134:139:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    134:139:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):225 -> b
    134:139:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    140:146:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):226:232 -> b
    140:146:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    147:147:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    147:147:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):232 -> b
    147:147:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    148:150:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):234:236 -> b
    148:150:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    151:156:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    151:156:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):236 -> b
    151:156:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    157:165:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):237:245 -> b
    157:165:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    166:170:boolean com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.isExecutableEdge(int,int):262:266 -> b
    166:170:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):245 -> b
    166:170:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    171:171:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):246:246 -> b
    171:171:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    172:177:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    172:177:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):246 -> b
    172:177:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    178:178:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):247:247 -> b
    178:178:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
com.android.tools.r8.ir.analysis.constant.Top -> com.android.tools.r8.internal.rY:
    com.android.tools.r8.ir.analysis.constant.Top INSTANCE -> a
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement) -> a
    1:1:com.android.tools.r8.ir.analysis.constant.Top getInstance():13:13 -> c
    1:1:java.lang.String toString():28:28 -> toString
com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph -> com.android.tools.r8.internal.c10:
    java.util.Map nodes -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():27:27 -> <clinit>
    1:3:void <init>():27:29 -> <init>
    1:1:com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node createNodeIfAbsent(com.android.tools.r8.ir.code.Value):32:32 -> a
    2:3:void addDirectedEdge(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):36:37 -> a
    4:4:java.util.Collection getNodes():41:41 -> a
    1:5:void mergeStronglyConnectedComponents():57:61 -> b
    6:13:void com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph.mergeNodes(java.lang.Iterable):45:52 -> b
    6:13:void mergeStronglyConnectedComponents():62 -> b
    14:14:void mergeStronglyConnectedComponents():63:63 -> b
com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node -> com.android.tools.r8.internal.b10:
    java.util.Set predecessors -> c
    java.util.Set successors -> d
    com.android.tools.r8.ir.code.Value value -> a
    java.util.Set label -> b
    1:1:void <init>(com.android.tools.r8.ir.code.Value):76:76 -> <init>
    2:8:void <init>(com.android.tools.r8.ir.code.Value):72:78 -> <init>
    1:1:java.util.Set access$000(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> a
    2:2:void addLabel(java.util.Set):82:82 -> a
    3:3:java.util.Set getSuccessors():86:86 -> a
    4:5:boolean hasSuccessorThatMatches(java.util.function.Predicate):90:91 -> a
    1:1:java.util.Set access$100(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> b
    1:1:java.util.Set access$200(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> c
    1:1:com.android.tools.r8.ir.code.Value access$300(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> d
    1:12:void moveEdgesTo(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):99:110 -> e
com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption -> com.android.tools.r8.internal.z4:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():36:36 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:45 -> <init>
    1:1:boolean isSubsumedBy(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):49:49 -> a
    2:5:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):56:59 -> a
    6:6:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):58:58 -> a
    7:7:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):57:57 -> a
    8:14:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.definesValueWithNonLocalUsages(com.android.tools.r8.ir.code.Instruction):184:190 -> a
    8:14:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):65 -> a
    15:17:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):70:72 -> a
    18:30:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):71:83 -> a
    31:52:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.passesIdenticalValuesForPhis(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):271:292 -> a
    31:52:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):82 -> a
    53:53:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.passesIdenticalValuesForPhis(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):291:291 -> a
    53:53:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):82 -> a
    54:70:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):85:101 -> a
    71:72:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    71:72:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):101 -> a
    73:99:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):103:129 -> a
    100:105:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):128:133 -> a
    106:107:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    106:107:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):134 -> a
    108:137:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):138:167 -> a
    138:138:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):166:166 -> a
    139:140:boolean instructionMayHaveSideEffects(com.android.tools.r8.ir.code.Instruction):199:200 -> a
    141:149:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):204:212 -> a
    150:155:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):216:221 -> a
    150:155:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    156:156:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    156:156:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):225 -> a
    156:156:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    157:157:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    157:157:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):226 -> a
    157:157:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    158:169:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):229:240 -> a
    158:169:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    170:170:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    170:170:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):243 -> a
    170:170:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    171:171:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    171:171:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):244 -> a
    171:171:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    172:174:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):247:249 -> a
    172:174:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    175:175:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    175:175:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):252 -> a
    175:175:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    176:176:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    176:176:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):253 -> a
    176:176:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    177:179:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):256:258 -> a
    177:179:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    1:7:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.definesValueWithNonLocalUsages(com.android.tools.r8.ir.code.Instruction):184:190 -> b
    1:7:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.definesBlockLocalValue(com.android.tools.r8.ir.code.Instruction):180 -> b
    1:7:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.ir.code.Instruction):176 -> b
    8:8:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.ir.code.Instruction):176:176 -> b
com.android.tools.r8.ir.analysis.escape.EscapeAnalysis -> com.android.tools.r8.internal.Xi:
    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
    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>
    1:1:boolean lambda$isEscaping$0(com.android.tools.r8.utils.Box,com.android.tools.r8.ir.code.Instruction):61:61 -> a
    2:10:java.util.Set computeEscapeRoutes(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):74:82 -> a
    11:11:boolean lambda$computeEscapeRoutes$1(com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder,com.android.tools.r8.ir.code.Instruction):79:79 -> a
    12:31:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):87:106 -> a
    32:48:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):126:142 -> a
    32:48:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    49:77:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.isDirectlyEscaping(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,java.util.List):180:208 -> a
    49:77:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):142 -> a
    49:77:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    78:93:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):143:158 -> a
    78:93:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    94:98:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.getPropagatedSubject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):218:222 -> a
    94:98:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):161 -> a
    94:98:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    99:100:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):163:164 -> a
    99:100:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    101:102:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):115:116 -> a
    103:105:void addToWorklist(com.android.tools.r8.ir.code.Value):171:173 -> a
    1:9:boolean isEscaping(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):56:64 -> b
    10:10:boolean isValueOfInterestOrAlias(com.android.tools.r8.ir.code.Value):214:214 -> b
com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration -> com.android.tools.r8.internal.Yi:
    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) -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldAccessAnalysis -> com.android.tools.r8.internal.rj:
    com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis fieldReadForInvokeReceiverAnalysis -> d
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker fieldAssignmentTracker -> b
    com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis fieldBitAccessAnalysis -> c
    com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis fieldReadForWriteAnalysis -> e
    1:8:void <init>(com.android.tools.r8.graph.AppView):33:40 -> <init>
    9:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker,com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis,com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis,com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis):49:54 -> <init>
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker fieldAssignmentTracker():58:58 -> a
    2:3:void acceptClassInitializerDefaultsResult(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):63:64 -> a
    4:23:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):73:92 -> a
    24:29:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):91:96 -> a
    30:43:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):95:108 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker -> com.android.tools.r8.internal.Aj:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph fieldAccessGraph -> d
    com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> a
    boolean $assertionsDisabled -> h
    java.util.Map fieldStates -> f
    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph objectAllocationGraph -> e
    java.util.Map abstractInstanceFieldValues -> g
    1:1:void <clinit>():59:59 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):82:82 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView):77:87 -> <init>
    1:1:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isBottom():0:0 -> a
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):196 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):215 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):219:219 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isArray():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):221 -> a
    5:6:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):222:223 -> a
    7:7:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isPrimitive():0:0 -> a
    7:7:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):226 -> a
    8:9:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):227:228 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isClass():0:0 -> a
    10:10:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):231 -> a
    11:15:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):231:235 -> a
    16:16:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    16:16:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):235 -> a
    17:17:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):234:234 -> a
    18:31:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):197:210 -> a
    32:32:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    32:32:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):210 -> a
    33:34:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):210:211 -> a
    35:39:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):208:212 -> a
    40:42:void initialize():91:93 -> a
    43:55:void lambda$initializeAbstractInstanceFieldValues$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexProgramClass,java.util.Set):110:122 -> a
    56:56:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    56:56:void lambda$initializeAbstractInstanceFieldValues$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexProgramClass,java.util.Set):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    57:61:void lambda$initializeAbstractInstanceFieldValues$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexProgramClass,java.util.Set):123:127 -> a
    62:62:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):132:132 -> a
    63:63:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    63:63:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):132 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:66:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):133:135 -> a
    67:67:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    67:67:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):135 -> a
    68:68:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):135:135 -> a
    69:69:void acceptClassInitializerDefaultsResult(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):143:143 -> a
    70:71:void lambda$acceptClassInitializerDefaultsResult$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):145:146 -> a
    72:72:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    72:72:void lambda$acceptClassInitializerDefaultsResult$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):146 -> a
    73:74:void lambda$acceptClassInitializerDefaultsResult$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):149:150 -> a
    75:77:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):154:156 -> a
    78:78:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleDexItemBasedStringValue():0:0 -> a
    78:78:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):157 -> a
    79:83:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):156:160 -> a
    84:84:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87:87 -> a
    84:84:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):160 -> a
    85:91:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):159:165 -> a
    92:92:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    92:92:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):165 -> a
    93:95:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):166:168 -> a
    96:101:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):167:172 -> a
    102:102:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    102:102:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):176 -> a
    103:104:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):182:183 -> a
    105:105:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):192:192 -> a
    106:106:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.analysis.value.AbstractValueFactory.createZeroValue():49:49 -> a
    106:106:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):192 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    107:107:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):192:192 -> a
    108:108:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    108:108:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):192 -> a
    109:111:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):193:193 -> a
    112:119:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):240:247 -> a
    120:120:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    120:120:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):247 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    121:121:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    121:121:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):247 -> a
    122:164:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):250:292 -> a
    165:170:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):289:294 -> a
    171:171:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    171:171:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):294 -> a
    172:179:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):294:301 -> a
    180:193:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):298:311 -> a
    194:194:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    194:194:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):311 -> a
    195:219:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):311:335 -> a
    220:220:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):340:340 -> a
    220:220:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    221:221:com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.bottom():14:14 -> a
    221:221:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):340 -> a
    221:221:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    222:225:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):340:343 -> a
    222:225:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    226:226:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isClass():0:0 -> a
    226:226:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):346 -> a
    226:226:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    227:227:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    227:227:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):346 -> a
    227:227:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    228:237:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):346:355 -> a
    228:237:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    238:238:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    238:238:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):355 -> a
    238:238:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    239:239:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    239:239:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    239:239:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    239:239:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):355 -> a
    239:239:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    240:240:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    240:240:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    240:240:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):355 -> a
    240:240:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    241:249:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):356:364 -> a
    241:249:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    250:250:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):370:370 -> a
    251:251:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexClassAndField):1000:1000 -> a
    251:251:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):370 -> a
    252:260:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):371:379 -> a
    261:261:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection.get(com.android.tools.r8.graph.DexClassAndField):42:42 -> a
    261:261:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):379 -> a
    262:267:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):380:385 -> a
    268:268:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.AbstractValue.join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,com.android.tools.r8.graph.DexType):180:180 -> a
    268:268:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):382 -> a
    269:278:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):386:395 -> a
    279:286:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):394:401 -> a
    287:287:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    287:287:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):401 -> a
    288:291:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):401:404 -> a
    292:301:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):411:420 -> a
    302:302:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    302:302:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):420 -> a
    303:309:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):421:427 -> a
    310:310:void lambda$recordAllAllocationsSitesProcessed$5(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):421:421 -> a
    311:319:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):434:442 -> a
    320:320:void lambda$waveDone$7(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexProgramClass):439:439 -> a
    1:27:void initializeAbstractInstanceFieldValues():104:130 -> b
    28:28:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> b
    28:28:void initializeAbstractInstanceFieldValues():130 -> b
    29:29:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> b
    29:29:void initializeAbstractInstanceFieldValues():130 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph -> com.android.tools.r8.internal.yj:
    java.util.Map fieldWrites -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingFieldWrites -> b
    1:1:void <init>():454:454 -> <init>
    2:5:void <init>():448:451 -> <init>
    1:2:void initialize(com.android.tools.r8.graph.AppView):458:459 -> a
    3:13:void lambda$initialize$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfo):462:472 -> a
    14:14:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):470:470 -> a
    15:16:void lambda$initialize$1(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):470:471 -> a
    17:24:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):478:485 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph -> com.android.tools.r8.internal.zj:
    java.util.Map objectAllocations -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingObjectAllocations -> b
    1:1:void <init>():502:502 -> <init>
    2:6:void <init>():495:499 -> <init>
    1:2:void initialize(com.android.tools.r8.graph.AppView):506:507 -> a
    3:6:void lambda$initialize$1(com.android.tools.r8.graph.DexProgramClass,java.util.Set):509:512 -> a
    7:7:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):510:510 -> a
    8:15:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):518:525 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis -> com.android.tools.r8.internal.Bj:
    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
    10:18:int com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis.computeBitsRead(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField):34:42 -> a
    10:18:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isAnd():0:0 -> a
    19:19:int com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis.computeBitsRead(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField):45 -> a
    19:19:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29 -> a
    20:30:int com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis.computeBitsRead(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField):46:56 -> a
    20:30:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29 -> a
    31:31: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
    32:48: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.FieldReadForInvokeReceiverAnalysis -> com.android.tools.r8.internal.Sj:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():22:22 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):26:27 -> <init>
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    1:1:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):35 -> a
    2:3:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):39:40 -> a
    4:4:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):50:50 -> a
    4:4:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    5:8:boolean com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.enqueueUsersForAnalysis(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):85:88 -> a
    5:8:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):51 -> a
    5:8:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    9:12:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):54:57 -> a
    9:12:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    13:13:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):57 -> a
    13:13:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    14:14:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    14:14:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    15:18:boolean com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.enqueueUsersForAnalysis(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):85:88 -> a
    15:18:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):58 -> a
    15:18:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    19:28:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):62:71 -> a
    19:28:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    29:29:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    29:29:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):71 -> a
    29:29:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    30:30:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):76:76 -> a
    30:30:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    31:35:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):41:45 -> a
    36:36:void lambda$recordFieldAccess$0(java.util.Set,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder):46:46 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis -> com.android.tools.r8.internal.Tj:
    com.android.tools.r8.graph.AppView appView -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):24:25 -> <init>
    1:7:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder):32:38 -> a
    8:8:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):43:43 -> a
    9:12:boolean com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis.enqueueUsersForAnalysis(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):75:78 -> a
    9:12:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):44 -> a
    13:23:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):48:58 -> a
    24:24:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexField):181:181 -> a
    24:24:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):58 -> a
    25:27:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):59:61 -> a
    28:28:boolean com.android.tools.r8.graph.ProgramField.isStructurallyEqualTo(com.android.tools.r8.graph.ProgramField):27:27 -> a
    28:28:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):62 -> a
    29:29:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):51:51 -> a
    30:33:boolean com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis.enqueueUsersForAnalysis(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):75:78 -> a
    30:33:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):51 -> a
com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor -> com.android.tools.r8.internal.RY:
    java.util.Set nonConstantFields -> g
    java.util.Map dependencies -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map readFields -> d
    boolean $assertionsDisabled -> i
    java.util.Set constantFields -> f
    com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder postMethodProcessorBuilder -> b
    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToReprocess -> h
    java.util.Map writtenFields -> e
    1:1:void <clinit>():48:48 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):79:79 -> <init>
    2:24:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):59:81 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> a
    2:7:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):87:92 -> a
    8:21:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():128:141 -> a
    8:21:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):93 -> a
    22:22:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():138:138 -> a
    22:22:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):93 -> a
    23:46:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():134:157 -> a
    23:46:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):93 -> a
    47:49:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.verifyNoConstantFieldsOnSynthesizedClasses(com.android.tools.r8.graph.AppView):301:303 -> a
    47:49:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():157 -> a
    47:49:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):93 -> a
    50:56:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):94:100 -> a
    57:59:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):161:163 -> a
    57:59:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    60:60:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    60:60:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):163 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    60:60:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    61:64:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):163:166 -> a
    61:64:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    65:65:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    65:65:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    65:65:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    66:69:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):166:169 -> a
    66:69:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    70:70:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    70:70:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):169 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    70:70:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    71:71:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):169:169 -> a
    71:71:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    72:77:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):102:107 -> a
    78:81:void markFieldAsDead(com.android.tools.r8.graph.DexEncodedField):120:123 -> a
    82:84:void enqueueMethodsForReprocessing(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.concurrent.ExecutorService):175:177 -> a
    85:91:void enqueueMethodsForReprocessing(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.concurrent.ExecutorService):176:182 -> a
    92:92:void processClass(com.android.tools.r8.graph.DexProgramClass):186:186 -> a
    93:93:void lambda$processClass$0(com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    94:94:com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$FieldClassification classifyField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):194:194 -> a
    95:95:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    95:95:com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$FieldClassification classifyField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    96:96:com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$FieldClassification classifyField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):196:196 -> a
    97:97:boolean com.android.tools.r8.graph.FieldAccessInfo.isAccessedFromMethodHandle():38:38 -> a
    97:97:com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$FieldClassification classifyField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):197 -> a
    98:120:com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$FieldClassification classifyField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):198:220 -> a
    121:129:void processFieldsNeverRead(com.android.tools.r8.shaking.AppInfoWithLiveness):227:235 -> a
    130:130:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):232:232 -> a
    131:131:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    131:131:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):232 -> a
    132:132:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):234:234 -> a
    133:133:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):233:233 -> a
    134:135:void lambda$processFieldsNeverRead$2(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):237:238 -> a
    136:136:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    136:136:void lambda$processFieldsNeverRead$2(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):238 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    137:139:void lambda$processFieldsNeverRead$2(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):238:240 -> a
    140:142:void lambda$processFieldsNeverRead$2(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):239:241 -> a
    143:145:void lambda$processFieldsNeverWritten$4(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):256:258 -> a
    146:148:void lambda$processFieldsNeverWritten$4(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):257:259 -> a
    149:151:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):267:269 -> a
    152:152:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    152:152:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):269 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    153:159:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):271:277 -> a
    160:160:boolean com.android.tools.r8.graph.FieldAccessInfo.isAccessedFromMethodHandle():38:38 -> a
    160:160:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):278 -> a
    161:167:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):279:285 -> a
    168:168:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexEncodedField.getTypeElement(com.android.tools.r8.graph.AppView):170:170 -> a
    168:168:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):285 -> a
    169:169:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    169:169:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexEncodedField.getTypeElement(com.android.tools.r8.graph.AppView):170 -> a
    169:169:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):285 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    170:170:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    170:170:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexEncodedField.getTypeElement(com.android.tools.r8.graph.AppView):170 -> a
    170:170:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):285 -> a
    171:176:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):285:290 -> a
    1:1:java.util.Map access$100(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> b
    2:5:void markWriteOnlyFieldAsDead(com.android.tools.r8.graph.DexEncodedField):111:114 -> b
    6:6:void markWriteOnlyFieldAsDead(com.android.tools.r8.graph.DexEncodedField):113:113 -> b
    7:15:void processFieldsNeverWritten(com.android.tools.r8.shaking.AppInfoWithLiveness):246:254 -> b
    16:16:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):251:251 -> b
    17:17:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> b
    17:17:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):251 -> b
    18:18:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):253:253 -> b
    19:19:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):252:252 -> b
    1:1:java.util.Map access$200(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> c
    1:1:java.util.Map access$300(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> d
    1:1:java.util.Set access$400(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> e
    1:1:java.util.Set access$500(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> f
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet access$600(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> g
com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry -> com.android.tools.r8.internal.QY:
    com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor this$0 -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():309:309 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor,com.android.tools.r8.graph.ProgramMethod):311:312 -> <init>
    void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
    1:12:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):320:331 -> a
    13:13:boolean com.android.tools.r8.graph.FieldResolutionResult.isSingleProgramFieldResolutionResult():0:0 -> a
    13:13:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):332 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.isUnusedReadAfterMethodStaticizing(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):374:374 -> a
    14:14:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):338 -> a
    15:15:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.isUnusedReadAfterMethodStaticizing(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):375 -> a
    15:15:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):338 -> a
    16:30:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.isUnusedReadAfterMethodStaticizing(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):375:389 -> a
    16:30:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):338 -> a
    31:50:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):340:359 -> a
    51:54:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.destroyFieldAccessContexts(com.android.tools.r8.graph.DexEncodedField):430:433 -> a
    51:54:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):362 -> a
    55:57:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):366:368 -> a
    58:59:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.recordAccessThatCannotBeOptimized(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexEncodedField):398:399 -> a
    58:59:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):333 -> a
    60:63:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.destroyFieldAccessContexts(com.android.tools.r8.graph.DexEncodedField):430:433 -> a
    60:63:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.recordAccessThatCannotBeOptimized(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexEncodedField):400 -> a
    60:63:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):333 -> a
    64:67:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):408:411 -> a
    68:68:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    68:68:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):411 -> a
    69:71:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):413:415 -> a
    72:72:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    72:72:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):415 -> a
    73:74:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):415:416 -> a
    75:75:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    75:75:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):417 -> a
    76:80:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):419:423 -> a
    81:81:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    81:81:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):423 -> a
    82:83:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):423:424 -> a
    84:84:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    84:84:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):424 -> a
    85:87:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):424:426 -> a
    88:88:com.android.tools.r8.graph.AbstractAccessContexts lambda$recordFieldAccessContext$0(com.android.tools.r8.graph.DexEncodedField):414:414 -> a
    89:89:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):438:438 -> a
    90:91:void registerInstanceFieldReadInstruction(com.android.tools.r8.code.CfOrDexInstanceFieldRead):444:445 -> a
    92:93:void registerStaticFieldReadInstruction(com.android.tools.r8.code.CfOrDexStaticFieldRead):461:462 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):450:450 -> c
    void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
    void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):455:455 -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):467:467 -> g
com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState -> com.android.tools.r8.internal.G5:
    com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState INSTANCE -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):23:23 -> a
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState getInstance():18:18 -> e
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState -> com.android.tools.r8.internal.Fc:
    1:1:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> <init>
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState asArray() -> a
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):24:24 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):25 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):26:26 -> a
    4:5:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):40:41 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.AbstractValue.joinReference(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):188:188 -> a
    6:6:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):41:41 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState.isEffectivelyUnknown():46:46 -> a
    8:8:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):42 -> a
    9:9:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    9:9:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):42 -> a
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState -> com.android.tools.r8.internal.Ic:
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> b
    1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):20:21 -> <init>
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):25:25 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):26 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):27:27 -> a
    4:5:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):49:50 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.AbstractValue.joinReference(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):188:188 -> a
    6:6:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):50 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:12:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):50:55 -> a
    13:13:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):54:54 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState.isEffectivelyUnknown():60:60 -> a
    14:14:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):56 -> a
    15:15:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    15:15:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):56 -> a
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState asClass() -> b
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():31:31 -> e
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteFieldState -> com.android.tools.r8.internal.Kc:
    1:1:void <init>():8:8 -> <init>
    boolean isConcrete() -> d
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState -> com.android.tools.r8.internal.Uc:
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> a
    1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):15:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):21 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):22:22 -> a
    4:4:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):27:27 -> a
    5:5:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):42:42 -> a
    6:6:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    6:6:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):43 -> a
    7:7:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):45:45 -> a
    8:8:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.AbstractValue.joinPrimitive(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):184:184 -> a
    8:8:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):45 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):45:45 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState.isEffectivelyUnknown():50:50 -> a
    10:10:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):46 -> a
    11:11:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    11:11:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):46 -> a
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState asPrimitive() -> c
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteReferenceTypeFieldState -> com.android.tools.r8.internal.Xc:
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> a
    1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):15:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):21:21 -> a
com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState -> com.android.tools.r8.internal.ak:
    1:1:void <init>():11:11 -> <init>
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState asArray() -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory) -> a
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState asClass() -> b
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState asPrimitive() -> c
    boolean isConcrete() -> d
com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState -> com.android.tools.r8.internal.s00:
    com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState INSTANCE -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):23:23 -> a
    2:2:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):23 -> a
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState getInstance():18:18 -> e
com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet -> com.android.tools.r8.internal.s:
    1:1:void <init>():30:30 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet asConcreteFieldSet() -> a
    boolean contains(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet asKnownFieldSet() -> b
    boolean isEmpty() -> c
    boolean isKnownFieldSet() -> d
com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet -> com.android.tools.r8.internal.Pc:
    java.util.Set fields -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>():25:26 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexEncodedField):29:30 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet asConcreteFieldSet() -> a
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet addAll(com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet):38:38 -> a
    2:2:boolean contains(com.android.tools.r8.graph.DexEncodedField):71:71 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):77:77 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.isEmpty():113:113 -> a
    4:4:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):77 -> a
    5:15:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):77:87 -> a
    16:16:com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.addAll(com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet):38:38 -> a
    16:16:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.addAll(com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet):38:38 -> a
    17:17:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):87 -> a
    18:18:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):93:93 -> a
    19:19:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.isEmpty():113:113 -> a
    19:19:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):93 -> a
    20:26:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):93:99 -> a
    27:27:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    27:27:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):99 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):100:100 -> a
    29:29:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    29:29:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):100 -> a
    30:32:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):101:103 -> a
    33:33:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.add(com.android.tools.r8.graph.DexEncodedField):34:34 -> a
    33:33:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):106 -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet asKnownFieldSet() -> b
    1:1:void add(com.android.tools.r8.graph.DexEncodedField):34:34 -> b
    1:1:boolean isEmpty():113:113 -> c
    1:4:java.util.Set getFields():43:46 -> e
    1:5:boolean equals(java.lang.Object):131:135 -> equals
    1:1:int hashCode():123:123 -> hashCode
    1:1:int size():118:118 -> size
com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet -> com.android.tools.r8.internal.Lh:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet INSTANCE -> a
    1:3:void <clinit>():15:17 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    boolean contains(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    1:24:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):48:71 -> a
    25:34:void lambda$fixupReadSetAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet,int,com.android.tools.r8.graph.proto.ArgumentInfo):56:65 -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet asKnownFieldSet() -> b
    boolean isEmpty() -> c
    boolean isKnownFieldSet() -> d
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet getInstance():22:22 -> e
com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis -> com.android.tools.r8.internal.ck:
    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
    com.android.tools.r8.ir.code.IRCode code -> b
    boolean $assertionsDisabled -> h
    java.util.Map fieldsMaybeReadBeforeBlockInclusiveCache -> f
    java.util.Map putsPerField -> g
    com.android.tools.r8.graph.ProgramMethod context -> c
    1:1:void <clinit>():36:36 -> <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):61:61 -> <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):58:65 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis asInstanceFieldValueAnalysis() -> a
    boolean isSubjectToOptimization(com.android.tools.r8.graph.DexEncodedField) -> a
    void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value) -> a
    1:3:void recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):108:110 -> a
    4:20:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):115:131 -> a
    21:21:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):103:103 -> a
    21:21:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):132 -> a
    22:22:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.isStaticFieldValueAnalysis():0:0 -> a
    22:22:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):133 -> a
    23:24:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):134:135 -> a
    25:25:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):103:103 -> a
    25:25:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):136 -> a
    26:26:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.isInstanceFieldValueAnalysis():0:0 -> a
    26:26:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):139 -> a
    27:51:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):139:163 -> a
    52:53:boolean com.android.tools.r8.ir.code.DominatorTree.dominatesAllOf(com.android.tools.r8.ir.code.BasicBlock,java.lang.Iterable):118:119 -> a
    52:53:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):163 -> a
    54:54:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):168:168 -> a
    55:55:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):188:188 -> a
    55:55:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    56:56:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlock(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):213:213 -> a
    56:56:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):191 -> a
    56:56:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    57:60:java.util.Map com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.getOrCreateFieldsMaybeReadBeforeBlockInclusive():76:79 -> a
    57:60:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlockInclusive(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):223 -> a
    57:60:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlock(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):214 -> a
    57:60:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):191 -> a
    57:60:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlockInclusive(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):223:223 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlock(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):214 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):191 -> a
    61:61:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    62:68:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):197:203 -> a
    62:68:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    69:69:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.isStaticFieldValueAnalysis():0:0 -> a
    69:69:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):171 -> a
    70:76:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):176:182 -> a
    77:77:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet lambda$createFieldsMaybeReadBeforeBlockInclusive$1(com.android.tools.r8.ir.code.BasicBlock):237:237 -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis asStaticFieldValueAnalysis() -> b
    boolean isSubjectToOptimizationIgnoringPinning(com.android.tools.r8.graph.DexEncodedField) -> b
    1:1:java.util.List lambda$recordFieldPut$0(com.android.tools.r8.graph.DexEncodedField):109:109 -> c
    2:9:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():231:238 -> c
    10:10:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    10:10:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():238 -> c
    11:22:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():243:254 -> c
    23:23:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> c
    23:23:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():254 -> c
    24:24:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    24:24:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():257 -> c
    25:25:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():261:261 -> c
    26:26:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isConcreteFieldSet():0:0 -> c
    26:26:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():261 -> c
    27:28:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():261:262 -> c
    29:29:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isConcreteFieldSet():0:0 -> c
    29:29:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():262 -> c
    30:39:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():263:272 -> c
    40:42:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):316:318 -> c
    40:42:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    43:43:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    43:43:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):318 -> c
    43:43:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    44:45:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):318:319 -> c
    44:45:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    46:46:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> c
    46:46:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):319 -> c
    46:46:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    47:48:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):322:323 -> c
    47:48:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    49:51:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():274:276 -> c
    52:52:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> c
    52:52:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():276 -> c
    53:53:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    53:53:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():279 -> c
    54:54:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():283:283 -> c
    55:55:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isConcreteFieldSet():0:0 -> c
    55:55:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():283 -> c
    56:80:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():284:308 -> c
    1:4:com.android.tools.r8.ir.code.DominatorTree getOrCreateDominatorTree():69:72 -> d
com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo -> com.android.tools.r8.internal.bk:
    com.android.tools.r8.ir.code.Instruction instruction -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo instanceFieldInitializationInfo -> b
    1:3:void <init>(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):44:46 -> <init>
    1:1:com.android.tools.r8.ir.code.Instruction access$000(com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo):38:38 -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo access$100(com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo):38:38 -> b
com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis -> com.android.tools.r8.internal.Op:
    boolean $assertionsDisabled -> m
    com.android.tools.r8.graph.DexClassAndMethod 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
    1:1:void <clinit>():37:37 -> <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.DexClassAndMethod,com.android.tools.r8.ir.code.InvokeDirect):55:55 -> <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.DexClassAndMethod,com.android.tools.r8.ir.code.InvokeDirect):42:58 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis asInstanceFieldValueAnalysis() -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection run(com.android.tools.r8.graph.AppView,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.utils.Timing):71:71 -> a
    2:27:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.run(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):83:108 -> a
    2:27:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection run(com.android.tools.r8.graph.AppView,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.utils.Timing):73 -> a
    28:28:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection run(com.android.tools.r8.graph.AppView,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.utils.Timing):74:74 -> a
    29:29:boolean isSubjectToOptimization(com.android.tools.r8.graph.DexEncodedField):123:123 -> a
    30:30:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133:133 -> a
    31:31:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    31:31:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenInstancePutAndMethodExit(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.InstancePut):232 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    31:31:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133 -> a
    32:32:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    32:32:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenInstancePutAndMethodExit(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.InstancePut):232 -> a
    32:32:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133 -> a
    33:65:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenInstancePutAndMethodExit(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.InstancePut):236:268 -> a
    33:65:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133 -> a
    66:66:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.recordInstanceFieldIsInitializedWithValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):227:227 -> a
    66:66:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):134 -> a
    67:67:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.recordInstanceFieldIsInitializedWithValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):226:226 -> a
    67:67:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):134 -> a
    68:74:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):139:145 -> a
    75:75:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    75:75:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):145 -> a
    76:81:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):153:158 -> a
    82:86:java.util.List com.android.tools.r8.graph.DexClass.getDirectAndIndirectInstanceFields(com.android.tools.r8.graph.AppView):1210:1214 -> a
    82:86:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):158 -> a
    87:93:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):158:164 -> a
    94:105:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInstanceFieldInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):197:208 -> a
    106:106:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.code.Value.getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1154:1154 -> a
    106:106:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInstanceFieldInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):208 -> a
    107:113:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInstanceFieldInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):209:215 -> a
    114:114:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    114:114:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenParentConstructorCallAndMethodExit(com.android.tools.r8.graph.DexEncodedField):277 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    114:114:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):182 -> a
    115:115:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    115:115:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenParentConstructorCallAndMethodExit(com.android.tools.r8.graph.DexEncodedField):277 -> a
    115:115:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):182 -> a
    116:116:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenParentConstructorCallAndMethodExit(com.android.tools.r8.graph.DexEncodedField):280:280 -> a
    116:116:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):182 -> a
    117:120:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):183:186 -> a
    121:121:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.recordInstanceFieldIsInitializedWithValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):227:227 -> a
    121:121:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):185 -> a
    122:122:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.recordInstanceFieldIsInitializedWithValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):226:226 -> a
    122:122:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):185 -> a
    123:124:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):188:189 -> a
    125:125:void com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder.recordInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):59:59 -> a
    125:125:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):189 -> a
    1:1:boolean isSubjectToOptimizationIgnoringPinning(com.android.tools.r8.graph.DexEncodedField):128:128 -> b
    2:3:void recordInstanceFieldIsInitializedWithInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):220:221 -> b
    4:4:void com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder.recordInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):59:59 -> b
    4:4:void recordInstanceFieldIsInitializedWithInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):221 -> b
    1:11:void analyzeParentConstructorCall():169:179 -> e
com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet -> com.android.tools.r8.internal.My:
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet asConcreteFieldSet() -> a
    boolean contains(com.android.tools.r8.graph.DexEncodedField) -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis -> com.android.tools.r8.internal.UV:
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder -> i
    boolean $assertionsDisabled -> k
    java.util.Map computedValues -> j
    1:1:void <clinit>():42:42 -> <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):49:49 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):45:50 -> <init>
    1:6:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues run(com.android.tools.r8.graph.AppView,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.utils.Timing):59:64 -> a
    7:8:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.analyze(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):81:82 -> a
    7:8:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues run(com.android.tools.r8.graph.AppView,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.utils.Timing):65 -> a
    9:9:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues run(com.android.tools.r8.graph.AppView,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.utils.Timing):66:66 -> a
    10:12:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):87:89 -> a
    13:23:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):91:101 -> a
    24:32:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):98:106 -> a
    33:33:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):103:103 -> a
    34:34:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> a
    34:34:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):107 -> a
    35:35:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):110:110 -> a
    36:38:boolean isSubjectToOptimization(com.android.tools.r8.graph.DexEncodedField):117:119 -> a
    39:40:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133:134 -> a
    41:53:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):139:151 -> a
    54:54:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    54:54:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):151 -> a
    55:55:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    55:55:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    55:55:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    55:55:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):151 -> a
    56:56:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    56:56:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    56:56:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):151 -> a
    57:57:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):152:152 -> a
    58:58:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    58:58:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):152 -> a
    59:64:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):153:158 -> a
    65:71:void updateFieldOptimizationInfoWith2Values(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexValue):167:173 -> a
    72:74:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):177:179 -> a
    75:75:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):186:186 -> a
    75:75:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    76:76:boolean com.android.tools.r8.ir.code.Value.hasAliasedValue():204:204 -> a
    76:76:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):186 -> a
    76:76:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    77:77:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):186:186 -> a
    77:77:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    78:78:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):206:206 -> a
    78:78:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    78:78:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    79:79:boolean com.android.tools.r8.ir.code.Value.hasAliasedValue():204:204 -> a
    79:79:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):209 -> a
    79:79:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    79:79:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    80:84:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):209:213 -> a
    80:84:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    80:84:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    85:85:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    85:85:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):213 -> a
    85:85:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    85:85:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    86:89:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):214:217 -> a
    86:89:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    86:89:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    90:92:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):191:193 -> a
    90:92:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    93:93:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeObjectState(com.android.tools.r8.ir.code.Value):431:431 -> a
    93:93:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):193 -> a
    93:93:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    94:94:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):193:193 -> a
    94:94:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    95:133:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):369:407 -> a
    134:136:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):397:399 -> a
    137:138:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):389:390 -> a
    139:140:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.isEnumValuesArray(com.android.tools.r8.ir.code.Value):435:436 -> a
    139:140:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):390 -> a
    141:141:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> a
    141:141:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.isEnumValuesArray(com.android.tools.r8.ir.code.Value):436 -> a
    141:141:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):390 -> a
    142:144:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):424:426 -> a
    145:145:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeObjectState(com.android.tools.r8.ir.code.Value):431:431 -> a
    145:145:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):426 -> a
    146:146:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):426:426 -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis asStaticFieldValueAnalysis() -> b
    1:5:boolean isSubjectToOptimizationIgnoringPinning(com.android.tools.r8.graph.DexEncodedField):124:128 -> b
    6:6:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):223:223 -> b
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> b
    7:7:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):223 -> b
    8:13:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):226:231 -> b
    14:14:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> b
    14:14:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):231 -> b
    15:17:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):237:239 -> b
    18:18:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):238:238 -> b
    1:20:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):244:263 -> c
    21:21:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> c
    21:21:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):265 -> c
    22:58:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):265:301 -> c
    59:59:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):294:294 -> c
    60:71:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):268:279 -> c
    72:73:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):332:333 -> c
    72:73:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    74:74:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> c
    74:74:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):334 -> c
    74:74:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    75:77:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):336:338 -> c
    75:77:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    78:78:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeObjectState(com.android.tools.r8.ir.code.Value):431:431 -> c
    78:78:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):338 -> c
    78:78:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    79:79:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> c
    79:79:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):340 -> c
    79:79:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    80:80:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> c
    80:80:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):346 -> c
    80:80:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    81:81:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> c
    81:81:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):348 -> c
    81:81:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    82:82:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):280:280 -> c
    83:86:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):352:355 -> c
    83:86:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    87:87:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> c
    87:87:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):355 -> c
    87:87:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    88:92:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):356:360 -> c
    88:92:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    93:93:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> c
    93:93:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):361 -> c
    93:93:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    94:94:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):364:364 -> c
    94:94:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    95:136:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):287:328 -> c
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues -> com.android.tools.r8.internal.aW:
    1:1:void <init>():15:15 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues asEnumStaticFieldValues() -> a
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues.builder():47:47 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder(com.android.tools.r8.graph.DexProgramClass):26 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues.builder():114:114 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder(com.android.tools.r8.graph.DexProgramClass):26 -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder -> com.android.tools.r8.internal.VV:
    1:1:void <init>():29:29 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues build() -> a
    void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory) -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues -> com.android.tools.r8.internal.XV:
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues INSTANCE -> a
    1:1:void <clinit>():105:105 -> <clinit>
    1:1:void <init>():107:107 -> <init>
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues getInstance():110:110 -> b
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues$Builder -> com.android.tools.r8.internal.WV:
    1:1:void <init>():117:117 -> <init>
    void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory) -> a
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues build():127:127 -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues -> com.android.tools.r8.internal.ZV:
    com.android.tools.r8.com.google.common.collect.ImmutableMap enumAbstractValues -> a
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):42:43 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues asEnumStaticFieldValues() -> a
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectStateForPossiblyPinnedField(com.android.tools.r8.graph.DexField):100:100 -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues$Builder -> com.android.tools.r8.internal.YV:
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder enumObjectStateBuilder -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue valuesCandidateAbstractValue -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():50:50 -> <clinit>
    1:1:void <init>():55:55 -> <init>
    2:2:void <init>():52:52 -> <init>
    1:3:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):60:62 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> a
    4:4:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):62 -> a
    5:7:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):63:63 -> a
    9:11:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):65:67 -> a
    12:19:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):66:73 -> a
    20:20:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):72:72 -> a
    21:26:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues build():80:85 -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.UnknownFieldSet -> com.android.tools.r8.internal.r00:
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.UnknownFieldSet INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    boolean contains(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    boolean isEmpty() -> c
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.UnknownFieldSet getInstance():21:21 -> e
com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState -> com.android.tools.r8.internal.p1:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState) -> a
    boolean isAbstractState() -> b
com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction -> com.android.tools.r8.internal.s1:
    com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState) -> a
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState) -> a
com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult -> com.android.tools.r8.internal.pe:
    1:1:void <init>():21:21 -> <init>
    com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult asSuccessfulAnalysisResult() -> a
com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$FailedDataflowAnalysisResult -> com.android.tools.r8.internal.ne:
    1:1:void <init>():65:65 -> <init>
com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult -> com.android.tools.r8.internal.oe:
    java.util.Map blockExitStates -> a
    1:2:void <init>(java.util.Map):41:42 -> <init>
    com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult asSuccessfulAnalysisResult() -> a
    1:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join():47:48 -> b
com.android.tools.r8.ir.analysis.framework.intraprocedural.FailedTransferFunctionResult -> com.android.tools.r8.internal.oj:
    1:1:void <init>():16:16 -> <init>
    boolean isFailedTransferResult() -> a
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState():20:20 -> c
com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis -> com.android.tools.r8.internal.du:
    java.util.Map blockExitStates -> c
    java.util.Map blockEntryStatesCache -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState bottom -> a
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction transfer -> b
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction):43:43 -> <init>
    2:12:void <init>(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction):35:45 -> <init>
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.Timing):53:53 -> a
    2:20:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):57:75 -> a
    21:21:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    21:21:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):77 -> a
    22:28:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):78:84 -> a
    29:29:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):114:114 -> a
    29:29:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    30:30:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    30:30:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):114 -> a
    30:30:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    31:31:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    31:31:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):114 -> a
    31:31:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    32:33:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):114:115 -> a
    32:33:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    34:34:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState.isGreaterThanOrEquals(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):16:16 -> a
    34:34:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):116 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    35:35:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState.isGreaterThanOrEquals(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):17:17 -> a
    35:35:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):116 -> a
    35:35:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    36:37:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):116:117 -> a
    36:37:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    38:38:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):89:89 -> a
    39:39:void com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.updateBlockEntryStateCacheForSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):121:121 -> a
    39:39:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):94 -> a
    40:40:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.shouldCacheBlockEntryStateFor(com.android.tools.r8.ir.code.BasicBlock):131:131 -> a
    40:40:void com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.updateBlockEntryStateCacheForSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):122 -> a
    40:40:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):94 -> a
    41:43:void com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.updateBlockEntryStateCacheForSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):123:125 -> a
    41:43:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):94 -> a
    44:44:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):96:96 -> a
    45:45:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.shouldCacheBlockEntryStateFor(com.android.tools.r8.ir.code.BasicBlock):131:131 -> a
    45:45:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock):100 -> a
    45:45:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState lambda$run$0(com.android.tools.r8.ir.code.BasicBlock):64 -> a
    46:52:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock):101:107 -> a
    46:52:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState lambda$run$0(com.android.tools.r8.ir.code.BasicBlock):64 -> a
    53:55:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock):106:108 -> a
    53:55:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState lambda$run$0(com.android.tools.r8.ir.code.BasicBlock):64 -> a
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.ir.code.BasicBlock):49:49 -> b
    2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.run(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.Timing):53:53 -> b
    2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.ir.code.BasicBlock):49 -> b
com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult -> com.android.tools.r8.internal.GY:
    boolean isFailedTransferResult() -> a
    boolean isAbstractState() -> b
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> c
com.android.tools.r8.ir.analysis.inlining.AlwaysSimpleInliningConstraint -> com.android.tools.r8.internal.H1:
    com.android.tools.r8.ir.analysis.inlining.AlwaysSimpleInliningConstraint INSTANCE -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod) -> a
com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint -> com.android.tools.r8.internal.Ri:
    boolean value -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:2:void <init>(int,boolean):22:23 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    1:2:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint create(int,boolean,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):28:29 -> a
    3:3:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):37:37 -> a
    4:4:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):37 -> a
    6:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):39:43 -> a
    11:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):42:46 -> a
    16:16:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    16:16:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):46 -> a
    17:23:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):47:53 -> a
    24:24:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint.withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):66:66 -> a
    24:24:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):53 -> a
    25:27:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):58:60 -> a
    28:28:boolean com.android.tools.r8.ir.code.ConstNumber.getBooleanValue():82:82 -> a
    28:28:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):60:60 -> a
com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint -> com.android.tools.r8.internal.Si:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(int,long):10:10 -> <init>
    1:2:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint create(int,long,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):15:16 -> a
    3:3:boolean test(long):21:21 -> a
    4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27:27 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNumberConstraint(int,long):94:94 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27 -> a
com.android.tools.r8.ir.analysis.inlining.NeverSimpleInliningConstraint -> com.android.tools.r8.internal.rG:
    com.android.tools.r8.ir.analysis.inlining.NeverSimpleInliningConstraint INSTANCE -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod) -> a
com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint -> com.android.tools.r8.internal.vH:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(int,long):10:10 -> <init>
    1:2:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint create(int,long,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):15:16 -> a
    3:3:boolean test(long):21:21 -> a
    4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27:27 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNumberConstraint(int,long):89:89 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27 -> a
com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint -> com.android.tools.r8.internal.CH:
    com.android.tools.r8.ir.analysis.type.Nullability nullability -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():20:20 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.ir.analysis.type.Nullability):25:27 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    1:2:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint create(int,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):32:33 -> a
    3:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):41:48 -> a
    11:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):47:50 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    15:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):50 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:18:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):50:52 -> a
    19:19:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    19:19:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):53 -> a
    20:24:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):54:58 -> a
    25:25:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNumberConstraint(int,long):94:94 -> a
    25:25:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):58 -> a
    26:26:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):59:59 -> a
    27:27:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNumberConstraint(int,long):89:89 -> a
    27:27:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):59 -> a
    28:28:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):63:63 -> a
    29:29:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint.withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):87:87 -> a
    29:29:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):63 -> a
    30:43:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):68:81 -> a
com.android.tools.r8.ir.analysis.inlining.NumberSimpleInliningConstraint -> com.android.tools.r8.internal.LH:
    long rawValue -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:2:void <init>(int,long):21:22 -> <init>
    boolean test(long) -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):34:34 -> a
    2:2:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):34 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    3:3:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):34 -> a
    4:8:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):36:40 -> a
    9:13:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):39:43 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    14:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):43 -> a
    15:21:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):43:49 -> a
    22:24:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):54:56 -> a
    1:1:long getRawValue():26:26 -> i
com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint -> com.android.tools.r8.internal.uU:
    int argumentIndex -> b
    1:2:void <init>(int):14:15 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    1:1:com.android.tools.r8.ir.code.Value getArgument(com.android.tools.r8.ir.code.InvokeMethod):19:19 -> b
    boolean isArgumentConstraint() -> d
    1:1:int getArgumentIndex():23:23 -> h
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint -> com.android.tools.r8.internal.vU:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction asConjunction() -> a
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod) -> a
    1:1:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):68 -> a
    2:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):69:71 -> a
    5:5:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):47 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    6:6:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):50:50 -> a
    6:6:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    7:7:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    7:7:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):50 -> a
    7:7:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    8:8:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):53 -> a
    8:8:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    9:9:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):56 -> a
    9:9:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    10:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):57:57 -> a
    10:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    11:11:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    11:11:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):59 -> a
    11:11:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    12:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):60:62 -> a
    12:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    15:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):62 -> a
    15:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    16:17:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):62:63 -> a
    16:17:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    18:18:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    18:18:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):63 -> a
    18:18:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    19:20:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):63:64 -> a
    19:20:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    21:21:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):54:54 -> a
    21:21:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction asDisjunction() -> b
    boolean isAlways() -> c
    boolean isArgumentConstraint() -> d
    boolean isConjunction() -> e
    boolean isDisjunction() -> f
    boolean isNever() -> g
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis -> com.android.tools.r8.internal.xU:
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory factory -> a
    java.util.Set seen -> d
    com.android.tools.r8.utils.InternalOptions options -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.ProgramMethod method -> b
    1:1:void <clinit>():40:40 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):50:50 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):47:54 -> <init>
    1:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeCode(com.android.tools.r8.ir.code.IRCode):58:71 -> a
    15:16:int com.android.tools.r8.ir.code.IRCode.getNumberOfArguments():1086:1087 -> a
    15:16:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeCode(com.android.tools.r8.ir.code.IRCode):71 -> a
    17:18:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeCode(com.android.tools.r8.ir.code.IRCode):71:72 -> a
    19:28:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):82:91 -> a
    29:29:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    29:29:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):92 -> a
    30:94:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):95:159 -> a
    95:95:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):154:154 -> a
    96:96:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):108:108 -> a
    97:104:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis.getSingleArgumentOperand(com.android.tools.r8.ir.code.If):221:228 -> a
    97:104:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):109 -> a
    105:113:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):110:118 -> a
    114:126:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):117:129 -> a
    127:138:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):128:139 -> a
    139:149:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):138:148 -> a
    150:150:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    150:150:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):75 -> a
    150:150:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    151:151:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):75:75 -> a
    151:151:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    152:152:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    152:152:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):75 -> a
    152:152:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    153:153:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    153:153:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):78 -> a
    153:153:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    154:154:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    154:154:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):81 -> a
    154:154:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    155:155:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    155:155:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):84 -> a
    155:155:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    156:156:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):85:85 -> a
    156:156:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    157:157:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    157:157:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):87 -> a
    157:157:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    158:160:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):88:90 -> a
    158:160:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    161:161:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    161:161:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):90 -> a
    161:161:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    162:163:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):90:91 -> a
    162:163:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    164:164:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    164:164:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):91 -> a
    164:164:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    165:166:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):91:92 -> a
    165:166:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    167:167:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):76:76 -> a
    167:167:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    168:168:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):166:166 -> a
    169:169:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):151:151 -> a
    170:170:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis.analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int):76:76 -> a
    170:170:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):151 -> a
    171:171:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$0(com.android.tools.r8.ir.code.If,int):133:133 -> a
    172:172:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis.analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int):76:76 -> a
    172:172:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$0(com.android.tools.r8.ir.code.If,int):133 -> a
    173:207:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):172:206 -> a
    208:209:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):191:192 -> a
    210:210:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNullConstraint(int):75:75 -> a
    210:210:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):192 -> a
    211:212:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):194:195 -> a
    213:213:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToTrueConstraint(int):58:58 -> a
    213:213:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):195 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    214:217:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):197:200 -> a
    218:218:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNumberConstraint(int,long):89:89 -> a
    218:218:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):200 -> a
    219:219:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):203:203 -> a
    220:221:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):175:176 -> a
    222:222:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNullConstraint(int):71:71 -> a
    222:222:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):176 -> a
    223:224:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):178:179 -> a
    225:225:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToFalseConstraint(int):54:54 -> a
    225:225:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):179 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    226:229:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):181:184 -> a
    230:230:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNumberConstraint(int,long):94:94 -> a
    230:230:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):184 -> a
    231:231:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):187:187 -> a
    232:236:java.util.OptionalLong getRawNumberValue(com.android.tools.r8.ir.code.Value):211:215 -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$1(com.android.tools.r8.ir.code.If,int):144:144 -> b
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis.analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int):76:76 -> b
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$1(com.android.tools.r8.ir.code.If,int):144 -> b
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis$1 -> com.android.tools.r8.internal.wU:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():172:172 -> <clinit>
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction -> com.android.tools.r8.internal.yU:
    java.util.List constraints -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:6:void <init>(java.util.List):20:25 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction asConjunction() -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29:29 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29 -> a
    3:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29:30 -> a
    5:5:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):30 -> a
    6:7:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):30:31 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    8:8:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):31 -> a
    9:9:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):32:32 -> a
    10:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction.addAll(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction):44:48 -> a
    10:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):32 -> a
    15:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34:34 -> a
    16:16:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    16:16:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34 -> a
    17:22:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34:39 -> a
    23:24:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):63:64 -> a
    25:51:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):76:102 -> a
    52:52:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    52:52:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):102 -> a
    53:56:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):103:106 -> a
    57:58:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):81:82 -> a
    59:59:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    59:59:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):82 -> a
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction -> com.android.tools.r8.internal.zU:
    java.util.List constraints -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:6:void <init>(java.util.List):20:25 -> <init>
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29:29 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29 -> a
    3:3:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29:29 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):30 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):30:30 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):31 -> a
    7:7:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):32:32 -> a
    8:12:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction.addAll(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction):44:48 -> a
    8:12:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):32 -> a
    13:13:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34:34 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    14:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34 -> a
    15:20:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34:39 -> a
    21:22:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):63:64 -> a
    23:49:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):76:102 -> a
    50:50:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    50:50:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):102 -> a
    51:54:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):103:106 -> a
    55:56:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):81:82 -> a
    57:57:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    57:57:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):82 -> a
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction asDisjunction() -> b
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory -> com.android.tools.r8.internal.AU:
    com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint[] lowEqualToTrueConstraints -> b
    com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint[] lowEqualToFalseConstraints -> a
    com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint[] lowEqualToNullConstraints -> d
    com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint[] lowNotEqualToNullConstraints -> c
    java.util.Map highEqualToFalseConstraints -> e
    java.util.Map highEqualToTrueConstraints -> f
    java.util.Map highNotEqualToNullConstraints -> g
    java.util.Map highEqualToNullConstraints -> h
    1:1:void <init>():37:37 -> <init>
    2:33:void <init>():18:49 -> <init>
    1:2:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint createEqualToBooleanConstraint(int,boolean):65:66 -> a
    3:3:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint createEqualToBooleanConstraint(int,boolean):63:63 -> a
    4:5:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint createNullConstraint(int,com.android.tools.r8.ir.analysis.type.Nullability):82:83 -> a
    6:6:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint createNullConstraint(int,com.android.tools.r8.ir.analysis.type.Nullability):80:80 -> a
    7:9:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint createArgumentConstraint(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint[],java.util.Map,java.util.function.Supplier):99:101 -> a
    10:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint lambda$createArgumentConstraint$2(java.util.function.Supplier,java.lang.Integer):101:101 -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint lambda$createEqualToBooleanConstraint$0(int,boolean):67:67 -> b
    2:2:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint lambda$createNullConstraint$1(int,com.android.tools.r8.ir.analysis.type.Nullability):84:84 -> b
com.android.tools.r8.ir.analysis.modeling.LibraryMethodReadSetModeling -> com.android.tools.r8.internal.pB:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:9:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):19:27 -> a
    10:10:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    10:10:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):27 -> a
    11:15:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):28:32 -> a
    16:16:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    16:16:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):32 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    17:17:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):32 -> a
    18:20:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):32:34 -> a
com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker -> com.android.tools.r8.internal.si:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set deadEnumLiteMaps -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):43:43 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):41:45 -> <init>
    1:1:void clearDeadEnumLiteMaps():59:59 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.isEnumLiteProtoShrinkingEnabled():1581:1581 -> a
    2:2:void clearDeadEnumLiteMaps():59 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:11:void clearDeadEnumLiteMaps():59:67 -> a
    12:12:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():74:74 -> a
    12:12:void clearDeadEnumLiteMaps():70 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):84:84 -> a
    13:13:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    13:13:void clearDeadEnumLiteMaps():70 -> a
    14:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):111:116 -> a
    14:19:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    14:19:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    14:19:void clearDeadEnumLiteMaps():70 -> a
    20:22:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.matchesFindValueByNumberMethod(com.android.tools.r8.graph.DexMethod):140:142 -> a
    20:22:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):116 -> a
    20:22:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    20:22:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    20:22:void clearDeadEnumLiteMaps():70 -> a
    23:34:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):119:130 -> a
    23:34:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    23:34:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    23:34:void clearDeadEnumLiteMaps():70 -> a
    35:35:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    35:35:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):130 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    35:35:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    35:35:void clearDeadEnumLiteMaps():70 -> a
    36:36:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    36:36:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):130 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    36:36:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    36:36:void clearDeadEnumLiteMaps():70 -> a
    37:38:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):132:133 -> a
    37:38:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    37:38:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    37:38:void clearDeadEnumLiteMaps():70 -> a
    39:39:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):88:88 -> a
    39:39:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    39:39:void clearDeadEnumLiteMaps():70 -> a
    40:42:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.createInternalValueMapField(com.android.tools.r8.graph.DexType):53:55 -> a
    40:42:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):88 -> a
    40:42:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    40:42:void clearDeadEnumLiteMaps():70 -> a
    43:46:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):88:91 -> a
    43:46:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    43:46:void clearDeadEnumLiteMaps():70 -> a
    47:49:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():76:78 -> a
    47:49:void clearDeadEnumLiteMaps():70 -> a
    1:1:java.util.Set getDeadEnumLiteMaps():49:49 -> b
    1:3:void verifyDeadEnumLiteMapsAreDead():146:148 -> c
    4:4:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> c
    4:4:void verifyDeadEnumLiteMapsAreDead():148 -> c
    5:5:void verifyDeadEnumLiteMapsAreDead():148:148 -> c
com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker -> com.android.tools.r8.internal.Cl:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map removedExtensionFields -> d
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():75:75 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):84:84 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):81:88 -> <init>
    1:202:void forEachClassInitializerWithRemovedExtensionFields(java.util.function.Consumer,com.android.tools.r8.shaking.Enqueuer$Mode):0:201 -> a
    203:203:void lambda$run$0(com.android.tools.r8.shaking.Enqueuer$Mode,com.android.tools.r8.graph.DexField):102:102 -> a
    204:205:com.android.tools.r8.shaking.TreePrunerConfiguration run(com.android.tools.r8.shaking.Enqueuer$Mode):102:103 -> a
    206:217:com.android.tools.r8.shaking.TreePrunerConfiguration com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker.createTreePrunerConfiguration(com.android.tools.r8.shaking.Enqueuer$Mode):115:126 -> a
    206:217:com.android.tools.r8.shaking.TreePrunerConfiguration run(com.android.tools.r8.shaking.Enqueuer$Mode):104 -> a
    218:221:void recordDeadProtoExtensionField(com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.Enqueuer$Mode):108:111 -> a
    222:222:java.util.Map lambda$recordDeadProtoExtensionField$2(com.android.tools.r8.graph.DexType):110:110 -> a
    223:226:void rewriteCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):135:138 -> a
    227:238:void rewriteClassInitializer(com.android.tools.r8.ir.code.IRCode):143:154 -> a
    239:241:boolean com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker.wasRemoved(com.android.tools.r8.graph.DexField):159:161 -> a
    239:241:boolean lambda$run$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):103 -> a
    242:254:void postOptimizeGeneratedExtensionRegistry(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):167:179 -> a
    255:255:void lambda$postOptimizeGeneratedExtensionRegistry$3(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):175:175 -> a
    256:256:void lambda$postOptimizeGeneratedExtensionRegistry$3(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):173:173 -> a
    257:257:void lambda$forEachClassInitializerWithRemovedExtensionFields$5(com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set,java.util.Map):194:194 -> a
    258:258:void lambda$forEachClassInitializerWithRemovedExtensionFields$4(com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.Enqueuer$Mode):198:198 -> a
    259:259:void lambda$forEachClassInitializerWithRemovedExtensionFields$4(com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.Enqueuer$Mode):197:197 -> a
    260:262:void lambda$forEachClassInitializerWithRemovedExtensionFields$6(java.util.function.Consumer,com.android.tools.r8.graph.DexType):203:205 -> a
    263:263:void lambda$forEachFindLiteExtensionByNumberMethod$8(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):216:216 -> a
    264:264:boolean lambda$forEachFindLiteExtensionByNumberMethod$7(com.android.tools.r8.graph.DexEncodedMethod):218:218 -> a
    265:265:void lambda$forEachFindLiteExtensionByNumberMethod$9(com.android.tools.r8.ir.desugar.LambdaDescriptor):221:221 -> a
    266:266:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):227:227 -> a
    267:267:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.ProgramMethod):189:189 -> a
    267:267:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):227 -> a
    268:268:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):228:228 -> a
    269:273:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.DexField):233:237 -> a
    274:274:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.DexField):236:236 -> a
    275:275:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):244:244 -> a
    276:276:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    276:276:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):244 -> a
    277:285:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):244:252 -> a
    286:286:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    286:286:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):252 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    287:287:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):258:258 -> a
    288:290:void lambda$forEachDeadProtoExtensionField$10(java.util.function.Consumer,com.android.tools.r8.graph.FieldAccessInfo):267:269 -> a
    1:3:boolean wasRemoved(com.android.tools.r8.graph.DexField):159:161 -> b
    4:6:void forEachDeadProtoExtensionField(java.util.function.Consumer):263:265 -> b
    1:3:void forEachFindLiteExtensionByNumberMethod(java.util.function.Consumer):211:213 -> c
    1:2:void forEachMethodThatRequiresPostOptimization(java.util.function.Consumer):183:184 -> d
com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker$1 -> com.android.tools.r8.internal.Bl:
    com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker this$0 -> b
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):116:116 -> <init>
    1:1:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):121:121 -> a
    2:2:boolean com.android.tools.r8.shaking.DefaultTreePrunerConfiguration.isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):22:22 -> a
    2:2:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):122 -> a
com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker -> com.android.tools.r8.internal.Ml:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map builders -> d
    boolean $assertionsDisabled -> e
    boolean enableAggressiveBuilderOptimization -> c
    1:1:void <clinit>():61:61 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):70:70 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):67:75 -> <init>
    1:1:java.util.Map access$000(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):61:61 -> a
    2:24:boolean computeEnableAggressiveBuilderOptimization():79:101 -> a
    25:25:boolean computeEnableAggressiveBuilderOptimization():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":267,"2":268,"3":269}}
    267:267:boolean computeEnableAggressiveBuilderOptimization():101:101 -> a
    268:268:boolean computeEnableAggressiveBuilderOptimization():101:101 -> a
    269:269:boolean computeEnableAggressiveBuilderOptimization():101:101 -> a
    126:130:boolean computeEnableAggressiveBuilderOptimization():101:105 -> a
    131:144:boolean computeEnableAggressiveBuilderOptimization():103:116 -> a
    145:145:boolean computeEnableAggressiveBuilderOptimization():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":284,"2":285,"3":286}}
    284:284:boolean computeEnableAggressiveBuilderOptimization():116:116 -> a
    285:285:boolean computeEnableAggressiveBuilderOptimization():116:116 -> a
    286:286:boolean computeEnableAggressiveBuilderOptimization():116:116 -> a
    261:265:boolean computeEnableAggressiveBuilderOptimization():116:120 -> a
    266:266:boolean computeEnableAggressiveBuilderOptimization():118:118 -> a
    287:287:boolean lambda$computeEnableAggressiveBuilderOptimization$0(com.android.tools.r8.graph.DexClass):97:97 -> a
    288:292:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):172:176 -> a
    293:293:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):193:193 -> a
    293:293:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):176 -> a
    294:294:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):153:153 -> a
    294:294:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):195 -> a
    294:294:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):176 -> a
    295:297:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):177:179 -> a
    298:303:void rewriteDeadBuilderReferencesFromDynamicMethods(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):193:198 -> a
    304:304:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):315:315 -> a
    304:304:void rewriteDeadBuilderReferencesFromDynamicMethods(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):198 -> a
    305:315:void rewriteDeadBuilderReferencesFromDynamicMethods(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):199:209 -> a
    316:317: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):202:203 -> a
    318:319: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):217:218 -> a
    320:320:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    320:320: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):218 -> a
    321:337: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):220:236 -> a
    338:338:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    338:338: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):236 -> a
    339:346: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):242:249 -> a
    347:347:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    347:347: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):249 -> a
    348:355: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):251:258 -> a
    356:356: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):38:38 -> a
    356:356: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):258 -> a
    357:366: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):252:261 -> a
    367:367: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):260:260 -> a
    368:368:boolean lambda$rewriteDeadBuilderReferencesFromDynamicMethod$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Instruction):234:234 -> a
    369:370:boolean lambda$rewriteDeadBuilderReferencesFromDynamicMethod$4(com.android.tools.r8.ir.code.Instruction):245:246 -> a
    371:378: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,java.util.Set):272:279 -> a
    379:383:void preprocessCallGraphBeforeCycleElimination(java.util.Map):283:287 -> a
    384:384:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):175:175 -> a
    384:384:void preprocessCallGraphBeforeCycleElimination(java.util.Map):287 -> a
    385:385:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    385:385:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):175 -> a
    385:385:void preprocessCallGraphBeforeCycleElimination(java.util.Map):287 -> a
    386:390:void preprocessCallGraphBeforeCycleElimination(java.util.Map):288:292 -> a
    391:396: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):304:309 -> a
    397:403: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):308:314 -> a
    404:405:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):348:349 -> a
    406:406:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    406:406:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):349 -> a
    407:417:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):351:361 -> a
    418:418:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    418:418:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):362 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    419:419:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    419:419:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):362 -> a
    420:422:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):365:367 -> a
    423:425:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):389:391 -> a
    423:425:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):367 -> a
    426:426:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    426:426:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391 -> a
    426:426:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):367 -> a
    427:428:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391:392 -> a
    427:428:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):367 -> a
    429:429:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.graph.DexField):385:385 -> a
    429:429:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):392 -> a
    429:429:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):367 -> a
    430:434:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):371:375 -> a
    435:435:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement.asMaybeNull():90:90 -> a
    435:435:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):376 -> a
    436:443:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):376:383 -> a
    444:444:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    444:444:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):383 -> a
    445:445:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):383:383 -> a
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):61:61 -> b
    2:2:boolean lambda$computeEnableAggressiveBuilderOptimization$1(com.android.tools.r8.graph.DexClass):112:112 -> b
    3:4:com.android.tools.r8.graph.analysis.EnqueuerAnalysis createEnqueuerAnalysis():128:129 -> b
    1:1:com.android.tools.r8.ir.analysis.proto.ProtoReferences access$200(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):61:61 -> c
com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$1 -> com.android.tools.r8.internal.Kl:
    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker this$0 -> b
    java.util.Set val$seen -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():129:129 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker,java.util.Set):129:129 -> <init>
    1:1:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):132:132 -> a
    2:15: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:147 -> a
    16:19: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):146:149 -> a
    20:28: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):148:156 -> a
    29:32: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):155:158 -> a
    33:38: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):157:162 -> a
    39:39: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):161:161 -> a
com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension -> com.android.tools.r8.internal.Ll:
    java.util.Set bypassClinitforInlining -> g
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set neverMergeClassVertically -> d
    java.util.Set neverMergeClassHorizontally -> e
    java.util.Set alwaysInline -> f
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> c
    1:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set):405:412 -> <init>
    1:1:void alwaysClassInlineGeneratedMessageLiteBuilders():431:431 -> a
    2:3:boolean lambda$alwaysClassInlineGeneratedMessageLiteBuilders$0(com.android.tools.r8.graph.DexType):434:435 -> a
    4:11:void bypassClinitforInliningNewBuilderMethods(com.android.tools.r8.graph.SubtypingInfo):439:446 -> a
    12:12:boolean lambda$bypassClinitforInliningNewBuilderMethods$1(com.android.tools.r8.graph.DexEncodedMethod):444:444 -> a
    1:1:void extend(com.android.tools.r8.graph.SubtypingInfo):416:416 -> b
    2:2:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.alwaysInlineCreateBuilderFromGeneratedMessageLite():457:457 -> b
    2:2:void extend(com.android.tools.r8.graph.SubtypingInfo):419 -> b
    3:3:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeMessageLite():471:471 -> b
    3:3:void extend(com.android.tools.r8.graph.SubtypingInfo):420 -> b
    4:5:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeClass(com.android.tools.r8.graph.DexType):475:476 -> b
    4:5:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeMessageLite():471 -> b
    4:5:void extend(com.android.tools.r8.graph.SubtypingInfo):420 -> b
    6:6:void extend(com.android.tools.r8.graph.SubtypingInfo):423:423 -> b
    7:7:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.alwaysInlineBuildPartialFromGeneratedMessageLiteExtendableBuilder():453:453 -> b
    7:7:void extend(com.android.tools.r8.graph.SubtypingInfo):426 -> b
    8:8:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeGeneratedMessageLiteBuilder():464:464 -> b
    8:8:void extend(com.android.tools.r8.graph.SubtypingInfo):427 -> b
    9:10:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeClass(com.android.tools.r8.graph.DexType):475:476 -> b
    9:10:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeGeneratedMessageLiteBuilder():464 -> b
    9:10:void extend(com.android.tools.r8.graph.SubtypingInfo):427 -> b
    11:11:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeGeneratedMessageLiteBuilder():465:465 -> b
    11:11:void extend(com.android.tools.r8.graph.SubtypingInfo):427 -> b
    12:13:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeClass(com.android.tools.r8.graph.DexType):475:476 -> b
    12:13:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeGeneratedMessageLiteBuilder():465 -> b
    12:13:void extend(com.android.tools.r8.graph.SubtypingInfo):427 -> b
com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker -> com.android.tools.r8.internal.Nl:
    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 -> g
    com.android.tools.r8.ir.analysis.type.TypeElement objectArrayType -> e
    com.android.tools.r8.ir.analysis.type.TypeElement stringType -> f
    1:1:void <clinit>():54:54 -> <clinit>
    1:10: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:74 -> <init>
    11:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder,com.android.tools.r8.ir.analysis.proto.ProtoReferences):73:75 -> <init>
    boolean lambda$optimizeNewMutableInstance$1(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    1:5:void extendRootSet(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):81:85 -> a
    6:19:void extendRootSet(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):82:95 -> a
    20:26:void lambda$extendRootSet$0(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.graph.DexMethod):97:103 -> a
    27:28:void run(com.android.tools.r8.ir.code.IRCode):110:111 -> a
    29:33:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):251:255 -> a
    29:33:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    34:34:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24:24 -> a
    34:34:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):256 -> a
    34:34:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    35:35:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    35:35:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):256 -> a
    35:35:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    36:36:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24 -> a
    36:36:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):256 -> a
    36:36:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    37:39:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24:26 -> a
    37:39:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):256 -> a
    37:39:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    40:40:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):259:259 -> a
    40:40:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    41:42:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):284:285 -> a
    41:42:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):278 -> a
    41:42:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    41:42:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    43:43:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    43:43:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    43:43:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):284 -> a
    43:43:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):278 -> a
    43:43:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    43:43:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(5)"]}
    44:44:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    44:44:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    44:44:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):284 -> a
    44:44:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):278 -> a
    44:44:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    44:44:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    45:46:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):293:294 -> a
    45:46:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    45:46:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    45:46:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    47:47:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    47:47:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):295 -> a
    47:47:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    47:47:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    47:47:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    48:57:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):296:305 -> a
    48:57:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    48:57:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    48:57:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    58:58:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    58:58:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):304 -> a
    58:58:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    58:58:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    58:58:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    59:61:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):308:310 -> a
    59:61:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    59:61:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    59:61:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    62:62:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    62:62:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):311 -> a
    62:62:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    62:62:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    62:62:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    63:65:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):312:314 -> a
    63:65:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    63:65:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    63:65:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    66:66:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    66:66:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):312 -> a
    66:66:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    66:66:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    66:66:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    67:67:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319:319 -> a
    67:67:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    67:67:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    67:67:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    68:68:void com.android.tools.r8.ir.analysis.proto.ProtoUtils.setObjectsValueForMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.ProtoReferences):31:31 -> a
    68:68:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319 -> a
    68:68:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    68:68:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    68:68:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    69:69:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    69:69:void com.android.tools.r8.ir.analysis.proto.ProtoUtils.setObjectsValueForMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.ProtoReferences):31 -> a
    69:69:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319 -> a
    69:69:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    69:69:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    69:69:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(5)"]}
    70:70:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    70:70:void com.android.tools.r8.ir.analysis.proto.ProtoUtils.setObjectsValueForMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.ProtoReferences):31 -> a
    70:70:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319 -> a
    70:70:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    70:70:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    70:70:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    71:73:void com.android.tools.r8.ir.analysis.proto.ProtoUtils.setObjectsValueForMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.ProtoReferences):31:33 -> a
    71:73:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319 -> a
    71:73:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.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):279 -> a
    71:73:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    71:73:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    74:77:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):265:268 -> a
    74:77:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    78:78:void run(com.android.tools.r8.ir.code.IRCode):113:113 -> a
    79:79:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    79:79:void run(com.android.tools.r8.ir.code.IRCode):113 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    80:80:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    80:80:void run(com.android.tools.r8.ir.code.IRCode):113 -> a
    81:81:void run(com.android.tools.r8.ir.code.IRCode):114:114 -> a
    82:88:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):119:125 -> a
    89:94:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):181:186 -> a
    89:94:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    95:95:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    95:95:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):187 -> a
    95:95:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    96:96:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    96:96:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):187 -> a
    96:96:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    97:98:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):190:191 -> a
    97:98:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    99:99:int com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgumentIndex():79:79 -> a
    99:99:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgument():75 -> a
    99:99:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):192 -> a
    99:99:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    100:100:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgument():75:75 -> a
    100:100:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):192 -> a
    100:100:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    101:101:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191:191 -> a
    101:101:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    102:104:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):389:391 -> a
    102:104:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191 -> a
    102:104:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    105:105:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    105:105:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391 -> a
    105:105:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191 -> a
    105:105:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    106:107:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391:392 -> a
    106:107:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191 -> a
    106:107:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    108:108:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.graph.DexField):385:385 -> a
    108:108:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):392 -> a
    108:108:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191 -> a
    108:108:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    109:114:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):195:200 -> a
    109:114:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    115:120:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):132:137 -> a
    121:128:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):136:143 -> a
    129:129:com.android.tools.r8.ir.code.NewInstance$Builder com.android.tools.r8.ir.code.NewInstance.builder():42:42 -> a
    129:129:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):143 -> a
    130:132:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):144:146 -> a
    133:133:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    133:133:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):146 -> a
    134:134:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654:1654 -> a
    134:134:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):145 -> a
    135:142:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):145:152 -> a
    143:143:com.android.tools.r8.ir.code.InvokeDirect$Builder com.android.tools.r8.ir.code.InvokeDirect.builder():50:50 -> a
    143:143:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):152 -> a
    144:145:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):153:154 -> a
    146:146:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    146:146:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):154 -> a
    147:158:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):154:165 -> a
    159:159:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    159:159:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):166 -> a
    160:168:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):167:175 -> a
    169:169:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    169:169:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):175 -> a
    170:170:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):175:175 -> a
    171:182:void postOptimizeDynamicMethods(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):208:219 -> a
    183:183:void lambda$postOptimizeDynamicMethods$2(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):215:215 -> a
    184:184:void lambda$postOptimizeDynamicMethods$2(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):213:213 -> a
    185:188:void forEachDynamicMethod(java.util.function.Consumer):223:226 -> a
    189:194:void lambda$forEachDynamicMethod$3(com.android.tools.r8.graph.DexItemFactory,java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):229:234 -> a
    195:195:void lambda$forEachDynamicMethod$4(com.android.tools.r8.ir.desugar.LambdaDescriptor):238:238 -> a
    196:199:com.android.tools.r8.ir.code.InvokeMethod getNewMessageInfoInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.ProtoReferences):324:327 -> a
    200:200:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    200:200:com.android.tools.r8.ir.code.InvokeMethod getNewMessageInfoInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.ProtoReferences):327 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    201:201:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    201:201:com.android.tools.r8.ir.code.InvokeMethod getNewMessageInfoInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.ProtoReferences):327 -> a
com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry -> com.android.tools.r8.internal.NO:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> i
    com.android.tools.r8.shaking.EnqueuerUseRegistryFactory FACTORY -> j
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.androidapi.AndroidApiLevelCompute):34:35 -> <init>
    1:1:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):55:55 -> a
    2:2:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry.getContextMethod():51:51 -> a
    2:2:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):55 -> a
    3:7:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):55:59 -> a
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):79:79 -> e
    2:2:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry.getContextMethod():51:51 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):79 -> e
    3:4:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):79:80 -> e
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry.getContextHolder():47:47 -> e
    5:5:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):80 -> e
    6:6:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):80:80 -> e
    7:7:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry.isStaticFieldReadForProtoSchemaDefinition(com.android.tools.r8.graph.DexField):89:89 -> e
    7:7:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):81 -> e
    8:8:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry.getContextHolder():47:47 -> e
    8:8:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry.isStaticFieldReadForProtoSchemaDefinition(com.android.tools.r8.graph.DexField):89 -> e
    8:8:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):81 -> e
    9:15:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry.isStaticFieldReadForProtoSchemaDefinition(com.android.tools.r8.graph.DexField):89:95 -> e
    9:15:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):81 -> e
    16:19:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):82:85 -> e
    1:1:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory getFactory():39:39 -> g
com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover -> com.android.tools.r8.internal.OO:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> a
    java.util.Map staticFieldValuesMap -> b
    java.util.Map staticFieldValuesMapDelayed -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences):27:27 -> <init>
    2:7:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences):23:28 -> <init>
    1:1:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues.isEnumStaticFieldValues():0:0 -> a
    1:1:void recordStaticValues(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):32 -> a
    2:3:void recordStaticValues(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):35:36 -> a
    4:8:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover.isProtoEnum(com.android.tools.r8.graph.DexProgramClass):48:52 -> a
    4:8:void recordStaticValues(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):37 -> a
    9:9:void recordStaticValues(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):38:38 -> a
    10:11:void updateVisibleStaticFieldValues():43:44 -> a
    12:16:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover.isProtoEnum(com.android.tools.r8.graph.DexProgramClass):48:52 -> a
    12:16:com.android.tools.r8.ir.analysis.value.SingleNumberValue getOrdinal(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):57 -> a
    17:25:com.android.tools.r8.ir.analysis.value.SingleNumberValue getOrdinal(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):60:68 -> a
    26:31:com.android.tools.r8.ir.analysis.value.SingleNumberValue getOrdinal(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):67:72 -> a
com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy -> com.android.tools.r8.internal.TO:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy parent -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):31:34 -> <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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):44:44 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):153:153 -> a
    2:2: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):44 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    3:3: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):45 -> a
    4:6: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):49:51 -> a
    7:7:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):166:166 -> a
    7:7: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):51 -> a
    8:8: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):51:51 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.ProgramMethod):179:179 -> a
    9:9: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):51 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.ProgramMethod):179 -> a
    10:10: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):51 -> a
    11:11: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):53:53 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    12:12: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):166:166 -> a
    13:13:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61 -> a
    13:13: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    14:14: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isProtoLibraryClass(com.android.tools.r8.graph.DexProgramClass):203:203 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61 -> a
    15:15: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    16:16:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    16:16:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isProtoLibraryClass(com.android.tools.r8.graph.DexProgramClass):203 -> a
    16:16:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61 -> a
    16:16: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    17:30:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):62:75 -> a
    17:30: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    31:31:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    31:31:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):75 -> a
    31:31: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    32:36:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):76:80 -> a
    32:36: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    37:37:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithSimpleBody(com.android.tools.r8.graph.DexField):396:396 -> a
    37:37:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):81 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:37: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    38:38:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithSimpleBody(com.android.tools.r8.graph.DexField):396:396 -> a
    38:38:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):81 -> a
    38:38: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    39:42:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):82:85 -> a
    39:42: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    43:43:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithNonSimpleBody(com.android.tools.r8.graph.DexField):404:404 -> a
    43:43:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):86 -> a
    43:43: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    44:47:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):85:88 -> a
    44:47: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
com.android.tools.r8.ir.analysis.proto.ProtoReferences -> com.android.tools.r8.internal.mP:
    com.android.tools.r8.graph.DexType generatedMessageLiteExtendableMessageType -> l
    com.android.tools.r8.graph.DexType generatedMessageLiteBuilderType -> j
    com.android.tools.r8.graph.DexType methodToInvokeType -> n
    com.android.tools.r8.graph.DexString instanceFieldName -> v
    com.android.tools.r8.graph.DexString dynamicMethodName -> x
    com.android.tools.r8.graph.DexMethod newMessageInfoMethod -> F
    com.android.tools.r8.graph.DexString newBuilderMethodName -> z
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers methodToInvokeMembers -> t
    com.android.tools.r8.graph.DexString findValueByNumberName -> A
    com.android.tools.r8.graph.DexProto findLiteExtensionByNumberProto -> D
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods generatedMessageLiteBuilderMethods -> r
    com.android.tools.r8.graph.DexType enumLiteMapType -> c
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods generatedMessageLiteMethods -> q
    com.android.tools.r8.graph.DexType extensionRegistryLiteType -> g
    com.android.tools.r8.graph.DexType extendableMessageType -> e
    com.android.tools.r8.graph.DexType generatedMessageLiteExtendableBuilderType -> k
    com.android.tools.r8.graph.DexType generatedMessageLiteType -> i
    com.android.tools.r8.graph.DexType wireFormatFieldType -> o
    com.android.tools.r8.graph.DexString defaultInstanceFieldName -> u
    com.android.tools.r8.graph.DexType messageLiteType -> m
    com.android.tools.r8.graph.DexString internalValueMapFieldName -> w
    com.android.tools.r8.graph.DexMethod rawMessageInfoConstructor -> G
    com.android.tools.r8.graph.DexString findLiteExtensionByNumberName -> y
    com.android.tools.r8.graph.DexMethod dynamicMethod -> E
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods generatedExtensionMethods -> p
    com.android.tools.r8.graph.DexString protobufPackageDescriptorPrefix -> B
    com.android.tools.r8.graph.DexProto dynamicMethodProto -> C
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods generatedMessageLiteExtendableBuilderMethods -> s
    com.android.tools.r8.graph.DexType enumVerifierType -> d
    com.android.tools.r8.graph.DexType enumLiteType -> b
    com.android.tools.r8.graph.DexType generatedExtensionType -> h
    com.android.tools.r8.graph.DexType extensionDescriptorType -> f
    1:55:void <init>(com.android.tools.r8.graph.DexItemFactory):63:117 -> <init>
    56:64:void <init>(com.android.tools.r8.graph.DexItemFactory):113:121 -> <init>
    65:76:void <init>(com.android.tools.r8.graph.DexItemFactory):119:130 -> <init>
    1:1:void forEachMethodReference(java.util.function.Consumer):134:134 -> a
    2:2:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.forEachMethodReference(java.util.function.Consumer):236:236 -> a
    2:2:void forEachMethodReference(java.util.function.Consumer):134 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.forEachMethodReference(java.util.function.Consumer):236:237 -> a
    3:4:void forEachMethodReference(java.util.function.Consumer):134 -> a
    5:5:void forEachMethodReference(java.util.function.Consumer):135:135 -> a
    6:6:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods.forEachMethodReference(java.util.function.Consumer):299:299 -> a
    6:6:void forEachMethodReference(java.util.function.Consumer):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:11:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods.forEachMethodReference(java.util.function.Consumer):299:303 -> a
    7:11:void forEachMethodReference(java.util.function.Consumer):135 -> a
    12:12:void forEachMethodReference(java.util.function.Consumer):136:136 -> a
    13:13:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods.forEachMethodReference(java.util.function.Consumer):320:320 -> a
    13:13:void forEachMethodReference(java.util.function.Consumer):136 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods.forEachMethodReference(java.util.function.Consumer):320:320 -> a
    14:14:void forEachMethodReference(java.util.function.Consumer):136 -> a
    15:15:void forEachMethodReference(java.util.function.Consumer):137:137 -> a
    16:16:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods.forEachMethodReference(java.util.function.Consumer):344:344 -> a
    16:16:void forEachMethodReference(java.util.function.Consumer):137 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:18:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods.forEachMethodReference(java.util.function.Consumer):344:345 -> a
    17:18:void forEachMethodReference(java.util.function.Consumer):137 -> a
    19:22:void forEachMethodReference(java.util.function.Consumer):138:141 -> a
    23:23:com.android.tools.r8.graph.DexField getDefaultInstanceField(com.android.tools.r8.graph.DexProgramClass):145:145 -> a
    24:24:boolean isDynamicMethod(com.android.tools.r8.graph.DexMethod):158:158 -> a
    25:25:boolean isDynamicMethod(com.android.tools.r8.graph.DexEncodedMethod):162:162 -> a
    26:26:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.ProgramMethod):189:189 -> a
    1:1:com.android.tools.r8.graph.DexField getEnumVerifierInstanceField(com.android.tools.r8.graph.DexProgramClass):149:149 -> b
    2:3:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):183:184 -> b
    4:4:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> b
    4:4:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):184 -> b
    5:5:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):184:184 -> b
com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods -> com.android.tools.r8.internal.hP:
    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):206:206 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):211:215 -> <init>
    7:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):213:225 -> <init>
    20:20:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):223:223 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods -> com.android.tools.r8.internal.iP:
    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):307:307 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):311:315 -> <init>
    7:7:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):313:313 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods -> com.android.tools.r8.internal.jP:
    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):324:324 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):329:333 -> <init>
    7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):331:338 -> <init>
    15:15:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):336:336 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods -> com.android.tools.r8.internal.kP:
    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):245:245 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):253:257 -> <init>
    7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):255:262 -> <init>
    15:22:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):260:267 -> <init>
    23:31:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):265:273 -> <init>
    32:47:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):271:286 -> <init>
    48:48:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):284:284 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers -> com.android.tools.r8.internal.lP:
    com.android.tools.r8.graph.DexField newMutableInstanceField -> f
    com.android.tools.r8.graph.DexField newBuilderField -> e
    com.android.tools.r8.graph.DexField setMemoizedIsInitializedField -> g
    com.android.tools.r8.graph.DexField getDefaultInstanceField -> b
    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):349:349 -> <init>
    2:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):359:376 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoShrinker -> com.android.tools.r8.internal.nP:
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> b
    com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover protoEnumSwitchMapRemover -> g
    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker generatedMessageLiteBuilderShrinker -> e
    java.util.Set deadProtoTypes -> i
    com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker enumLiteProtoShrinker -> f
    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> a
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker generatedExtensionRegistryShrinker -> c
    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker generatedMessageLiteShrinker -> d
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> h
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):30:30 -> <init>
    2:28:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):28:54 -> <init>
    1:7:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):58:64 -> a
    8:8:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    8:8:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):66 -> a
    9:13:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):66:70 -> a
    14:14:void com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.disable():1562:1562 -> a
    14:14:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):70 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:18:void com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.disable():1563:1566 -> a
    15:18:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):70 -> a
    19:19:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):74:74 -> a
    20:20:java.util.Set getDeadProtoTypes():78:78 -> a
    21:23:boolean verifyDeadProtoTypesNotReferenced(com.android.tools.r8.dex.VirtualFile):88:90 -> a
    24:24:void com.android.tools.r8.utils.InternalOptions.checkAssertionsEnabled():956:956 -> a
    24:24:void setDeadProtoTypes(java.util.Set):83 -> a
    25:25:void setDeadProtoTypes(java.util.Set):84:84 -> a
    26:26:void com.android.tools.r8.utils.InternalOptions.checkAssertionsEnabled():957:957 -> a
    26:26:void setDeadProtoTypes(java.util.Set):83 -> a
com.android.tools.r8.ir.analysis.proto.ProtoUtils -> com.android.tools.r8.internal.qP:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:com.android.tools.r8.ir.code.Value getInfoValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):17:17 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    2:2:com.android.tools.r8.ir.code.Value getInfoValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):17 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    3: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 -> a
    4:6: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
com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder -> com.android.tools.r8.internal.zP:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():70:70 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences):75:77 -> <init>
    boolean lambda$createObjectIterator$0(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):81:81 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    2:2:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):81 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    3:3:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):81 -> a
    4:6:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):81:83 -> a
    7:7:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24:24 -> a
    7:7:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):83 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    8:8:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):83 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    9:9:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24 -> a
    9:9:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):83 -> a
    10:12:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24:26 -> a
    10:12:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):83 -> a
    13:13:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):84:84 -> a
    14:50: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):89:125 -> a
    51:54:java.lang.Object com.android.tools.r8.utils.ThrowingIterator.computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
    51:54: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):127 -> a
    55:55: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):127:127 -> a
    56:61: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):126:131 -> a
    62:65:java.lang.Object com.android.tools.r8.utils.ThrowingIterator.computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
    62:65: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):133 -> a
    66:66: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):133:133 -> a
    67:73: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):132:138 -> a
    74:74: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):137:137 -> a
    75:75: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):135:135 -> a
    76:89: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):129:142 -> a
    90:93:java.lang.Object com.android.tools.r8.utils.ThrowingIterator.computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
    90:93: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 -> a
    94:94: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:144 -> a
    95:100: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):143:148 -> a
    101:133: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):146:178 -> a
    134:134: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):158:158 -> a
    135:135:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    135:135: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):158 -> a
    136:136:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    136:136:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    136:136: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):158 -> a
    137:166: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):158:187 -> a
    167:173: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):184:190 -> a
    174:177:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):197:200 -> a
    178:178:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    178:178: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
    179:180:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):201:202 -> a
    181:181:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    181:181:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):203 -> a
    182:184:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):204:206 -> a
    185:185:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexClass.lookupUniqueInstanceFieldWithName(com.android.tools.r8.graph.DexString):538:538 -> a
    185:185:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):206 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    186:191:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexClass.lookupUniqueInstanceFieldWithName(com.android.tools.r8.graph.DexString):538:543 -> a
    186:191:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):206 -> a
    192:196:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):208:212 -> a
    197:197:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    197:197:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):213 -> a
    198:201:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):214:217 -> a
    202:202:boolean com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo.isFieldNameComputationInfo():0:0 -> a
    202:202:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):217 -> a
    203:210:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):218:225 -> a
    211:211:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    211:211:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):227 -> a
    212:214:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):228:230 -> a
    215:215:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    215:215:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):232 -> a
    216:220:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):233:237 -> a
    221:221:int invalidInfoFailure():241:241 -> a
    222:222:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):250:250 -> a
    223:223:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    223:223:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):250 -> a
    224:224:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):251:251 -> a
    225:225:com.android.tools.r8.utils.ThrowingIntIterator com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder.createInfoIterator(com.android.tools.r8.graph.DexString):259:259 -> a
    225:225:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):251 -> a
    226:226:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):253:253 -> a
    1:1:com.android.tools.r8.ir.code.Value invalidObjectsFailure():245:245 -> b
    2:2:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):305:305 -> b
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> b
    3:3:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):305 -> b
    4:19:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):309:324 -> b
    20:20:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):317:317 -> b
    21:21:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):306:306 -> b
com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1 -> com.android.tools.r8.internal.wP:
    com.android.tools.r8.utils.ThrowingCharIterator charIterator -> a
    1:3:void <init>(com.android.tools.r8.graph.DexString):259:261 -> <init>
    1:1:boolean hasNext():265:265 -> a
    1:1:boolean com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1.hasNext():265:265 -> b
    1:1:int nextInt():270 -> b
    2:7:int nextInt():278:283 -> b
    8:8:boolean com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1.hasNext():265:265 -> b
    8:8:int nextInt():290 -> b
    9:9:int nextInt():291:291 -> b
    10:10:int nextInt():280:280 -> b
    11:11:int nextInt():271:271 -> b
com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2 -> com.android.tools.r8.internal.xP:
    com.android.tools.r8.ir.code.Value val$objectsValue -> c
    com.android.tools.r8.ir.code.InstructionIterator val$instructionIterator -> b
    int expectedNextIndex -> a
    1:3:void <init>(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.Value):324:326 -> <init>
    1:2:boolean hasNext():330:331 -> a
    3:4:boolean com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2.isArrayPutOfInterest(com.android.tools.r8.ir.code.Instruction):363:364 -> a
    3:4:boolean hasNext():332 -> a
    5:8:boolean hasNext():335:338 -> a
    1:15:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2.next():345:359 -> b
    1:15:java.lang.Object next():324 -> b
    16:16:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2.next():355:355 -> b
    16:16:java.lang.Object next():324 -> b
    17:17:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2.next():346:346 -> b
    17:17:java.lang.Object next():324 -> b
com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$InvalidRawMessageInfoException -> com.android.tools.r8.internal.yP:
    1:1:void <init>():369:369 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1):369:369 -> <init>
com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder -> com.android.tools.r8.internal.AP:
    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
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    2:2:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):29 -> a
    3:45:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):30:72 -> a
    46:46:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    46:46:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    46:46:int com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.countBytes(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):120 -> a
    46:46:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):81 -> a
    46:46:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
    47:54:int com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.countBytes(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):121:128 -> a
    47:54:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):81 -> a
    47:54:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
    55:55:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):81:81 -> a
    55:55:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
    56:56:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    56:56:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    56:56:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):84 -> a
    56:56:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
    57:68:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):85:96 -> a
    57:68: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.internal.xe:
    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
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toString():37:37 -> toString
    78:78:java.lang.String toString():37:37 -> toString
    79:79:java.lang.String toString():37:37 -> toString
    38:38:java.lang.String toString():37:37 -> toString
    39:39:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toString():37:37 -> toString
    78:78:java.lang.String toString():37:37 -> toString
    79:79:java.lang.String toString():37:37 -> toString
    76:76:java.lang.String toString():37:37 -> toString
com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject -> com.android.tools.r8.internal.eC:
    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:2:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34:35 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    3:3:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo.defaultForConstString(com.android.tools.r8.utils.InternalOptions):125 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35 -> a
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4:4:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo.defaultForConstString(com.android.tools.r8.utils.InternalOptions):125 -> a
    4:4:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35 -> a
    5:8:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):36:39 -> a
    1:1:com.android.tools.r8.graph.DexField getField():28:28 -> g
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:java.lang.String toString():54:54 -> toString
    57:57:java.lang.String toString():54:54 -> toString
    58:58:java.lang.String toString():54:54 -> toString
    55:55:java.lang.String toString():54:54 -> toString
com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension -> com.android.tools.r8.internal.MO:
    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
    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> b
    boolean $assertionsDisabled -> k
    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
    1:1:void <clinit>():64:64 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):95:95 -> <init>
    2:30:void <init>(com.android.tools.r8.graph.AppView):72:100 -> <init>
    1:1:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    1:1:boolean lambda$markMapOrRequiredFieldsAsReachable$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):457 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    2:2:boolean lambda$markMapOrRequiredFieldsAsReachable$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):457 -> a
    3:3:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    3:3:boolean lambda$markMapOrRequiredFieldsAsReachable$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):458 -> a
    4:6:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):105:107 -> a
    7:17:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):114:124 -> a
    7:17:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    18:24:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):120:126 -> a
    18:24:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    25:25:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":29,"2":30,"3":31}}
    29:29:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):126:126 -> a
    29:29:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    30:30:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):126:126 -> a
    30:30:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    31:31:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):126:126 -> a
    31:31:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    26:26:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):126:126 -> a
    26:26:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    27:27:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":32,"2":33,"3":34,"4":35}}
    32:32:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    32:32:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    33:33:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    33:33:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    34:34:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    34:34:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    35:35:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    35:35:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    28:28:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    28:28:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    36:38:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):141:143 -> a
    39:45:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):142:148 -> a
    46:46:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):166:166 -> a
    46:46:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):148 -> a
    47:57:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):152:162 -> a
    58:66:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.createProtoMessageInfoFromDynamicMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map):167:175 -> a
    58:66:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):162 -> a
    67:79:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):180:192 -> a
    80:103:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):479:502 -> a
    80:103:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    104:104:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoObjectFromStaticGet():0:0 -> a
    104:104:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):502 -> a
    104:104:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    105:105:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):504:504 -> a
    105:105:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    106:106:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):503:503 -> a
    106:106:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    107:107:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoTypeObject():0:0 -> a
    107:107:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):505 -> a
    107:107:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    108:108:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):507:507 -> a
    108:108:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    109:109:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):506:506 -> a
    109:109:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    110:110:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):196:196 -> a
    111:127:void lambda$populateExtensionGraph$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,java.util.Set):228:244 -> a
    128:128:java.util.Set lambda$collectExtensionFields$1(com.android.tools.r8.graph.DexProgramClass):268:268 -> a
    129:130:void lambda$collectExtensionFields$2(java.util.Map,com.android.tools.r8.graph.ProgramField):268:269 -> a
    131:147:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):277:293 -> a
    148:148:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    148:148:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):293 -> a
    149:151:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):294:296 -> a
    152:152:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    152:152:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):297 -> a
    153:153:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):301:301 -> a
    154:163:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):298:307 -> a
    164:164:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):306:306 -> a
    165:165:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):305:305 -> a
    166:174:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):316:324 -> a
    175:175:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    175:175:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):324 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    176:176:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    176:176:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):324 -> a
    177:182:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):326:331 -> a
    183:183:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    183:183:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):331 -> a
    184:195:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):332:343 -> a
    196:196:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.isConstructor(com.android.tools.r8.graph.DexMethod):241:241 -> a
    196:196:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):343 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    197:197:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.isConstructor(com.android.tools.r8.graph.DexMethod):241:241 -> a
    197:197:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):343 -> a
    198:215:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):344:361 -> a
    216:218:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):360:362 -> a
    219:219:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):355:355 -> a
    220:249:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):374:403 -> a
    250:261:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):402:413 -> a
    262:262:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    262:262:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):413 -> a
    263:272:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):414:423 -> a
    273:273:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    273:273:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):423 -> a
    274:318:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):424:468 -> a
    319:319:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):467:467 -> a
    320:324:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):518:522 -> a
    320:324:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    325:326:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):530:531 -> a
    325:326:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    325:326:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    327:327:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    327:327:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):531 -> a
    327:327:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    327:327:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    328:335:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):532:539 -> a
    328:335:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    328:335:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    336:336:boolean com.android.tools.r8.graph.FieldResolutionResult.isSingleProgramFieldResolutionResult():0:0 -> a
    336:336:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):539 -> a
    336:336:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    336:336:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    337:359:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):540:562 -> a
    337:359:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    337:359:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    360:360:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    360:360:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):562 -> a
    360:360:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    360:360:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    361:368:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):563:570 -> a
    361:368:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    361:368:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    369:369:boolean com.android.tools.r8.graph.FieldResolutionResult.isSingleProgramFieldResolutionResult():0:0 -> a
    369:369:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):570 -> a
    369:369:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    369:369:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    370:382:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):571:583 -> a
    370:382:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    370:382:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    383:383:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):582:582 -> a
    383:383:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    383:383:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    384:384:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):577:577 -> a
    384:384:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    384:384:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    385:392:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):593:600 -> a
    393:393:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    393:393:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):601 -> a
    394:406:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):601:613 -> a
    407:413:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):624:630 -> a
    414:440:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):629:655 -> a
    441:461:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):664:684 -> a
    462:470:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.createProtoMessageInfoFromDynamicMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map):167:175 -> a
    462:470:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):684 -> a
    471:471:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):686:686 -> a
    1:25:void populateExtensionGraph(com.android.tools.r8.shaking.Enqueuer):225:249 -> b
    26:26:java.util.Set lambda$populateExtensionGraphWithExtensionFieldDefinition$3(com.android.tools.r8.graph.DexType):361:361 -> b
    1:7:java.util.Map collectExtensionFields():257:263 -> c
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo -> com.android.tools.r8.internal.PO:
    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
    1:1:void <clinit>():16:16 -> <clinit>
    1:5:void <init>(int,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType,java.util.OptionalInt,java.util.List):35:39 -> <init>
    1:1:int getAuxData():47:47 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasAuxData():43:43 -> a
    2:2:int getAuxData():47 -> a
    3:4:int getAuxData():47:48 -> a
    5:5:void setAuxData(int):52:52 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasAuxData():43:43 -> a
    6:6:void setAuxData(int):52 -> a
    7:8:void setAuxData(int):52:53 -> a
    9:9:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):77:77 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    10:10:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):77 -> a
    11:11:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):78:78 -> a
    12:12:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType.getActualFieldType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):30:30 -> a
    12:12:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType.getActualFieldType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):30:30 -> a
    13:13:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):78 -> a
    14:16:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):79:81 -> a
    17:17:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoTypeObject():0:0 -> a
    17:17:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):81 -> a
    18:30:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):81:93 -> a
    31:31:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoTypeObject():0:0 -> a
    31:31:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):93 -> a
    32:33:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):93:94 -> a
    34:35:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):87:88 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    36:36:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):88 -> a
    37:38:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):88:89 -> a
    39:39:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):126:126 -> a
    40:40:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasHazzerBitField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):121:121 -> a
    40:40:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):126 -> a
    41:47:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):126:132 -> a
    48:48:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    48:48:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):132 -> a
    49:53:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):132:136 -> a
    54:54:int getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):140:140 -> a
    55:55:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasHazzerBitField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):121:121 -> a
    55:55:int getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):140 -> a
    56:57:int getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):140:141 -> a
    1:1:int getNumber():57:57 -> b
    2:2:boolean hasHazzerBitField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):121:121 -> b
    3:3:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):172:172 -> b
    4:4:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> b
    4:4:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):172 -> b
    5:7:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):172:174 -> b
    8:8:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> b
    8:8:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):174 -> b
    9:13:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):174:178 -> b
    1:1:java.util.List getObjects():61:61 -> c
    2:2:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):190:190 -> c
    3:3:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> c
    3:3:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):190 -> c
    4:6:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):191:193 -> c
    7:7:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> c
    7:7:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):193 -> c
    8:12:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):193:197 -> c
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType getType():65:65 -> d
    1:1:boolean hasAuxData():43:43 -> e
    1:15:java.lang.String toString():202:216 -> toString
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject -> com.android.tools.r8.internal.QO:
    1:1:void <init>():7:7 -> <init>
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject asProtoFieldObject() -> b
    boolean isProtoFieldObject() -> f
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType -> com.android.tools.r8.internal.RO:
    boolean isMapFieldWithProto2EnumValue -> e
    boolean hasHasBit -> f
    boolean $assertionsDisabled -> g
    boolean isRequired -> b
    boolean enforceUtf8Mask -> c
    int id -> a
    boolean needsIsInitializedCheck -> d
    1:1:void <clinit>():12:12 -> <clinit>
    1:8:void <init>(int,boolean,boolean,boolean,boolean,boolean):43:50 -> <init>
    com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType asOneOf() -> a
    1:1:boolean hasAuxData(boolean):75:75 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.hasHasBit():82:82 -> a
    2:2:boolean hasAuxData(boolean):76 -> a
    3:12:int numberOfObjects(boolean,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):143:152 -> a
    13:13:int numberOfObjects(boolean,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):150:150 -> a
    1:1:int id():86:86 -> b
    1:1:boolean isGroup():90:90 -> c
    1:1:boolean isGroupList():94:94 -> d
    1:1:boolean isMap():98:98 -> e
    1:1:boolean isMessage():106:106 -> f
    1:1:boolean isMessageList():110:110 -> g
    1:1:boolean isRepeated():122:122 -> h
    1:1:boolean isRequired():126:126 -> i
    1:1:boolean isSingular():130:130 -> j
    1:1:boolean isValid():134:134 -> k
    1:1:boolean needsIsInitializedCheck():139:139 -> l
    1:14:int serialize():159:172 -> m
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory -> com.android.tools.r8.internal.SO:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap fieldTypes -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():10:10 -> <clinit>
    1:3:void <init>():10:12 -> <init>
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):15:15 -> a
    2:16:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.fromFieldIdWithExtraBits(int):56:70 -> a
    2:16:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):17 -> a
    17:18:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):18:19 -> a
com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo -> com.android.tools.r8.internal.WO:
    java.util.LinkedList hasBitsObjects -> d
    java.util.LinkedList oneOfObjects -> e
    int flags -> b
    com.android.tools.r8.graph.ProgramMethod dynamicMethod -> a
    java.util.LinkedList fields -> c
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,int,java.util.LinkedList,java.util.LinkedList,java.util.LinkedList,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1):19:19 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.ProgramMethod,int,java.util.LinkedList,java.util.LinkedList,java.util.LinkedList):196:201 -> <init>
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$Builder builder(com.android.tools.r8.graph.ProgramMethod):205:205 -> a
    2:2:com.android.tools.r8.graph.ProgramMethod getDynamicMethod():213:213 -> a
    1:1:java.util.List getFields():217:217 -> b
    1:1:int getFlags():221:221 -> c
    1:1:java.util.List getHasBitsObjects():225:225 -> d
    1:1:java.util.List getOneOfObjects():229:229 -> e
    1:1:com.android.tools.r8.graph.DexType getType():233:233 -> f
    1:1:boolean hasFields():237:237 -> g
    1:1:boolean isProto2():209:209 -> h
    1:1:int numberOfFields():241:241 -> i
    1:1:int numberOfHasBitsObjects():245:245 -> j
    1:1:int numberOfOneOfObjects():249:249 -> k
    1:9:java.lang.String toString():254:262 -> toString
com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$Builder -> com.android.tools.r8.internal.UO:
    java.util.LinkedList hasBitsObjects -> d
    java.util.LinkedList oneOfObjects -> e
    boolean $assertionsDisabled -> f
    int flags -> b
    com.android.tools.r8.graph.ProgramMethod dynamicMethod -> a
    java.util.LinkedList fields -> 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>
    1:1:void setFlags(int):38:38 -> a
    2:5:void addField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):42:45 -> a
    6:9:void addHasBitsObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject):49:52 -> a
    10:13:void addOneOfObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject):56:59 -> a
    14:16:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo build():63:65 -> a
    17:17:boolean lambda$removeUnusedSharedData$1(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair):131:131 -> a
    1:10:void removeDeadFields():69:78 -> b
    11:11:boolean lambda$removeDeadFields$0(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):73:73 -> b
    12:12:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> b
    12:12:boolean lambda$removeDeadFields$0(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):73 -> b
    13:15:boolean lambda$removeDeadFields$0(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):74:76 -> b
    16:16:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isDeadProtoFieldObject():0:0 -> b
    16:16:boolean lambda$removeDeadFields$0(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):76 -> b
    1:8:void removeUnusedSharedData():83:90 -> c
    9:9:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> c
    9:9:void removeUnusedSharedData():90 -> c
    10:10:void removeUnusedSharedData():91:91 -> c
    11:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> c
    11:11:void removeUnusedSharedData():91 -> c
    12:14:void removeUnusedSharedData():92:94 -> c
    15:15:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> c
    15:15:void removeUnusedSharedData():94 -> c
    16:26:void removeUnusedSharedData():95:105 -> c
    27:27:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> c
    27:27:void removeUnusedSharedData():105 -> c
    28:51:void removeUnusedSharedData():106:129 -> c
    52:77:void removeUnusedSharedData():128:153 -> c
    78:78:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isDeadProtoFieldObject():0:0 -> c
    78:78:void removeUnusedSharedData():153 -> c
    79:89:void removeUnusedSharedData():154:164 -> c
    90:90:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> c
    90:90:void removeUnusedSharedData():164 -> c
    91:98:void removeUnusedSharedData():165:172 -> c
    99:99:void removeUnusedSharedData():171:171 -> c
    100:101:void removeUnusedSharedData():84:85 -> c
com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$ProtoMessageInfoBuilderException -> com.android.tools.r8.internal.VO:
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1):180:180 -> <init>
    2:2:void <init>():181:181 -> <init>
com.android.tools.r8.ir.analysis.proto.schema.ProtoObject -> com.android.tools.r8.internal.cP:
    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
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject asProtoFieldObject() -> b
    com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet asProtoObjectFromStaticGet() -> c
    com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject asProtoTypeObject() -> d
    boolean isDeadProtoFieldObject() -> e
    boolean isProtoFieldObject() -> f
com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromInvokeStatic -> com.android.tools.r8.internal.dP:
    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:6:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):28:30 -> a
com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet -> com.android.tools.r8.internal.eP:
    com.android.tools.r8.graph.DexField field -> a
    1:2:void <init>(com.android.tools.r8.graph.DexField):20:21 -> <init>
    1:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):30:32 -> a
    com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet asProtoObjectFromStaticGet() -> c
    1:1:com.android.tools.r8.graph.DexField getField():25:25 -> g
com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType -> com.android.tools.r8.internal.fP:
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,boolean,boolean,boolean,boolean,boolean):20:20 -> <init>
    com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType asOneOf() -> a
    boolean hasAuxData(boolean) -> a
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType.getActualFieldType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):30:30 -> a
    1:1:int numberOfObjects(boolean,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):66 -> a
    2:7:int numberOfObjects(boolean,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):67:72 -> a
    boolean isRepeated() -> h
    boolean isSingular() -> j
    1:1:boolean isValid():60:60 -> k
com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair -> com.android.tools.r8.internal.gP:
    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>
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject getOneOfCaseObject():25:25 -> a
    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.internal.oP:
    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: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):1208:1209 -> a
    2: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:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> 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):1209 -> 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
    1:1:com.android.tools.r8.graph.DexType getType():21:21 -> g
com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis -> com.android.tools.r8.internal.ca:
    1:13:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):43:55 -> a
    14:14:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):629:629 -> a
    14:14:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56 -> a
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> a
    15:15:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):63 -> a
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    16:16:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):64 -> a
    17:47:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):65:95 -> a
    48:91:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):66:109 -> a
com.android.tools.r8.ir.analysis.type.ArrayTypeElement -> com.android.tools.r8.internal.p3:
    com.android.tools.r8.ir.analysis.type.NullabilityVariants variants -> g
    boolean $assertionsDisabled -> h
    com.android.tools.r8.ir.analysis.type.TypeElement memberTypeLattice -> f
    1:1:void <clinit>():16:16 -> <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):32:35 -> <init>
    1:3:com.android.tools.r8.ir.analysis.type.TypeElement getBaseType():74:76 -> I
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getMemberType():66:66 -> J
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70:70 -> K
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> K
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():388 -> K
    2:2:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70 -> K
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> K
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():389 -> K
    3:3:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70 -> K
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> K
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():390 -> K
    4:4:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70 -> K
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> K
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():391 -> K
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70 -> K
    6:6:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70:70 -> K
    1:4:int getNesting():52:55 -> L
    com.android.tools.r8.ir.analysis.type.ArrayTypeElement asArrayType() -> a
    1:1:com.android.tools.r8.ir.analysis.type.ArrayTypeElement create(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):24:24 -> a
    2:2:com.android.tools.r8.ir.analysis.type.ArrayTypeElement lambda$create$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):25:25 -> a
    3:4:com.android.tools.r8.ir.analysis.type.ArrayTypeElement createVariant(com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):83:84 -> a
    5:9:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):89:93 -> a
    10:10:boolean isBasedOnMissingClass(com.android.tools.r8.graph.AppView):98:98 -> a
    11:15:com.android.tools.r8.ir.analysis.type.ArrayTypeElement com.android.tools.r8.ir.analysis.type.ArrayTypeElement.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set):141:145 -> a
    11:15:com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set):16 -> a
    16:27:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement join(com.android.tools.r8.ir.analysis.type.ArrayTypeElement,com.android.tools.r8.graph.AppView):152:163 -> a
    28:38:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):170:180 -> a
    39:50:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):176:187 -> a
    51:53:com.android.tools.r8.ir.analysis.type.ArrayTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.objectArrayType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):429:431 -> a
    51:53:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):190 -> a
    54:56:com.android.tools.r8.ir.analysis.type.ArrayTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.objectArrayType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):430:432 -> a
    54:56:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):190 -> a
    57:57:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.objectClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):425:425 -> a
    57:57:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):188 -> a
    1:9:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):39:47 -> b
    1:8:boolean equals(java.lang.Object):121:128 -> equals
    1:1:int hashCode():133:133 -> hashCode
    boolean isArrayType() -> r
    1:1:java.lang.String toString():113:113 -> toString
com.android.tools.r8.ir.analysis.type.BooleanTypeElement -> com.android.tools.r8.internal.B5:
    com.android.tools.r8.ir.analysis.type.BooleanTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.BooleanTypeElement getInstance():11:11 -> F
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.BottomTypeElement -> com.android.tools.r8.internal.O5:
    com.android.tools.r8.ir.analysis.type.BottomTypeElement INSTANCE -> c
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability nullability():11:11 -> C
    1:1:com.android.tools.r8.ir.analysis.type.BottomTypeElement getInstance():15:15 -> E
    1:1:int hashCode():35:35 -> hashCode
    1:1:java.lang.String toString():25:25 -> toString
com.android.tools.r8.ir.analysis.type.ByteTypeElement -> com.android.tools.r8.internal.e6:
    com.android.tools.r8.ir.analysis.type.ByteTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ByteTypeElement getInstance():11:11 -> F
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.CharTypeElement -> com.android.tools.r8.internal.i9:
    com.android.tools.r8.ir.analysis.type.CharTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.CharTypeElement getInstance():11:11 -> F
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.ClassTypeElement -> com.android.tools.r8.internal.Va:
    com.android.tools.r8.graph.DexType type -> i
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.AppView appView -> g
    com.android.tools.r8.ir.analysis.type.InterfaceCollection lazyInterfaces -> f
    com.android.tools.r8.ir.analysis.type.NullabilityVariants variants -> h
    1:1:void <clinit>():31:31 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.NullabilityVariants,com.android.tools.r8.graph.AppView):79:82 -> <init>
    5:12:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.NullabilityVariants,com.android.tools.r8.graph.AppView):80:87 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.asMeetWithNotNull():145:145 -> G
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement asMeetWithNotNull():31 -> G
    1:1:com.android.tools.r8.graph.DexType getClassType():91:91 -> I
    1:7:com.android.tools.r8.ir.analysis.type.InterfaceCollection getInterfaces():95:101 -> J
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):31:31 -> a
    2:5:com.android.tools.r8.ir.analysis.type.ClassTypeElement create(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection):46:49 -> a
    6:6:com.android.tools.r8.ir.analysis.type.ClassTypeElement lambda$create$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.NullabilityVariants):51:51 -> a
    7:7:com.android.tools.r8.ir.analysis.type.ClassTypeElement lambda$create$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.NullabilityVariants):62:62 -> a
    8:8:com.android.tools.r8.ir.analysis.type.ClassTypeElement createForD8(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):66:66 -> a
    9:10:com.android.tools.r8.ir.analysis.type.ClassTypeElement lambda$createForD8$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):69:70 -> a
    11:12:com.android.tools.r8.ir.analysis.type.ClassTypeElement createVariant(com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):108:109 -> a
    13:15:boolean isBasedOnMissingClass(com.android.tools.r8.graph.AppView):123:125 -> a
    16:16:boolean lambda$isBasedOnMissingClass$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.lang.Boolean):125:125 -> a
    17:18:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):182:183 -> a
    19:19:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":204,"2":205,"3":206}}
    204:204:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):184:184 -> a
    205:205:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):184:184 -> a
    206:206:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):184:184 -> a
    203:203:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):184:184 -> a
    207:264:com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set):201:258 -> a
    265:265:com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set):212:212 -> a
    266:276:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):222:232 -> a
    277:277:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":518,"2":519,"3":520}}
    518:518:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):232:232 -> a
    519:519:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):232:232 -> a
    520:520:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):232:232 -> a
    511:511:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):234:234 -> a
    512:512:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    512:512:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):234 -> a
    513:517:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):234:238 -> a
    521:523:void lambda$fixupClassTypeReferences$6(java.util.function.Function,com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder,com.android.tools.r8.graph.DexType,java.lang.Boolean):251:253 -> a
    524:533:com.android.tools.r8.ir.analysis.type.ClassTypeElement join(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.AppView):262:271 -> a
    534:534:com.android.tools.r8.ir.analysis.type.ClassTypeElement join(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.AppView):267:267 -> a
    535:559:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinWithClassHierarchy(com.android.tools.r8.ir.analysis.type.ClassTypeElement):277:301 -> a
    535:559:com.android.tools.r8.ir.analysis.type.ClassTypeElement join(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.AppView):273 -> a
    560:560:com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.createUnmarked():341:341 -> a
    560:560:com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker lambda$computeLeastUpperBoundOfInterfaces$9(com.android.tools.r8.graph.DexType):468 -> a
    561:590:com.android.tools.r8.graph.DexType computeLeastUpperBoundOfClasses(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):402:431 -> a
    591:595:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):443:447 -> a
    596:596:java.lang.Object com.android.tools.r8.utils.LRUCacheTable.get(java.lang.Object,java.lang.Object):55:55 -> a
    596:596:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):447 -> a
    597:601:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):447:451 -> a
    602:602:java.lang.Object com.android.tools.r8.utils.LRUCacheTable.get(java.lang.Object,java.lang.Object):55:55 -> a
    602:602:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):451 -> a
    603:661:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):451:509 -> a
    662:662:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):444:444 -> a
    663:663:void lambda$computeLeastUpperBoundOfInterfaces$7(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):459:459 -> a
    664:664:com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.forLeft(boolean):333:333 -> a
    664:664:void lambda$computeLeastUpperBoundOfInterfaces$7(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):459 -> a
    665:665:void lambda$computeLeastUpperBoundOfInterfaces$7(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):459:459 -> a
    666:667:void lambda$computeLeastUpperBoundOfInterfaces$10(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):484:485 -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement asClassType() -> b
    1:3:com.android.tools.r8.ir.analysis.type.ClassTypeElement create(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):58:60 -> b
    4:8:com.android.tools.r8.ir.analysis.type.ClassTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):114:118 -> b
    9:15:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):159:165 -> b
    16:16:void lambda$computeLeastUpperBoundOfInterfaces$8(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):462:462 -> b
    17:17:com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.forRight(boolean):337:337 -> b
    17:17:void lambda$computeLeastUpperBoundOfInterfaces$8(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):462 -> b
    18:18:void lambda$computeLeastUpperBoundOfInterfaces$8(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):462:462 -> b
    1:11:boolean equals(java.lang.Object):519:529 -> equals
    1:1:int hashCode():193:193 -> hashCode
    boolean isClassType() -> s
    1:16:java.lang.String toString():170:185 -> toString
    17:26:java.lang.String toString():178:187 -> toString
com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker -> com.android.tools.r8.internal.Ta:
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker LEFT_KNOWN -> c
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker RIGHT_UNKNOWN -> f
    com.android.tools.r8.utils.OptionalBool left -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker RIGHT_KNOWN -> e
    com.android.tools.r8.utils.OptionalBool right -> b
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker LEFT_UNKNOWN -> d
    boolean $assertionsDisabled -> g
    1:17:void <clinit>():313:329 -> <clinit>
    1:4:void <init>(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.utils.OptionalBool):344:347 -> <init>
    1:1:boolean isMarkedOnBothSides():355:355 -> a
    2:2:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):369:369 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.isMarked():351:351 -> a
    3:3:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):369 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.isMarked():351:351 -> a
    4:4:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):369 -> a
    5:9:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):369:373 -> a
    10:11:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.knownIfAnyIsKnown(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.utils.OptionalBool):359:360 -> a
    10:11:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):373 -> a
    12:17:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):373:378 -> a
    18:19:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.knownIfAnyIsKnown(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.utils.OptionalBool):359:360 -> a
    18:19:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):378 -> a
    20:22:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):378:380 -> a
    1:2:boolean knownIfBothAreKnown():364:365 -> b
com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceWithMarker -> com.android.tools.r8.internal.Ua:
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker marker -> b
    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):389:391 -> <init>
com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater -> com.android.tools.r8.internal.kf:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    java.util.function.Function mapping -> b
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):31:31 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Function):35:37 -> <init>
    1:1:com.android.tools.r8.graph.DexType lambda$new$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):31:31 -> a
    2:12:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):44:54 -> a
    13:18:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllChangedPhisAreScheduled(com.android.tools.r8.ir.code.IRCode,java.util.Set):100:105 -> a
    13:18:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):54 -> a
    19:19:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function):77:77 -> a
    19:19:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllChangedPhisAreScheduled(com.android.tools.r8.ir.code.IRCode,java.util.Set):105 -> a
    19:19:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):54 -> a
    20:20:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllChangedPhisAreScheduled(com.android.tools.r8.ir.code.IRCode,java.util.Set):106:106 -> a
    20:20:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):54 -> a
    21:21:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57:57 -> a
    22:27:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):82:87 -> a
    22:27:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    28:28:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    28:28:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):87 -> a
    28:28:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    29:31:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):87:89 -> a
    29:31:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    32:32:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    32:32:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):90 -> a
    32:32:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    33:33:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):91:91 -> a
    33:33:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    34:34:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function):77:77 -> a
    34:34:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):92 -> a
    34:34:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    35:35:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):88:88 -> a
    35:35:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    36:42:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):59:65 -> a
    43:43:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    43:43:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):65 -> a
    44:51:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):65:72 -> a
    52:52:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    52:52:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):72 -> a
    53:58:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):72:77 -> a
    59:59:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    59:59:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):77 -> a
    60:60:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):77:77 -> a
com.android.tools.r8.ir.analysis.type.DoubleTypeElement -> com.android.tools.r8.internal.rh:
    com.android.tools.r8.ir.analysis.type.DoubleTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.DoubleTypeElement getInstance():11:11 -> F
    1:1:int hashCode():26:26 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.DynamicType -> com.android.tools.r8.internal.zh:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():22:22 -> <init>
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound asDynamicTypeWithUpperBound() -> a
    com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.ir.analysis.type.TypeElement) -> a
    com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set) -> a
    1:9:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):27:35 -> a
    10:10:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):42:42 -> a
    11:11:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    11:11:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):42 -> a
    12:12:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.bottom():79:79 -> a
    12:12:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):43 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    13:13:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):45 -> a
    14:14:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNull():83:83 -> a
    14:14:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):46 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    15:15:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):48 -> a
    16:16:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    16:16:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):49 -> a
    17:19:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):52:54 -> a
    20:20:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.createExact(com.android.tools.r8.ir.analysis.type.ClassTypeElement):65:65 -> a
    20:20:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):55 -> a
    21:21:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):58:58 -> a
    22:25:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):57:60 -> a
    26:29:boolean com.android.tools.r8.ir.analysis.type.DynamicType.verifyNotEffectivelyFinalClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):192:195 -> a
    26:29:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):60 -> a
    30:30:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):61:61 -> a
    31:31:com.android.tools.r8.ir.analysis.type.ExactDynamicType createExact(com.android.tools.r8.ir.analysis.type.ClassTypeElement):65:65 -> a
    32:36:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):70:74 -> a
    37:39:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):73:75 -> a
    40:40:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.bottom():79:79 -> a
    40:40:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,java.lang.Iterable):96 -> a
    41:42:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,java.lang.Iterable):97:98 -> a
    43:60:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):159:176 -> a
    61:61:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):169:169 -> a
    62:62:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87:87 -> a
    62:62:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):172 -> a
    63:63:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    63:63:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):170 -> a
    64:64:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    64:64:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):166 -> a
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound bottom():79:79 -> b
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound definitelyNull():83:83 -> c
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getExactClassType() -> d
    com.android.tools.r8.ir.analysis.type.Nullability getNullability() -> e
    boolean hasDynamicLowerBoundType() -> f
    boolean isBottom() -> g
    boolean isDynamicTypeWithUpperBound() -> h
    1:1:boolean isExactClassType():143:143 -> i
    boolean isNotNullType() -> j
    boolean isNullType() -> k
    boolean isUnknown() -> l
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound unknown():91:91 -> m
com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound -> com.android.tools.r8.internal.Bh:
    com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> h
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():11:11 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):17:20 -> <init>
    1:7:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):27:33 -> a
    8:8:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):32:32 -> a
    9:13:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):30:34 -> a
    14:14:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> a
    14:14:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):69 -> a
    14:14:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    15:18:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):69:72 -> a
    15:18:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    19:19:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> a
    19:19:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):73 -> a
    19:19:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    20:20:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    20:20:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    21:21:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicLowerBoundType():49:49 -> a
    21:21:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):74 -> a
    21:21:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    22:22:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):74:74 -> a
    22:22:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    1:4:boolean equals(java.lang.Object):54:57 -> equals
    5:6:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> equals
    5:6:boolean equals(java.lang.Object):58 -> equals
    7:7:boolean equals(java.lang.Object):58:58 -> equals
    8:9:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicLowerBoundType():49:49 -> equals
    8:9:boolean equals(java.lang.Object):59 -> equals
    10:10:boolean equals(java.lang.Object):59:59 -> equals
    1:1:int hashCode():64:64 -> hashCode
    2:2:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> hashCode
    2:2:int hashCode():64 -> hashCode
    3:3:int hashCode():64:64 -> hashCode
    4:4:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicLowerBoundType():49:49 -> hashCode
    4:4:int hashCode():64 -> hashCode
    5:5:int hashCode():64:64 -> hashCode
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType():49:49 -> n
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> o
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():11 -> o
com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound -> com.android.tools.r8.internal.Ch:
    com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> c
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound NULL_TYPE -> e
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound BOTTOM -> d
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound UNKNOWN -> f
    1:8:void <clinit>():23:30 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement):34:36 -> <init>
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound asDynamicTypeWithUpperBound() -> a
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):52:52 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):52 -> a
    3:3:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.bottom():79:79 -> a
    3:3:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):53 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):55 -> a
    5:5:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNull():83:83 -> a
    5:5:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):56 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):58 -> a
    7:7:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    7:7:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):59 -> a
    8:10:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):62:64 -> a
    11:11:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.createExact(com.android.tools.r8.ir.analysis.type.ClassTypeElement):65:65 -> a
    11:11:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):65 -> a
    12:12:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):68:68 -> a
    13:16:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):67:70 -> a
    17:20:boolean com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.verifyNotEffectivelyFinalClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):271:274 -> a
    17:20:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):70 -> a
    21:21:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):71:71 -> a
    22:25:boolean com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):85:88 -> a
    22:25:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):42 -> a
    22:25:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):225 -> a
    26:28:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):43:45 -> a
    26:28:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):225 -> a
    29:29:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):226:226 -> a
    30:30:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.ir.analysis.type.TypeElement):100:100 -> a
    31:31:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):163:163 -> a
    32:35:boolean com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):85:88 -> a
    32:35:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):165 -> a
    36:36:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):166:166 -> a
    37:39:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):177:179 -> a
    37:39:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    40:40:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    40:40:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):179 -> a
    40:40:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    41:41:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    41:41:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):179 -> a
    41:41:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    42:44:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):183:185 -> a
    42:44:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    45:45:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    45:45:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):185 -> a
    45:45:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    46:46:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    46:46:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):185 -> a
    46:46:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    47:53:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):189:195 -> a
    47:53:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    54:54:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    54:54:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):195 -> a
    54:54:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    55:56:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):197:198 -> a
    55:56:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    57:57:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    57:57:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):198 -> a
    57:57:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    58:62:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):168:172 -> a
    63:77:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):206:220 -> a
    78:81:boolean com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):85:88 -> a
    78:81:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):42 -> a
    78:81:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):221 -> a
    82:84:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):43:45 -> a
    82:84:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):221 -> a
    85:107:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.graph.AppView):230:252 -> a
    108:118:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):281:291 -> a
    1:3:com.android.tools.r8.ir.analysis.type.ClassTypeElement getExactClassType():124:126 -> d
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():132:132 -> e
    1:5:boolean equals(java.lang.Object):257:261 -> equals
    boolean hasDynamicLowerBoundType() -> f
    1:1:boolean isBottom():137:137 -> g
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> g
    2:2:boolean isBottom():137 -> g
    boolean isDynamicTypeWithUpperBound() -> h
    1:1:int hashCode():266:266 -> hashCode
    1:1:boolean isExactClassType():119:119 -> i
    1:1:boolean isNullType():152:152 -> k
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> k
    2:2:boolean isNullType():152 -> k
    1:1:boolean isUnknown():157:157 -> l
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> l
    2:2:boolean isUnknown():157 -> l
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType() -> n
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():104:104 -> o
com.android.tools.r8.ir.analysis.type.ExactDynamicType -> com.android.tools.r8.internal.Zi:
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.type.ClassTypeElement):16:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> a
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):48 -> a
    2:5:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):48:51 -> a
    6:6:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    6:6:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):52 -> a
    7:10:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.ExactDynamicType.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):57:60 -> a
    7:10:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):13 -> a
    11:11:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> a
    11:11:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.ExactDynamicType.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):60 -> a
    11:11:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):13 -> a
    12:12:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.ExactDynamicType.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):60:60 -> a
    12:12:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):13 -> a
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement getExactClassType():31:31 -> d
    1:4:boolean equals(java.lang.Object):65:68 -> equals
    5:6:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> equals
    5:6:boolean equals(java.lang.Object):69 -> equals
    7:7:boolean equals(java.lang.Object):69:69 -> equals
    boolean hasDynamicLowerBoundType() -> f
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> hashCode
    1:1:int hashCode():74 -> hashCode
    2:2:int hashCode():74:74 -> hashCode
    boolean isExactClassType() -> i
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> n
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType():26 -> n
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> o
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getDynamicUpperBoundType():21 -> o
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():13 -> o
com.android.tools.r8.ir.analysis.type.FloatTypeElement -> com.android.tools.r8.internal.Ek:
    com.android.tools.r8.ir.analysis.type.FloatTypeElement INSTANCE -> e
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.FloatTypeElement getInstance():10:10 -> F
    1:1:int hashCode():25:25 -> hashCode
    1:1:java.lang.String toString():20:20 -> toString
com.android.tools.r8.ir.analysis.type.IntTypeElement -> com.android.tools.r8.internal.xt:
    com.android.tools.r8.ir.analysis.type.IntTypeElement INSTANCE -> e
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.IntTypeElement getInstance():10:10 -> F
    1:1:int hashCode():25:25 -> hashCode
    1:1:java.lang.String toString():20:20 -> toString
com.android.tools.r8.ir.analysis.type.InterfaceCollection -> com.android.tools.r8.internal.yt:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap interfaces -> a
    com.android.tools.r8.ir.analysis.type.InterfaceCollection EMPTY -> b
    boolean $assertionsDisabled -> c
    1:47:void <clinit>():20:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap,com.android.tools.r8.ir.analysis.type.InterfaceCollection$1):20:20 -> <init>
    2:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap):90:92 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder builder():77:77 -> a
    2:2:void forEach(java.util.function.BiConsumer):121:121 -> a
    3:4:boolean anyMatch(java.util.function.BiPredicate):125:126 -> a
    5:5:void lambda$getInterfaceList$0(java.util.List,com.android.tools.r8.graph.DexType,java.lang.Boolean):135:135 -> a
    6:6:com.android.tools.r8.utils.OptionalBool contains(com.android.tools.r8.graph.DexType):153:153 -> a
    7:7:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction.get(java.lang.Object):108:108 -> a
    7:7:com.android.tools.r8.utils.OptionalBool contains(com.android.tools.r8.graph.DexType):153 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction.get(java.lang.Object):108:108 -> a
    8:8:com.android.tools.r8.utils.OptionalBool contains(com.android.tools.r8.graph.DexType):153 -> a
    9:11:com.android.tools.r8.utils.OptionalBool contains(com.android.tools.r8.graph.DexType):155:157 -> a
    1:1:com.android.tools.r8.ir.analysis.type.InterfaceCollection empty():69:69 -> b
    2:2:boolean containsKnownInterface(com.android.tools.r8.graph.DexType):161:161 -> b
    1:1:com.android.tools.r8.ir.analysis.type.InterfaceCollection singleton(com.android.tools.r8.graph.DexType):73:73 -> c
    2:3:java.util.List getInterfaceList():134:135 -> c
    1:5:com.android.tools.r8.graph.DexType getSingleKnownInterface():145:149 -> d
    1:1:boolean hasSingleKnownInterface():140:140 -> e
    1:5:boolean equals(java.lang.Object):108:112 -> equals
    1:1:boolean isEmpty():96:96 -> f
    1:1:int size():100:100 -> g
    1:1:int hashCode():117:117 -> hashCode
com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder -> com.android.tools.r8.internal.yt$a:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap interfaces -> a
    1:1:void <init>(com.android.tools.r8.ir.analysis.type.InterfaceCollection$1):32:32 -> <init>
    2:2:void <init>():35:35 -> <init>
    3:3:void <init>():33:33 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder addInterface(com.android.tools.r8.graph.DexType,boolean):49:49 -> a
    2:2:java.lang.Boolean lambda$addInterface$0(boolean,com.android.tools.r8.graph.DexType,java.lang.Boolean):53:53 -> a
    3:6:com.android.tools.r8.ir.analysis.type.InterfaceCollection build():58:61 -> a
com.android.tools.r8.ir.analysis.type.LongTypeElement -> com.android.tools.r8.internal.SC:
    com.android.tools.r8.ir.analysis.type.LongTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.LongTypeElement getInstance():11:11 -> F
    1:1:int hashCode():26:26 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.NotNullDynamicType -> com.android.tools.r8.internal.xH:
    com.android.tools.r8.ir.analysis.type.NotNullDynamicType INSTANCE -> c
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():21:23 -> <clinit>
    1:1:void <init>():25:25 -> <init>
    com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set) -> a
    1:2:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement com.android.tools.r8.ir.analysis.type.NotNullDynamicType.getDynamicUpperBoundType(com.android.tools.r8.ir.analysis.type.TypeElement):33:34 -> a
    1:2:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.ir.analysis.type.TypeElement):21 -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getExactClassType() -> d
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():44:44 -> e
    1:1:int hashCode():71:71 -> hashCode
    boolean isNotNullType() -> j
    1:1:com.android.tools.r8.ir.analysis.type.NotNullDynamicType get():28:28 -> n
com.android.tools.r8.ir.analysis.type.Nullability -> com.android.tools.r8.internal.DH:
    com.android.tools.r8.ir.analysis.type.Nullability DEFINITELY_NULL -> a
    com.android.tools.r8.ir.analysis.type.Nullability BOTTOM -> d
    com.android.tools.r8.ir.analysis.type.Nullability MAYBE_NULL -> c
    com.android.tools.r8.ir.analysis.type.Nullability DEFINITELY_NOT_NULL -> b
    1:4:void <clinit>():25:28 -> <clinit>
    1:1:void <init>():30:30 -> <init>
    1:10:com.android.tools.r8.ir.analysis.type.Nullability join(com.android.tools.r8.ir.analysis.type.Nullability):57:66 -> a
    11:11:com.android.tools.r8.ir.analysis.type.Nullability bottom():103:103 -> a
    1:10:com.android.tools.r8.ir.analysis.type.Nullability meet(com.android.tools.r8.ir.analysis.type.Nullability):70:79 -> b
    11:11:com.android.tools.r8.ir.analysis.type.Nullability definitelyNotNull():95:95 -> b
    1:1:com.android.tools.r8.ir.analysis.type.Nullability definitelyNull():91:91 -> c
    1:1:boolean isBottom():33:33 -> d
    1:1:boolean isDefinitelyNotNull():41:41 -> e
    1:1:boolean isDefinitelyNull():37:37 -> f
    1:1:boolean isMaybeNull():45:45 -> g
    1:1:boolean isNullable():49:49 -> h
    1:1:com.android.tools.r8.ir.analysis.type.Nullability maybeNull():99:99 -> i
    1:13:java.lang.String toString():108:120 -> toString
com.android.tools.r8.ir.analysis.type.NullabilityVariants -> com.android.tools.r8.internal.EH:
    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
    1:1:void <clinit>():10:10 -> <clinit>
    1:1:void <init>():10:10 -> <init>
    1:2:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement create(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.Function):19:20 -> a
    3:11:void com.android.tools.r8.ir.analysis.type.NullabilityVariants.set(com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.ReferenceTypeElement):26:34 -> a
    3:11:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement create(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.Function):21 -> a
    12:20:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement get(com.android.tools.r8.ir.analysis.type.Nullability):39:47 -> a
    21:31:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateElement(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.BiFunction):53:63 -> a
    32:40:void com.android.tools.r8.ir.analysis.type.NullabilityVariants.set(com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.ReferenceTypeElement):26:34 -> a
    32:40:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateElement(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.BiFunction):64 -> a
    41:42:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateElement(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.BiFunction):65:66 -> a
com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement -> com.android.tools.r8.internal.vM:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability nullability():17:17 -> C
    1:2:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):31:32 -> a
    3:3:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):108:108 -> a
    3:3:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    4:31:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):79:106 -> a
    4:31:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    32:32:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):102:102 -> a
    32:32:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    33:37:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):100:104 -> a
    33:37:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    38:52:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):84:98 -> a
    38:52:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    53:66:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):113:126 -> a
    67:67:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):124:124 -> a
    68:68:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):122:122 -> a
    69:69:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):120:120 -> a
    70:70:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):118:118 -> a
    1:1:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> b
    1:1:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):36 -> b
    2:2:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):37:37 -> b
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> b
    3:3:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):39 -> b
    4:4:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):40:40 -> b
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> b
    5:5:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):42 -> b
    6:6:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):43:43 -> b
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> b
    7:7:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):45 -> b
    8:8:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):46:46 -> b
    9:9:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> b
    9:9:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):48 -> b
    10:10:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):49:49 -> b
    11:11:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> b
    11:11:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):51 -> b
    12:12:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):52:52 -> b
    13:13:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> b
    13:13:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):54 -> b
    14:14:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):55:55 -> b
    15:15:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> b
    15:15:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):57 -> b
    16:18:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):58:60 -> b
    19:19:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
    80:80:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):60:60 -> b
    81:81:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):60:60 -> b
    82:82:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):60:60 -> b
    79:79:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):60:60 -> b
    com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement asPrimitiveType() -> c
    boolean isPrimitiveType() -> y
com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement$1 -> com.android.tools.r8.internal.uM:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():113:113 -> <clinit>
com.android.tools.r8.ir.analysis.type.ReferenceTypeElement -> com.android.tools.r8.internal.BR:
    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
    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>
    2:2:void <clinit>():57:57 -> <clinit>
    3:3:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement.createBottom():27:27 -> <clinit>
    3:3:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement.access$300():11 -> <clinit>
    3:3:void <clinit>():58 -> <clinit>
    4:4:void <clinit>():58:58 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.analysis.type.Nullability):62:63 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability nullability():68:68 -> C
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement access$000():9:9 -> E
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement access$100():9:9 -> F
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement asMeetWithNotNull():78:78 -> G
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getNullType():72:72 -> H
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability) -> a
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement asReferenceType() -> d
    1:1:boolean equals(java.lang.Object):113:113 -> equals
    1:1:int hashCode():118:118 -> hashCode
    boolean isReferenceType() -> z
com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement -> com.android.tools.r8.internal.AR:
    1:1:void <init>(com.android.tools.r8.ir.analysis.type.Nullability):14:14 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):19:19 -> a
    1:1:boolean equals(java.lang.Object):50:50 -> equals
    1:1:int hashCode():42:42 -> hashCode
    1:1:java.lang.String toString():37:37 -> toString
com.android.tools.r8.ir.analysis.type.ShortTypeElement -> com.android.tools.r8.internal.iU:
    com.android.tools.r8.ir.analysis.type.ShortTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ShortTypeElement getInstance():11:11 -> F
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement -> com.android.tools.r8.internal.LU:
    com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement INSTANCE -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    boolean isSinglePrimitive() -> A
    1:1:com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement getInstance():16:16 -> E
    1:1:int hashCode():36:36 -> hashCode
    1:1:java.lang.String toString():26:26 -> toString
com.android.tools.r8.ir.analysis.type.TopTypeElement -> com.android.tools.r8.internal.vY:
    com.android.tools.r8.ir.analysis.type.TopTypeElement INSTANCE -> c
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability nullability():11:11 -> C
    1:1:com.android.tools.r8.ir.analysis.type.TopTypeElement getInstance():15:15 -> E
    1:1:int hashCode():35:35 -> hashCode
    1:1:java.lang.String toString():25:25 -> toString
com.android.tools.r8.ir.analysis.type.TypeAnalysis -> com.android.tools.r8.internal.LZ:
    java.util.Deque worklist -> d
    com.android.tools.r8.graph.AppView appView -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.type.TypeAnalysis$Mode mode -> b
    boolean mayHaveImpreciseTypes -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,boolean):44:44 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.AppView,boolean):34:46 -> <init>
    1:2:void analyze():50:51 -> a
    3:8:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.analyzeValue(com.android.tools.r8.ir.code.Value):122:127 -> a
    3:8:void analyze():51 -> a
    9:9:void widening(java.lang.Iterable):63:63 -> a
    10:13:void narrowing(com.android.tools.r8.ir.code.IRCode):67:70 -> a
    14:16:void narrowing(java.lang.Iterable):76:78 -> a
    17:20:void analyzeValues(java.lang.Iterable,com.android.tools.r8.ir.analysis.type.TypeAnalysis$Mode):87:90 -> a
    21:23:void enqueue(com.android.tools.r8.ir.code.Value):94:96 -> a
    24:40:void analyzeBasicBlock(com.android.tools.r8.ir.code.BasicBlock):101:117 -> a
    41:50:void updateTypeOfValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.TypeElement):131:140 -> a
    51:51:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    51:51:void updateTypeOfValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.TypeElement):140 -> a
    52:68:void updateTypeOfValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.TypeElement):144:160 -> a
    69:79:com.android.tools.r8.graph.DexType toRefinedReceiverType(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):178:188 -> a
    1:4:void widening(com.android.tools.r8.ir.code.IRCode):56:59 -> b
    5:5:boolean verifyValuesUpToDate(java.lang.Iterable):82:82 -> b
com.android.tools.r8.ir.analysis.type.TypeElement -> com.android.tools.r8.internal.RZ:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    boolean isSinglePrimitive() -> A
    boolean isWidePrimitive() -> B
    com.android.tools.r8.ir.analysis.type.Nullability nullability() -> C
    1:1:int requiredRegisters():420:420 -> D
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> D
    2:2:int requiredRegisters():420 -> D
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> D
    3:3:int requiredRegisters():420 -> D
    4:4:int requiredRegisters():420:420 -> D
    com.android.tools.r8.ir.analysis.type.ArrayTypeElement asArrayType() -> a
    1:1:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    1:1:boolean equalUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement):249 -> a
    2:2:boolean equalUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement):249:249 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    3:3:boolean equalUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement):249 -> a
    4:12:boolean equalUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement):252:260 -> a
    com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set) -> a
    boolean isBasedOnMissingClass(com.android.tools.r8.graph.AppView) -> a
    13:13:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    13:13:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):125 -> a
    14:14:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):128:128 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    15:15:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):128 -> a
    16:17:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    16:17:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):131 -> a
    18:19:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):134:135 -> a
    20:20:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.join(com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement):134:134 -> a
    20:20:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    21:32:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.join(com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement):135:146 -> a
    21:32:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):135 -> a
    33:42:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):135:144 -> a
    43:43:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    43:43:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):145 -> a
    44:44:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):146:146 -> a
    45:45:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    45:45:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):148 -> a
    46:48:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):149:151 -> a
    49:49:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.objectClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):425:425 -> a
    49:49:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):152 -> a
    50:58:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):155:163 -> a
    59:59:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):132:132 -> a
    60:60:com.android.tools.r8.ir.analysis.type.TypeElement rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,java.util.Set):104:104 -> a
    61:61:com.android.tools.r8.graph.DexType lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):105:105 -> a
    62:64:com.android.tools.r8.ir.analysis.type.TypeElement join(java.lang.Iterable,com.android.tools.r8.graph.AppView):167:169 -> a
    65:65:boolean isStringType(com.android.tools.r8.graph.DexItemFactory):321:321 -> a
    66:67:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isClassType(com.android.tools.r8.graph.DexType):316:317 -> a
    66:67:boolean isStringType(com.android.tools.r8.graph.DexItemFactory):321 -> a
    68:68:com.android.tools.r8.ir.analysis.type.ClassTypeElement objectClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):425:425 -> a
    69:69:com.android.tools.r8.ir.analysis.type.TypeElement fromDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):444:444 -> a
    70:77:com.android.tools.r8.ir.analysis.type.TypeElement fromDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView,boolean):449:456 -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement asClassType() -> b
    1:1:boolean lessThanOrEqual(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):195:195 -> b
    2:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.internalLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):200:201 -> b
    2:3:boolean lessThanOrEqual(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):195 -> b
    4:4:com.android.tools.r8.ir.analysis.type.ClassTypeElement stringClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):440:440 -> b
    com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement asPrimitiveType() -> c
    1:1:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> c
    1:1:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):215 -> c
    2:2:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):216:216 -> c
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> c
    3:3:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):216 -> c
    4:4:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):218:218 -> c
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> c
    5:5:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):218 -> c
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> c
    6:6:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):221 -> c
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> c
    7:7:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):224 -> c
    8:17:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):227:236 -> c
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement asReferenceType() -> d
    1:1:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):183:183 -> d
    2:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.internalLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):200:201 -> d
    2:3:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):183 -> d
    1:1:com.android.tools.r8.ir.analysis.type.BooleanTypeElement getBoolean():32:32 -> e
    1:1:com.android.tools.r8.ir.analysis.type.BottomTypeElement getBottom():24:24 -> f
    1:1:com.android.tools.r8.ir.analysis.type.ByteTypeElement getByte():36:36 -> g
    1:1:com.android.tools.r8.ir.analysis.type.CharTypeElement getChar():44:44 -> h
    1:1:com.android.tools.r8.ir.analysis.type.DoubleTypeElement getDouble():64:64 -> i
    1:1:com.android.tools.r8.ir.analysis.type.FloatTypeElement getFloat():52:52 -> j
    1:1:com.android.tools.r8.ir.analysis.type.IntTypeElement getInt():48:48 -> k
    1:1:com.android.tools.r8.ir.analysis.type.LongTypeElement getLong():60:60 -> l
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getNull():72:72 -> m
    1:1:com.android.tools.r8.ir.analysis.type.ShortTypeElement getShort():40:40 -> n
    1:1:com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement getSingle():56:56 -> o
    1:1:com.android.tools.r8.ir.analysis.type.TopTypeElement getTop():28:28 -> p
    1:1:com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement getWide():68:68 -> q
    boolean isArrayType() -> r
    boolean isClassType() -> s
    1:1:boolean isDefinitelyNotNull():416:416 -> t
    boolean isInt() -> u
    boolean isNullType() -> v
    1:1:boolean isNullable():109:109 -> w
    1:2:boolean isPreciseType():377:378 -> x
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> x
    3:3:boolean isPreciseType():379 -> x
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> x
    4:4:boolean isPreciseType():380 -> x
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> x
    5:5:boolean isPreciseType():381 -> x
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> x
    6:6:boolean isPreciseType():382 -> x
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> x
    7:7:boolean isPreciseType():383 -> x
    8:8:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> x
    8:8:boolean isPreciseType():384 -> x
    boolean isPrimitiveType() -> y
    boolean isReferenceType() -> z
com.android.tools.r8.ir.analysis.type.TypeUtils -> com.android.tools.r8.internal.c00:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():36:36 -> <clinit>
    1:12:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):72:83 -> a
    13:35:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):110:132 -> a
    13:35:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    36:36:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):129:129 -> a
    36:36:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    37:37:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForStaticPut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.StaticPut):186:186 -> a
    37:37:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):129 -> a
    37:37:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    38:38:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    38:38:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForStaticPut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.StaticPut):186 -> a
    38:38:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):129 -> a
    38:38:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    39:39:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    39:39:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    39:39:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForStaticPut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.StaticPut):186 -> a
    39:39:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):129 -> a
    39:39:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    40:40:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):181:181 -> a
    40:40:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):127 -> a
    40:40:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    41:41:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    41:41:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):181 -> a
    41:41:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):127 -> a
    41:41:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    42:42:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    42:42:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    42:42:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):181 -> a
    42:42:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):127 -> a
    42:42:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    43:43:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125:125 -> a
    43:43:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    44:52:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):162:170 -> a
    44:52:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    44:52:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    53:53:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    53:53:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):171 -> a
    53:53:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    53:53:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    54:55:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):171:172 -> a
    54:55:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    54:55:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    56:56:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    56:56:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):172 -> a
    56:56:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    56:56:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    57:57:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    57:57:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    57:57:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):172 -> a
    57:57:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    57:57:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    58:60:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):173:175 -> a
    58:60:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    58:60:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    61:61:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):175 -> a
    61:61:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    61:61:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    62:62:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):175:175 -> a
    62:62:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    62:62:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    63:63:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119:119 -> a
    63:63:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    64:67:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstancePut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.code.Value):149:152 -> a
    64:67:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119 -> a
    64:67:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    68:68:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    68:68:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstancePut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.code.Value):152 -> a
    68:68:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119 -> a
    68:68:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    69:69:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    69:69:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    69:69:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstancePut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.code.Value):152 -> a
    69:69:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119 -> a
    69:69:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    70:73:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstancePut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.code.Value):152:155 -> a
    70:73:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119 -> a
    70:73:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    74:74:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    74:74:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstancePut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.code.Value):155 -> a
    74:74:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119 -> a
    74:74:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    75:75:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    75:75:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    75:75:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstancePut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.code.Value):155 -> a
    75:75:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119 -> a
    75:75:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    76:76:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstancePut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.code.Value):155:155 -> a
    76:76:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119 -> a
    76:76:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    77:77:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):117:117 -> a
    77:77:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    78:78:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstanceGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceGet):144:144 -> a
    78:78:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):117 -> a
    78:78:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    79:79:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    79:79:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstanceGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceGet):144 -> a
    79:79:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):117 -> a
    79:79:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    80:80:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    80:80:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    80:80:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstanceGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceGet):144 -> a
    80:80:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):117 -> a
    80:80:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    81:81:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):115:115 -> a
    81:81:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    82:82:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):112:112 -> a
    82:82:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    83:84:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForAssume(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.utils.WorkList):138:139 -> a
    83:84:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):112 -> a
    83:84:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    85:86:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value) -> a
    87:87:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    87:87:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):86 -> a
    88:88:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):86:86 -> a
    89:93:void enqueueUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):96:100 -> a
com.android.tools.r8.ir.analysis.type.TypeUtils$UserAndValuePair -> com.android.tools.r8.internal.b00:
    com.android.tools.r8.ir.code.InstructionOrPhi user -> a
    com.android.tools.r8.ir.code.Value value -> b
    1:3:void <init>(com.android.tools.r8.ir.code.InstructionOrPhi,com.android.tools.r8.ir.code.Value):43:45 -> <init>
    1:5:boolean equals(java.lang.Object):53:57 -> equals
    1:1:int hashCode():62:62 -> hashCode
com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement -> com.android.tools.r8.internal.g20:
    com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement INSTANCE -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    boolean isWidePrimitive() -> B
    int requiredRegisters() -> D
    1:1:com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement getInstance():16:16 -> E
    1:1:int hashCode():41:41 -> hashCode
    1:1:java.lang.String toString():31:31 -> toString
com.android.tools.r8.ir.analysis.value.AbstractValue -> com.android.tools.r8.internal.t1:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    boolean isSingleConstValue() -> A
    boolean isSingleFieldValue() -> B
    boolean isSingleStringValue() -> C
    boolean isTrue() -> D
    1:1:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):198 -> a
    2:5:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):198:201 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):201 -> a
    7:7:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):204:204 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    8:8:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):208 -> a
    9:9:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):209:209 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    10:10:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):211 -> a
    11:11:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):212:212 -> a
    12:12:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    12:12:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):214 -> a
    13:13:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):214:214 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    14:14:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):217 -> a
    15:15:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):218:218 -> a
    16:16:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    16:16:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):221 -> a
    17:17:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):223:223 -> a
    18:18:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    18:18:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):223 -> a
    19:19:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):223:223 -> a
    20:20:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    20:20:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):224 -> a
    21:24:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):224:227 -> a
    25:25:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    25:25:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):229 -> a
    26:26:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):230:230 -> a
    27:27:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder com.android.tools.r8.ir.analysis.value.NumberFromSetValue.builder(com.android.tools.r8.ir.analysis.value.SingleNumberValue):32:32 -> a
    27:27:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):230 -> a
    28:28:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNumberFromSetValue():0:0 -> a
    28:28:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):232 -> a
    29:30:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):232:233 -> a
    31:31:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder com.android.tools.r8.ir.analysis.value.NumberFromSetValue.instanceBuilder():36:36 -> a
    31:31:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):233 -> a
    32:32:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    32:32:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):235 -> a
    33:33:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):236:236 -> a
    34:34:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNumberFromSetValue():0:0 -> a
    34:34:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):238 -> a
    35:38:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):238:241 -> a
    39:39:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    39:39:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):243 -> a
    com.android.tools.r8.ir.analysis.value.NonConstantNumberValue asNonConstantNumberValue() -> b
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue asNumberFromIntervalValue() -> c
    com.android.tools.r8.ir.analysis.value.SingleNumberValue asSingleNumberValue() -> d
    boolean isSingleValue() -> f
    com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> h
    com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> i
    boolean isNonConstantNumberValue() -> j
    com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue asConstantOrNonConstantNumberValue() -> k
    com.android.tools.r8.ir.analysis.value.NullOrAbstractValue asNullOrAbstractValue() -> l
    com.android.tools.r8.ir.analysis.value.SingleConstClassValue asSingleConstClassValue() -> m
    com.android.tools.r8.ir.analysis.value.SingleConstValue asSingleConstValue() -> n
    com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue asSingleDexItemBasedStringValue() -> o
    com.android.tools.r8.ir.analysis.value.SingleFieldValue asSingleFieldValue() -> p
    com.android.tools.r8.ir.analysis.value.SingleStringValue asSingleStringValue() -> q
    com.android.tools.r8.ir.analysis.value.StatefulObjectValue asStatefulObjectValue() -> r
    1:1:int getKnownArrayLength():83:83 -> s
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState():66:66 -> t
    boolean hasKnownArrayLength() -> u
    boolean hasObjectState() -> v
    boolean isConstantOrNonConstantNumberValue() -> w
    boolean isFalse() -> x
    boolean isNonTrivial() -> y
    boolean isSingleBoolean() -> z
com.android.tools.r8.ir.analysis.value.AbstractValueFactory -> com.android.tools.r8.internal.u1:
    java.util.concurrent.ConcurrentHashMap knownArrayLengthStates -> d
    java.util.concurrent.ConcurrentHashMap singleStringValues -> c
    java.util.concurrent.ConcurrentHashMap singleNumberValues -> b
    java.util.concurrent.ConcurrentHashMap singleConstClassValues -> a
    1:8:void <init>():16:23 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.SingleConstClassValue createSingleConstClassValue(com.android.tools.r8.graph.DexType):27:27 -> a
    2:2:com.android.tools.r8.ir.analysis.value.objectstate.KnownLengthArrayState createKnownLengthArrayState(int):31:31 -> a
    3:5:com.android.tools.r8.ir.analysis.value.SingleFieldValue createSingleFieldValue(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):35:37 -> a
    6:6:com.android.tools.r8.ir.analysis.value.SingleNumberValue createSingleNumberValue(long):41:41 -> a
    7:7:com.android.tools.r8.ir.analysis.value.SingleNumberValue createNullValue():45:45 -> a
    8:8:com.android.tools.r8.ir.analysis.value.SingleStringValue createSingleStringValue(com.android.tools.r8.graph.DexString):53:53 -> a
    9:9:com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue createSingleDexItemBasedStringValue(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):58:58 -> a
com.android.tools.r8.ir.analysis.value.BottomValue -> com.android.tools.r8.internal.Q5:
    com.android.tools.r8.ir.analysis.value.BottomValue INSTANCE -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.BottomValue getInstance():18:18 -> E
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    1:1:int hashCode():44:44 -> hashCode
    1:1:java.lang.String toString():49:49 -> toString
    boolean isNonTrivial() -> y
com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue -> com.android.tools.r8.internal.vd:
    boolean containsInt(int) -> a
    com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]) -> a
    boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue) -> a
    com.android.tools.r8.ir.analysis.value.NonConstantNumberValue asNonConstantNumberValue() -> b
    com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue asNumberFromIntervalValue() -> c
    com.android.tools.r8.ir.analysis.value.SingleNumberValue asSingleNumberValue() -> d
    com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> h
    boolean isNonConstantNumberValue() -> j
com.android.tools.r8.ir.analysis.value.NonConstantNumberValue -> com.android.tools.r8.internal.gH:
    1:1:void <init>():7:7 -> <init>
    long getAbstractionSize() -> E
    com.android.tools.r8.ir.analysis.value.NonConstantNumberValue asNonConstantNumberValue() -> b
    boolean isNonConstantNumberValue() -> j
    com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue asConstantOrNonConstantNumberValue() -> k
    boolean isConstantOrNonConstantNumberValue() -> w
com.android.tools.r8.ir.analysis.value.NullOrAbstractValue -> com.android.tools.r8.internal.BH:
    com.android.tools.r8.ir.analysis.value.AbstractValue value -> c
    1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):15:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getNonNullValue():42:42 -> E
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    4:4:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20 -> a
    5:5:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    5:5:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):23:23 -> a
    1:1:com.android.tools.r8.ir.analysis.value.NullOrAbstractValue com.android.tools.r8.ir.analysis.value.NullOrAbstractValue.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):48:48 -> b
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):11 -> b
    1:1:boolean equals(java.lang.Object):56:56 -> equals
    1:1:int hashCode():61:61 -> hashCode
    com.android.tools.r8.ir.analysis.value.NullOrAbstractValue asNullOrAbstractValue() -> l
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70}}
    68:68:java.lang.String toString():66:66 -> toString
    69:69:java.lang.String toString():66:66 -> toString
    70:70:java.lang.String toString():66:66 -> toString
    67:67:java.lang.String toString():66:66 -> toString
    boolean isNonTrivial() -> y
com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue -> com.android.tools.r8.internal.HH:
    long maxInclusive -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:4:void <init>(long,long):18:21 -> <init>
    1:1:long getAbstractionSize():31:31 -> E
    1:1:boolean containsInt(int):26:26 -> a
    2:2:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):52:52 -> a
    3:3:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):57:57 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    4:4:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):57 -> a
    5:5:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):58:58 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNumberFromIntervalValue():0:0 -> a
    6:6:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):60 -> a
    7:7:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):61:61 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue.mayOverlapWith(com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue):68:68 -> a
    8:8:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):61 -> a
    9:9:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):63:63 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNumberFromSetValue():0:0 -> a
    10:10:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):63 -> a
    11:12:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):63:64 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue.mayOverlapWith(com.android.tools.r8.ir.analysis.value.NumberFromSetValue):72:72 -> a
    13:13:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):64 -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue asNumberFromIntervalValue() -> c
    1:5:boolean equals(java.lang.Object):83:87 -> equals
    1:2:int hashCode():93:94 -> hashCode
    1:1:java.lang.String toString():100:100 -> toString
    boolean isNonTrivial() -> y
com.android.tools.r8.ir.analysis.value.NumberFromSetValue -> com.android.tools.r8.internal.JH:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet numbers -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.ir.analysis.value.NumberFromSetValue$1):17:17 -> <init>
    2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):23:24 -> <init>
    1:1:long getAbstractionSize():46:46 -> E
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet access$000(com.android.tools.r8.ir.analysis.value.NumberFromSetValue):17:17 -> a
    2:2:boolean containsInt(int):41:41 -> a
    3:9:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):66:72 -> a
    10:10:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):77:77 -> a
    11:11:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    11:11:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):77 -> a
    12:12:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):78:78 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.value.NumberFromSetValue.containsInt(int):41:41 -> a
    13:13:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):78 -> a
    14:16:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):80:82 -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    1:5:boolean equals(java.lang.Object):97:101 -> equals
    com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> h
    1:1:int hashCode():106:106 -> hashCode
    1:7:java.lang.String toString():111:117 -> toString
    boolean isNonTrivial() -> y
com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder -> com.android.tools.r8.internal.IH:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet numbers -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():120:120 -> <clinit>
    1:2:void <init>():124:125 -> <init>
    3:4:void <init>(com.android.tools.r8.ir.analysis.value.NumberFromSetValue):128:129 -> <init>
    1:4:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder addInt(int):133:136 -> a
    5:8:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder addInts(com.android.tools.r8.ir.analysis.value.NumberFromSetValue):143:146 -> a
    9:17:com.android.tools.r8.ir.analysis.value.AbstractValue build(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):153:161 -> a
com.android.tools.r8.ir.analysis.value.SingleConstClassValue -> com.android.tools.r8.internal.FU:
    com.android.tools.r8.graph.DexType type -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):35:36 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():50:50 -> E
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:6:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):74:79 -> a
    7:13:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):77:83 -> a
    14:14: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):436:436 -> a
    14:14:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):83 -> a
    15:17:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):83:85 -> a
    18:18:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    18:18:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):85 -> a
    19:19: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):154:154 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    19:19:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):86 -> a
    20:20:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):86:86 -> a
    21:25:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):93:97 -> a
    26:26:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    26:26:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):98 -> a
    27:27:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    27:27:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):98 -> a
    28:30:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):98:100 -> a
    31:33:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):106:108 -> a
    34:34:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    34:34:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):109 -> a
    35:41:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):109:115 -> a
    42:42:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    42:42:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    42:42:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    42:42:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    42:42:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):115 -> a
    43:43:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    43:43:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    43:43:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    43:43:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):115 -> a
    44:44:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    44:44:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    44:44:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):115 -> a
    45:45:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):120:120 -> a
    1:1:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):133:133 -> c
    1:1:int hashCode():60:60 -> hashCode
    com.android.tools.r8.ir.analysis.value.SingleConstClassValue asSingleConstClassValue() -> m
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70}}
    68:68:java.lang.String toString():65:65 -> toString
    69:69:java.lang.String toString():65:65 -> toString
    70:70:java.lang.String toString():65:65 -> toString
    66:66:java.lang.String toString():65:65 -> toString
    67:67:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70,"4":71}}
    68:68:java.lang.String toString():65:65 -> toString
    69:69:java.lang.String toString():65:65 -> toString
    70:70:java.lang.String toString():65:65 -> toString
    71:71:java.lang.String toString():65:65 -> toString
com.android.tools.r8.ir.analysis.value.SingleConstValue -> com.android.tools.r8.internal.GU:
    1:1:void <init>():7:7 -> <init>
    boolean isSingleConstValue() -> A
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo com.android.tools.r8.ir.analysis.value.SingleConstClassValue.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):30:30 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.SingleConstClassValue.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):30:30 -> b
    com.android.tools.r8.ir.analysis.value.SingleConstValue asSingleConstValue() -> n
com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue -> com.android.tools.r8.internal.IU:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> d
    com.android.tools.r8.graph.DexReference item -> c
    1:1:void <clinit>():28:28 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):34:36 -> <init>
    1:1:com.android.tools.r8.graph.DexReference getItem():40:40 -> E
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():44:44 -> F
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
    boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    1:6:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):82:87 -> a
    7:15:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):85:93 -> a
    1:3:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):120:122 -> c
    4:4:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):121:121 -> c
    5:5:com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue com.android.tools.r8.ir.analysis.value.AbstractValueFactory.createSingleDexItemBasedStringValue(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):58:58 -> c
    5:5:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):121 -> c
    1:5:boolean equals(java.lang.Object):59:63 -> equals
    1:1:int hashCode():68:68 -> hashCode
    com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue asSingleDexItemBasedStringValue() -> o
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":75,"2":76,"3":77}}
    75:75:java.lang.String toString():73:73 -> toString
    76:76:java.lang.String toString():73:73 -> toString
    77:77:java.lang.String toString():73:73 -> toString
    74:74:java.lang.String toString():73:73 -> toString
com.android.tools.r8.ir.analysis.value.SingleFieldValue -> com.android.tools.r8.internal.JU:
    com.android.tools.r8.graph.DexField field -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():34:34 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexField):38:39 -> <init>
    boolean isSingleFieldValue() -> B
    1:1:com.android.tools.r8.graph.DexField getField():43:43 -> E
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):34:34 -> a
    2:3:com.android.tools.r8.graph.DexEncodedField getField(com.android.tools.r8.graph.DexDefinitionSupplier):47:48 -> a
    4:7:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):90:93 -> a
    8:8:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):100:100 -> a
    9:9:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):99:99 -> a
    10:13:boolean lambda$isMaterializableInContext$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldResolutionResult):102:105 -> a
    14:16:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):111:113 -> a
    17:17:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    17:17:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):116 -> a
    18:20:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):119:121 -> a
    21:21:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    21:21:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):124 -> a
    22:25:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):127:130 -> a
    26:26:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    26:26:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    26:26:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    26:26:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    26:26:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):130 -> a
    27:27:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    27:27:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    27:27:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    27:27:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):130 -> a
    28:28:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    28:28:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    28:28:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):130 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):34:34 -> b
    2:8:boolean mayHaveFinalizeMethodDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):58:64 -> b
    1:11:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):145:155 -> c
    com.android.tools.r8.ir.analysis.value.SingleFieldValue asSingleFieldValue() -> p
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState() -> t
com.android.tools.r8.ir.analysis.value.SingleNumberValue -> com.android.tools.r8.internal.KU:
    long value -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():24:24 -> <clinit>
    1:2:void <init>(long):30:31 -> <init>
    1:1:boolean isTrue():56:56 -> D
    1:2:boolean getBooleanValue():80:81 -> E
    1:1:int getIntValue():93:93 -> F
    1:1:long getValue():101:101 -> G
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
    boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:int com.android.tools.r8.ir.analysis.value.SingleNumberValue.getIntValue():93:93 -> a
    1:1:boolean containsInt(int):36 -> a
    2:2:int com.android.tools.r8.ir.analysis.value.SingleNumberValue.getIntValue():93:93 -> a
    2:2:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):41 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):41:41 -> a
    4:4:boolean com.android.tools.r8.utils.ArrayUtils.containsInt(int[],int):17:17 -> a
    4:4:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):41 -> a
    5:5:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):41:41 -> a
    6:6:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):106:106 -> a
    7:7:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    7:7:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):106 -> a
    8:11:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):107:110 -> a
    12:12:int com.android.tools.r8.ir.analysis.value.SingleNumberValue.getIntValue():93:93 -> a
    12:12:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):110 -> a
    13:13:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):110:110 -> a
    14:22:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):134:142 -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> c
    com.android.tools.r8.ir.analysis.value.SingleNumberValue asSingleNumberValue() -> d
    1:1:int hashCode():120:120 -> hashCode
    com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue asConstantOrNonConstantNumberValue() -> k
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
    127:127:java.lang.String toString():125:125 -> toString
    128:128:java.lang.String toString():125:125 -> toString
    129:129:java.lang.String toString():125:125 -> toString
    126:126:java.lang.String toString():125:125 -> toString
    1:1:boolean isFalse():51:51 -> x
    1:1:boolean isSingleBoolean():46:46 -> z
com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue -> com.android.tools.r8.internal.MU:
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState state -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():11:11 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):17:19 -> <init>
    1:5:boolean equals(java.lang.Object):49:53 -> equals
    1:1:int hashCode():58:58 -> hashCode
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue.getObjectState():39:39 -> s
    1:1:int getKnownArrayLength():29 -> s
    2:2:int getKnownArrayLength():29:29 -> s
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState():39:39 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48}}
    46:46:java.lang.String toString():44:44 -> toString
    47:47:java.lang.String toString():44:44 -> toString
    48:48:java.lang.String toString():44:44 -> toString
    45:45:java.lang.String toString():44:44 -> toString
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue.getObjectState():39:39 -> u
    1:1:boolean hasKnownArrayLength():24 -> u
    2:2:boolean hasKnownArrayLength():24:24 -> u
com.android.tools.r8.ir.analysis.value.SingleStatelessFieldValue -> com.android.tools.r8.internal.NU:
    1:1:void <init>(com.android.tools.r8.graph.DexField):14:14 -> <init>
    1:5:boolean equals(java.lang.Object):34:38 -> equals
    1:1:int hashCode():43:43 -> hashCode
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> t
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState():19 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
    31:31:java.lang.String toString():29:29 -> toString
    32:32:java.lang.String toString():29:29 -> toString
    33:33:java.lang.String toString():29:29 -> toString
    30:30:java.lang.String toString():29:29 -> toString
    boolean hasObjectState() -> v
com.android.tools.r8.ir.analysis.value.SingleStringValue -> com.android.tools.r8.internal.OU:
    com.android.tools.r8.graph.DexString string -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexString):31:32 -> <init>
    boolean isSingleStringValue() -> C
    1:1:com.android.tools.r8.graph.DexString getDexString():46:46 -> E
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
    boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:6:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):70:75 -> a
    7:16:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):73:82 -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> c
    1:1:int hashCode():56:56 -> hashCode
    com.android.tools.r8.ir.analysis.value.SingleStringValue asSingleStringValue() -> q
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:java.lang.String toString():61:61 -> toString
    64:64:java.lang.String toString():61:61 -> toString
    65:65:java.lang.String toString():61:61 -> toString
    62:62:java.lang.String toString():61:61 -> toString
com.android.tools.r8.ir.analysis.value.SingleValue -> com.android.tools.r8.internal.QU:
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier) -> a
    boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
    boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):18:18 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):18:18 -> b
    com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> c
    boolean isSingleValue() -> f
    com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> i
    boolean isNonTrivial() -> y
com.android.tools.r8.ir.analysis.value.StatefulObjectValue -> com.android.tools.r8.internal.RV:
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState state -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():12:12 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):16:18 -> <init>
    1:3:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):22:24 -> a
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.StatefulObjectValue.getObjectState():65:65 -> b
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):55 -> b
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):55:55 -> b
    1:5:boolean equals(java.lang.Object):78:82 -> equals
    1:1:int hashCode():87:87 -> hashCode
    com.android.tools.r8.ir.analysis.value.StatefulObjectValue asStatefulObjectValue() -> r
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.StatefulObjectValue.getObjectState():65:65 -> s
    1:1:int getKnownArrayLength():49 -> s
    2:2:int getKnownArrayLength():49:49 -> s
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState():65:65 -> t
    1:1:java.lang.String toString():70:70 -> toString
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.StatefulObjectValue.getObjectState():65:65 -> u
    1:1:boolean hasKnownArrayLength():44 -> u
    2:2:boolean hasKnownArrayLength():44:44 -> u
    boolean hasObjectState() -> v
    boolean isNonTrivial() -> y
com.android.tools.r8.ir.analysis.value.UnknownValue -> com.android.tools.r8.internal.A00:
    com.android.tools.r8.ir.analysis.value.UnknownValue INSTANCE -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.UnknownValue getInstance():18:18 -> E
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    1:1:int hashCode():44:44 -> hashCode
    1:1:java.lang.String toString():49:49 -> toString
    boolean isNonTrivial() -> y
com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState -> com.android.tools.r8.internal.Th:
    com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState INSTANCE -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField):33:33 -> a
    boolean isEmpty() -> d
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState getInstance():23:23 -> e
    1:1:int hashCode():54:54 -> hashCode
com.android.tools.r8.ir.analysis.value.objectstate.EnumValuesObjectState -> com.android.tools.r8.internal.Qi:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState[] state -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState[]):22:25 -> <init>
    com.android.tools.r8.ir.analysis.value.objectstate.EnumValuesObjectState asEnumValuesObjectState() -> a
    void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField):33:33 -> a
    2:5:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectStateForOrdinal(int):37:40 -> a
    6:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    6:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectStateForOrdinal(int):38 -> a
    7:11:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):76:80 -> a
    1:1:int getKnownArrayLength():54:54 -> b
    boolean isEmpty() -> d
    1:1:int getEnumValuesSize():44:44 -> e
    1:9:boolean equals(java.lang.Object):85:93 -> equals
    1:1:int hashCode():102:102 -> hashCode
com.android.tools.r8.ir.analysis.value.objectstate.KnownLengthArrayState -> com.android.tools.r8.internal.Ny:
    int length -> a
    1:2:void <init>(int):20:21 -> <init>
    void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField):31:31 -> a
    1:1:int getKnownArrayLength():46:46 -> b
    boolean hasKnownArrayLength() -> c
    boolean isEmpty() -> d
    1:1:int hashCode():62:62 -> hashCode
com.android.tools.r8.ir.analysis.value.objectstate.NonEmptyObjectState -> com.android.tools.r8.internal.jH:
    java.util.Map state -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(java.util.Map):23:26 -> <init>
    1:1:void forEachAbstractFieldValue(java.util.function.BiConsumer):31:31 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField):36:36 -> a
    3:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):47:53 -> a
    10:11:void lambda$rewrittenWithLens$0(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):51:52 -> a
    12:12:void lambda$rewrittenWithLens$0(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):50:50 -> a
    boolean isEmpty() -> d
    1:11:boolean equals(java.lang.Object):58:68 -> equals
    1:1:int hashCode():77:77 -> hashCode
com.android.tools.r8.ir.analysis.value.objectstate.ObjectState -> com.android.tools.r8.internal.WJ:
    1:1:void <init>():21:21 -> <init>
    com.android.tools.r8.ir.analysis.value.objectstate.EnumValuesObjectState asEnumValuesObjectState() -> a
    void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:9:boolean hasMaterializableFieldValueThatMatches(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod,java.util.function.Predicate):38:46 -> a
    1:1:int getKnownArrayLength():68:68 -> b
    boolean hasKnownArrayLength() -> c
    boolean isEmpty() -> d
com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder -> com.android.tools.r8.internal.VJ:
    java.util.Map state -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():79:79 -> <clinit>
    1:3:void <init>():79:81 -> <init>
    1:3:void recordFieldHasValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue):84:86 -> a
    4:4:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState build():91:91 -> a
    5:5:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    5:5:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState build():91 -> a
    6:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState build():91:91 -> a
com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis -> com.android.tools.r8.internal.XJ:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:boolean lambda$computeObjectState$0(com.android.tools.r8.ir.code.Instruction):25:25 -> a
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    2:2:boolean lambda$computeObjectState$0(com.android.tools.r8.ir.code.Instruction):25 -> a
    3:3:boolean lambda$computeObjectState$0(com.android.tools.r8.ir.code.Instruction):25:25 -> a
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> a
    4:4:boolean lambda$computeObjectState$0(com.android.tools.r8.ir.code.Instruction):25 -> a
    5:7:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):46:48 -> a
    8:8:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    8:8:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):48 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    9:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):48 -> a
    10:10:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    10:10:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):50 -> a
    11:11:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):53:53 -> a
    12:12:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    12:12:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):55 -> a
    13:17:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):60:64 -> a
    18:18:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    18:18:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):65 -> a
    19:19:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.builder():24:24 -> a
    19:19:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):68 -> a
    20:43:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):69:92 -> a
    44:45:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):78:79 -> a
    46:46:boolean com.android.tools.r8.graph.DexItemFactory$EnumMembers.isNameOrOrdinalField(com.android.tools.r8.graph.DexField):1741:1741 -> a
    46:46:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):79 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:boolean com.android.tools.r8.graph.DexItemFactory$EnumMembers.isNameOrOrdinalField(com.android.tools.r8.graph.DexField):1741:1741 -> a
    47:47:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):79 -> a
    48:55:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):82:89 -> a
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):23:23 -> b
    2:2:boolean com.android.tools.r8.ir.code.Value.hasAliasedValue():204:204 -> b
    2:2:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):23 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):23:24 -> b
    5:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis.computeNewArrayObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):36:37 -> b
    5:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):26 -> b
    7:7:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isStatefulObjectValue():0:0 -> b
    7:7:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis.computeNewArrayObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):37 -> b
    7:7:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):26 -> b
    8:8:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis.computeNewArrayObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):39:39 -> b
    8:8:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):26 -> b
    9:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> b
    9:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis.computeNewArrayObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):41 -> b
    9:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):26 -> b
    10:11:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):28:29 -> b
    12:12:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> b
    12:12:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):31 -> b
com.android.tools.r8.ir.code.Add -> com.android.tools.r8.internal.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):22:22 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):57:57 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):52:52 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):77:77 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92:92 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):42:42 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):72:72 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):62:62 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):87:87 -> d
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):67:67 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):82:82 -> e
    boolean isAdd() -> e1
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):47:47 -> f
    int opcode() -> j2
    com.android.tools.r8.ir.code.Add asAdd() -> l
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():127:127 -> r2
com.android.tools.r8.ir.code.AliasedValueConfiguration -> com.android.tools.r8.internal.A1:
    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.internal.E1:
    1:1:void <init>(com.android.tools.r8.ir.code.Value):19:19 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1: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
    2:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:42 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):41:41 -> a
    6:6:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):47:47 -> a
    7:7: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
    1:1:int maxInValueRegister():57:57 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.AlwaysMaterializingNop -> com.android.tools.r8.internal.F1:
    1:1:void <init>():20:20 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1: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
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:40 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):45:45 -> 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):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
    1:1:int maxInValueRegister():55:55 -> h2
    1:1:int maxOutValueRegister():60:60 -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.AlwaysMaterializingUser -> com.android.tools.r8.internal.G1:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value):19:19 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1: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
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:40 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):45:45 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forAlwaysMaterializingUser():70:70 -> 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):67 -> a
    5:5: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
    1:2:int maxInValueRegister():55:56 -> h2
    1:1:int maxOutValueRegister():61:61 -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.And -> com.android.tools.r8.internal.O1:
    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):19:19 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):49:49 -> a
    2:2:boolean outTypeKnownToBeBoolean(java.util.Set):99:99 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):59:59 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):74:74 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):79:79 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isAnd():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):79 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):79:79 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):64:64 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):69:69 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):54:54 -> d
    int opcode() -> j2
    com.android.tools.r8.ir.code.And asAnd() -> m
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():94:94 -> r2
com.android.tools.r8.ir.code.Argument -> com.android.tools.r8.internal.H2:
    int $r8$clinit -> l
    boolean knownToBeBoolean -> j
    boolean $assertionsDisabled -> k
    int index -> i
    1:1:void <clinit>():24:24 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,int,boolean):30:32 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):74:74 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArgument():74:74 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):111 -> a
    3:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):90:90 -> a
    4:4:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):121:121 -> a
    5:5:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):126:126 -> a
    6:6:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):131:131 -> a
    7:7:boolean outTypeKnownToBeBoolean(java.util.Set):141:141 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:95 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isArgument() -> g1
    1:1:int maxInValueRegister():79:79 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:int getIndex():40:40 -> m2
    2:7:boolean com.android.tools.r8.ir.code.Argument.verifyIndex():46:51 -> m2
    2:7:int getIndex():40 -> m2
    8:9:int getIndex():40:41 -> m2
    com.android.tools.r8.ir.code.Argument asArgument() -> n
com.android.tools.r8.ir.code.Argument$Builder -> com.android.tools.r8.internal.G2:
    int index -> c
    1:1:void <init>():149:149 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.Argument$Builder setIndex(int):155:155 -> a
    1:1:com.android.tools.r8.ir.code.Argument build():161:161 -> b
com.android.tools.r8.ir.code.ArithmeticBinop -> com.android.tools.r8.internal.e3:
    boolean $assertionsDisabled -> j
    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>
    com.android.tools.r8.code.Instruction CreateDouble(int,int,int) -> a
    1:25:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):65:89 -> a
    26:26:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":299,"2":300,"3":301}}
    299:299:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    300:300:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    301:301:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    115:115:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    116:116:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:86 -> a
    117:117:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:83 -> a
    118:118:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80:80 -> a
    119:134:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):77:92 -> a
    135:135:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> a
    135:135:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):92 -> a
    136:161:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):92:117 -> a
    162:162:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":329,"2":330,"3":331}}
    329:329:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):117:117 -> a
    330:330:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):117:117 -> a
    331:331:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):117:117 -> a
    279:279:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):117:117 -> a
    280:280:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):114:114 -> a
    281:281:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):111:111 -> a
    282:282:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    283:298:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):105:120 -> a
    332:334:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):135:137 -> a
    335:335:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    335:335:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):137 -> a
    336:336:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):137:137 -> a
    337:337:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    337:337:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):137 -> a
    338:361:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):138:161 -> a
    362:362:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):168:168 -> a
    com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int) -> b
    com.android.tools.r8.code.Instruction CreateFloat(int,int,int) -> b
    com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int) -> c
    com.android.tools.r8.code.Instruction CreateInt(int,int,int) -> c
    com.android.tools.r8.code.Instruction CreateInt2Addr(int,int) -> d
    com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int) -> d
    1:1:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):52:52 -> d
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> d
    2:2:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):52 -> d
    3:10:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):52:59 -> d
    com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int) -> e
    com.android.tools.r8.code.Instruction CreateLong2Addr(int,int) -> e
    com.android.tools.r8.code.Instruction CreateLong(int,int,int) -> f
    boolean isArithmeticBinop() -> h1
    com.android.tools.r8.ir.code.ArithmeticBinop asArithmeticBinop() -> o
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode() -> r2
com.android.tools.r8.ir.code.ArithmeticBinop$1 -> com.android.tools.r8.internal.d3:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():75:75 -> <clinit>
com.android.tools.r8.ir.code.ArrayAccess -> com.android.tools.r8.internal.f3:
    1:1:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):16:16 -> <init>
    1:1:boolean instructionInstanceCanThrow():53:53 -> b1
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> b1
    2:2:boolean instructionInstanceCanThrow():53 -> b1
    3:6:boolean instructionInstanceCanThrow():54:57 -> b1
    boolean instructionTypeCanThrow() -> d1
    boolean isArrayAccess() -> i1
    1:1:com.android.tools.r8.ir.code.Value array():20:20 -> m2
    1:1:com.android.tools.r8.ir.code.Value index():24:24 -> n2
    com.android.tools.r8.ir.code.ArrayAccess withMemberType(com.android.tools.r8.ir.code.MemberType) -> o2
    com.android.tools.r8.ir.code.ArrayAccess asArrayAccess() -> p
com.android.tools.r8.ir.code.ArrayGet -> com.android.tools.r8.internal.i3:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.code.MemberType type -> i
    1:1:void <clinit>():35:35 -> <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):40:41 -> <init>
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():247:247 -> O0
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):72 -> a
    2:40:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):72:110 -> a
    41:41:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":328,"2":329,"3":330}}
    328:328:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    329:329:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    330:330:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    151:151:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    152:152:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    153:153:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":331,"2":332,"3":333}}
    331:331:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    332:332:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    333:333:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    261:261:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    262:264:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:85 -> a
    265:290:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):79:104 -> a
    291:291:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    292:296:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):91:95 -> a
    297:297:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    297:297:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    298:298:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    298:298:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95 -> a
    299:299:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):96:96 -> a
    300:302:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:97 -> a
    303:327:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:112 -> a
    334:336:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):65:67 -> a
    337:337:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayGet():78:78 -> a
    337:337:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):151 -> a
    338:344:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):162:168 -> a
    345:346:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):173:174 -> a
    347:347:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):179:179 -> a
    348:348:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):185:185 -> a
    349:349:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.ArrayGet.getMemberType():60:60 -> a
    349:349:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):186 -> a
    350:386:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):186:222 -> a
    387:387:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":652,"2":653,"3":654}}
    652:652:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    653:653:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    654:654:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    605:607:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):218:218 -> a
    608:608:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    608:608:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    609:609:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220:220 -> a
    610:614:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):227:231 -> a
    610:614:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    615:615:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    615:615:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231 -> a
    615:615:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    616:616:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    616:616:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    616:616:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231 -> a
    616:616:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    617:617:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231:231 -> a
    617:617:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    618:620:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):214:214 -> a
    621:621:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    621:621:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    622:622:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216:216 -> a
    623:627:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):227:231 -> a
    623:627:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    628:628:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    628:628:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231 -> a
    628:628:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    629:629:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    629:629:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    629:629:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231 -> a
    629:629:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    630:630:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231:231 -> a
    630:630:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    631:631:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):211:211 -> a
    632:632:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    632:632:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):211 -> a
    633:634:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):211:212 -> a
    635:635:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208:208 -> a
    636:636:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    636:636:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208 -> a
    637:638:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208:209 -> a
    639:639:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):205:205 -> a
    640:640:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    640:640:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):205 -> a
    641:642:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):205:206 -> a
    643:643:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):202:202 -> a
    644:644:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    644:644:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):202 -> a
    645:646:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):202:203 -> a
    647:649:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):194:196 -> a
    650:650:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.ArrayGet.getMemberType():60:60 -> a
    650:650:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222 -> a
    651:651:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    655:655:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):237:237 -> a
    656:657:boolean outTypeKnownToBeBoolean(java.util.Set):252:253 -> a
    658:658:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):258:258 -> a
    659:659:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    659:659:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):258 -> a
    660:660:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):258:258 -> a
    661:661:void lambda$constrainType$0(com.android.tools.r8.ir.code.MemberType):258:258 -> a
    662:670:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):275:283 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):125:125 -> b
    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 -> d
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    boolean isArrayGet() -> j1
    int opcode() -> j2
    boolean throwsOnNullInput() -> l2
    1:269:com.android.tools.r8.ir.code.ArrayAccess withMemberType(com.android.tools.r8.ir.code.MemberType):0:268 -> o2
    com.android.tools.r8.ir.code.ArrayGet asArrayGet() -> q
com.android.tools.r8.ir.code.ArrayLength -> com.android.tools.r8.internal.j3:
    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():144:144 -> O0
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayLength.dest():36:36 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55 -> a
    2:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55:57 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayLength():82:82 -> 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):108 -> a
    6:6:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):83:83 -> a
    7:14:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):88:95 -> a
    15:16:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):113:114 -> a
    17:17:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):119:119 -> a
    18:18:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):124:124 -> a
    19:19: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):102:102 -> b
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):102 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    boolean throwsOnNullInput() -> l2
    1:1:com.android.tools.r8.ir.code.Value array():40:40 -> m2
    com.android.tools.r8.ir.code.ArrayLength asArrayLength() -> r
com.android.tools.r8.ir.code.ArrayPut -> com.android.tools.r8.internal.m3:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.code.MemberType type -> i
    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():231:231 -> O0
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator) -> a
    1:37:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):65:101 -> a
    38:38:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":303,"2":304,"3":305}}
    303:303:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    304:304:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    305:305:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    139:139:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    140:140:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    141:141:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":306,"2":307,"3":308}}
    306:306:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    307:307:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    308:308:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    240:240:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    241:241:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    242:265:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):72:95 -> a
    266:266:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):92:92 -> a
    267:271:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:86 -> a
    272:272:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    272:272:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    273:273:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    273:273:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86 -> a
    274:274:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):87:87 -> a
    275:277:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:88 -> a
    278:302:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):79:103 -> a
    309:309:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayPut():86:86 -> a
    309:309:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):201 -> a
    310:317:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):121:128 -> a
    318:318:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    318:318:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):128 -> a
    319:354:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):132:167 -> a
    355:355:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):206:206 -> a
    356:356:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):216:216 -> a
    357:357:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):221:221 -> a
    358:358:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):236:236 -> a
    359:359:void lambda$constrainType$0(com.android.tools.r8.ir.code.MemberType):236:236 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):185:185 -> b
    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 -> d
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():113:113 -> i2
    int opcode() -> j2
    boolean isArrayPut() -> k1
    boolean throwsOnNullInput() -> l2
    1:247:com.android.tools.r8.ir.code.ArrayAccess withMemberType(com.android.tools.r8.ir.code.MemberType):0:246 -> o2
    com.android.tools.r8.ir.code.ArrayPut asArrayPut() -> s
    1:1:com.android.tools.r8.ir.code.Value value():55:55 -> value
com.android.tools.r8.ir.code.Assume -> com.android.tools.r8.internal.F3:
    com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption dynamicTypeAssumption -> i
    boolean $assertionsDisabled -> l
    com.android.tools.r8.ir.code.Instruction origin -> k
    com.android.tools.r8.ir.code.Assume$NonNullAssumption nonNullAssumption -> j
    1:1:void <clinit>():22:22 -> <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):38:47 -> <init>
    1:1:java.lang.String getInstructionName():104:104 -> N0
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():237:237 -> O0
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:boolean outTypeKnownToBeBoolean(java.util.Set):99:99 -> a
    2:19:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):131:148 -> a
    20:26:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):146:152 -> a
    27:27:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):167:167 -> a
    28:28:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):172:172 -> a
    29:33:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208:212 -> a
    34:34:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):217:217 -> a
    35:35:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):227:227 -> a
    36:49:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):247:260 -> a
    50:50:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forAssume():307:307 -> a
    50:50:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):203 -> a
    1:2:boolean verifyInstructionIsNeeded(com.android.tools.r8.graph.AppView):70:71 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):192:192 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):192 -> b
    5:7:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):195:197 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:int maxInValueRegister():177:177 -> h2
    1:1:int maxOutValueRegister():182:182 -> i2
    int opcode() -> j2
    1:1:boolean throwsOnNullInput():242:242 -> l2
    1:1:com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption getDynamicTypeAssumption():82:82 -> m2
    1:1:boolean hasDynamicTypeAssumption():118:118 -> n2
    1:1:boolean hasNonNullAssumption():126:126 -> o2
    1:1:com.android.tools.r8.ir.code.Instruction origin():94:94 -> p2
    1:1:com.android.tools.r8.ir.code.Value src():90:90 -> q2
    1:1:void unsetDynamicTypeAssumption():122:122 -> r2
    com.android.tools.r8.ir.code.Assume asAssume() -> t
    1:16:java.lang.String toString():272:287 -> toString
com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption -> com.android.tools.r8.internal.D3:
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound dynamicType -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():290:290 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):294:296 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound getDynamicType():300:300 -> a
    2:6:boolean verifyCorrectnessOfValues(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):304:308 -> a
    7:7:boolean verifyCorrectnessOfValues(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):306:306 -> a
    1:5:boolean equals(java.lang.Object):317:321 -> equals
    1:1:int hashCode():326:326 -> hashCode
com.android.tools.r8.ir.code.Assume$NonNullAssumption -> com.android.tools.r8.internal.E3:
    com.android.tools.r8.ir.code.Assume$NonNullAssumption instance -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():330:332 -> <clinit>
    1:1:void <init>():334:334 -> <init>
    1:1:com.android.tools.r8.ir.code.Assume$NonNullAssumption get():337:337 -> 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):341:341 -> a
com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration -> com.android.tools.r8.internal.G3:
    com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():9:11 -> <clinit>
    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:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    3:3:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):27 -> a
    4:4:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):27:27 -> a
    5:5:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    5:5:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):28 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6: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
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    2:2:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):22 -> b
    3:3:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):22:22 -> b
com.android.tools.r8.ir.code.BasicBlock -> com.android.tools.r8.internal.y4:
    int color -> n
    int estimatedPredecessorsCount -> l
    int unfilledPredecessorsCount -> m
    boolean $assertionsDisabled -> p
    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
    1:1:void <clinit>():57:57 -> <clinit>
    1:142:void <init>():57:198 -> <init>
    1:1:com.android.tools.r8.ir.code.BasicBlock getUniqueNormalSuccessor():230:230 -> A
    2:2:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> A
    2:2:com.android.tools.r8.ir.code.BasicBlock getUniqueNormalSuccessor():230 -> A
    3:4:com.android.tools.r8.ir.code.BasicBlock getUniqueNormalSuccessor():230:231 -> A
    1:2:com.android.tools.r8.ir.code.BasicBlock getUniquePredecessor():293:294 -> B
    1:2:com.android.tools.r8.ir.code.BasicBlock getUniqueSuccessor():225:226 -> C
    1:2:boolean hasCatchHandlers():626:627 -> D
    3:3:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> D
    3:3:boolean hasCatchHandlers():627 -> D
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean hasIncompletePhis():1223:1223 -> E
    1:1:boolean hasOneNormalExit():1603:1603 -> F
    1:1:boolean hasPhis():593:593 -> G
    1:1:boolean hasUniquePredecessor():289:289 -> H
    1:1:boolean hasUniqueSuccessor():209:209 -> I
    1:2:void incrementUnfilledPredecessorCount():758:759 -> J
    1:1:boolean isEmpty():695:695 -> K
    1:1:boolean isFilled():614:614 -> L
    1:1:boolean isReturnBlock():703:703 -> M
    1:1:boolean isSealed():1211:1211 -> N
    1:1:boolean isTrivialGoto():1535:1535 -> O
    1:1:com.android.tools.r8.ir.code.InstructionIterator iterator():1679:1679 -> P
    1:2:boolean notifyPredecessorsMayChangeListeners():307:308 -> Q
    1:2:boolean notifySuccessorsMayChangeListeners():244:245 -> R
    1:1:int numberOfCatchHandlers():1628:1628 -> S
    1:2:int numberOfExceptionalSuccessors():282:283 -> T
    1:4:int numberOfNormalSuccessors():275:278 -> U
    1:2:void removeAllNormalSuccessors():354:355 -> V
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> V
    3:3:void removeAllNormalSuccessors():355 -> V
    4:12:void removeAllNormalSuccessors():356:364 -> V
    1:1:void setFilled():618:618 -> W
    1:1:void setFilledForTesting():622:622 -> X
    1:1:int size():699:699 -> Y
    1:1:java.lang.String toDetailedString():0:0 -> Z
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5218,"2":5219,"3":5220}}
    5218:5218:java.lang.String toDetailedString():1264:1264 -> Z
    5219:5219:java.lang.String toDetailedString():1264:1264 -> Z
    5220:5220:java.lang.String toDetailedString():1265:1265 -> Z
    1267:1269:java.lang.String toDetailedString():1266:1268 -> Z
    1270:1270:java.lang.String toDetailedString():0:0 -> Z
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5218,"2":5219,"3":5220}}
    5218:5218:java.lang.String toDetailedString():1269:1269 -> Z
    5219:5219:java.lang.String toDetailedString():1269:1269 -> Z
    5220:5220:java.lang.String toDetailedString():1269:1269 -> Z
    2539:2539:java.lang.String toDetailedString():1269:1269 -> Z
    2540:2540:java.lang.String toDetailedString():0:0 -> Z
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5218,"2":5219,"3":5220}}
    5218:5218:java.lang.String toDetailedString():1271:1271 -> Z
    5219:5219:java.lang.String toDetailedString():1271:1271 -> Z
    5220:5220:java.lang.String toDetailedString():1271:1271 -> Z
    3811:3812:java.lang.String toDetailedString():1271:1272 -> Z
    3813:3813:boolean com.android.tools.r8.ir.code.BasicBlock.isFilled():614:614 -> Z
    3813:3813:java.lang.String toDetailedString():1272 -> Z
    3814:3815:java.lang.String toDetailedString():1272:1273 -> Z
    3816:3816:boolean com.android.tools.r8.ir.code.BasicBlock.isSealed():1211:1211 -> Z
    3816:3816:java.lang.String toDetailedString():1273 -> Z
    3817:3820:java.lang.String toDetailedString():1273:1276 -> Z
    3821:3828:void com.android.tools.r8.ir.code.BasicBlock.appendBasicBlockList(java.lang.StringBuilder,java.util.List,java.util.function.Function):1232:1239 -> Z
    3821:3828:java.lang.String toDetailedString():1276 -> Z
    3829:3831:java.lang.String toDetailedString():1277:1279 -> Z
    3832:3839:void com.android.tools.r8.ir.code.BasicBlock.appendBasicBlockList(java.lang.StringBuilder,java.util.List,java.util.function.Function):1232:1239 -> Z
    3832:3839:java.lang.String toDetailedString():1279 -> Z
    3840:3870:java.lang.String toDetailedString():1280:1310 -> Z
    3871:3871:int com.android.tools.r8.ir.code.BasicBlock.digits(int):1260:1260 -> Z
    3871:3871:java.lang.String toDetailedString():1310 -> Z
    3872:3882:java.lang.String toDetailedString():1310:1320 -> Z
    3883:3883:java.lang.String toDetailedString():0:0 -> Z
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5218,"2":5219,"3":5220}}
    5218:5218:java.lang.String toDetailedString():1322:1322 -> Z
    5219:5219:java.lang.String toDetailedString():1322:1322 -> Z
    5220:5220:java.lang.String toDetailedString():1322:1322 -> Z
    5205:5217:java.lang.String toDetailedString():1322:1334 -> Z
    1:4:boolean consistentInitClassInstruction(com.android.tools.r8.ir.code.InitClass,boolean):93:96 -> a
    5:7:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):101:101 -> a
    8:8:boolean lambda$verifyTypes$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper,com.android.tools.r8.ir.code.Instruction):102:102 -> a
    9:9:void setLocalsAtEntry(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):107:107 -> a
    10:14:void addControlFlowEdgesMayChangeListener(com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener):201:205 -> a
    15:33:void removePredecessor(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):330:348 -> a
    34:51:void swapSuccessorsByIndex(int,int):377:394 -> a
    52:59:void replacePredecessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):511:518 -> a
    60:63:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):522:525 -> a
    64:64:boolean com.android.tools.r8.utils.ListUtils.verifyListIsOrdered(java.util.List):245:245 -> a
    64:64:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):525 -> a
    65:66:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.get(int):606:606 -> a
    65:66:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.get(int):32 -> a
    65:66:boolean com.android.tools.r8.utils.ListUtils.verifyListIsOrdered(java.util.List):246 -> a
    65:66:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):525 -> a
    67:67:boolean com.android.tools.r8.utils.ListUtils.verifyListIsOrdered(java.util.List):246:246 -> a
    67:67:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):525 -> a
    68:71:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):525:528 -> a
    72:72:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    72:72:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    72:72:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):530 -> a
    73:73:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):530:530 -> a
    74:74:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    74:74:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    74:74:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):530 -> a
    75:93:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):530:548 -> a
    94:94:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    94:94:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    94:94:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):550 -> a
    95:95:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):550:550 -> a
    96:96:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    96:96:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    96:96:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):550 -> a
    97:113:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):550:566 -> a
    114:115:boolean hasDeadPhi(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):597:598 -> a
    116:116:java.lang.Iterable instructionsAfter(com.android.tools.r8.ir.code.Instruction):657:657 -> a
    117:118:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):734:735 -> a
    119:121:void clearMark(int):747:749 -> a
    122:122:void addPhi(com.android.tools.r8.ir.code.Phi):779:779 -> a
    123:123:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRMetadata):793:793 -> a
    124:124:boolean com.android.tools.r8.ir.code.BasicBlock.isFilled():614:614 -> a
    124:124:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRMetadata):793 -> a
    125:128:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRMetadata):793:796 -> a
    129:129:void close(com.android.tools.r8.ir.conversion.IRBuilder):800:800 -> a
    130:130:boolean com.android.tools.r8.ir.code.BasicBlock.isFilled():614:614 -> a
    130:130:void close(com.android.tools.r8.ir.conversion.IRBuilder):800 -> a
    131:135:void close(com.android.tools.r8.ir.conversion.IRBuilder):800:804 -> a
    136:137:boolean com.android.tools.r8.ir.code.BasicBlock.verifyNoValuesAfterThrowingInstruction():1665:1666 -> a
    136:137:void close(com.android.tools.r8.ir.conversion.IRBuilder):805 -> a
    138:138:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(int):1683:1683 -> a
    138:138:boolean com.android.tools.r8.ir.code.BasicBlock.verifyNoValuesAfterThrowingInstruction():1666 -> a
    138:138:void close(com.android.tools.r8.ir.conversion.IRBuilder):805 -> a
    139:144:boolean com.android.tools.r8.ir.code.BasicBlock.verifyNoValuesAfterThrowingInstruction():1667:1672 -> a
    139:144:void close(com.android.tools.r8.ir.conversion.IRBuilder):805 -> a
    145:145:void close(com.android.tools.r8.ir.conversion.IRBuilder):806:806 -> a
    146:146:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1170:1170 -> a
    146:146:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
    147:147:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1170:1170 -> a
    147:147:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    148:148:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1170:1170 -> a
    148:148:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
    149:149:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1171:1171 -> a
    149:149:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    150:160:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1171:1181 -> a
    150:160:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
    161:161:boolean blocksClean(java.util.List):819:819 -> a
    162:171:void removeCatchHandlerWithGuard(com.android.tools.r8.graph.DexType):899:908 -> a
    172:172:boolean lambda$removeCatchHandlerWithGuard$6(int,com.android.tools.r8.ir.code.BasicBlock):905:905 -> a
    173:177:java.util.List unlink(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):934:938 -> a
    178:178:java.util.List com.android.tools.r8.ir.code.DominatorTree.dominatedBlocks(com.android.tools.r8.ir.code.BasicBlock):171:171 -> a
    178:178:java.util.List unlink(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):939 -> a
    179:183:java.util.List unlink(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):939:943 -> a
    184:193:void linkCatchSuccessors(java.util.List,java.util.List):982:991 -> a
    194:225:void appendCatchHandler(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType):995:1026 -> a
    226:236:boolean renameGuardsInCatchHandlers(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1037:1047 -> a
    237:238:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.BasicBlock.readOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1097:1098 -> a
    237:238:boolean com.android.tools.r8.ir.code.BasicBlock.isOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1104 -> a
    237:238:void addIncompletePhi(int,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1215 -> a
    239:240:void addIncompletePhi(int,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1218:1219 -> a
    241:242:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.BasicBlock.readOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1097:1098 -> a
    241:242:com.android.tools.r8.ir.code.Value readCurrentDefinition(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1110 -> a
    243:245:com.android.tools.r8.ir.code.Value readCurrentDefinition(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1112:1114 -> a
    246:247:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.BasicBlock.readOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1097:1098 -> a
    246:247:boolean com.android.tools.r8.ir.code.BasicBlock.isOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1104 -> a
    246:247:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1135 -> a
    248:252:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1141:1145 -> a
    253:254:boolean com.android.tools.r8.ir.code.BasicBlock.verifyOnThrowWrite(int):1655:1656 -> a
    253:254:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1145 -> a
    255:262:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1146:1153 -> a
    263:264:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1161:1162 -> a
    265:266:boolean com.android.tools.r8.ir.code.BasicBlock.verifyOnThrowWrite(int):1655:1656 -> a
    265:266:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1162 -> a
    267:269:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1163:1163 -> a
    272:272:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1166:1166 -> a
    273:278:void print(com.android.tools.r8.utils.CfgPrinter):1338:1343 -> a
    279:280:void com.android.tools.r8.ir.code.BasicBlock.printBlockList(com.android.tools.r8.utils.CfgPrinter,java.util.List):1374:1375 -> a
    279:280:void print(com.android.tools.r8.utils.CfgPrinter):1343 -> a
    281:283:void print(com.android.tools.r8.utils.CfgPrinter):1344:1346 -> a
    284:285:void com.android.tools.r8.ir.code.BasicBlock.printBlockList(com.android.tools.r8.utils.CfgPrinter,java.util.List):1374:1375 -> a
    284:285:void print(com.android.tools.r8.utils.CfgPrinter):1346 -> a
    286:309:void print(com.android.tools.r8.utils.CfgPrinter):1347:1370 -> a
    310:311: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):1433:1434 -> a
    312:316:com.android.tools.r8.ir.code.BasicBlock createGotoBlock(int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRMetadata):1447:1451 -> a
    317:326: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:1513 -> a
    327:327:void com.android.tools.r8.ir.code.BasicBlock.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):789:789 -> a
    327:327: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):1514 -> a
    328:328:void com.android.tools.r8.ir.code.BasicBlock.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):789:789 -> a
    328: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):1515 -> 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):1516:1516 -> a
    330:330:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> 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):1517 -> a
    331:331: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):1517:1517 -> a
    332:333:boolean canThrow():1642:1643 -> a
    334:334:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1691:1691 -> a
    335:335:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.BasicBlock.listIterator(com.android.tools.r8.ir.code.IRMetadata):1695:1695 -> a
    335:335:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1691 -> a
    336:336:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRMetadata):1695:1695 -> a
    337:337:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode,int):1699:1699 -> a
    338:338:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):1710:1710 -> a
    339:350:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1728:1739 -> a
    351:356:void com.android.tools.r8.ir.code.BasicBlock.moveCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1760:1765 -> a
    351:356:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1743 -> a
    357:361:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1747:1751 -> a
    362:377: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):1776:1791 -> a
    378:378:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1811:1811 -> a
    378:378: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):1792 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    379:379:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1812:1812 -> a
    379: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):1792 -> a
    380:380:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    380:380:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1812 -> a
    380:380: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):1792 -> a
    381:398:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1816:1833 -> a
    381:398: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):1792 -> a
    399:399:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    399:399:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1834 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    399:399: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):1792 -> a
    400:400:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    400:400:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1834 -> a
    400:400: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):1792 -> a
    401:407:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1834:1840 -> a
    401:407: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):1792 -> a
    408:408:void com.android.tools.r8.ir.code.BasicBlock.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):789:789 -> a
    408:408:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1841 -> a
    408:408: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):1792 -> a
    409:412:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1842:1845 -> a
    409:412: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):1792 -> a
    413:413:void com.android.tools.r8.ir.code.BasicBlock.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):789:789 -> a
    413:413:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1846 -> a
    413:413: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):1792 -> a
    414:419:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1847:1852 -> a
    414:419: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):1792 -> a
    420:420:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1830:1830 -> a
    420:420: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):1792 -> a
    421:421:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    421:421:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1830 -> a
    421:421: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):1792 -> a
    422:422:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    422:422:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    422:422:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1830 -> a
    422:422: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):1792 -> a
    423:460:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1830:1867 -> a
    423:460: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):1792 -> a
    461:534:java.util.List appendCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1883:1956 -> a
    1:2:void unlinkCatchHandler():872:873 -> a0
    3:3:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):324:324 -> a0
    3:3:void unlinkCatchHandler():873 -> a0
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:6:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):324:326 -> a0
    4:6:void unlinkCatchHandler():873 -> a0
    7:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>(int[]):135:135 -> a0
    7:7:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326 -> a0
    7:7:void unlinkCatchHandler():873 -> a0
    8:8:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326:326 -> a0
    8:8:void unlinkCatchHandler():873 -> a0
    9:9:void unlinkCatchHandler():874:874 -> a0
    1:1:void lambda$notifyPredecessorsMayChangeListeners$2(com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener):308:308 -> b
    2:32:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):399:429 -> b
    33:33:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> b
    33:33:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):431 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):431:431 -> b
    35:35:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> b
    35:35:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):432 -> b
    36:39:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):432:435 -> b
    40:40:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> b
    40:40:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):435 -> b
    41:42:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):435:436 -> b
    43:47:boolean com.android.tools.r8.ir.code.BasicBlock.hasLinearFlow(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):498:502 -> b
    43:47:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    48:48:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":538,"2":539,"3":540}}
    538:538:boolean com.android.tools.r8.ir.code.BasicBlock.hasLinearFlow(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):502:502 -> b
    538:538:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    539:539:boolean com.android.tools.r8.ir.code.BasicBlock.hasLinearFlow(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):502:502 -> b
    539:539:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    540:540:boolean com.android.tools.r8.ir.code.BasicBlock.hasLinearFlow(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):502:502 -> b
    540:540:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    484:537:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436:489 -> b
    541:542:void removePhisByIndex(java.util.List):587:588 -> b
    543:543:java.lang.Iterable instructionsBefore(com.android.tools.r8.ir.code.Instruction):661:661 -> b
    544:545:void decrementUnfilledPredecessorCount(int):763:764 -> b
    546:547:void removePhi(com.android.tools.r8.ir.code.Phi):783:784 -> b
    548:548:void unlinkCatchHandlerForGuard(com.android.tools.r8.graph.DexType):887:887 -> b
    549:553:boolean com.android.tools.r8.ir.code.BasicBlock.isCatchHandlerForSingleGuard():913:917 -> b
    549:553:void unlinkCatchHandlerForGuard(com.android.tools.r8.graph.DexType):888 -> b
    554:558:void unlinkCatchHandlerForGuard(com.android.tools.r8.graph.DexType):890:894 -> b
    559:565:java.util.Set cleanForRemoval():948:954 -> b
    566:566:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):324:324 -> b
    566:566:java.util.Set cleanForRemoval():955 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    567:569:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):324:326 -> b
    567:569:java.util.Set cleanForRemoval():955 -> b
    570:570:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>(int[]):135:135 -> b
    570:570:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326 -> b
    570:570:java.util.Set cleanForRemoval():955 -> b
    571:571:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326:326 -> b
    571:571:java.util.Set cleanForRemoval():955 -> b
    572:590:java.util.Set cleanForRemoval():957:975 -> b
    591:592:com.android.tools.r8.ir.code.BasicBlock$EdgeType getEdgeType(com.android.tools.r8.ir.code.BasicBlock):1186:1187 -> b
    1:5:com.android.tools.r8.ir.code.BasicBlock unlinkSinglePredecessor():833:837 -> b0
    1:1:void lambda$notifySuccessorsMayChangeListeners$1(com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener):245:245 -> c
    2:6:void swapSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):369:373 -> c
    7:8:boolean isMarked(int):753:754 -> c
    9:12:boolean hasCatchSuccessor(com.android.tools.r8.ir.code.BasicBlock):1191:1194 -> c
    13:22:boolean isInstructionBeforeThrowingInstruction(com.android.tools.r8.ir.code.Instruction):1522:1531 -> c
    23:23:void clearCatchHandlers():1619:1619 -> c
    1:5:void unlinkSinglePredecessorSiblingsAllowed():843:847 -> c0
    1:2:boolean hasNormalSuccessor(com.android.tools.r8.ir.code.BasicBlock):257:258 -> d
    3:5:void clearCurrentDefinitions():1083:1085 -> d
    6:6:com.android.tools.r8.ir.code.InstructionIterator iterator(int):1683:1683 -> d
    7:7:com.android.tools.r8.ir.code.InstructionIterator iterator(com.android.tools.r8.ir.code.Instruction):1687:1687 -> d
    1:6:com.android.tools.r8.ir.code.BasicBlock unlinkSingleSuccessor():856:861 -> d0
    1:2:void clearUserInfo():729:730 -> e
    3:6:void mark(int):740:743 -> e
    7:7:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(com.android.tools.r8.ir.code.Instruction):1687:1687 -> e
    7:7:java.util.Iterator lambda$instructionsAfter$3(com.android.tools.r8.ir.code.Instruction):657 -> e
    8:20:boolean hasPathTo(com.android.tools.r8.ir.code.BasicBlock):1966:1978 -> e
    1:2:boolean verifyFilledPredecessors():773:774 -> e0
    1:2:int numberInstructions(int):645:646 -> f
    3:3:java.util.Iterator lambda$instructionsBefore$4(com.android.tools.r8.ir.code.Instruction):662:662 -> f
    4:5:void lambda$blocksClean$5(com.android.tools.r8.ir.code.BasicBlock):821:822 -> f
    6:7:boolean consistentCatchHandlers():1054:1055 -> f
    8:8:com.android.tools.r8.ir.code.CatchHandlers com.android.tools.r8.ir.code.BasicBlock.getCatchHandlersWithSuccessorIndexes():1615:1615 -> f
    8:8:boolean consistentCatchHandlers():1056 -> f
    9:11:boolean consistentCatchHandlers():1058:1058 -> f
    14:30:boolean consistentCatchHandlers():1061:1077 -> f
    1:2:void setNumber(int):636:637 -> g
    3:4:void decrementUnfilledPredecessorCount():768:769 -> g
    5:5:java.lang.String lambda$toDetailedString$7(com.android.tools.r8.ir.code.BasicBlock):1276:1276 -> g
    6:8:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1417:1419 -> g
    9:21:void com.android.tools.r8.ir.code.BasicBlock.removeInstructions(java.util.List):1396:1408 -> g
    9:21:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1419 -> g
    22:22:void com.android.tools.r8.ir.code.BasicBlock.setInstructions(java.util.LinkedList):1388:1388 -> g
    22:22:void com.android.tools.r8.ir.code.BasicBlock.removeInstructions(java.util.List):1409 -> g
    22:22:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1419 -> g
    1:4:void link(com.android.tools.r8.ir.code.BasicBlock):812:815 -> h
    5:39:void deduplicatePhis():2009:2043 -> h
    1:4:void detachAllSuccessors():926:929 -> i
    5:6:java.lang.String predecessorPostfix(com.android.tools.r8.ir.code.BasicBlock):1253:1254 -> i
    7:15:int com.android.tools.r8.ir.code.BasicBlock.guardsForCatchSuccessor(com.android.tools.r8.ir.code.BasicBlock):1198:1206 -> i
    7:15:java.lang.String predecessorPostfix(com.android.tools.r8.ir.code.BasicBlock):1254 -> i
    16:18:java.lang.String predecessorPostfix(com.android.tools.r8.ir.code.BasicBlock):1254:1256 -> i
    1:1:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1563:1563 -> j
    2:2:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1567,"2":1568,"3":1569}}
    1567:1567:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1564:1564 -> j
    1568:1568:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1564:1564 -> j
    1569:1569:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1564:1564 -> j
    3:3:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1570,"2":1571,"3":1572}}
    1570:1570:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1565:1565 -> j
    1571:1571:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1565:1565 -> j
    1572:1572:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1565:1565 -> j
    1573:1574:void transferCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1623:1624 -> j
    1:1:com.android.tools.r8.ir.code.Instruction entry():707:707 -> k
    1:2:com.android.tools.r8.ir.code.Instruction exceptionalExit():717:718 -> l
    3:3:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(int):1683:1683 -> l
    3:3:com.android.tools.r8.ir.code.Instruction exceptionalExit():718 -> l
    4:6:com.android.tools.r8.ir.code.Instruction exceptionalExit():719:721 -> l
    1:3:com.android.tools.r8.ir.code.JumpInstruction exit():711:713 -> m
    1:5:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlers():1607:1611 -> n
    1:1:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlersWithSuccessorIndexes():1615:1615 -> o
    1:1:java.util.LinkedList getInstructions():653:653 -> p
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getLocalsAtEntry():111:111 -> q
    1:2:java.util.List getMutablePredecessors():302:303 -> r
    1:2:java.util.List getMutableSuccessors():239:240 -> s
    1:7:java.util.List getNormalPredecessors():314:320 -> t
    1:1:java.lang.String toString():1245:1245 -> toString
    1:5:java.util.List getNormalSuccessors():266:270 -> u
    6:7:void com.android.tools.r8.ir.code.BasicBlock.forEachNormalSuccessor(java.util.function.Consumer):251:252 -> u
    6:7:java.util.List getNormalSuccessors():270 -> u
    8:8:java.util.List getNormalSuccessors():271:271 -> u
    1:2:int getNumber():631:632 -> v
    1:1:java.lang.String getNumberAsString():641:641 -> w
    2:2:java.lang.String getNumberAsString():0:0 -> w
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":644,"2":645,"3":646}}
    644:644:java.lang.String getNumberAsString():641:641 -> w
    645:645:java.lang.String getNumberAsString():641:641 -> w
    646:646:java.lang.String getNumberAsString():641:641 -> w
    643:643:java.lang.String getNumberAsString():641:641 -> w
    1:1:java.util.List getPhis():606:606 -> x
    1:1:java.util.List getPredecessors():298:298 -> y
    1:1:java.util.List getSuccessors():235:235 -> z
com.android.tools.r8.ir.code.BasicBlock$1 -> com.android.tools.r8.internal.t4:
    com.android.tools.r8.ir.code.Instruction next -> c
    com.android.tools.r8.ir.code.Instruction val$instruction -> d
    com.android.tools.r8.ir.code.InstructionIterator iterator -> b
    1:4:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):662:665 -> <init>
    1:1:boolean hasNext():679:679 -> hasNext
    1:3:com.android.tools.r8.ir.code.Instruction advance():668:670 -> j
    1:5:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.BasicBlock$1.next():684:688 -> next
    1:5:java.lang.Object next():662 -> next
    6:6:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.BasicBlock$1.next():686:686 -> next
    6:6:java.lang.Object next():662 -> next
com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener -> com.android.tools.r8.internal.u4:
com.android.tools.r8.ir.code.BasicBlock$EdgeType -> com.android.tools.r8.internal.v4:
    com.android.tools.r8.ir.code.BasicBlock$EdgeType NON_EDGE -> b
    com.android.tools.r8.ir.code.BasicBlock$EdgeType NORMAL -> c
    com.android.tools.r8.ir.code.BasicBlock$EdgeType EXCEPTIONAL -> d
    1:3:void <clinit>():134:136 -> <clinit>
    1:1:void <init>(java.lang.String,int):133:133 -> <init>
com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence -> com.android.tools.r8.internal.w4:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():1986:1986 -> <clinit>
    1:1:void <init>():1986:1986 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.BasicBlock$1):1986:1986 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):1986:1986 -> a
    2:4:boolean com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence.doEquivalent(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi):1989:1991 -> a
    2:4:boolean doEquivalent(java.lang.Object,java.lang.Object):1986 -> a
    5:5:int doHash(java.lang.Object):1986:1986 -> a
    6:7:int com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence.doHash(com.android.tools.r8.ir.code.Phi):2001:2002 -> a
    6:7:int doHash(java.lang.Object):1986 -> a
com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.x4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    1:1:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo.defaultForConstString(com.android.tools.r8.utils.InternalOptions):125 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    2:2:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo.defaultForConstString(com.android.tools.r8.utils.InternalOptions):125 -> a
com.android.tools.r8.ir.code.BasicBlockInstructionIterator -> com.android.tools.r8.internal.A4:
    java.util.ListIterator instructionIterator -> b
    1:2:void <init>(com.android.tools.r8.ir.code.BasicBlock):13:14 -> <init>
    3:4:void <init>(com.android.tools.r8.ir.code.BasicBlock,int):17:18 -> <init>
    5:6:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):22:23 -> <init>
    boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:boolean hasNext():38:38 -> hasNext
    1:1:boolean hasPrevious():28:28 -> hasPrevious
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.BasicBlockInstructionIterator.next():43:43 -> next
    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.internal.B4:
    java.util.ListIterator listIterator -> c
    com.android.tools.r8.ir.code.Instruction current -> d
    boolean $assertionsDisabled -> g
    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>():39:39 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock):48:48 -> <init>
    2:9:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock):44:51 -> <init>
    10:10:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock,int):54:54 -> <init>
    11:24:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock,int):44:57 -> <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):62:63 -> <init>
    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
    1:1:void setInsertionPosition(com.android.tools.r8.ir.code.Position):105:105 -> a
    2:12:void addThrowingInstructionToPossiblyThrowingBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.utils.InternalOptions):138:148 -> a
    13:13:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):225:225 -> a
    14:14:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    14:14:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):228 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:34:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):228:247 -> a
    35:35:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):226:226 -> a
    36:39:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):285:288 -> a
    40:40:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():37:37 -> a
    40:40:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):288 -> a
    41:42:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):289:290 -> a
    43:43:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    43:43:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):290 -> a
    44:44:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):290:290 -> a
    45:45:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setPosition(com.android.tools.r8.ir.code.Position):1662:1662 -> a
    45:45:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):291 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setPosition(com.android.tools.r8.ir.code.Position):1663:1663 -> a
    46:46:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):291 -> a
    47:51:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):291:295 -> a
    52:61:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):303:312 -> a
    62:62:boolean com.android.tools.r8.graph.DexMethod.mustBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):300:300 -> a
    62:62:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):313 -> a
    63:63:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    63:63:boolean com.android.tools.r8.graph.DexMethod.mustBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):300 -> a
    63:63:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):313 -> a
    64:77:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):317:330 -> a
    78:78:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    78:78:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):330 -> a
    79:81:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):340:342 -> a
    82:82:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    82:82:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):342 -> a
    83:106:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):342:365 -> a
    107:107:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    107:107:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):366 -> a
    108:108:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):367:367 -> a
    109:113:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):375:379 -> a
    114:114: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):436:436 -> a
    114:114:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):379 -> a
    115:116:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):380:381 -> a
    117:117:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    117:117:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):381 -> a
    118:118:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    118:118:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):382 -> a
    119:119:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):376:376 -> a
    120:124:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):387:391 -> a
    125:125:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    125:125:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):391 -> a
    126:129:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):391:394 -> a
    130:130:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    130:130:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):395 -> a
    131:131:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):388:388 -> a
    132:140:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):413:421 -> a
    141:141:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    141:141:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):422 -> a
    142:143:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):425:426 -> a
    144:144:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):414:414 -> a
    145:173:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):438:466 -> a
    174:174:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):465:465 -> a
    175:192:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):464:481 -> a
    193:193:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasInsertionPosition():100:100 -> a
    193:193:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):482 -> a
    194:198:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):483:487 -> a
    199:199:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    199:199:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):488 -> a
    200:202:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):488:490 -> a
    203:203:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):439:439 -> a
    204:224:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):500:520 -> a
    225:225:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasNext():68:68 -> a
    225:225:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):525 -> a
    226:232:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):525:531 -> a
    233:233:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):530:530 -> a
    234:257:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):529:552 -> a
    258:258:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasInsertionPosition():100:100 -> a
    258:258:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):553 -> a
    259:265:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):554:560 -> a
    266:266:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    266:266:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):561 -> a
    267:294:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):561:588 -> a
    295:295:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):501:501 -> a
    296:305: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):572:581 -> a
    306:307:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):596:597 -> a
    308:308:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasNext():68:68 -> a
    308:308:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):600 -> a
    309:312:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):600:603 -> a
    313:313:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    313:313:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):603 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    314:314:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    314:314:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):603 -> a
    315:315:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):607:607 -> a
    316:316:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    316:316:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):607 -> a
    317:320:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):607:610 -> a
    321:322:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
    321:322:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):610 -> a
    323:341:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):611:629 -> a
    342:349:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):638:645 -> a
    350:353:com.android.tools.r8.ir.code.BasicBlock splitCopyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):653:656 -> a
    354:386: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):682:714 -> a
    387:392:void removeArgumentInstruction(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value):752:757 -> a
    393:400: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.DexProgramClass):768:775 -> a
    401:403: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.DexProgramClass):774:776 -> a
    404:406:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.canThrow(com.android.tools.r8.ir.code.IRCode):662:664 -> a
    404:406: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.DexProgramClass):778 -> a
    407:423: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.DexProgramClass):782:798 -> a
    424:424:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    424:424: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.DexProgramClass):799 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    425:432: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.DexProgramClass):799:806 -> a
    433:433:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    433:433: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.DexProgramClass):809 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    434:470: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.DexProgramClass):809:845 -> a
    471:471:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    471:471: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.DexProgramClass):849 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    472:476: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.DexProgramClass):849:853 -> a
    477:477:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    477:477: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.DexProgramClass):854 -> a
    478:485: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.DexProgramClass):854:861 -> a
    486:486:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    486:486: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.DexProgramClass):861 -> a
    487:506: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.DexProgramClass):861:880 -> a
    507:507:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    507:507: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.DexProgramClass):880 -> a
    508:508: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.DexProgramClass):883:883 -> a
    509:509:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    509:509: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.DexProgramClass):882 -> a
    510:543: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.DexProgramClass):881:914 -> a
    544:544:com.android.tools.r8.ir.code.BasicBlockIterator com.android.tools.r8.ir.code.IRCode.listIterator(int):1060:1060 -> a
    544:544: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.DexProgramClass):914 -> a
    545:551: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.DexProgramClass):917:923 -> a
    552:552:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    552:552: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.DexProgramClass):924 -> a
    553:558: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.DexProgramClass):924:929 -> a
    559:575:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.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):729:745 -> a
    559:575: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.DexProgramClass):930 -> a
    576:581: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.DexProgramClass):937:942 -> a
    582:582:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    582:582: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.DexProgramClass):942 -> a
    583:593: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.DexProgramClass):942:952 -> a
    594:598: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.DexProgramClass):951:955 -> a
    599:605:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):961:967 -> a
    606:606:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    606:606:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):968 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    607:607:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    607:607:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):968 -> a
    608:633:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):968:993 -> a
    634:634:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    634:634:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):993 -> a
    635:652:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):993:1010 -> a
    653:653:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement):1158:1158 -> a
    653:653: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):253 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    654:654:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasInsertionPosition():100:100 -> a
    654:654: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):255 -> a
    655:656: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):257:258 -> a
    657:657:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    657:657: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):258 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    658:658:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    658:658: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):258 -> a
    659:664: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):260:265 -> a
    665:665: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):1186:1186 -> a
    665:665: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):270 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    666:667: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):1191:1192 -> a
    666:667: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):1186 -> a
    666:667: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):270 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    668:668: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):273:273 -> a
    669:672: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):272:275 -> a
    1:1:void add(java.lang.Object):39:39 -> add
    1:7:void add(com.android.tools.r8.ir.code.Instruction):123:129 -> b
    8:13:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):401:406 -> b
    14:15: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):1191:1192 -> b
    14:15:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):406 -> b
    16:16:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    16:16:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):407 -> b
    17:17:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):402:402 -> b
    1:7:void removeOrReplaceByDebugLocalRead():213:219 -> e
    8:8:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> e
    8:8:void removeOrReplaceByDebugLocalRead():219 -> e
    9:9:void removeOrReplaceByDebugLocalRead():214:214 -> e
    1:1:void unsetInsertionPosition():110:110 -> h
    1:1:boolean hasNext():68:68 -> hasNext
    1:1:boolean hasPrevious():84:84 -> hasPrevious
    1:5:void removeInstructionIgnoreOutValue():204:208 -> i
    6:6:void removeInstructionIgnoreOutValue():205:205 -> i
    1:1:com.android.tools.r8.ir.code.Instruction next():73:73 -> j
    1:1:java.lang.Object next():39:39 -> next
    1:1:int nextIndex():79:79 -> nextIndex
    1:1:java.lang.Object previous():39:39 -> previous
    2:2:com.android.tools.r8.ir.code.Instruction previous():89:89 -> previous
    1:1:int previousIndex():95:95 -> previousIndex
    1:6:void remove():179:184 -> remove
    7:7:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> remove
    7:7:void remove():184 -> remove
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:9:void remove():184:185 -> remove
    10:10:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> remove
    10:10:void remove():185 -> remove
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:25:void remove():185:199 -> remove
    26:26:void remove():180:180 -> remove
    1:1:void set(java.lang.Object):39:39 -> set
    2:5:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.set(com.android.tools.r8.ir.code.Instruction):162:165 -> set
    2:5:void set(java.lang.Object):39 -> set
com.android.tools.r8.ir.code.BasicBlockIterator -> com.android.tools.r8.internal.D4:
    java.util.ListIterator listIterator -> c
    com.android.tools.r8.ir.code.IRCode code -> b
    com.android.tools.r8.ir.code.BasicBlock current -> d
    1:3:void <init>(com.android.tools.r8.ir.code.IRCode):17:19 -> <init>
    4:6:void <init>(com.android.tools.r8.ir.code.IRCode,int):22:24 -> <init>
    1:1:void add(java.lang.Object):11:11 -> add
    2:2:void com.android.tools.r8.ir.code.BasicBlockIterator.add(com.android.tools.r8.ir.code.BasicBlock):73:73 -> add
    2:2:void add(java.lang.Object):11 -> add
    1:1:boolean hasNext():37:37 -> hasNext
    1:1:boolean hasPrevious():53:53 -> hasPrevious
    1:1:com.android.tools.r8.ir.code.BasicBlock next():42:42 -> j
    1:1:java.lang.Object next():11:11 -> next
    1:1:int nextIndex():48:48 -> nextIndex
    1:1:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previous():58:58 -> previous
    1:1:java.lang.Object previous():11 -> previous
    1:1:int previousIndex():64:64 -> previousIndex
    1:12:void remove():91:102 -> remove
    13:13:void remove():92:92 -> remove
    1:1:void set(java.lang.Object):11:11 -> set
    2:2:void com.android.tools.r8.ir.code.BasicBlockIterator.set(com.android.tools.r8.ir.code.BasicBlock):78:78 -> set
    2:2:void set(java.lang.Object):11 -> set
com.android.tools.r8.ir.code.Binop -> com.android.tools.r8.internal.Y4:
    com.android.tools.r8.ir.code.NumericType type -> i
    1:8: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:31 -> <init>
    boolean hasInvariantOutType() -> V0
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:8:boolean isTwoAddr(com.android.tools.r8.ir.regalloc.RegisterAllocator):51:58 -> a
    9:9:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> a
    9:9:boolean isTwoAddr(com.android.tools.r8.ir.regalloc.RegisterAllocator):58 -> a
    10:10:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():90:90 -> a
    10:10:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):127 -> a
    11:12:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):132:133 -> a
    13:13:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):138:138 -> a
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:3:boolean com.android.tools.r8.ir.code.Binop.fitsInLit16Instruction(com.android.tools.r8.ir.code.Value):68:70 -> h
    1:3:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):64 -> h
    1:1:int maxInValueRegister():90:90 -> h2
    1:1:int maxOutValueRegister():95:95 -> i2
    1:1:com.android.tools.r8.ir.code.NumericType getNumericType():36:36 -> m2
    boolean isCommutative() -> n2
    boolean isBinop() -> o1
    1:1:com.android.tools.r8.ir.code.Value leftValue():40:40 -> o2
    1:2:int maxInOutValueRegisterSize():82:83 -> p2
    1:1:com.android.tools.r8.ir.code.Value rightValue():44:44 -> q2
    com.android.tools.r8.ir.code.Binop asBinop() -> u
com.android.tools.r8.ir.code.CanonicalPositions -> com.android.tools.r8.internal.v6:
    java.util.Map canonicalPositions -> b
    boolean $assertionsDisabled -> f
    com.android.tools.r8.ir.code.Position callerPosition -> a
    com.android.tools.r8.ir.code.Position preamblePosition -> c
    boolean isCompilerSynthesizedInlinee -> d
    com.android.tools.r8.ir.code.Position syntheticPosition -> e
    1:1:void <clinit>():18:18 -> <clinit>
    1:15:void <init>(com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.graph.DexMethod,boolean):31:45 -> <init>
    16:26:void <init>(com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.graph.DexMethod,boolean):40:50 -> <init>
    1:1:com.android.tools.r8.ir.code.Position getPreamblePosition():55:55 -> a
    2:18:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):73:89 -> a
    19:19:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.disableLineCheck():271:271 -> a
    19:19:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):90 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.disableLineCheck():272:272 -> a
    20:20:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):90 -> a
    21:23:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):90:92 -> a
    24:24:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):85:85 -> a
    25:34:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):102:111 -> a
    35:35:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.CanonicalPositions.getPreamblePosition():55:55 -> a
    35:35:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):115 -> a
    36:46:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):116:126 -> a
    47:47:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    47:47:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):126 -> a
    48:51:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):126:129 -> a
    1:1:com.android.tools.r8.ir.code.Position getCanonical(com.android.tools.r8.ir.code.Position):63:63 -> b
com.android.tools.r8.ir.code.CatchHandlers -> com.android.tools.r8.internal.y6:
    java.util.List guards -> b
    java.util.Set uniqueTargets -> d
    java.util.List targets -> c
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.code.CatchHandlers EMPTY_INDICES -> e
    com.android.tools.r8.ir.code.CatchHandlers EMPTY_BASIC_BLOCK -> f
    1:23:void <clinit>():17:39 -> <clinit>
    1:3:void <init>():41:43 -> <init>
    4:9:void <init>(java.util.List,java.util.List):46:51 -> <init>
    1:1:java.util.List access$000(com.android.tools.r8.ir.code.CatchHandlers):17:17 -> a
    2:2:java.util.List com.android.tools.r8.ir.code.CatchHandlers.getGuards():64:64 -> a
    2:2:boolean hasCatchAll(com.android.tools.r8.graph.DexItemFactory):79 -> a
    3:3:boolean hasCatchAll(com.android.tools.r8.graph.DexItemFactory):79:79 -> a
    4:4:java.util.List com.android.tools.r8.ir.code.CatchHandlers.getGuards():64:64 -> a
    4:4:boolean hasCatchAll(com.android.tools.r8.graph.DexItemFactory):80 -> a
    5:5:boolean hasCatchAll(com.android.tools.r8.graph.DexItemFactory):80:80 -> a
    6:6:java.util.List getAllTargets():68:68 -> a
    7:10:com.android.tools.r8.ir.code.CatchHandlers appendGuard(com.android.tools.r8.graph.DexType,java.lang.Object):84:87 -> a
    11:20:com.android.tools.r8.ir.code.CatchHandlers removeGuard(com.android.tools.r8.graph.DexType):91:100 -> a
    21:22:void lambda$removeGuard$0(com.android.tools.r8.graph.DexType,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,java.lang.Object):96:97 -> a
    23:24:void forEach(java.util.function.BiConsumer):104:105 -> a
    1:1:java.util.List access$100(com.android.tools.r8.ir.code.CatchHandlers):17:17 -> b
    2:2:java.util.List getGuards():64:64 -> b
    1:4:java.util.Set getUniqueTargets():72:75 -> c
    1:5:boolean equals(java.lang.Object):135:139 -> equals
    1:1:int hashCode():144:144 -> hashCode
    1:1:java.util.Iterator iterator():111:111 -> iterator
    1:2:int size():59:60 -> size
com.android.tools.r8.ir.code.CatchHandlers$1 -> com.android.tools.r8.internal.w6:
    com.android.tools.r8.ir.code.CatchHandlers this$0 -> c
    int nextIndex -> b
    1:3:void <init>(com.android.tools.r8.ir.code.CatchHandlers):111:113 -> <init>
    1:1:boolean hasNext():117:117 -> hasNext
    1:4:com.android.tools.r8.ir.code.CatchHandlers$CatchHandler com.android.tools.r8.ir.code.CatchHandlers$1.next():122:125 -> next
    1:4:java.lang.Object next():111 -> next
com.android.tools.r8.ir.code.CatchHandlers$CatchHandler -> com.android.tools.r8.internal.x6:
    java.lang.Object target -> b
    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.internal.p9:
    int $r8$clinit -> l
    com.android.tools.r8.graph.DexType type -> i
    boolean ignoreCompatRules -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):40:40 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,boolean):44:46 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:5:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):54:58 -> a
    6:6:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.CheckCast.getType():90:90 -> a
    6:6:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):59 -> a
    7:7:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):59:59 -> a
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.CheckCast.getType():90:90 -> a
    8:8:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):60 -> a
    9:20:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):60:71 -> a
    21:33:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):102:114 -> a
    34:34:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):142:142 -> a
    35:35: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
    36:36:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):206:206 -> a
    37:43:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):211:217 -> a
    44:44:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.CheckCast.getType():90:90 -> a
    44:44:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):218 -> a
    45:65:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):218:238 -> a
    66:67:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):250:251 -> a
    68:68:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):262:262 -> a
    69:69:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):267:267 -> a
    70:70:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    70:70:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):267 -> a
    71:71:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):267:267 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):126:126 -> b
    2:25:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):147:170 -> b
    1:1:com.android.tools.r8.code.CheckCast createCheckCast(int):121:121 -> c
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.CheckCast.getType():90:90 -> c
    2:2:com.android.tools.r8.code.CheckCast createCheckCast(int):121 -> c
    3:3:boolean com.android.tools.r8.ir.code.CheckCast.ignoreCompatRules():76:76 -> c
    3:3:com.android.tools.r8.code.CheckCast createCheckCast(int):121 -> c
    4:4:com.android.tools.r8.code.CheckCast createCheckCast(int):121:121 -> c
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    int maxInValueRegister() -> h2
    1:1:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> i
    1:1:com.android.tools.r8.ir.code.Value object():94 -> i
    2:2:com.android.tools.r8.ir.code.Value object():94:94 -> i
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexType getType():90:90 -> m2
    1:1:boolean ignoreCompatRules():76:76 -> n2
    boolean isCheckCast() -> p1
    1:1:java.lang.String toString():195:195 -> toString
    com.android.tools.r8.ir.code.CheckCast asCheckCast() -> v
com.android.tools.r8.ir.code.CheckCast$Builder -> com.android.tools.r8.internal.o9:
    com.android.tools.r8.ir.code.Value object -> d
    com.android.tools.r8.graph.DexType castType -> c
    1:1:void <init>():275:275 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.CheckCast$Builder setCastType(com.android.tools.r8.graph.DexType):281:281 -> a
    1:1:com.android.tools.r8.ir.code.CheckCast$Builder setObject(com.android.tools.r8.ir.code.Value):286:286 -> b
    2:2:com.android.tools.r8.ir.code.CheckCast build():292:292 -> b
    3:3:void com.android.tools.r8.ir.code.CheckCast.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):40:40 -> b
    3:3:com.android.tools.r8.ir.code.CheckCast build():292 -> b
    4:4:com.android.tools.r8.ir.code.CheckCast build():292:292 -> b
com.android.tools.r8.ir.code.Cmp -> com.android.tools.r8.internal.ub:
    boolean $assertionsDisabled -> k
    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>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:28:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):57:84 -> a
    29:29:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":145,"2":146,"3":147}}
    145:145:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    146:146:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    147:147:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    113:113:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    114:119:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:76 -> a
    120:144:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:86 -> a
    148:150:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):163:165 -> a
    151:151:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    151:151:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):165 -> a
    152:152:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):165:165 -> a
    153:153:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    153:153:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):165 -> a
    154:165:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):166:177 -> a
    166:177:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):175:186 -> a
    178:185:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):184:191 -> a
    186:186:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isValueRange():0:0 -> a
    186:186:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):192 -> a
    187:187:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):192:192 -> a
    188:188:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    188:188:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):192 -> a
    189:192:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):193:196 -> a
    193:193:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):195:195 -> a
    194:194:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    194:194:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):197 -> a
    195:195:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):197:197 -> a
    196:196:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isValueRange():0:0 -> a
    196:196:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):197 -> a
    197:200:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):198:201 -> a
    201:203:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):200:202 -> a
    204:204:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isValueRange():0:0 -> a
    204:204:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):202 -> a
    205:208:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):203:206 -> a
    209:212:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):205:208 -> a
    213:219:com.android.tools.r8.ir.analysis.constant.LatticeElement buildLatticeResult(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.LongInterval,com.android.tools.r8.utils.LongInterval) -> a
    220:220:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):234:234 -> a
    221:221:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):239:239 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):136:136 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):136 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):136:136 -> b
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    boolean isCommutative() -> n2
    1:17:java.lang.String toString():104:120 -> toString
    18:18:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":188,"2":189,"3":190}}
    188:188:java.lang.String toString():120:120 -> toString
    189:189:java.lang.String toString():120:120 -> toString
    190:190:java.lang.String toString():120:120 -> toString
    138:138:java.lang.String toString():120:120 -> toString
    139:140:java.lang.String toString():113:114 -> toString
    141:149:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):90:98 -> toString
    141:149:java.lang.String toString():114 -> toString
    150:150:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):94:94 -> toString
    150:150:java.lang.String toString():114 -> toString
    151:151:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):92:92 -> toString
    151:151:java.lang.String toString():114 -> toString
    152:152:java.lang.String toString():114:114 -> toString
    153:154:java.lang.String toString():109:110 -> toString
    155:163:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):90:98 -> toString
    155:163:java.lang.String toString():110 -> toString
    164:164:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):94:94 -> toString
    164:164:java.lang.String toString():110 -> toString
    165:165:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):92:92 -> toString
    165:165:java.lang.String toString():110 -> toString
    166:187:java.lang.String toString():110:131 -> toString
    com.android.tools.r8.ir.code.Cmp asCmp() -> w
com.android.tools.r8.ir.code.Cmp$1 -> com.android.tools.r8.internal.sb:
    int[] $SwitchMap$com$android$tools$r8$ir$code$Cmp$Bias -> b
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():90:90 -> <clinit>
    2:2:void <clinit>():60:60 -> <clinit>
com.android.tools.r8.ir.code.Cmp$Bias -> com.android.tools.r8.internal.tb:
    com.android.tools.r8.ir.code.Cmp$Bias GT -> c
    com.android.tools.r8.ir.code.Cmp$Bias[] $VALUES -> e
    com.android.tools.r8.ir.code.Cmp$Bias LT -> d
    com.android.tools.r8.ir.code.Cmp$Bias NONE -> b
    1:1:void <clinit>():29:29 -> <clinit>
    2:2:void <clinit>():28:28 -> <clinit>
    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.internal.gd:
    com.android.tools.r8.graph.DexType clazz -> j
    int $r8$clinit -> m
    boolean ignoreCompatRules -> k
    boolean $assertionsDisabled -> l
    1:1:void <clinit>():26:26 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,boolean):36:38 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2:com.android.tools.r8.ir.code.ConstClass copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstClass):66:67 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.ConstClass.getValue():75:75 -> a
    3:3:com.android.tools.r8.ir.code.ConstClass copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstClass):67 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    4:4:com.android.tools.r8.ir.code.ConstClass copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstClass):67 -> a
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstClass.dest():71:71 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80 -> a
    6:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80:81 -> a
    8:8:boolean com.android.tools.r8.ir.code.ConstClass.ignoreCompatRules():86:86 -> a
    8:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):81 -> a
    9:9:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):81:81 -> a
    10:10:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):154:154 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):180:180 -> a
    12:12:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):185:185 -> a
    13:13: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):436:436 -> a
    13:13:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):185 -> a
    14:14:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):190:190 -> a
    15:15:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):195:195 -> a
    16:16:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):200:200 -> a
    17:17:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    17:17:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):200 -> a
    18:18:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):200:200 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    19:19:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):206 -> a
    20:22:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):207:209 -> a
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.ConstClass.getValue():75:75 -> b
    1:1:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):122 -> b
    2:25:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):122:145 -> b
    26:26:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):164:164 -> b
    27:27:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> b
    27:27:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):164 -> b
    28:28:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):164:164 -> b
    boolean instructionInstanceCanThrow() -> b1
    boolean instructionTypeCanThrow() -> d1
    1:1:int maxInValueRegister():91:91 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexType getType():46:46 -> m2
    1:1:com.android.tools.r8.graph.DexType getValue():75:75 -> n2
    1:1:java.lang.String toString():102:102 -> toString
    com.android.tools.r8.ir.code.ConstClass asConstClass() -> x
com.android.tools.r8.ir.code.ConstClass$Builder -> com.android.tools.r8.internal.fd:
    com.android.tools.r8.graph.DexType type -> c
    1:1:void <init>():212:212 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.ConstClass$Builder setType(com.android.tools.r8.graph.DexType):217:217 -> a
    1:1:com.android.tools.r8.ir.code.ConstClass build():223:223 -> b
    2:2:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> b
    2:2:com.android.tools.r8.ir.code.ConstClass build():223 -> b
    3:3:com.android.tools.r8.ir.code.ConstClass build():223:223 -> b
com.android.tools.r8.ir.code.ConstInstruction -> com.android.tools.r8.internal.hd:
    int $r8$clinit -> i
    1:1:void <init>(com.android.tools.r8.ir.code.Value):33:33 -> <init>
    com.android.tools.r8.ir.code.ConstInstruction getOutConstantConstInstruction() -> Q0
    boolean hasInvariantOutType() -> V0
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():106:106 -> a
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):54 -> a
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isConstInstruction() -> r1
    com.android.tools.r8.ir.code.ConstInstruction asConstInstruction() -> y
com.android.tools.r8.ir.code.ConstMethodHandle -> com.android.tools.r8.internal.jd:
    com.android.tools.r8.graph.DexMethodHandle methodHandle -> j
    boolean $assertionsDisabled -> k
    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>
    boolean isOutConstant() -> W1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.ConstMethodHandle copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodHandle):47:47 -> a
    2:2:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.ir.code.ConstMethodHandle.getValue():55:55 -> a
    2:2:com.android.tools.r8.ir.code.ConstMethodHandle copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodHandle):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.ir.code.ConstMethodHandle copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodHandle):47:47 -> a
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstMethodHandle.dest():51:51 -> a
    4:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60 -> a
    5:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60:61 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):66:66 -> a
    8:8:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):119:119 -> a
    9:9:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):118:118 -> a
    10:10:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):124:124 -> a
    11:11:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):129:129 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstMethodHandle():343:343 -> 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):83 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:71 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:71 -> b
    boolean instructionTypeCanThrow() -> d1
    1:1:int maxInValueRegister():76:76 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexMethodHandle getValue():55:55 -> m2
    1:1:java.lang.String toString():93:93 -> toString
    com.android.tools.r8.ir.code.ConstMethodHandle asConstMethodHandle() -> z
com.android.tools.r8.ir.code.ConstMethodType -> com.android.tools.r8.internal.kd:
    com.android.tools.r8.graph.DexProto methodType -> j
    boolean $assertionsDisabled -> k
    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>
    com.android.tools.r8.ir.code.ConstMethodType asConstMethodType() -> A
    boolean isOutConstant() -> W1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.ConstMethodType copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodType):47:47 -> a
    2:2:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.code.ConstMethodType.getValue():55:55 -> a
    2:2:com.android.tools.r8.ir.code.ConstMethodType copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodType):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.ir.code.ConstMethodType copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodType):47:47 -> a
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstMethodType.dest():51:51 -> a
    4:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60 -> a
    5:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60:61 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):66:66 -> a
    8:8:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):113:113 -> a
    9:9:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):112:112 -> a
    10:10:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):118:118 -> a
    11:11:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):123:123 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstMethodType():347:347 -> 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):129 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:71 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:71 -> b
    boolean instructionTypeCanThrow() -> d1
    1:1:int maxInValueRegister():76:76 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:java.lang.String toString():87:87 -> toString
com.android.tools.r8.ir.code.ConstNumber -> com.android.tools.r8.internal.md:
    long value -> j
    int $r8$clinit -> l
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():36:36 -> <clinit>
    1:6:void <init>(com.android.tools.r8.ir.code.Value,long):41:46 -> <init>
    com.android.tools.r8.ir.code.ConstNumber asConstNumber() -> B
    boolean isOutConstant() -> W1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:3:com.android.tools.r8.ir.code.ConstNumber copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstNumber):67:69 -> a
    4:5:com.android.tools.r8.ir.code.ConstNumber copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstNumber):73:74 -> a
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstNumber.dest():78:78 -> a
    6:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):137 -> a
    7:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):137:138 -> a
    9:9:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstNumber.dest():78:78 -> a
    9:9:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):142 -> a
    10:11:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):142:143 -> a
    12:12:boolean com.android.tools.r8.ir.code.ValueType.isSingle():42:42 -> a
    12:12:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):143 -> a
    13:21:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):155:163 -> a
    22:30:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):144:152 -> a
    31:35:boolean isIntegerNegativeOne(com.android.tools.r8.ir.code.NumericType):123:127 -> a
    36:36:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):170:170 -> a
    37:40:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):175:178 -> a
    41:41:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184:184 -> a
    42:42:int com.android.tools.r8.ir.code.ConstNumber.estimatedDexSize(com.android.tools.r8.ir.code.ValueType,long):222:222 -> a
    42:42:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    43:43:boolean com.android.tools.r8.ir.code.ValueType.isSingle():42:42 -> a
    43:43:int com.android.tools.r8.ir.code.ConstNumber.estimatedDexSize(com.android.tools.r8.ir.code.ValueType,long):222 -> a
    43:43:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    44:55:int com.android.tools.r8.ir.code.ConstNumber.estimatedDexSize(com.android.tools.r8.ir.code.ValueType,long):223:234 -> a
    44:55:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    56:86:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):188:218 -> a
    56:86:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    87:87:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):211:211 -> a
    87:87:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    88:88:boolean com.android.tools.r8.cf.code.CfConstNumber.isNegativeZeroDouble(double):149:149 -> a
    88:88:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):211 -> a
    88:88:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    89:89:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):205:205 -> a
    89:89:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    90:90:boolean com.android.tools.r8.cf.code.CfConstNumber.isNegativeZeroFloat(float):153:153 -> a
    90:90:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):205 -> a
    90:90:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    91:92:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):312:313 -> a
    93:96:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):318:321 -> a
    97:97:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):326:326 -> a
    98:99:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):331:332 -> a
    100:100:boolean outTypeKnownToBeBoolean(java.util.Set):338:338 -> a
    101:101:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):344:344 -> a
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):272:276 -> b
    boolean instructionTypeCanBeCanonicalized() -> c1
    1:1:int maxInValueRegister():249:249 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Value dest():78:78 -> m2
    1:2:double getDoubleValue():102:103 -> n2
    1:2:float getFloatValue():97:98 -> o2
    1:3:int getIntValue():86:86 -> p2
    5:5:int getIntValue():88:88 -> p2
    1:2:long getLongValue():92:93 -> q2
    1:1:long getRawValue():107:107 -> r2
    boolean isConstNumber() -> s1
    1:1:boolean is16Bit():288:288 -> s2
    1:1:boolean is8Bit():280:280 -> t2
    1:4:java.lang.String toString():260:263 -> toString
    1:1:boolean isIntegerOne():119:119 -> u2
    1:1:boolean isZero():111:111 -> v2
    1:1:boolean negativeIs16Bit():292:292 -> w2
    1:1:boolean negativeIs8Bit():284:284 -> x2
com.android.tools.r8.ir.code.ConstNumber$1 -> com.android.tools.r8.internal.ld:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():188:188 -> <clinit>
com.android.tools.r8.ir.code.ConstString -> com.android.tools.r8.internal.od:
    int $r8$clinit -> l
    boolean $assertionsDisabled -> k
    com.android.tools.r8.graph.DexString value -> j
    1:1:void <clinit>():26:26 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexString):31:32 -> <init>
    com.android.tools.r8.ir.code.ConstString asConstString() -> C
    boolean isOutConstant() -> W1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2: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
    3:3:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.code.ConstString.getValue():61:61 -> a
    3:3:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):53 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    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:53 -> a
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstString.dest():57:57 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71 -> a
    6:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:72 -> 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):134:134 -> a
    9:9:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> 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):134 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> 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):134 -> 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):134:137 -> 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):135:135 -> a
    16:16:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):142:142 -> a
    17:17:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):147:147 -> a
    18:18:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):152:152 -> a
    19:19:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):157:157 -> a
    20:23:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):168:171 -> a
    24:26:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):176:178 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):77:77 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):77 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):77:77 -> b
    1:6:boolean instructionInstanceCanThrow():120:125 -> b1
    boolean instructionTypeCanBeCanonicalized() -> c1
    boolean instructionTypeCanThrow() -> d1
    1:1:int maxInValueRegister():82:82 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexString getValue():61:61 -> m2
    1:1:java.lang.String toString():93:93 -> toString
com.android.tools.r8.ir.code.ConstantValueUtils -> com.android.tools.r8.internal.wd:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:6:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):20:25 -> a
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    7:7:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):25 -> a
    8:11:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):26:29 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    12:12:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):29 -> a
    13:15:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):30:32 -> a
    16:16:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> a
    16:16:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):32 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> a
    17:17:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):32 -> a
    18:18:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):33:33 -> a
    19:20:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):42:43 -> a
    21:21:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> a
    21:21:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):43 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> a
    22:22:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):43 -> a
    23:23:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):42:42 -> a
    24:24:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    24:24:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44:44 -> a
    26:26:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    26:26:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44 -> a
    27:27:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44:44 -> a
    28:28:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    28:28:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):45 -> a
    29:33:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):45:49 -> a
    34:34:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313:313 -> a
    34:34:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):48 -> a
    35:36:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    35:36:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313 -> a
    35:36:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):48 -> a
    37:37:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):315:315 -> a
    37:37:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):48 -> a
    38:42:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):51:55 -> a
    43:43:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    43:43:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):55 -> a
    44:44:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):56:56 -> a
com.android.tools.r8.ir.code.DebugLocalRead -> com.android.tools.r8.internal.Ae:
    1:1:void <init>():20:20 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45:45 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):50:50 -> a
    3:3: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
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugLocalRead():110:110 -> 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):71 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):55:55 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):55 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:int maxInValueRegister():60:60 -> h2
    1:1:int maxOutValueRegister():65:65 -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.DebugLocalUninitialized -> com.android.tools.r8.internal.Be:
    1:1:void <init>(com.android.tools.r8.ir.code.Value):21:21 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    boolean isAllowedAfterThrowingInstruction() -> f1
com.android.tools.r8.ir.code.DebugLocalWrite -> com.android.tools.r8.internal.Ce:
    boolean $assertionsDisabled -> j
    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):30:31 -> <init>
    boolean isOutConstant() -> W1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):61:61 -> a
    2:2:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):66:66 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):72:72 -> a
    4:5:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):82:83 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):56:56 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):56 -> b
    boolean isAllowedAfterThrowingInstruction() -> f1
com.android.tools.r8.ir.code.DebugLocalsChange -> com.android.tools.r8.internal.De:
    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 -> k
    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() -> D
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.code.DebugLocalsChange.getEnding():44:44 -> a
    1:1:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):109 -> a
    2:4:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):109:111 -> a
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.code.DebugLocalsChange.getStarting():48:48 -> a
    5:5:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):115 -> a
    6:9:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):115:118 -> a
    10:10:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):63:63 -> a
    11:11: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
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugLocalsChange():114:114 -> 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):104 -> a
    13:13:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):125:125 -> a
    14:14:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135:135 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):68:68 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):68 -> b
    3:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:73 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isAllowedAfterThrowingInstruction() -> f1
    1:1:int maxInValueRegister():78:78 -> h2
    1:1:int maxOutValueRegister():83:83 -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getEnding():44:44 -> m2
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getStarting():48:48 -> n2
    1:6:java.lang.String toString():93:98 -> toString
com.android.tools.r8.ir.code.DebugPosition -> com.android.tools.r8.internal.Ee:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    com.android.tools.r8.ir.code.DebugPosition asDebugPosition() -> E
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45:45 -> a
    2:2:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45 -> a
    3:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45:45 -> a
    4:4:void com.android.tools.r8.ir.conversion.DexBuilder.addDebugPosition(com.android.tools.r8.ir.code.DebugPosition):618:618 -> a
    4:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):46 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5: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
    6:6:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87:87 -> a
    7:7:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87 -> a
    8:10:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87:89 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugPosition():118:118 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):67 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):51:51 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):51 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isAllowedAfterThrowingInstruction() -> f1
    1:1:int maxInValueRegister():56:56 -> h2
    1:1:int maxOutValueRegister():61:61 -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration -> com.android.tools.r8.internal.Fe:
    com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():7:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:1:com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration getInstance():15:15 -> a
    2:2:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):25:25 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    3:3:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):25 -> a
    4:5:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):25:26 -> a
    1:1:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):20:20 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    2:2:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):20 -> b
com.android.tools.r8.ir.code.DefaultInstructionVisitor -> com.android.tools.r8.internal.Oe:
    1:1:void <init>():7:7 -> <init>
    java.lang.Object handleFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction) -> a
    java.lang.Object handleInvoke(com.android.tools.r8.ir.code.Invoke) -> a
    java.lang.Object com.android.tools.r8.ir.code.InstructionVisitor.visit(com.android.tools.r8.ir.code.NewUnboxedEnumInstance) -> a
    java.lang.Object com.android.tools.r8.ir.code.InstructionVisitor.visit(com.android.tools.r8.ir.code.NewInstance) -> a
com.android.tools.r8.ir.code.DexItemBasedConstString -> com.android.tools.r8.internal.ug:
    int $r8$clinit -> m
    com.android.tools.r8.graph.DexReference item -> j
    boolean $assertionsDisabled -> l
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> k
    1:1:void <clinit>():25:25 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):32:34 -> <init>
    com.android.tools.r8.ir.code.DexItemBasedConstString asDexItemBasedConstString() -> F
    boolean isOutConstant() -> W1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):54:55 -> a
    3:3:com.android.tools.r8.graph.DexReference com.android.tools.r8.ir.code.DexItemBasedConstString.getItem():59:59 -> a
    3:3:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):55 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):55:55 -> a
    5:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:84 -> a
    7:7: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.ProgramMethod):94:94 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):158 -> 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):132:132 -> a
    9:9:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):137:137 -> a
    10:10:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):142:142 -> a
    11:11:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):147:147 -> a
    12:12:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):152:152 -> a
    13:14:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):170:171 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):91:91 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):91 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92:93 -> b
    boolean instructionInstanceCanThrow() -> b1
    boolean instructionTypeCanBeCanonicalized() -> c1
    boolean instructionTypeCanThrow() -> d1
    1:1:int maxInValueRegister():98:98 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexReference getItem():59:59 -> m2
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():63:63 -> n2
    1:1:java.lang.String toString():109:109 -> toString
com.android.tools.r8.ir.code.Div -> com.android.tools.r8.internal.lh:
    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>
    com.android.tools.r8.ir.code.Div asDiv() -> G
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):69:69 -> a
    2:2:int foldIntegers(int,int):114:114 -> a
    3:3:long foldLongs(long,long):119:119 -> a
    4:5:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):139:140 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):140 -> a
    7:10:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):140:143 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):64:64 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):89:89 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isDiv():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):54:54 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):84:84 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):74:74 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):99:99 -> d
    1:1:boolean instructionTypeCanThrow():134:134 -> d1
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):79:79 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):94:94 -> e
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):59:59 -> f
    int opcode() -> j2
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():148:148 -> r2
com.android.tools.r8.ir.code.DominatorTree -> com.android.tools.r8.internal.oh:
    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
    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>
    1:195:java.lang.Iterable dominatorBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree$Inclusive):0:194 -> a
    196:196:boolean dominatedBy(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):103:103 -> a
    197:203:boolean com.android.tools.r8.ir.code.DominatorTree.strictlyDominatedBy(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):134:140 -> a
    197:203:boolean dominatedBy(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):107 -> a
    204:211:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):157:164 -> a
    212:212:boolean com.android.tools.r8.ir.code.DominatorTree.postorderCompareLess(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):247:247 -> a
    212:212:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):296 -> a
    212:212:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):164 -> a
    213:213:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):297:297 -> a
    213:213:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):164 -> a
    214:214:boolean com.android.tools.r8.ir.code.DominatorTree.postorderCompareLess(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):247:247 -> a
    214:214:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):299 -> a
    214:214:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):164 -> a
    215:215:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):300:300 -> a
    215:215:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):164 -> a
    216:220:java.util.Collection dominatedBlocks(com.android.tools.r8.ir.code.BasicBlock,java.util.Collection):176:180 -> a
    221:248:java.util.Iterator lambda$dominatorBlocks$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree$Inclusive):195:222 -> a
    249:273:void build():256:280 -> a
    274:274:boolean com.android.tools.r8.ir.code.DominatorTree.postorderCompareLess(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):247:247 -> a
    274:274:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):296 -> a
    274:274:void build():281 -> a
    275:275:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):297:297 -> a
    275:275:void build():281 -> a
    276:276:boolean com.android.tools.r8.ir.code.DominatorTree.postorderCompareLess(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):247:247 -> a
    276:276:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):299 -> a
    276:276:void build():281 -> a
    277:277:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):300:300 -> a
    277:277:void build():281 -> a
    278:279:void build():284:285 -> a
    1:2:com.android.tools.r8.ir.code.BasicBlock immediateDominator(com.android.tools.r8.ir.code.BasicBlock):91:92 -> b
    3:3:com.android.tools.r8.ir.code.BasicBlock[] getSortedBlocks():236:236 -> b
    4:5:boolean recordChangesToControlFlowEdges(java.util.List):320:321 -> b
    1:4:java.lang.Iterable normalExitDominatorBlocks():229:232 -> c
    1:2:void numberBlocks():240:241 -> d
    1:1:void onPredecessorsMayChange(com.android.tools.r8.ir.code.BasicBlock):333:333 -> e
    1:1:void onSuccessorsMayChange(com.android.tools.r8.ir.code.BasicBlock):328:328 -> f
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":318,"2":319,"3":320}}
    318:318:java.lang.String toString():308:308 -> toString
    319:319:java.lang.String toString():308:308 -> toString
    320:320:java.lang.String toString():309:309 -> toString
    311:317:java.lang.String toString():310:316 -> toString
com.android.tools.r8.ir.code.DominatorTree$1 -> com.android.tools.r8.internal.mh:
    com.android.tools.r8.ir.code.DominatorTree this$0 -> c
    com.android.tools.r8.ir.code.BasicBlock current -> b
    boolean $assertionsDisabled -> d
    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
    1:9:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree$1.next():206:214 -> next
    1:9:java.lang.Object next():196 -> next
com.android.tools.r8.ir.code.DominatorTree$Inclusive -> com.android.tools.r8.internal.nh:
    com.android.tools.r8.ir.code.DominatorTree$Inclusive NO -> b
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(java.lang.String,int):23:23 -> <init>
com.android.tools.r8.ir.code.Dup -> com.android.tools.r8.internal.xh:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():18:18 -> <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):21:21 -> <init>
    2:3:void <init>(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.Value):25:26 -> <init>
    com.android.tools.r8.ir.code.Dup asDup() -> H
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):66:66 -> a
    2:5:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):71:74 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDup():122:122 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):96 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):80:80 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):80 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:5:com.android.tools.r8.ir.code.Value setOutValue(com.android.tools.r8.ir.code.Value):41:45 -> f
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():90:90 -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.StackValue[] com.android.tools.r8.ir.code.Dup.getStackValues():49:49 -> m2
    1:1:com.android.tools.r8.ir.code.StackValue outBottom():53 -> m2
    2:2:com.android.tools.r8.ir.code.StackValue outBottom():53:53 -> m2
    1:1:com.android.tools.r8.ir.code.StackValue[] com.android.tools.r8.ir.code.Dup.getStackValues():49:49 -> n2
    1:1:com.android.tools.r8.ir.code.StackValue outTop():57 -> n2
    2:2:com.android.tools.r8.ir.code.StackValue outTop():57:57 -> n2
    1:1:com.android.tools.r8.ir.code.StackValue src():61:61 -> o2
com.android.tools.r8.ir.code.Dup2 -> com.android.tools.r8.internal.wh:
    boolean $assertionsDisabled -> i
    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.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):28:28 -> <init>
    2:7:void <init>(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):35:40 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):89:89 -> a
    3:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDup2():126:126 -> a
    3:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):110 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):94:94 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup2():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):94 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:5:com.android.tools.r8.ir.code.Value setOutValue(com.android.tools.r8.ir.code.Value):55:59 -> f
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():104:104 -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.FieldGet -> com.android.tools.r8.internal.Fj:
    com.android.tools.r8.ir.code.Value outValue() -> a
com.android.tools.r8.ir.code.FieldInstruction -> com.android.tools.r8.internal.Ij:
    com.android.tools.r8.graph.DexField field -> i
    boolean $assertionsDisabled -> j
    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>
    com.android.tools.r8.ir.code.FieldInstruction asFieldInstruction() -> J
    boolean hasInvariantOutType() -> V0
    1:16:boolean internalInstructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.graph.FieldResolutionResult):77:92 -> a
    17:17:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    17:17:boolean internalInstructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.graph.FieldResolutionResult):98 -> a
    18:42:boolean internalInstructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.graph.FieldResolutionResult):98:122 -> a
    43:76:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):170:203 -> a
    77:79:boolean com.android.tools.r8.graph.DexEncodedMethod.isProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):365:367 -> a
    77:79:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):204 -> a
    80:80:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):207:207 -> a
    81:86:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):213:218 -> a
    1:1:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    2:2:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):69:69 -> b
    2:2:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63 -> b
    3:3:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> b
    3:3:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):69 -> b
    3:3:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63 -> b
    4:4:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):68:68 -> b
    4:4:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63 -> b
    5:5:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):69:69 -> b
    6:6:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> b
    6:6:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):69 -> 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):68:68 -> b
    1:24:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):137:160 -> f
    1:1:com.android.tools.r8.graph.DexField getField():48:48 -> getField
    1:1:com.android.tools.r8.ir.code.FieldMemberType getType():44:44 -> m2
    boolean isFieldInstruction() -> z1
com.android.tools.r8.ir.code.FieldMemberType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Jj:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromDexType(com.android.tools.r8.graph.DexType):51:51 -> a
    2:2:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromTypeDescriptorChar(char):46:46 -> a
    2:2:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromDexType(com.android.tools.r8.graph.DexType):51 -> a
    3:3:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromTypeDescriptorChar(char):44:44 -> a
    3:3:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromDexType(com.android.tools.r8.graph.DexType):51 -> a
com.android.tools.r8.ir.code.FieldPut -> com.android.tools.r8.internal.Rj:
    void setValue(com.android.tools.r8.ir.code.Value) -> a
    boolean isStaticPut() -> b
    int getValueIndex() -> e
com.android.tools.r8.ir.code.FixedRegisterValue -> com.android.tools.r8.internal.rk:
    int register -> r
    boolean $assertionsDisabled -> s
    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() -> K
    1:3:com.android.tools.r8.ir.code.ValueType outType():24:26 -> a0
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a0
    4:4:com.android.tools.r8.ir.code.ValueType outType():27 -> a0
    5:5:com.android.tools.r8.ir.code.ValueType outType():28:28 -> a0
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a0
    6:6:com.android.tools.r8.ir.code.ValueType outType():30 -> a0
    7:10:com.android.tools.r8.ir.code.ValueType outType():31:34 -> a0
    11:11:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a0
    11:11:com.android.tools.r8.ir.code.ValueType outType():35 -> a0
    12:12:com.android.tools.r8.ir.code.ValueType outType():36:36 -> a0
    13:13:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a0
    13:13:com.android.tools.r8.ir.code.ValueType outType():38 -> a0
    14:21:com.android.tools.r8.ir.code.ValueType outType():39:46 -> a0
    22:23:com.android.tools.r8.ir.code.ValueType outType():43:44 -> a0
    com.android.tools.r8.ir.code.FixedRegisterValue asFixedRegisterValue() -> b
    boolean isDefinedByInstructionSatisfying(java.util.function.Predicate) -> b
    1:1:int getRegister():50:50 -> g0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toString():75:75 -> toString
    78:78:java.lang.String toString():75:75 -> toString
    79:79:java.lang.String toString():75:75 -> toString
    76:76:java.lang.String toString():75:75 -> toString
com.android.tools.r8.ir.code.Goto -> com.android.tools.r8.internal.Ul:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    boolean isGoto() -> B1
    com.android.tools.r8.ir.code.Goto asGoto() -> L
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):58:58 -> a
    2:3:void print(com.android.tools.r8.utils.CfgPrinter):83:84 -> a
    4:4:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):121:121 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):89:89 -> b
    boolean isAllowedAfterThrowingInstruction() -> f1
    1:1:int maxInValueRegister():63:63 -> h2
    1:1:int maxOutValueRegister():69:69 -> i2
    int opcode() -> j2
    1:4:com.android.tools.r8.ir.code.BasicBlock getTarget():40:43 -> n2
    1:4:java.lang.String toString():75:78 -> toString
    5:5:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6,"2":7,"3":8}}
    6:6:java.lang.String toString():78:78 -> toString
    7:7:java.lang.String toString():78:78 -> toString
    8:8:java.lang.String toString():78:78 -> toString
com.android.tools.r8.ir.code.IRCode -> com.android.tools.r8.internal.nn:
    boolean $assertionsDisabled -> l
    boolean numbered -> f
    int nextInstructionNumber -> g
    int usedMarkingColors -> e
    boolean allThrowingInstructionsHavePositions -> h
    com.android.tools.r8.ir.code.NumberGenerator basicBlockNumberGenerator -> d
    com.android.tools.r8.origin.Origin origin -> k
    com.android.tools.r8.graph.ProgramMethod method -> a
    com.android.tools.r8.ir.code.IRMetadata metadata -> i
    java.util.LinkedList blocks -> b
    com.android.tools.r8.utils.InternalOptions options -> j
    com.android.tools.r8.ir.code.NumberGenerator valueNumberGenerator -> c
    1:1:void <clinit>():62:62 -> <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.NumberGenerator,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.origin.Origin):138:138 -> <init>
    2:35:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.ProgramMethod,java.util.LinkedList,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.origin.Origin):117:150 -> <init>
    1:1:boolean removeAllDeadAndTrivialPhis():1242:1242 -> A
    1:13:java.util.Set removeUnreachableBlocks():1384:1396 -> B
    1:1:int reserveMarkingColor():1282:1282 -> C
    2:2:boolean com.android.tools.r8.ir.code.IRCode.anyMarkingColorAvailable():1296:1296 -> C
    2:2:int reserveMarkingColor():1282 -> C
    3:10:int reserveMarkingColor():1282:1289 -> C
    11:12:boolean com.android.tools.r8.ir.code.IRCode.verifyNoBlocksMarked(int):502:503 -> C
    11:12:int reserveMarkingColor():1290 -> C
    1:1:void setAllThrowingInstructionsHavePositions(boolean):1225:1225 -> D
    1:11:void splitCriticalEdges():371:381 -> E
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> E
    12:12:void splitCriticalEdges():381 -> E
    13:17:void splitCriticalEdges():381:385 -> E
    18:18:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> E
    18:18:void splitCriticalEdges():393 -> E
    19:19:void splitCriticalEdges():393:393 -> E
    20:29:void splitCriticalEdges():392:401 -> E
    1:1:java.util.stream.Stream streamInstructions():1030:1030 -> F
    1:24:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.depthFirstSorting():527:550 -> G
    1:24:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():520 -> G
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():521:521 -> G
    26:28:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):556:558 -> G
    26:28:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    29:29:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> G
    29:29:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):558 -> G
    29:29:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    30:34:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):559:563 -> G
    30:34:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    35:35:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> G
    35:35:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):563 -> G
    35:35:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    36:39:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):564:567 -> G
    36:39:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    1:14:void traceBlocks():432:445 -> H
    15:15:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> H
    15:15:void traceBlocks():450 -> H
    16:16:void traceBlocks():450:450 -> H
    17:29:void traceBlocks():449:461 -> H
    30:30:boolean com.android.tools.r8.ir.code.IRCode.noColorsInUse():1325:1325 -> H
    30:30:void traceBlocks():461 -> H
    31:31:void traceBlocks():461:461 -> H
    1:12:boolean verifyNoImpreciseOrBottomTypes():956:967 -> I
    1:7:boolean verifyNoNullabilityBottomTypes():971:977 -> J
    1:12:boolean verifyNoValueWithOnlyAssumeInstructionAsUsers():981:992 -> K
    1:14:boolean verifySplitCriticalEdges():405:418 -> L
    1:14:boolean controlFlowMayDependOnEnvironment(java.util.function.Consumer):304:317 -> a
    15:19:void com.android.tools.r8.ir.code.IRCode.ensureBlockNumbering():465:469 -> a
    15:19:void print(com.android.tools.r8.utils.CfgPrinter):571 -> a
    20:21:void print(com.android.tools.r8.utils.CfgPrinter):572:573 -> a
    22:29:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):594:601 -> a
    30:30:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642}}
    640:640:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):601:601 -> a
    641:641:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):601:601 -> a
    642:642:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):601:601 -> a
    633:638:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):603:608 -> a
    639:639:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):606:606 -> a
    643:643:boolean lambda$hasNoMergedClasses$1(com.android.tools.r8.graph.classmerging.MergedClassesCollection,com.android.tools.r8.graph.DexType,java.lang.Boolean):610:610 -> a
    644:644:boolean lambda$verifyTypes$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper,com.android.tools.r8.ir.code.BasicBlock):641:641 -> a
    645:645:java.util.Collection lambda$consistentPredecessorSuccessors$3(java.util.Collection):769:769 -> a
    646:646:java.util.Collection lambda$consistentPredecessorSuccessors$4(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):773:773 -> a
    647:648:void lambda$consistentBlockNumbering$8(java.lang.Integer,java.lang.Long):813:814 -> a
    649:652:boolean consistentBlockInstructions(boolean):821:824 -> a
    653:653:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):68:68 -> a
    653:653:boolean consistentBlockInstructions(boolean):822 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    654:658:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):68:72 -> a
    654:658:boolean consistentBlockInstructions(boolean):822 -> a
    659:659:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> a
    659:659:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):72 -> a
    659:659:boolean consistentBlockInstructions(boolean):822 -> a
    660:661:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):72:73 -> a
    660:661:boolean consistentBlockInstructions(boolean):822 -> a
    662:662:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    662:662:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):73 -> a
    662:662:boolean consistentBlockInstructions(boolean):822 -> a
    663:663:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):74:74 -> a
    663:663:boolean consistentBlockInstructions(boolean):822 -> a
    664:666:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):73:75 -> a
    664:666:boolean consistentBlockInstructions(boolean):822 -> a
    667:667:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    667:667:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):75 -> a
    667:667:boolean consistentBlockInstructions(boolean):822 -> a
    668:671:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):76:79 -> a
    668:671:boolean consistentBlockInstructions(boolean):822 -> a
    672:676:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):78:82 -> a
    672:676:boolean consistentBlockInstructions(boolean):822 -> a
    677:678:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):958:959 -> a
    679:679:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> a
    679:679:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():388 -> a
    679:679:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    680:680:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> a
    680:680:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():389 -> a
    680:680:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    681:681:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> a
    681:681:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():390 -> a
    681:681:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    682:682:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> a
    682:682:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():391 -> a
    682:682:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    683:686:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959:962 -> a
    687:687:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    687:687:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):962 -> a
    688:690:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):962:964 -> a
    691:691:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):963:963 -> a
    692:692:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$11(com.android.tools.r8.ir.code.Instruction):984:984 -> a
    693:693:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    693:693:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$11(com.android.tools.r8.ir.code.Instruction):984 -> a
    694:697:boolean lambda$wrapSSAVerifierWithStackValueHandling$14(java.util.function.Predicate,com.android.tools.r8.ir.code.Value):999:1002 -> a
    698:698:java.lang.Iterable blocks(java.util.function.Predicate):1022:1022 -> a
    699:699:com.android.tools.r8.ir.code.BasicBlockIterator listIterator(int):1060:1060 -> a
    700:700:java.util.Iterator argumentIterator():1091:1091 -> a
    701:701:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1154:1154 -> a
    702:702:com.android.tools.r8.ir.code.ConstNumber createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1162:1162 -> a
    703:703:com.android.tools.r8.ir.code.ConstNumber createIntConstant(int,com.android.tools.r8.graph.DebugLocalInfo):1178:1178 -> a
    704:707:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1255:1258 -> a
    708:713:boolean com.android.tools.r8.ir.code.IRCode.isDeadPhi(com.android.tools.r8.utils.WorkList):1271:1276 -> a
    708:713:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1259 -> a
    714:717:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1260:1263 -> a
    718:718:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1426:1426 -> a
    719:719:boolean com.android.tools.r8.ir.code.IRCode.isMarkingColorInUse(int):1312:1312 -> a
    719:719:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1426 -> a
    720:731:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1426:1437 -> a
    732:748:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1448:1464 -> a
    749:749:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2219,"2":2220,"3":2221}}
    2219:2219:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1465:1465 -> a
    2220:2220:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1465:1465 -> a
    2221:2221:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1465:1465 -> a
    2218:2218:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1469:1469 -> a
    2222:2222:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1633 -> a
    2222:2222:boolean lambda$prepareBlocksForCatchHandlers$0(com.android.tools.r8.ir.code.BasicBlock):367 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2223:2224:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1634 -> a
    2223:2224:boolean lambda$prepareBlocksForCatchHandlers$0(com.android.tools.r8.ir.code.BasicBlock):367 -> a
    1:1:void removeBlocks(java.util.Collection):509:509 -> b
    2:2:boolean isConsistentGraph(boolean):623:623 -> b
    3:3:boolean com.android.tools.r8.ir.code.IRCode.noColorsInUse():1325:1325 -> b
    3:3:boolean isConsistentGraph(boolean):623 -> b
    4:6:boolean isConsistentGraph(boolean):623:625 -> b
    7:8:boolean com.android.tools.r8.ir.code.IRCode.consistentCatchHandlers():802:803 -> b
    7:8:boolean isConsistentGraph(boolean):626 -> b
    9:9:boolean isConsistentGraph(boolean):627:627 -> b
    10:12:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():832:834 -> b
    10:12:boolean isConsistentGraph(boolean):628 -> b
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isAnd():0:0 -> b
    13:13:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():836 -> b
    13:13:boolean isConsistentGraph(boolean):628 -> b
    14:20:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():837:843 -> b
    14:20:boolean isConsistentGraph(boolean):628 -> b
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> b
    21:21:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():845 -> b
    21:21:boolean isConsistentGraph(boolean):628 -> b
    22:22:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():846:846 -> b
    22:22:boolean isConsistentGraph(boolean):628 -> b
    23:23:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> b
    23:23:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():848 -> b
    23:23:boolean isConsistentGraph(boolean):628 -> b
    24:24:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():849:849 -> b
    24:24:boolean isConsistentGraph(boolean):628 -> b
    25:25:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> b
    25:25:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():851 -> b
    25:25:boolean isConsistentGraph(boolean):628 -> b
    26:26:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():852:852 -> b
    26:26:boolean isConsistentGraph(boolean):628 -> b
    27:27:boolean com.android.tools.r8.ir.code.Instruction.isDiv():0:0 -> b
    27:27:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():854 -> b
    27:27:boolean isConsistentGraph(boolean):628 -> b
    28:28:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():855:855 -> b
    28:28:boolean isConsistentGraph(boolean):628 -> b
    29:29:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> b
    29:29:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():857 -> b
    29:29:boolean isConsistentGraph(boolean):628 -> b
    30:33:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():858:861 -> b
    30:33:boolean isConsistentGraph(boolean):628 -> b
    34:34:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> b
    34:34:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():863 -> b
    34:34:boolean isConsistentGraph(boolean):628 -> b
    35:41:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():864:870 -> b
    35:41:boolean isConsistentGraph(boolean):628 -> b
    42:42:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> b
    42:42:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():872 -> b
    42:42:boolean isConsistentGraph(boolean):628 -> b
    43:43:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():873:873 -> b
    43:43:boolean isConsistentGraph(boolean):628 -> b
    44:44:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> b
    44:44:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():875 -> b
    44:44:boolean isConsistentGraph(boolean):628 -> b
    45:45:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():876:876 -> b
    45:45:boolean isConsistentGraph(boolean):628 -> b
    46:46:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> b
    46:46:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():878 -> b
    46:46:boolean isConsistentGraph(boolean):628 -> b
    47:47:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():879:879 -> b
    47:47:boolean isConsistentGraph(boolean):628 -> b
    48:48:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> b
    48:48:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():881 -> b
    48:48:boolean isConsistentGraph(boolean):628 -> b
    49:52:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():882:885 -> b
    49:52:boolean isConsistentGraph(boolean):628 -> b
    53:53:boolean com.android.tools.r8.ir.code.Instruction.isOr():0:0 -> b
    53:53:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():887 -> b
    53:53:boolean isConsistentGraph(boolean):628 -> b
    54:54:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():888:888 -> b
    54:54:boolean isConsistentGraph(boolean):628 -> b
    55:55:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> b
    55:55:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():890 -> b
    55:55:boolean isConsistentGraph(boolean):628 -> b
    56:56:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():891:891 -> b
    56:56:boolean isConsistentGraph(boolean):628 -> b
    57:57:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> b
    57:57:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():893 -> b
    57:57:boolean isConsistentGraph(boolean):628 -> b
    58:61:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():894:897 -> b
    58:61:boolean isConsistentGraph(boolean):628 -> b
    62:62:boolean com.android.tools.r8.ir.code.Instruction.isRem():0:0 -> b
    62:62:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():899 -> b
    62:62:boolean isConsistentGraph(boolean):628 -> b
    63:63:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():900:900 -> b
    63:63:boolean isConsistentGraph(boolean):628 -> b
    64:64:boolean com.android.tools.r8.ir.code.Instruction.isShl():0:0 -> b
    64:64:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():902 -> b
    64:64:boolean isConsistentGraph(boolean):628 -> b
    65:65:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():903:903 -> b
    65:65:boolean isConsistentGraph(boolean):628 -> b
    66:66:boolean com.android.tools.r8.ir.code.Instruction.isShr():0:0 -> b
    66:66:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():905 -> b
    66:66:boolean isConsistentGraph(boolean):628 -> b
    67:67:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():906:906 -> b
    67:67:boolean isConsistentGraph(boolean):628 -> b
    68:68:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> b
    68:68:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():908 -> b
    68:68:boolean isConsistentGraph(boolean):628 -> b
    69:75:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():909:915 -> b
    69:75:boolean isConsistentGraph(boolean):628 -> b
    76:76:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> b
    76:76:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():917 -> b
    76:76:boolean isConsistentGraph(boolean):628 -> b
    77:77:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():918:918 -> b
    77:77:boolean isConsistentGraph(boolean):628 -> b
    78:78:boolean com.android.tools.r8.ir.code.Instruction.isUshr():0:0 -> b
    78:78:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():920 -> b
    78:78:boolean isConsistentGraph(boolean):628 -> b
    79:79:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():921:921 -> b
    79:79:boolean isConsistentGraph(boolean):628 -> b
    80:80:boolean com.android.tools.r8.ir.code.Instruction.isXor():0:0 -> b
    80:80:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():923 -> b
    80:80:boolean isConsistentGraph(boolean):628 -> b
    81:81:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():924:924 -> b
    81:81:boolean isConsistentGraph(boolean):628 -> b
    82:82:boolean isConsistentGraph(boolean):629:629 -> b
    83:85:boolean verifyTypes(com.android.tools.r8.graph.AppView):636:638 -> b
    86:88:boolean com.android.tools.r8.ir.code.IRCode.validAssumeInstructions(com.android.tools.r8.graph.AppView):646:648 -> b
    86:88:boolean verifyTypes(com.android.tools.r8.graph.AppView):638 -> b
    89:89:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    89:89:boolean com.android.tools.r8.ir.code.IRCode.validAssumeInstructions(com.android.tools.r8.graph.AppView):648 -> b
    89:89:boolean verifyTypes(com.android.tools.r8.graph.AppView):638 -> b
    90:90:boolean com.android.tools.r8.ir.code.IRCode.validAssumeInstructions(com.android.tools.r8.graph.AppView):649:649 -> b
    90:90:boolean verifyTypes(com.android.tools.r8.graph.AppView):638 -> b
    91:93:boolean verifyTypes(com.android.tools.r8.graph.AppView):639:641 -> b
    94:94:java.util.Collection lambda$consistentPredecessorSuccessors$5(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):776:776 -> b
    95:97:boolean lambda$verifyNoNullabilityBottomTypes$10(com.android.tools.r8.ir.code.Value):973:973 -> b
    98:98:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Instruction):987:987 -> b
    99:99:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    99:99:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Instruction):987 -> b
    100:100:java.lang.Iterable instructions(java.util.function.Predicate):1034:1034 -> b
    101:101:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1118:1118 -> b
    101:101:java.util.List collectArguments():1114 -> b
    102:102:java.util.Iterator com.android.tools.r8.ir.code.IRCode.argumentIterator():1091:1091 -> b
    102:102:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1119 -> b
    102:102:java.util.List collectArguments():1114 -> b
    103:112:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1120:1129 -> b
    103:112:java.util.List collectArguments():1114 -> b
    113:113:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1127:1127 -> b
    113:113:java.util.List collectArguments():1114 -> b
    114:114:void returnMarkingColor(int):1306:1306 -> b
    115:115:boolean com.android.tools.r8.ir.code.IRCode.isMarkingColorInUse(int):1312:1312 -> b
    115:115:void returnMarkingColor(int):1306 -> b
    116:116:void returnMarkingColor(int):1306:1306 -> b
    117:118:void com.android.tools.r8.ir.code.IRCode.clearMarks(int):486:487 -> b
    117:118:void returnMarkingColor(int):1307 -> b
    119:119:void returnMarkingColor(int):1308:1308 -> b
    120:120:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401:1401 -> b
    121:121:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405:1405 -> b
    121:121:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    122:122:boolean com.android.tools.r8.ir.code.IRCode.isMarkingColorInUse(int):1312:1312 -> b
    122:122:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405 -> b
    122:122:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    123:124:boolean com.android.tools.r8.ir.code.IRCode.anyBlocksMarkedWithColor(int):1316:1317 -> b
    123:124:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405 -> b
    123:124:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    125:134:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405:1414 -> b
    125:134:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    1:1:java.util.Collection lambda$consistentPredecessorSuccessors$6(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):787:787 -> c
    2:8:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$13(com.android.tools.r8.ir.code.Value):983:983 -> c
    14:14:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$13(com.android.tools.r8.ir.code.Value):989:989 -> c
    15:15:java.util.Iterator lambda$blocks$15(java.util.function.Predicate):1022:1022 -> c
    16:17:boolean computeAllThrowingInstructionsHavePositions():1229:1230 -> c
    18:18:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> c
    18:18:boolean computeAllThrowingInstructionsHavePositions():1231 -> c
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> c
    19:19:boolean computeAllThrowingInstructionsHavePositions():1232 -> c
    20:21:boolean computeAllThrowingInstructionsHavePositions():1233:1234 -> c
    22:22:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> c
    22:22:boolean com.android.tools.r8.ir.code.Position.isSyntheticNone():137 -> c
    22:22:boolean computeAllThrowingInstructionsHavePositions():1234 -> c
    1:17:java.util.Map computeLiveAtEntrySets():174:190 -> d
    18:18:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> d
    18:18:java.util.Map computeLiveAtEntrySets():190 -> d
    19:54:java.util.Map computeLiveAtEntrySets():191:226 -> d
    55:75:java.util.Map computeLiveAtEntrySets():225:245 -> d
    76:76:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> d
    76:76:java.util.Map computeLiveAtEntrySets():249 -> d
    77:116:java.util.Map computeLiveAtEntrySets():249:288 -> d
    117:117:boolean com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets.isEmpty():95:95 -> d
    117:117:java.util.Map computeLiveAtEntrySets():288 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    118:118:boolean com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets.isEmpty():95:95 -> d
    118:118:java.util.Map computeLiveAtEntrySets():288 -> d
    119:119:java.util.Map computeLiveAtEntrySets():288:288 -> d
    120:120:java.util.Map computeLiveAtEntrySets():0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":411,"2":412,"3":413}}
    411:411:java.util.Map computeLiveAtEntrySets():288:288 -> d
    412:412:java.util.Map computeLiveAtEntrySets():288:288 -> d
    413:413:java.util.Map computeLiveAtEntrySets():288:288 -> d
    410:410:java.util.Map computeLiveAtEntrySets():290:290 -> d
    414:414:java.util.Collection lambda$consistentPredecessorSuccessors$7(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):794:794 -> d
    415:415:java.util.Iterator lambda$instructions$16(java.util.function.Predicate):1034:1034 -> d
    1:8:boolean verifySSATypeLattice(java.util.function.Predicate):1008:1015 -> e
    9:15:java.util.List computeNormalExitBlocks():1046:1052 -> e
    1:3:boolean consistentBlockNumbering():809:811 -> f
    4:4:java.util.function.Predicate wrapSSAVerifierWithStackValueHandling(java.util.function.Predicate):996:996 -> f
    1:33:boolean consistentPredecessorSuccessors():763:795 -> g
    1:1:com.android.tools.r8.graph.ProgramMethod context():158:158 -> h
    1:1:com.android.tools.r8.ir.code.ConstNumber createConstNull():1213:1213 -> i
    2:2:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement):1158:1158 -> i
    2:2:com.android.tools.r8.ir.code.ConstNumber createConstNull():1213 -> i
    1:1:boolean doAllThrowingInstructionsHavePositions():1221:1221 -> j
    1:1:com.android.tools.r8.ir.code.BasicBlock entryBlock():167:167 -> k
    1:1:int getCurrentBlockNumber():1204:1204 -> l
    1:1:com.android.tools.r8.ir.code.Argument getLastArgument():1134:1134 -> m
    2:3:int com.android.tools.r8.ir.code.IRCode.getNumberOfArguments():1086:1087 -> m
    2:3:com.android.tools.r8.ir.code.Argument getLastArgument():1134 -> m
    4:4:com.android.tools.r8.ir.code.Argument getLastArgument():1134:1134 -> m
    5:5:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(int):1683:1683 -> m
    5:5:com.android.tools.r8.ir.code.Argument getLastArgument():1134 -> m
    6:8:com.android.tools.r8.ir.code.Argument getLastArgument():1135:1137 -> m
    1:1:int getNextInstructionNumber():1082:1082 -> n
    1:7:com.android.tools.r8.ir.code.Value getThis():1142:1148 -> o
    1:9:java.util.Set getUnreachableBlocks():1371:1379 -> p
    1:1:com.android.tools.r8.ir.code.InstructionIterator instructionIterator():1038:1038 -> q
    1:1:java.lang.Iterable instructions():1026:1026 -> r
    1:2:boolean isConsistentSSA():578:579 -> s
    1:2:boolean isConsistentSSABeforeTypesAreCorrect():584:585 -> t
    3:24:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():686:707 -> t
    3:24:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    25:25:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> t
    25:25:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():709 -> t
    25:25:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    26:38:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():709:721 -> t
    26:38:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    39:39:boolean com.android.tools.r8.ir.code.IRCode.verifyValue(com.android.tools.r8.ir.code.Value):729:729 -> t
    39:39:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():721 -> t
    39:39:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    40:40:boolean com.android.tools.r8.ir.code.IRCode.verifyPhi(com.android.tools.r8.ir.code.Phi):734:734 -> t
    40:40:boolean com.android.tools.r8.ir.code.IRCode.verifyValue(com.android.tools.r8.ir.code.Value):729 -> t
    40:40:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():721 -> t
    40:40:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    41:44:boolean com.android.tools.r8.ir.code.IRCode.verifyDefinition(com.android.tools.r8.ir.code.Value):739:742 -> t
    41:44:boolean com.android.tools.r8.ir.code.IRCode.verifyValue(com.android.tools.r8.ir.code.Value):729 -> t
    41:44:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():721 -> t
    41:44:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    45:45:boolean com.android.tools.r8.ir.code.IRCode.verifyDefinition(com.android.tools.r8.ir.code.Value):740:740 -> t
    45:45:boolean com.android.tools.r8.ir.code.IRCode.verifyValue(com.android.tools.r8.ir.code.Value):729 -> t
    45:45:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():721 -> t
    45:45:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    46:47:boolean com.android.tools.r8.ir.code.IRCode.consistentValueUses(com.android.tools.r8.ir.code.Value):747:748 -> t
    46:47:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():722 -> t
    46:47:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    48:48:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> t
    48:48:boolean com.android.tools.r8.ir.code.IRCode.consistentValueUses(com.android.tools.r8.ir.code.Value):748 -> t
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():722 -> t
    48:48:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    49:57:boolean com.android.tools.r8.ir.code.IRCode.consistentValueUses(com.android.tools.r8.ir.code.Value):748:756 -> t
    49:57:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():722 -> t
    49:57:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    58:58:boolean isConsistentSSABeforeTypesAreCorrect():587:587 -> t
    59:75:boolean com.android.tools.r8.ir.code.IRCode.validThrowingInstructions():932:948 -> t
    59:75:boolean isConsistentSSABeforeTypesAreCorrect():587 -> t
    76:76:boolean isConsistentSSABeforeTypesAreCorrect():588:588 -> t
    77:88:boolean com.android.tools.r8.ir.code.IRCode.noCriticalEdges():657:668 -> t
    77:88:boolean isConsistentSSABeforeTypesAreCorrect():588 -> t
    89:90:boolean isConsistentSSABeforeTypesAreCorrect():588:589 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":484,"2":485,"3":486}}
    484:484:java.lang.String toString():476:476 -> toString
    485:485:java.lang.String toString():476:476 -> toString
    486:486:java.lang.String toString():477:477 -> toString
    479:483:java.lang.String toString():478:482 -> toString
    1:1:com.android.tools.r8.ir.code.BasicBlockIterator listIterator():1056:1056 -> u
    1:1:com.android.tools.r8.ir.code.IRMetadata metadata():154:154 -> v
    1:1:com.android.tools.r8.graph.DexEncodedMethod method():163:163 -> w
    1:3:com.android.tools.r8.com.google.common.collect.ImmutableList numberInstructions():1064:1066 -> x
    1:7:int numberRemainingInstructions():1072:1078 -> y
    1:23:void prepareBlocksForCatchHandlers():336:358 -> z
    24:24:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> z
    24:24:void prepareBlocksForCatchHandlers():359 -> z
    25:26:void prepareBlocksForCatchHandlers():359:360 -> z
    27:28:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> z
    27:28:void prepareBlocksForCatchHandlers():360 -> z
    29:35:void prepareBlocksForCatchHandlers():361:367 -> z
com.android.tools.r8.ir.code.IRCode$1 -> com.android.tools.r8.internal.kn:
    com.android.tools.r8.ir.code.Argument next -> c
    com.android.tools.r8.ir.code.InstructionIterator instructionIterator -> b
    1:4:void <init>(com.android.tools.r8.ir.code.IRCode):1091:1094 -> <init>
    1:1:boolean hasNext():1098:1098 -> hasNext
    1:5:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.code.IRCode$1.next():1103:1107 -> next
    1:5:java.lang.Object next():1091 -> next
    6:6:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.code.IRCode$1.next():1104:1104 -> next
    6:6:java.lang.Object next():1091 -> next
com.android.tools.r8.ir.code.IRCode$BlockMarker -> com.android.tools.r8.internal.ln:
    com.android.tools.r8.ir.code.BasicBlock block -> a
    1:2:void <init>(com.android.tools.r8.ir.code.BasicBlock):103:104 -> <init>
com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets -> com.android.tools.r8.internal.mn:
    java.util.Deque liveStackValues -> c
    java.util.Set liveLocalValues -> b
    java.util.LinkedHashSet liveValues -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():66:66 -> <clinit>
    1:5:void <init>(java.util.LinkedHashSet,java.util.Set,java.util.Deque):76:80 -> <init>
    1:2:boolean equals(java.lang.Object):90:91 -> equals
    1:1:int hashCode():85:85 -> hashCode
com.android.tools.r8.ir.code.IRCodeInstructionIterator -> com.android.tools.r8.internal.on:
    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 -> e
    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
    1:1:boolean hasPrevious():43:43 -> hasPrevious
    1:9:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IRCodeInstructionIterator.next():30:38 -> next
    1:9:java.lang.Object next():10 -> next
    10:10:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IRCodeInstructionIterator.next():34:34 -> next
    10:10:java.lang.Object next():10 -> next
    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.internal.pn:
    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 -> e
    1:1:void <clinit>():24:24 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.IRCode):31:34 -> <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):40:40 -> 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):45:45 -> a
    3:3:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):55:55 -> a
    4:4:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    5:5:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):71:71 -> a
    6:6:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):78:78 -> a
    7:7:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):83:83 -> a
    8:8:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):95:95 -> a
    9:9:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):112:112 -> a
    10:10:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):122:122 -> a
    11:11:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):128:128 -> a
    12:12:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):133:133 -> a
    13:13:com.android.tools.r8.ir.code.BasicBlock splitCopyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):139:139 -> a
    14:14: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.DexProgramClass):150:150 -> a
    15:15:void addThrowingInstructionToPossiblyThrowingBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.utils.InternalOptions):211:211 -> a
    16:16:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):227:227 -> a
    17:17:void setInsertionPosition(com.android.tools.r8.ir.code.Position):242:242 -> a
    1:1:void add(java.lang.Object):24:24 -> add
    2:2:void com.android.tools.r8.ir.code.IRCodeInstructionListIterator.add(com.android.tools.r8.ir.code.Instruction):202:202 -> add
    2:2:void add(java.lang.Object):24 -> add
    1:1:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):89:89 -> b
    1:1:void removeOrReplaceByDebugLocalRead():232:232 -> e
    1:1:void unsetInsertionPosition():247:247 -> h
    1:1:boolean hasNext():155:155 -> hasNext
    1:1:boolean hasPrevious():173:173 -> hasPrevious
    1:1:void removeInstructionIgnoreOutValue():101:101 -> i
    1:9:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IRCodeInstructionListIterator.next():160:168 -> next
    1:9:java.lang.Object next():24 -> next
    10:10:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IRCodeInstructionListIterator.next():164:164 -> next
    10:10:java.lang.Object next():24 -> next
    1:1:int nextIndex():192:192 -> nextIndex
    1:1:java.lang.Object previous():24:24 -> previous
    2:11:com.android.tools.r8.ir.code.Instruction previous():178:187 -> previous
    12:12:com.android.tools.r8.ir.code.Instruction previous():182:182 -> previous
    1:1:int previousIndex():197:197 -> previousIndex
    1:1:void remove():217:217 -> remove
    1:1:void set(java.lang.Object):24:24 -> set
    2:2:void com.android.tools.r8.ir.code.IRCodeInstructionListIterator.set(com.android.tools.r8.ir.code.Instruction):222:222 -> set
    2:2:void set(java.lang.Object):24 -> set
com.android.tools.r8.ir.code.IRCodeUtils -> com.android.tools.r8.internal.rn:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:7:com.android.tools.r8.ir.code.InvokeDirect getUniqueConstructorInvoke(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):24:30 -> a
    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:23:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):76:80 -> a
    24:24:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    24:24:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):84 -> a
    25:32:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):85:92 -> a
    33:33:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    33:33:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):92 -> a
    34:44:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):92:102 -> a
    45:45:void removeInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):114:114 -> a
    46:46:void removeInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):113:113 -> a
    47:75:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):119:147 -> a
    76:76:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    76:76:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):148 -> a
    77:80:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):148:151 -> a
com.android.tools.r8.ir.code.IRMetadata -> com.android.tools.r8.internal.tn:
    long second -> b
    long first -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    2:4:void <init>(long,long):14:16 -> <init>
    1:1:boolean mayHaveMul():218:218 -> A
    1:1:boolean mayHaveNewInstance():222:222 -> B
    1:1:boolean mayHaveOr():226:226 -> C
    1:1:boolean mayHaveRem():230:230 -> D
    1:1:boolean mayHaveShl():234:234 -> E
    1:1:boolean mayHaveShr():238:238 -> F
    1:1:boolean mayHaveStaticGet():242:242 -> G
    1:1:boolean mayHaveStaticPut():246:246 -> H
    1:1:boolean mayHaveStringSwitch():250:250 -> I
    1:1:boolean mayHaveSub():254:254 -> J
    1:2:boolean mayHaveSwitch():262:263 -> K
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveIntSwitch():140:140 -> K
    3:3:boolean mayHaveSwitch():263 -> K
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveStringSwitch():250:250 -> K
    4:4:boolean mayHaveSwitch():263 -> K
    5:5:boolean mayHaveSwitch():263:263 -> K
    1:1:boolean mayHaveUshr():268:268 -> L
    1:1:boolean mayHaveXor():272:272 -> M
    1:1:com.android.tools.r8.ir.code.IRMetadata unknown():20:20 -> N
    1:3:boolean get(int):25:27 -> a
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.isAnySetInSecond(long):38:38 -> a
    4:4:boolean get(int):29 -> a
    5:5:boolean isAnySetInFirst(long):34:34 -> a
    6:6:void record(com.android.tools.r8.ir.code.Instruction):52:52 -> a
    7:11:void com.android.tools.r8.ir.code.IRMetadata.set(int):43:47 -> a
    7:11:void record(com.android.tools.r8.ir.code.Instruction):52 -> a
    12:13:void merge(com.android.tools.r8.ir.code.IRMetadata):56:57 -> a
    14:14:boolean mayHaveAdd():61:61 -> a
    1:1:boolean mayHaveAnd():65:65 -> b
    1:1:boolean mayHaveArithmeticOrLogicalBinop():302:302 -> c
    2:2:boolean com.android.tools.r8.ir.code.IRMetadata.isAnySetInSecond(long):38:38 -> c
    2:2:boolean mayHaveArithmeticOrLogicalBinop():302 -> c
    3:3:boolean mayHaveArithmeticOrLogicalBinop():303:303 -> c
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveAdd():61:61 -> c
    4:4:boolean mayHaveArithmeticOrLogicalBinop():304 -> c
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveDiv():97:97 -> c
    5:5:boolean mayHaveArithmeticOrLogicalBinop():305 -> c
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveMul():218:218 -> c
    6:6:boolean mayHaveArithmeticOrLogicalBinop():306 -> c
    7:7:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveRem():230:230 -> c
    7:7:boolean mayHaveArithmeticOrLogicalBinop():307 -> c
    8:8:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveSub():254:254 -> c
    8:8:boolean mayHaveArithmeticOrLogicalBinop():308 -> c
    9:9:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveAnd():65:65 -> c
    9:9:boolean mayHaveArithmeticOrLogicalBinop():309 -> c
    10:10:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveOr():226:226 -> c
    10:10:boolean mayHaveArithmeticOrLogicalBinop():310 -> c
    11:11:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveShl():234:234 -> c
    11:11:boolean mayHaveArithmeticOrLogicalBinop():311 -> c
    12:12:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveShr():238:238 -> c
    12:12:boolean mayHaveArithmeticOrLogicalBinop():312 -> c
    13:13:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveUshr():268:268 -> c
    13:13:boolean mayHaveArithmeticOrLogicalBinop():313 -> c
    14:14:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveXor():272:272 -> c
    14:14:boolean mayHaveArithmeticOrLogicalBinop():314 -> c
    15:15:boolean mayHaveArithmeticOrLogicalBinop():303:303 -> c
    1:1:boolean mayHaveArrayGet():69:69 -> d
    1:1:boolean mayHaveArrayLength():73:73 -> e
    1:1:boolean mayHaveCheckCast():77:77 -> f
    1:1:boolean mayHaveConstNumber():81:81 -> g
    1:1:boolean mayHaveConstString():85:85 -> h
    1:1:boolean mayHaveDebugPosition():89:89 -> i
    1:1:boolean mayHaveDexItemBasedConstString():93:93 -> j
    1:1:boolean mayHaveDiv():97:97 -> k
    1:2:boolean mayHaveFieldInstruction():114:115 -> l
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInstanceGet():128:128 -> l
    3:3:boolean mayHaveFieldInstruction():116 -> l
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInstancePut():132:132 -> l
    4:4:boolean mayHaveFieldInstruction():117 -> l
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveStaticGet():242:242 -> l
    5:5:boolean mayHaveFieldInstruction():118 -> l
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveStaticPut():246:246 -> l
    6:6:boolean mayHaveFieldInstruction():119 -> l
    7:7:boolean mayHaveFieldInstruction():115:115 -> l
    1:1:boolean mayHaveInitClass():124:124 -> m
    1:1:boolean mayHaveInstanceGet():128:128 -> n
    1:1:boolean mayHaveInstanceOf():136:136 -> o
    1:1:boolean mayHaveInstancePut():132:132 -> p
    1:1:boolean mayHaveIntSwitch():140:140 -> q
    1:1:boolean mayHaveInvokeDirect():144:144 -> r
    1:1:boolean mayHaveInvokeInterface():148:148 -> s
    1:2:boolean mayHaveInvokeMethod():166:167 -> t
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeDirect():144:144 -> t
    3:3:boolean mayHaveInvokeMethod():168 -> t
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeInterface():148:148 -> t
    4:4:boolean mayHaveInvokeMethod():169 -> t
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokePolymorphic():198:198 -> t
    5:5:boolean mayHaveInvokeMethod():170 -> t
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeStatic():202:202 -> t
    6:6:boolean mayHaveInvokeMethod():171 -> t
    7:7:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeSuper():206:206 -> t
    7:7:boolean mayHaveInvokeMethod():172 -> t
    8:8:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeVirtual():210:210 -> t
    8:8:boolean mayHaveInvokeMethod():173 -> t
    9:9:boolean mayHaveInvokeMethod():167:167 -> t
    1:2:boolean mayHaveInvokeMethodWithReceiver():188:189 -> u
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeDirect():144:144 -> u
    3:3:boolean mayHaveInvokeMethodWithReceiver():190 -> u
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeInterface():148:148 -> u
    4:4:boolean mayHaveInvokeMethodWithReceiver():191 -> u
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeSuper():206:206 -> u
    5:5:boolean mayHaveInvokeMethodWithReceiver():192 -> u
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeVirtual():210:210 -> u
    6:6:boolean mayHaveInvokeMethodWithReceiver():193 -> u
    7:7:boolean mayHaveInvokeMethodWithReceiver():189:189 -> u
    1:1:boolean mayHaveInvokePolymorphic():198:198 -> v
    1:1:boolean mayHaveInvokeStatic():202:202 -> w
    1:1:boolean mayHaveInvokeSuper():206:206 -> x
    1:1:boolean mayHaveInvokeVirtual():210:210 -> y
    1:1:boolean mayHaveMonitorInstruction():214:214 -> z
com.android.tools.r8.ir.code.If -> com.android.tools.r8.internal.Kn:
    int $r8$clinit -> l
    boolean $assertionsDisabled -> k
    com.android.tools.r8.ir.code.If$Type type -> j
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.Value):74:75 -> <init>
    3:4:void <init>(com.android.tools.r8.ir.code.If$Type,java.util.List):79:80 -> <init>
    boolean isIf() -> C1
    com.android.tools.r8.ir.code.If asIf() -> M
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):155:155 -> a
    2:3:void print(com.android.tools.r8.utils.CfgPrinter):194:195 -> a
    4:5:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):223:224 -> a
    6:6:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):66:66 -> a
    6:6:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224 -> a
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    7:7:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):66 -> a
    7:7:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    8:8:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):67 -> a
    8:8:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224 -> a
    9:10:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):67:68 -> a
    9:10:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224 -> a
    11:12:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224:225 -> a
    13:15:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):229:231 -> a
    16:16:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):66:66 -> a
    16:16:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231 -> a
    17:17:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    17:17:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):66 -> a
    17:17:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231 -> a
    18:18:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    18:18:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):67 -> a
    18:18:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231 -> a
    19:20:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):67:68 -> a
    19:20:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231 -> a
    21:22:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231:232 -> a
    23:23:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):278:278 -> a
    24:31:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):283:290 -> a
    1:2:void setFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):149:150 -> b
    3:8:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):200:205 -> b
    9:10:com.android.tools.r8.ir.code.BasicBlock targetFromBoolean(boolean):218:219 -> b
    1:4:void setTrueTarget(com.android.tools.r8.ir.code.BasicBlock):133:136 -> c
    5:20:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):248:263 -> c
    21:21:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":302,"2":303,"3":304}}
    302:302:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):263:263 -> c
    303:303:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):263:263 -> c
    304:304:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):263:263 -> c
    284:284:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):263:263 -> c
    285:285:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):261:261 -> c
    286:286:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):259:259 -> c
    287:287:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):257:257 -> c
    288:288:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):255:255 -> c
    289:289:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):253:253 -> c
    290:290:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):251:251 -> c
    1:1:int maxInValueRegister():183:183 -> h2
    1:1:int maxOutValueRegister():188:188 -> i2
    int opcode() -> j2
    1:4:com.android.tools.r8.ir.code.BasicBlock fallthroughBlock():141:144 -> m2
    1:4:com.android.tools.r8.ir.code.BasicBlock getTrueTarget():126:129 -> n2
    1:1:com.android.tools.r8.ir.code.If$Type getType():115:115 -> o2
    1:4:void invert():119:122 -> p2
    1:1:boolean isZeroTest():102:102 -> q2
    1:1:com.android.tools.r8.ir.code.Value lhs():106:106 -> r2
    1:2:com.android.tools.r8.ir.code.Value rhs():110:111 -> s2
    1:3:com.android.tools.r8.ir.code.BasicBlock targetFromNonNullObject():236:238 -> t2
    1:8:java.lang.String toString():170:177 -> toString
    1:3:com.android.tools.r8.ir.code.BasicBlock targetFromNullObject():242:244 -> u2
com.android.tools.r8.ir.code.If$1 -> com.android.tools.r8.internal.Jn:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():28:28 -> <clinit>
com.android.tools.r8.ir.code.If$Type -> com.android.tools.r8.internal.Kn$a:
    com.android.tools.r8.ir.code.If$Type GE -> c
    com.android.tools.r8.ir.code.If$Type GT -> d
    com.android.tools.r8.ir.code.If$Type EQ -> b
    com.android.tools.r8.ir.code.If$Type[] $VALUES -> h
    com.android.tools.r8.ir.code.If$Type NE -> g
    com.android.tools.r8.ir.code.If$Type LE -> e
    com.android.tools.r8.ir.code.If$Type LT -> f
    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>
    1:14:com.android.tools.r8.ir.code.If$Type forSwappedOperands():28:41 -> a
    15:15:com.android.tools.r8.ir.code.If$Type forSwappedOperands():39:39 -> a
    16:16:com.android.tools.r8.ir.code.If$Type forSwappedOperands():37:37 -> a
    17:17:com.android.tools.r8.ir.code.If$Type forSwappedOperands():35:35 -> a
    18:18:com.android.tools.r8.ir.code.If$Type forSwappedOperands():33:33 -> a
    1:15:com.android.tools.r8.ir.code.If$Type inverted():46:60 -> b
    16:16:com.android.tools.r8.ir.code.If$Type inverted():56:56 -> b
    17:17:com.android.tools.r8.ir.code.If$Type inverted():54:54 -> b
    18:18:com.android.tools.r8.ir.code.If$Type inverted():52:52 -> b
    19:27:com.android.tools.r8.ir.code.If$Type inverted():50:58 -> b
    28:28:com.android.tools.r8.ir.code.If$Type inverted():48:48 -> b
    1:1:com.android.tools.r8.ir.code.If$Type[] values():23:23 -> c
com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction -> com.android.tools.r8.internal.Ko:
    void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver) -> a
    com.android.tools.r8.ir.code.MemberType getMemberType() -> d
com.android.tools.r8.ir.code.Inc -> com.android.tools.r8.internal.Oo:
    boolean $assertionsDisabled -> j
    int increment -> i
    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>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):70:70 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):75:75 -> a
    3:3:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):81:81 -> a
    4:12:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):88:96 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
    1:2:void addInValue(com.android.tools.r8.ir.code.Value):43:44 -> c
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:java.lang.String toString():106:106 -> toString
com.android.tools.r8.ir.code.InitClass -> com.android.tools.r8.internal.dp:
    com.android.tools.r8.graph.DexType clazz -> i
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():26:26 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):31:35 -> <init>
    com.android.tools.r8.ir.code.InitClass asInitClass() -> N
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):58:58 -> a
    2:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:74 -> a
    4:4:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):79:79 -> a
    5:5: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):89:89 -> a
    6:6: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
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):156:156 -> a
    8:8:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):161:161 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:95 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:95 -> b
    4:16:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):101:113 -> b
    1:8:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):127:134 -> d
    boolean instructionTypeCanThrow() -> d1
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.InitClass$Builder builder():39:39 -> m2
    1:1:com.android.tools.r8.graph.DexType getClassValue():43:43 -> n2
    1:1:java.lang.String toString():171:171 -> toString
com.android.tools.r8.ir.code.InitClass$Builder -> com.android.tools.r8.internal.cp:
    com.android.tools.r8.graph.DexType type -> c
    1:1:void <init>(com.android.tools.r8.ir.code.InitClass$1):174:174 -> <init>
    2:2:void <init>():178:178 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.InitClass$Builder setType(com.android.tools.r8.graph.DexType):181:181 -> a
    1:1:com.android.tools.r8.ir.code.InitClass build():187:187 -> b
com.android.tools.r8.ir.code.InstanceFieldInstruction -> com.android.tools.r8.internal.Mp:
    com.android.tools.r8.ir.code.Value object() -> i
com.android.tools.r8.ir.code.InstanceGet -> com.android.tools.r8.internal.Pp:
    boolean $assertionsDisabled -> k
    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>
    com.android.tools.r8.ir.code.FieldGet asFieldGet() -> I
    com.android.tools.r8.ir.code.InstanceFieldInstruction asInstanceFieldInstruction() -> O
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():218:218 -> O0
    com.android.tools.r8.ir.code.InstanceGet asInstanceGet() -> P
    1:1:boolean outTypeKnownToBeBoolean(java.util.Set):48:48 -> a
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InstanceGet.dest():57:57 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80 -> a
    3:32:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80:109 -> a
    33:33:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":185,"2":186,"3":187}}
    185:185:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    186:186:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    187:187:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    142:142:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    143:143:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):91:91 -> a
    144:163:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):87:106 -> a
    164:164:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):103:103 -> a
    165:165:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):100:100 -> a
    166:166:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    167:184:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:111 -> a
    188:190:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):73:75 -> a
    191:191: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
    192:192: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
    193:193:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InstanceGet):169:169 -> a
    193:193:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):53 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    194:194:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):187:187 -> a
    195:195:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):192:192 -> a
    196:197:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):197:198 -> a
    198:198:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203:203 -> a
    199:199:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):239:239 -> a
    199:199:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    200:201:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):240:241 -> a
    200:201:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203 -> a
    202:202:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203:203 -> a
    203:203:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    204:204: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):228:228 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):137:137 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):137 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):140:141 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    int maxInValueRegister() -> h2
    1:2:com.android.tools.r8.ir.code.Value object():62:63 -> i
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    boolean throwsOnNullInput() -> l2
    1:1:java.lang.String toString():182:182 -> toString
    1:1:com.android.tools.r8.ir.code.Value value():68:68 -> value
com.android.tools.r8.ir.code.InstanceOf -> com.android.tools.r8.internal.Yp:
    com.android.tools.r8.graph.DexType type -> i
    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>
    com.android.tools.r8.ir.code.InstanceOf asInstanceOf() -> Q
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InstanceOf.dest():44:44 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):53 -> a
    2:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):53:55 -> 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):91:91 -> a
    6:6:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):96:96 -> a
    7:8:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):106:107 -> a
    9:9:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):112:112 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexType type():40:40 -> m2
    1:2:java.lang.String toString():127:128 -> toString
    1:1:com.android.tools.r8.ir.code.Value value():48:48 -> value
com.android.tools.r8.ir.code.InstancePut -> com.android.tools.r8.internal.Zp:
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():35:35 -> <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):38:38 -> <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):50:53 -> <init>
    boolean isInstanceFieldInstruction() -> E1
    boolean isInstancePut() -> G1
    com.android.tools.r8.ir.code.FieldPut asFieldPut() -> K
    com.android.tools.r8.ir.code.InstanceFieldInstruction asInstanceFieldInstruction() -> O
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():258:258 -> O0
    com.android.tools.r8.ir.code.InstancePut asInstancePut() -> R
    1:1:com.android.tools.r8.ir.code.InstancePut createPotentiallyInvalid(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):46:46 -> a
    2:2:void setValue(com.android.tools.r8.ir.code.Value):84:84 -> a
    3:31:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):90:118 -> a
    32:32:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":193,"2":194,"3":195}}
    193:193:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):118:118 -> a
    194:194:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):118:118 -> a
    195:195:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):118:118 -> a
    150:150:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):118:118 -> a
    151:151:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):100:100 -> a
    152:171:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):96:115 -> a
    172:172:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    173:173:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    174:174:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):106:106 -> a
    175:192:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):103:120 -> a
    196:208:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):131:143 -> a
    209:209:boolean com.android.tools.r8.graph.DexType.isAlwaysNull(com.android.tools.r8.graph.AppView):153:153 -> a
    209:209:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):143 -> a
    210:211:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147:148 -> a
    212:222:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):157:167 -> a
    223:223:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InstancePut):179:179 -> a
    223:223:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):64 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    224:224:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    225:225:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):238:238 -> a
    226:226:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):243:243 -> a
    227:227:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):239:239 -> a
    227:227:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):243 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    228:229:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):240:241 -> a
    228:229:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):243 -> a
    230:230:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):243:243 -> a
    231:231:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):248:248 -> a
    232:232: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):268:268 -> a
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):177:181 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    int getValueIndex() -> e
    int maxInValueRegister() -> h2
    1:1:com.android.tools.r8.ir.code.Value object():74:74 -> i
    1:1:int maxOutValueRegister():191:191 -> i2
    int opcode() -> j2
    boolean throwsOnNullInput() -> l2
    1:1:java.lang.String toString():233:233 -> toString
    1:1:com.android.tools.r8.ir.code.Value value():79:79 -> value
com.android.tools.r8.ir.code.Instruction -> com.android.tools.r8.internal.jq:
    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 -> h
    com.android.tools.r8.ir.code.BasicBlock block -> d
    1:1:void <clinit>():46:46 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value):55:55 -> <init>
    2:10:void <init>(com.android.tools.r8.ir.code.Value):48:56 -> <init>
    11:11:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):59:59 -> <init>
    12:25:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):48:61 -> <init>
    26:26:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):64:64 -> <init>
    27:49:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):48:70 -> <init>
    com.android.tools.r8.ir.code.ConstMethodType asConstMethodType() -> A
    com.android.tools.r8.ir.code.StaticPut asStaticPut() -> A0
    boolean isFieldPut() -> A1
    com.android.tools.r8.ir.code.ConstNumber asConstNumber() -> B
    com.android.tools.r8.ir.code.Store asStore() -> B0
    boolean isGoto() -> B1
    com.android.tools.r8.ir.code.ConstString asConstString() -> C
    com.android.tools.r8.ir.code.StringSwitch asStringSwitch() -> C0
    boolean isIf() -> C1
    com.android.tools.r8.ir.code.DebugLocalsChange asDebugLocalsChange() -> D
    com.android.tools.r8.ir.code.Sub asSub() -> D0
    boolean isInitClass() -> D1
    com.android.tools.r8.ir.code.DebugPosition asDebugPosition() -> E
    com.android.tools.r8.ir.code.Switch asSwitch() -> E0
    boolean isInstanceFieldInstruction() -> E1
    com.android.tools.r8.ir.code.DexItemBasedConstString asDexItemBasedConstString() -> F
    com.android.tools.r8.ir.code.Throw asThrow() -> F0
    boolean isInstanceGet() -> F1
    com.android.tools.r8.ir.code.Div asDiv() -> G
    com.android.tools.r8.ir.code.Ushr asUshr() -> G0
    boolean isInstancePut() -> G1
    com.android.tools.r8.ir.code.Dup asDup() -> H
    com.android.tools.r8.ir.code.Xor asXor() -> H0
    boolean isIntSwitch() -> H1
    com.android.tools.r8.ir.code.FieldGet asFieldGet() -> I
    1:2:void clearBlock():322:323 -> I0
    boolean isInvoke() -> I1
    com.android.tools.r8.ir.code.FieldInstruction asFieldInstruction() -> J
    1:5:void clearDebugValues():293:297 -> J0
    boolean isInvokeDirect() -> J1
    com.android.tools.r8.ir.code.FieldPut asFieldPut() -> K
    1:7:boolean com.android.tools.r8.ir.code.Instruction.definesValueWithNonLocalUsages():583:589 -> K0
    1:7:boolean definesBlockLocalValue():579 -> K0
    boolean isInvokeMethod() -> K1
    com.android.tools.r8.ir.code.Goto asGoto() -> L
    1:1:java.util.Set getDebugValues():690:690 -> L0
    boolean isInvokeMethodWithReceiver() -> L1
    com.android.tools.r8.ir.code.If asIf() -> M
    1:1:com.android.tools.r8.ir.code.Value getFirstOperand():106:106 -> M0
    boolean isInvokeVirtual() -> M1
    com.android.tools.r8.ir.code.InitClass asInitClass() -> N
    1:1:java.lang.String getInstructionName():346:346 -> N0
    boolean isJumpInstruction() -> N1
    com.android.tools.r8.ir.code.InstanceFieldInstruction asInstanceFieldInstruction() -> O
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():1518:1518 -> O0
    boolean isLoad() -> O1
    com.android.tools.r8.ir.code.InstanceGet asInstanceGet() -> P
    1:1:int getNumber():395:395 -> P0
    boolean isLogicalBinop() -> P1
    com.android.tools.r8.ir.code.InstanceOf asInstanceOf() -> Q
    com.android.tools.r8.ir.code.ConstInstruction getOutConstantConstInstruction() -> Q0
    boolean isMonitorEnter() -> Q1
    com.android.tools.r8.ir.code.InstancePut asInstancePut() -> R
    1:2:com.android.tools.r8.ir.code.Position getPosition():82:83 -> R0
    boolean isMove() -> R1
    com.android.tools.r8.ir.code.IntSwitch asIntSwitch() -> S
    1:1:java.lang.String getPositionAsString():98:98 -> S0
    boolean isNewArrayEmpty() -> S1
    com.android.tools.r8.ir.code.Invoke asInvoke() -> T
    1:1:boolean hasBlock():342:342 -> T0
    boolean isNewArrayFilledData() -> T1
    com.android.tools.r8.ir.code.InvokeCustom asInvokeCustom() -> U
    1:1:boolean hasInValueWithLocalInfo():128:128 -> U0
    boolean isNewInstance() -> U1
    com.android.tools.r8.ir.code.InvokeDirect asInvokeDirect() -> V
    boolean hasInvariantOutType() -> V0
    boolean isNumberConversion() -> V1
    com.android.tools.r8.ir.code.InvokeInterface asInvokeInterface() -> W
    1:1:boolean hasOutValue():141:141 -> W0
    boolean isOutConstant() -> W1
    com.android.tools.r8.ir.code.InvokeMethod asInvokeMethod() -> X
    1:1:boolean hasPosition():78:78 -> X0
    boolean isPop() -> X1
    com.android.tools.r8.ir.code.InvokeMethodWithReceiver asInvokeMethodWithReceiver() -> Y
    1:1:boolean hasUnusedOutValue():145:145 -> Y0
    boolean isReturn() -> Y1
    com.android.tools.r8.ir.code.InvokeMultiNewArray asInvokeMultiNewArray() -> Z
    1:1:boolean hasUsedOutValue():149:149 -> Z0
    boolean isStaticFieldInstruction() -> Z1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void buildCf(com.android.tools.r8.ir.conversion.CfBuilder) -> a
    void buildDex(com.android.tools.r8.ir.conversion.DexBuilder) -> a
    boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value) -> a
    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) -> a
    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    boolean isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory) -> a
    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:3:void forceOverwritePosition(com.android.tools.r8.ir.code.Position):92:94 -> a
    4:4:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    4:4:com.android.tools.r8.ir.code.Value getOperand(int):102 -> a
    5:5:com.android.tools.r8.ir.code.Value getOperand(int):102:102 -> a
    6:6:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    6:6:boolean hasInValueThatMatches(java.util.function.Predicate):132 -> a
    7:8:boolean hasInValueThatMatches(java.util.function.Predicate):132:133 -> a
    9:9:com.android.tools.r8.ir.code.Value outValue():153:153 -> a
    10:11:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):182:183 -> a
    12:18:void clearUserInfo(com.android.tools.r8.ir.code.Instruction):203:209 -> a
    19:22:void replaceValue(int,com.android.tools.r8.ir.code.Value):232:235 -> a
    23:25:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):239:241 -> a
    26:26:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":278,"2":279,"3":280}}
    278:278:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):241:241 -> a
    279:279:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):241:241 -> a
    280:280:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):241:241 -> a
    269:277:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):243:251 -> a
    281:287:com.android.tools.r8.ir.code.Value removeDebugValue(com.android.tools.r8.graph.DebugLocalInfo):278:284 -> a
    288:289:void setBlock(com.android.tools.r8.ir.code.BasicBlock):314:315 -> a
    290:291:void print(com.android.tools.r8.utils.CfgPrinter):370:371 -> a
    292:292:java.lang.String com.android.tools.r8.utils.CfgPrinter.makeUnusedValue():20:20 -> a
    292:292:void print(com.android.tools.r8.utils.CfgPrinter):371 -> a
    293:294:void print(com.android.tools.r8.utils.CfgPrinter):373:374 -> a
    295:295:void print(com.android.tools.r8.utils.CfgPrinter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":680,"2":681,"3":682}}
    680:680:void print(com.android.tools.r8.utils.CfgPrinter):376:376 -> a
    681:681:void print(com.android.tools.r8.utils.CfgPrinter):376:376 -> a
    682:682:void print(com.android.tools.r8.utils.CfgPrinter):376:376 -> a
    671:679:void print(com.android.tools.r8.utils.CfgPrinter):376:384 -> a
    683:692:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):505:514 -> a
    693:694:boolean com.android.tools.r8.ir.code.Instruction.identicalNonValueParts(com.android.tools.r8.ir.code.Instruction):413:414 -> a
    693:694:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):511 -> a
    695:695:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):517:517 -> a
    696:696:boolean com.android.tools.r8.ir.code.InvokeDirect.sameConstructorReceiverValue(com.android.tools.r8.ir.code.Invoke):108:108 -> a
    696:696:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):517 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    697:700:boolean com.android.tools.r8.ir.code.InvokeDirect.sameConstructorReceiverValue(com.android.tools.r8.ir.code.Invoke):108:111 -> a
    697:700:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):517 -> a
    701:702:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):520:521 -> a
    703:703:int com.android.tools.r8.ir.code.Instruction.getNumber():395:395 -> a
    703:703:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):525 -> a
    704:712:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):469:477 -> a
    704:712:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    713:713:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552:552 -> a
    713:713:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):477 -> a
    713:713:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    714:714:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    714:714:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552 -> a
    714:714:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):477 -> a
    714:714:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    715:715:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):481:481 -> a
    715:715:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    716:722:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):556:562 -> a
    716:722:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):481 -> a
    716:722:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    723:723:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552:552 -> a
    723:723:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):562 -> a
    723:723:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):481 -> a
    723:723:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    724:724:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    724:724:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552 -> a
    724:724:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):562 -> a
    724:724:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):481 -> a
    724:724:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    725:742:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):484:501 -> a
    725:742:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    743:752:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):528:537 -> a
    753:753:int com.android.tools.r8.ir.code.Instruction.getNumber():395:395 -> a
    753:753:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    754:762:boolean com.android.tools.r8.ir.code.Instruction.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):424:432 -> a
    754:762:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    763:763:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552:552 -> a
    763:763:boolean com.android.tools.r8.ir.code.Instruction.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):432 -> a
    763:763:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    764:764:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    764:764:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552 -> a
    764:764:boolean com.android.tools.r8.ir.code.Instruction.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):432 -> a
    764:764:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    765:765:boolean com.android.tools.r8.ir.code.Instruction.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):436:436 -> a
    765:765:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    766:772:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):556:562 -> a
    766:772:boolean com.android.tools.r8.ir.code.Instruction.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):436 -> a
    766:772:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    773:773:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552:552 -> a
    773:773:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):562 -> a
    773:773:boolean com.android.tools.r8.ir.code.Instruction.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):436 -> a
    773:773:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    774:774:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    774:774:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552 -> a
    774:774:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):562 -> a
    774:774:boolean com.android.tools.r8.ir.code.Instruction.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):436 -> a
    774:774:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    775:795:boolean com.android.tools.r8.ir.code.Instruction.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):439:459 -> a
    775:795:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    796:812:boolean com.android.tools.r8.ir.code.Instruction.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):448:464 -> a
    796:812:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    813:814:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):544:545 -> a
    815:815:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):618:618 -> a
    816:818:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):634:636 -> a
    819:820:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):1454:1455 -> a
    821:824:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):1461:1464 -> a
    825:826:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1469:1470 -> a
    827:827:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2299,"2":2300,"3":2301}}
    2299:2299:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1470:1470 -> a
    2300:2300:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1470:1470 -> a
    2301:2301:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1470:1470 -> a
    2298:2298:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1471:1471 -> a
    2302:2310:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1475:1483 -> a
    2311:2311:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5285,"2":5286,"3":5287}}
    5285:5285:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483:1483 -> a
    5286:5286:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5286:5286:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483 -> a
    5287:5287:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5287:5287:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483 -> a
    3794:3797:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483:1486 -> a
    3798:3798:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5288,"2":5289,"3":5290}}
    5288:5288:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486:1486 -> a
    5289:5289:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5289:5289:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486 -> a
    5290:5290:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5290:5290:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486 -> a
    5284:5284:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486:1486 -> a
    5291:5293:boolean verifyValidPositionInfo(boolean):1538:1540 -> a
    5294:5294:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    5294:5294:boolean verifyValidPositionInfo(boolean):1541 -> a
    5295:5295:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    5295:5295:boolean verifyValidPositionInfo(boolean):1542 -> a
    5296:5297:boolean verifyValidPositionInfo(boolean):1543:1544 -> a
    5298:5298:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    5298:5298:boolean com.android.tools.r8.ir.code.Position.isSyntheticNone():137 -> a
    5298:5298:boolean verifyValidPositionInfo(boolean):1544 -> a
    5299:5299:boolean verifyValidPositionInfo(boolean):1540:1540 -> a
    com.android.tools.r8.ir.code.InvokeNewArray asInvokeNewArray() -> a0
    1:1:java.util.List inValues():110:110 -> a1
    boolean isStaticGet() -> a2
    boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction) -> b
    boolean isStaticPut() -> b
    1:2:void setPosition(com.android.tools.r8.ir.code.Position):87:88 -> b
    3:7:void addDebugValue(com.android.tools.r8.ir.code.Value):195:199 -> b
    8:14:void replaceValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):222:228 -> b
    15:15:void printLIR(com.android.tools.r8.utils.CfgPrinter):391:391 -> b
    16:17:void setNumber(int):399:400 -> b
    18:18:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):629:629 -> b
    com.android.tools.r8.ir.code.InvokePolymorphic asInvokePolymorphic() -> b0
    1:1:boolean instructionInstanceCanThrow():609:609 -> b1
    boolean isStore() -> b2
    1:4:void addInValue(com.android.tools.r8.ir.code.Value):115:118 -> c
    5:6:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():188:189 -> c
    7:13:void moveDebugValues(com.android.tools.r8.ir.code.Instruction):256:262 -> c
    14:14:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> c
    com.android.tools.r8.ir.code.InvokeStatic asInvokeStatic() -> c0
    boolean instructionTypeCanBeCanonicalized() -> c1
    boolean isStringSwitch() -> c2
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean needsValueInRegister(com.android.tools.r8.ir.code.Value) -> d
    com.android.tools.r8.ir.code.InvokeSuper asInvokeSuper() -> d0
    boolean instructionTypeCanThrow() -> d1
    boolean isSwitch() -> d2
    1:9:void removeDebugValue(com.android.tools.r8.ir.code.Value):266:274 -> e
    10:10:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):575:575 -> e
    com.android.tools.r8.ir.code.InvokeVirtual asInvokeVirtual() -> e0
    boolean isAdd() -> e1
    boolean isThrow() -> e2
    1:4:com.android.tools.r8.ir.code.Value setOutValue(com.android.tools.r8.ir.code.Value):162:165 -> f
    5:9:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):644:648 -> f
    com.android.tools.r8.ir.code.JumpInstruction asJumpInstruction() -> f0
    boolean isAllowedAfterThrowingInstruction() -> f1
    boolean isUnop() -> f2
    com.android.tools.r8.ir.code.Instruction asInstruction() -> g
    1:5:com.android.tools.r8.ir.code.Value swapOutValue(com.android.tools.r8.ir.code.Value):171:175 -> g
    com.android.tools.r8.ir.code.Load asLoad() -> g0
    boolean isArgument() -> g1
    boolean isUnusedArgument() -> g2
    com.android.tools.r8.ir.code.LogicalBinop asLogicalBinop() -> h0
    boolean isArithmeticBinop() -> h1
    int maxInValueRegister() -> h2
    com.android.tools.r8.ir.code.Monitor asMonitor() -> i0
    boolean isArrayAccess() -> i1
    int maxOutValueRegister() -> i2
    1:2:com.android.tools.r8.ir.code.BasicBlock getBlock():306:307 -> j
    com.android.tools.r8.ir.code.Move asMove() -> j0
    boolean isArrayGet() -> j1
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():686:686 -> k
    com.android.tools.r8.ir.code.MoveException asMoveException() -> k0
    boolean isArrayPut() -> k1
    1:1:com.android.tools.r8.ir.code.ValueType outType():214:214 -> k2
    com.android.tools.r8.ir.code.Add asAdd() -> l
    com.android.tools.r8.ir.code.Mul asMul() -> l0
    boolean isAssume() -> l1
    boolean throwsOnNullInput() -> l2
    com.android.tools.r8.ir.code.And asAnd() -> m
    com.android.tools.r8.ir.code.Neg asNeg() -> m0
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> m1
    1:1:boolean isAssumeWithDynamicTypeAssumption():776 -> m1
    2:2:boolean isAssumeWithDynamicTypeAssumption():776:776 -> m1
    com.android.tools.r8.ir.code.Argument asArgument() -> n
    com.android.tools.r8.ir.code.NewArrayEmpty asNewArrayEmpty() -> n0
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> n1
    1:1:boolean isAssumeWithNonNullAssumption():780 -> n1
    2:2:boolean isAssumeWithNonNullAssumption():780:780 -> n1
    com.android.tools.r8.ir.code.ArithmeticBinop asArithmeticBinop() -> o
    com.android.tools.r8.ir.code.NewArrayFilledData asNewArrayFilledData() -> o0
    boolean isBinop() -> o1
    com.android.tools.r8.ir.code.ArrayAccess asArrayAccess() -> p
    com.android.tools.r8.ir.code.NewInstance asNewInstance() -> p0
    boolean isCheckCast() -> p1
    com.android.tools.r8.ir.code.ArrayGet asArrayGet() -> q
    com.android.tools.r8.ir.code.NewUnboxedEnumInstance asNewUnboxedEnumInstance() -> q0
    boolean isConstClass() -> q1
    com.android.tools.r8.ir.code.ArrayLength asArrayLength() -> r
    com.android.tools.r8.ir.code.Not asNot() -> r0
    boolean isConstInstruction() -> r1
    com.android.tools.r8.ir.code.ArrayPut asArrayPut() -> s
    com.android.tools.r8.ir.code.NumberConversion asNumberConversion() -> s0
    boolean isConstNumber() -> s1
    com.android.tools.r8.ir.code.Assume asAssume() -> t
    com.android.tools.r8.ir.code.Or asOr() -> t0
    boolean isConstString() -> t1
    1:14:java.lang.String toString():351:364 -> toString
    com.android.tools.r8.ir.code.Binop asBinop() -> u
    com.android.tools.r8.ir.code.RecordFieldValues asRecordFieldValues() -> u0
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> u1
    1:1:boolean isCreatingArray():1432 -> u1
    2:2:boolean isCreatingArray():1433:1433 -> u1
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> u1
    3:3:boolean isCreatingArray():1434 -> u1
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> u1
    4:4:boolean isCreatingArray():1435 -> u1
    5:5:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> u1
    5:5:boolean isCreatingArray():1436 -> u1
    com.android.tools.r8.ir.code.CheckCast asCheckCast() -> v
    com.android.tools.r8.ir.code.Rem asRem() -> v0
    1:1:boolean isCreatingInstanceOrArray():1440:1440 -> v1
    com.android.tools.r8.ir.code.Cmp asCmp() -> w
    com.android.tools.r8.ir.code.Return asReturn() -> w0
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> w1
    1:1:boolean isDebugInstruction():1232 -> w1
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> w1
    2:2:boolean isDebugInstruction():1233 -> w1
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> w1
    3:3:boolean isDebugInstruction():1234 -> w1
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> w1
    4:4:boolean isDebugInstruction():1235 -> w1
    5:5:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> w1
    5:5:boolean isDebugInstruction():1236 -> w1
    com.android.tools.r8.ir.code.ConstClass asConstClass() -> x
    com.android.tools.r8.ir.code.Shl asShl() -> x0
    boolean isDebugPosition() -> x1
    com.android.tools.r8.ir.code.ConstInstruction asConstInstruction() -> y
    com.android.tools.r8.ir.code.Shr asShr() -> y0
    boolean isFieldGet() -> y1
    com.android.tools.r8.ir.code.ConstMethodHandle asConstMethodHandle() -> z
    com.android.tools.r8.ir.code.StaticGet asStaticGet() -> z0
    boolean isFieldInstruction() -> z1
com.android.tools.r8.ir.code.Instruction$BuilderBase -> com.android.tools.r8.internal.cq:
    com.android.tools.r8.ir.code.Position position -> b
    com.android.tools.r8.ir.code.Value outValue -> a
    1:1:void <init>():1632:1632 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:2:com.android.tools.r8.ir.code.Instruction amend(com.android.tools.r8.ir.code.Instruction):1642:1643 -> a
    3:4:com.android.tools.r8.ir.code.Instruction$BuilderBase setOutValue(com.android.tools.r8.ir.code.Value):1649:1650 -> a
    5:5:com.android.tools.r8.ir.code.Instruction$BuilderBase setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1658:1658 -> a
    6:7:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setOutValue(com.android.tools.r8.ir.code.Value):1649:1650 -> a
    6:7:com.android.tools.r8.ir.code.Instruction$BuilderBase setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1658 -> a
    8:9:com.android.tools.r8.ir.code.Instruction$BuilderBase setPosition(com.android.tools.r8.ir.code.Position):1662:1663 -> a
    1:1:com.android.tools.r8.ir.code.Instruction$BuilderBase setPosition(com.android.tools.r8.ir.code.Instruction):1667:1667 -> b
    2:3:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setPosition(com.android.tools.r8.ir.code.Position):1662:1663 -> b
    2:3:com.android.tools.r8.ir.code.Instruction$BuilderBase setPosition(com.android.tools.r8.ir.code.Instruction):1667 -> b
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption -> com.android.tools.r8.internal.iq:
    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 IGNORE_RECEIVER_FIELD_ASSIGNMENTS -> c
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption INVOKED_METHOD_DOES_NOT_HAVE_SIDE_EFFECTS -> d
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption RECEIVER_NOT_NULL -> e
    1:30:void <clinit>():1554:1583 -> <clinit>
    1:1:void <init>():1552:1552 -> <init>
    boolean canAssumeClassIsAlreadyInitialized() -> a
    boolean canAssumeInvokedMethodDoesNotHaveSideEffects() -> b
    boolean canAssumeReceiverIsNotNull() -> c
    1:1:com.android.tools.r8.ir.code.Instruction$SideEffectAssumption join(com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):1609:1609 -> d
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$1 -> com.android.tools.r8.internal.dq:
    1:1:void <init>():1557:1557 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$2 -> com.android.tools.r8.internal.eq:
    1:1:void <init>():1566:1566 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$3 -> com.android.tools.r8.internal.fq:
    1:1:void <init>():1575:1575 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$4 -> com.android.tools.r8.internal.gq:
    1:1:void <init>():1584:1584 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$5 -> com.android.tools.r8.internal.hq:
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption val$other -> f
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption this$0 -> g
    1:1610:void <init>(com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):0:1609 -> <init>
    1:2:boolean canAssumeClassIsAlreadyInitialized():1613:1614 -> a
    1:2:boolean canAssumeInvokedMethodDoesNotHaveSideEffects():1619:1620 -> b
    1:2:boolean canAssumeReceiverIsNotNull():1625:1626 -> c
com.android.tools.r8.ir.code.InstructionIterator -> com.android.tools.r8.internal.lq:
    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 -> f
    1:1:void remove():15:15 -> remove
com.android.tools.r8.ir.code.InstructionListIterator -> com.android.tools.r8.internal.mq:
    void addThrowingInstructionToPossiblyThrowingBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.utils.InternalOptions) -> a
    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.DexProgramClass) -> 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
    com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position) -> a
    boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer) -> a
    void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set) -> a
    boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo) -> a
    void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int) -> a
    void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set) -> a
    void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set) -> a
    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,boolean) -> a
    com.android.tools.r8.ir.code.BasicBlock splitCopyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions) -> a
    1:1:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    2:2:com.android.tools.r8.ir.code.Value insertConstNullInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):92:92 -> 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):96:96 -> a
    4:4:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):117:117 -> a
    5:5:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):116:116 -> a
    6:6:void replaceCurrentInstructionWithConstTrue(com.android.tools.r8.ir.code.IRCode):138:138 -> a
    7:7:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.lang.String):144:144 -> a
    8:8:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.lang.String):143:143 -> a
    9:9:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):198:198 -> a
    10:12: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):280:282 -> a
    void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString) -> b
    1:1:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode):202:202 -> b
    2:2:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int):232:232 -> b
    1:1:void replaceCurrentInstructionWithConstFalse(com.android.tools.r8.ir.code.IRCode):130:130 -> c
    void removeOrReplaceByDebugLocalRead() -> e
    void unsetInsertionPosition() -> h
    1:1:void removeInstructionIgnoreOutValue():70:70 -> i
com.android.tools.r8.ir.code.InstructionOrPhi -> com.android.tools.r8.internal.nq:
    boolean isPhi() -> f
    com.android.tools.r8.ir.code.Instruction asInstruction() -> g
    com.android.tools.r8.ir.code.Phi asPhi() -> h
    com.android.tools.r8.ir.code.BasicBlock getBlock() -> j
com.android.tools.r8.ir.code.IntSwitch -> com.android.tools.r8.internal.wt:
    boolean $assertionsDisabled -> n
    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>
    boolean isIntSwitch() -> H1
    com.android.tools.r8.ir.code.IntSwitch asIntSwitch() -> S
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:230:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):0:229 -> a
    231:231:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165:165 -> a
    231:231:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    231:231:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    232:232:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    232:232:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165 -> a
    232:232:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    232:232:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    233:233:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170:170 -> a
    233:233:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    233:233:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    234:234:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    234:234:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142 -> a
    234:234:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    234:234:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    234:234:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    235:237:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:144 -> a
    235:237:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    235:237:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    235:237:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    238:238:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175:175 -> a
    238:238:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    238:238:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    239:239:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149:149 -> a
    239:239:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    239:239:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    239:239:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    240:240:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    240:240:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149 -> a
    240:240:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    240:240:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    240:240:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    241:264:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):231:254 -> a
    265:265:void forEachCase(com.android.tools.r8.utils.IntObjConsumer):49:49 -> a
    266:266:int com.android.tools.r8.ir.code.IntSwitch.getKey(int):212:212 -> a
    266:266:void forEachCase(com.android.tools.r8.utils.IntObjConsumer):50 -> a
    267:267:void forEachCase(com.android.tools.r8.utils.IntObjConsumer):50:50 -> a
    268:268:long numberOfTargetsIfPacked(int[]):74:74 -> a
    269:269:boolean canBePacked(com.android.tools.r8.utils.InternalOutputMode,long):85:85 -> a
    270:270:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149:149 -> a
    270:270:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):90 -> a
    271:271:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    271:271:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149 -> a
    271:271:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):90 -> a
    272:272:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    272:272:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):90 -> a
    273:273:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    273:273:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):92 -> a
    274:274:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:142 -> a
    274:274:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):93 -> a
    275:275:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    275:275:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142 -> a
    275:275:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):93 -> a
    276:278:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:144 -> a
    276:278:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):93 -> a
    279:279:int com.android.tools.r8.ir.code.IntSwitch.basePackedSize(com.android.tools.r8.utils.InternalOutputMode):109:109 -> a
    279:279:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):94 -> a
    280:280:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):99:99 -> a
    281:282:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):203:204 -> a
    283:283:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165:165 -> a
    283:283:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    283:283:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    284:284:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    284:284:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165 -> a
    284:284:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    284:284:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    285:285:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170:170 -> a
    285:285:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    285:285:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    286:286:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:142 -> a
    286:286:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    286:286:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    286:286:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    287:287:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    287:287:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142 -> a
    287:287:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    287:287:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    287:287:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    288:290:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:144 -> a
    288:290:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    288:290:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    288:290:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    291:291:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175:175 -> a
    291:291:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    291:291:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    292:292:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149:149 -> a
    292:292:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    292:292:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    292:292:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    293:293:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    293:293:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149 -> a
    293:293:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    293:293:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    293:293:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    294:296:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):205:207 -> a
    297:300:void print(com.android.tools.r8.utils.CfgPrinter):284:287 -> a
    301:301:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):293:293 -> a
    302:305:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):298:301 -> a
    306:306:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165:165 -> a
    306:306:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    306:306:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    307:307:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    307:307:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165 -> a
    307:307:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    307:307:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    308:308:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170:170 -> a
    308:308:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    308:308:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    309:309:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:142 -> a
    309:309:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    309:309:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    309:309:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    310:310:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    310:310:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142 -> a
    310:310:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    310:310:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    310:310:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    311:313:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:144 -> a
    311:313:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    311:313:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    311:313:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    314:314:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175:175 -> a
    314:314:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    314:314:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    315:315:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149:149 -> a
    315:315:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    315:315:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    315:315:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    316:316:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    316:316:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149 -> a
    316:316:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    316:316:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    316:316:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    317:334:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):302:319 -> a
    boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction) -> b
    1:2:long packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):130:131 -> b
    1:1:int getKey(int):212:212 -> f
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:7:boolean valid():61:67 -> q2
    1:1:int getFirstKey():183:183 -> r2
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getKeyToTargetMap():220:221 -> s2
    3:3:int com.android.tools.r8.ir.code.IntSwitch.getKey(int):212:212 -> s2
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getKeyToTargetMap():222 -> s2
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getKeyToTargetMap():222:222 -> s2
    1:1:int[] getKeys():216:216 -> t2
    1:4:java.lang.String toString():270:273 -> toString
    5:5:int com.android.tools.r8.ir.code.IntSwitch.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.internal.lu:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):224:224 -> <init>
    boolean isInvoke() -> I1
    1:1:java.lang.String getInstructionName():0:0 -> N0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":460,"2":461,"3":462}}
    460:460:java.lang.String getInstructionName():458:458 -> N0
    461:461:java.lang.String getInstructionName():458:458 -> N0
    462:462:java.lang.String getInstructionName():458:458 -> N0
    459:459:java.lang.String getInstructionName():458:458 -> N0
    com.android.tools.r8.ir.code.Invoke asInvoke() -> T
    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):235:255 -> a
    22:22: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):251:251 -> a
    23:23: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):249:249 -> a
    24:24: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):247:247 -> a
    25:25: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):245:245 -> a
    26:26: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):243:243 -> a
    27:39: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):241:253 -> a
    40:40: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):239:239 -> a
    41:41: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):237:237 -> a
    42:42:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):314:314 -> a
    43:43:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    43:43:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):316 -> a
    44:53:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):316:325 -> a
    54:54:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> a
    54:54:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):326 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:55:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> a
    55:55:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):326 -> a
    56:58:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):327:329 -> a
    59:59:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> a
    59:59:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):329 -> a
    60:60:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):329:329 -> a
    61:61:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> a
    61:61:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):330 -> a
    62:63:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):331:332 -> a
    64:77:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):351:364 -> a
    78:78:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:362 -> a
    79:79:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":446,"2":447,"3":448}}
    446:446:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:362 -> a
    447:447:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:362 -> a
    448:448:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:362 -> a
    441:445:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:366 -> a
    449:465:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):372:388 -> a
    466:472:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):386:392 -> a
    473:477:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView) -> a
    478:478:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):475:475 -> a
    479:479:boolean outTypeKnownToBeBoolean(java.util.Set):482:482 -> a
    1:1:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):301:301 -> b
    2:2:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> b
    2:2:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):302 -> b
    3:3:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):302:302 -> b
    4:4:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> b
    4:4:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):308 -> b
    5:5:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):308:308 -> b
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    1:1:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):339 -> c
    2:3:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):339:340 -> c
    4:4:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> c
    4:4:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):340 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> c
    5:5:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):340 -> c
    6:6:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    6:6:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):341 -> c
    7:7:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):341:341 -> c
    8:8:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    8:8:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):342 -> c
    9:10:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):342:343 -> c
    11:11:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> c
    11:11:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):344 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> c
    12:12:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):344 -> c
    13:13:com.android.tools.r8.ir.code.Value getArgument(int):275:275 -> c
    14:14:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    14:14:com.android.tools.r8.ir.code.Value getArgument(int):275 -> c
    15:15:com.android.tools.r8.ir.code.Value getArgument(int):275:275 -> c
    16:16:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    16:16:com.android.tools.r8.ir.code.Value getArgument(int):276 -> c
    17:17:com.android.tools.r8.ir.code.Value getArgument(int):276:276 -> c
    1:1:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):429:429 -> d
    2:2:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    2:2:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    3:3:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436:436 -> d
    4:4:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    4:4:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():411 -> d
    4:4:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    5:5:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():411:411 -> d
    5:5:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    6:6:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    6:6:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():414 -> d
    6:6:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    7:8:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():414:415 -> d
    7:8:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    9:9:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    9:9:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():418 -> d
    9:9:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    10:10:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():418:418 -> d
    10:10:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    11:11:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    11:11:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():419 -> d
    11:11:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    12:13:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():419:420 -> d
    12:13:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    14:14:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):443:443 -> d
    15:15:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    15:15:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):444 -> d
    16:17:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):444:445 -> d
    boolean instructionTypeCanThrow() -> d1
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> h2
    1:1:int maxInValueRegister():402 -> h2
    2:3:int maxInValueRegister():402:403 -> h2
    4:4:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> h2
    4:4:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():411 -> h2
    4:4:int maxInValueRegister():404 -> h2
    5:5:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():411:411 -> h2
    5:5:int maxInValueRegister():404 -> h2
    6:6:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> h2
    6:6:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():414 -> h2
    6:6:int maxInValueRegister():404 -> h2
    7:8:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():414:415 -> h2
    7:8:int maxInValueRegister():404 -> h2
    9:9:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> h2
    9:9:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():418 -> h2
    9:9:int maxInValueRegister():404 -> h2
    10:10:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():418:418 -> h2
    10:10:int maxInValueRegister():404 -> h2
    11:11:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> h2
    11:11:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():419 -> h2
    11:11:int maxInValueRegister():404 -> h2
    12:13:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():419:420 -> h2
    12:13:int maxInValueRegister():404 -> h2
    int maxOutValueRegister() -> i2
    1:1:java.util.List arguments():271:271 -> m2
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> n2
    1:1:com.android.tools.r8.ir.code.Value getLastArgument():289 -> n2
    2:2:com.android.tools.r8.ir.code.Value getLastArgument():289:289 -> n2
    com.android.tools.r8.graph.DexType getReturnType() -> o2
    com.android.tools.r8.ir.code.Invoke$Type getType() -> p2
    java.lang.String getTypeString() -> q2
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> r2
    1:1:boolean hasArguments():263 -> r2
    2:2:boolean hasArguments():263:263 -> r2
    1:1:int requiredArgumentRegisters():294:294 -> s2
    2:2:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> s2
    2:2:int requiredArgumentRegisters():295 -> s2
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> s2
    3:3:int requiredArgumentRegisters():295 -> s2
com.android.tools.r8.ir.code.Invoke$Type -> com.android.tools.r8.internal.ku:
    com.android.tools.r8.ir.code.Invoke$Type STATIC -> f
    boolean $assertionsDisabled -> m
    com.android.tools.r8.ir.code.Invoke$Type SUPER -> g
    com.android.tools.r8.ir.code.Invoke$Type VIRTUAL -> h
    com.android.tools.r8.ir.code.Invoke$Type NEW_ARRAY -> i
    com.android.tools.r8.ir.code.Invoke$Type DIRECT -> d
    com.android.tools.r8.ir.code.Invoke$Type INTERFACE -> e
    int dexOpcode -> b
    com.android.tools.r8.ir.code.Invoke$Type MULTI_NEW_ARRAY -> j
    int dexOpcodeRange -> c
    com.android.tools.r8.ir.code.Invoke$Type POLYMORPHIC -> k
    com.android.tools.r8.ir.code.Invoke$Type[] $VALUES -> l
    1:11:void <clinit>():41:41 -> <clinit>
    1:3:void <init>(java.lang.String,int,int,int):55:57 -> <init>
    1:13:com.android.tools.r8.ir.code.Invoke$Type fromInvokeSpecial(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):97:109 -> a
    14:14:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    14:14:com.android.tools.r8.ir.code.Invoke$Type fromInvokeSpecial(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):109 -> a
    15:48:com.android.tools.r8.ir.code.Invoke$Type fromInvokeSpecial(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):110:143 -> a
    49:50:int getDexOpcode():171:172 -> a
    1:2:int getDexOpcodeRange():176:177 -> b
    1:1:boolean isVirtual():197:197 -> c
com.android.tools.r8.ir.code.InvokeCustom -> com.android.tools.r8.internal.mu:
    com.android.tools.r8.graph.DexCallSite callSite -> j
    boolean $assertionsDisabled -> k
    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>
    com.android.tools.r8.ir.code.InvokeCustom asInvokeCustom() -> U
    boolean hasInvariantOutType() -> V0
    1:28:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):65:92 -> a
    29:39:boolean com.android.tools.r8.ir.code.InvokeCustom.verifyLambdaInterfaces(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.graph.DexType):48:58 -> a
    29:39:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):94 -> a
    40:40:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):97:97 -> a
    41:41:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):96:96 -> a
    42:42:void lambda$evaluate$0(com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder,com.android.tools.r8.graph.DexType):91:91 -> a
    43:43:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    43:43:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):197 -> a
    44:44:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):197:197 -> a
    45:50:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:132 -> a
    51:51:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    51:51:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):132 -> a
    52:56:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):132:136 -> a
    57:57:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    57:57:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):138 -> a
    58:65:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):138:145 -> a
    66:66:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):150:150 -> a
    67:67:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    67:67:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):150 -> a
    68:68:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):150:150 -> a
    69:69:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokeCustom():168:168 -> a
    69:69:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):171 -> a
    70:70:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):178:178 -> a
    71:71:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    71:71:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):179 -> a
    72:75:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):179:182 -> a
    76:76:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    76:76:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):183 -> a
    77:80:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):183:186 -> a
    81:81:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeCustom):184:184 -> a
    81:81:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):43 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):155:155 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):155 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):155:155 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexType getReturnType():102:102 -> o2
    1:1:java.lang.String getTypeString():116:116 -> q2
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():106:106 -> t2
    1:1:java.lang.String toString():121:121 -> toString
com.android.tools.r8.ir.code.InvokeDirect -> com.android.tools.r8.internal.pu:
    boolean isInterface -> m
    boolean $assertionsDisabled -> n
    int $r8$clinit -> o
    1:1:void <clinit>():33:33 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):42:45 -> <init>
    boolean isInvokeDirect() -> J1
    com.android.tools.r8.ir.code.InvokeDirect asInvokeDirect() -> V
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):81:99 -> a
    20:20:boolean isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):121:121 -> a
    21:27:com.android.tools.r8.graph.DexClassAndMethod 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):140:146 -> a
    28:28:boolean com.android.tools.r8.ir.code.InvokeMethod.verifyD8LookupResult(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):262:262 -> a
    28:28:com.android.tools.r8.graph.DexClassAndMethod 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):145 -> a
    29:31:com.android.tools.r8.graph.DexClassAndMethod 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):150:152 -> a
    32:32: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
    33:35:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):163:163 -> a
    36:36: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):175:175 -> a
    37:50:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):181:194 -> a
    51:51:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeDirect):189:189 -> a
    51:51:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):65 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):116:116 -> b
    1:5:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):199:203 -> f
    6:6:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> f
    6:6:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):207 -> f
    7:14:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):209:216 -> f
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():70:70 -> p2
    1:1:java.lang.String getTypeString():75:75 -> q2
    1:1:boolean getInterfaceBit():60:60 -> t2
com.android.tools.r8.ir.code.InvokeDirect$Builder -> com.android.tools.r8.internal.ou:
    1:1:void <init>():219:219 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setArguments(java.util.List):287:289 -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder setArguments(java.util.List):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexMethod):302:303 -> a
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.ir.code.InvokeDirect build():223:223 -> b
    2:2: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):38:38 -> b
    2:2:com.android.tools.r8.ir.code.InvokeDirect build():223 -> b
    3:3:com.android.tools.r8.ir.code.InvokeDirect build():223:223 -> b
com.android.tools.r8.ir.code.InvokeInterface -> com.android.tools.r8.internal.su:
    boolean $assertionsDisabled -> m
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):32:32 -> <init>
    com.android.tools.r8.ir.code.InvokeInterface asInvokeInterface() -> W
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):63:81 -> a
    20:33:com.android.tools.r8.graph.DexClassAndMethod 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):105:118 -> a
    34:34:com.android.tools.r8.graph.DexClassAndMethod 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):117:117 -> a
    35:43:com.android.tools.r8.graph.DexClassAndMethod 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):112:120 -> a
    44:44:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):126:126 -> a
    45:47:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):131:131 -> a
    48:48: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):142:142 -> a
    49:49:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeInterface):194:194 -> a
    49:49:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):86:86 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):86 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):86:86 -> b
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():52:52 -> p2
    1:1:java.lang.String getTypeString():57:57 -> q2
    boolean getInterfaceBit() -> t2
com.android.tools.r8.ir.code.InvokeMethod -> com.android.tools.r8.internal.uu:
    com.android.tools.r8.graph.DexMethod method -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():42:42 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):47:48 -> <init>
    boolean isInvokeMethod() -> K1
    boolean hasInvariantOutType() -> V0
    com.android.tools.r8.ir.code.InvokeMethod asInvokeMethod() -> X
    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) -> a
    void lambda$lookupProgramDispatchTargets$1(com.android.tools.r8.graph.LookupLambdaTarget) -> a
    1:18:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):53:70 -> a
    19:20:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):63:64 -> a
    21:21:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):61:61 -> a
    22:22:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):59:59 -> a
    23:23:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):57:57 -> a
    24:24:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):55:55 -> a
    25:25:void lambda$lookupProgramDispatchTargets$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):172:172 -> a
    26:26:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    26:26:void lambda$lookupProgramDispatchTargets$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):172 -> a
    27:27:void lambda$lookupProgramDispatchTargets$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):173:173 -> a
    28:33:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):191:196 -> a
    34:34:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    34:34:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):201 -> a
    35:35:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):201:201 -> a
    36:36:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    36:36:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):202 -> a
    37:38:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):202:203 -> a
    39:39:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    39:39:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):203 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):203:203 -> a
    41:49:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):214:222 -> a
    50:50:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):233:233 -> a
    51:56:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):249:254 -> a
    57:63:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):268:274 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:95 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):243:243 -> f
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):125:125 -> g
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> g
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMethodWithDynamicDispatch():1272 -> g
    2:2:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):128 -> g
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMethodWithDynamicDispatch():1272:1272 -> g
    3:3:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):128 -> g
    4:4:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> g
    4:4:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129 -> g
    5:6:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.utils.collections.ProgramMethodSet.create(com.android.tools.r8.graph.ProgramMethod):44:45 -> g
    5:6:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):130 -> g
    7:7:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):135:135 -> g
    8:8: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):166:166 -> g
    8:8:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):135 -> g
    9:9: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.graph.DexMethod,com.android.tools.r8.ir.code.Value):171:171 -> g
    9:9: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):166 -> g
    9:9:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):135 -> g
    10:10:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):134:134 -> g
    11:16:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):133:138 -> g
    17:17:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.code.Value.getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1154:1154 -> g
    17:17:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):138 -> g
    18:35:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):141:158 -> g
    36:44:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):156:164 -> g
    45:52:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):163:170 -> g
    com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> h
    1:1:com.android.tools.r8.graph.DexType getReturnType():86:86 -> o2
    boolean getInterfaceBit() -> t2
    1:1:java.lang.String toString():100:100 -> toString
    1:1:com.android.tools.r8.graph.DexMethod getInvokedMethod():90:90 -> u2
com.android.tools.r8.ir.code.InvokeMethod$Builder -> com.android.tools.r8.internal.tu:
    java.util.List arguments -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexMethod method -> c
    1:1:void <clinit>():280:280 -> <clinit>
    1:5:void <init>():280:284 -> <init>
com.android.tools.r8.ir.code.InvokeMethodWithReceiver -> com.android.tools.r8.internal.vu:
    boolean $assertionsDisabled -> l
    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>
    boolean isInvokeMethodWithReceiver() -> L1
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():117:117 -> O0
    com.android.tools.r8.ir.code.InvokeMethodWithReceiver asInvokeMethodWithReceiver() -> Y
    com.android.tools.r8.graph.DexClassAndMethod 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):74:74 -> a
    2:2:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):107:107 -> a
    3:10:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):122:129 -> a
    11:11:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.code.Value.getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1154:1154 -> a
    11:11:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):131 -> a
    12:12: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):166:166 -> a
    12:12:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):134 -> a
    13:13: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.graph.DexMethod,com.android.tools.r8.ir.code.Value):171:171 -> a
    13:13: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):166 -> a
    13:13:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):134 -> a
    14:20:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):136:142 -> a
    21:21:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):141:141 -> a
    22:22:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):135:135 -> a
    23:51:boolean upperBoundAssumedByCallSiteOptimizationAndNoLongerInstantiated(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):155:183 -> a
    52:70:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):189:207 -> a
    71:71:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> 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):207 -> a
    72:72:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    72:72:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119 -> 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):207 -> a
    73:73:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    73:73:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):207 -> a
    74:108:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):211:245 -> a
    109:109:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    109:109:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):250 -> a
    110:121:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):252:263 -> a
    122:122:boolean com.android.tools.r8.ir.code.Instruction$SideEffectAssumption.canIgnoreInstanceFieldAssignmentsToReceiver():0:0 -> a
    122:122:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):264 -> a
    123:132:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):265:274 -> a
    1:4:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):82:85 -> h
    5:5:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.code.Value.getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1154:1154 -> h
    5:5:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):85 -> h
    6:6:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):87:87 -> h
    boolean throwsOnNullInput() -> l2
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> v2
    1:1:java.lang.Iterable getNonReceiverArguments():37 -> v2
    2:2:java.lang.Iterable getNonReceiverArguments():37:37 -> v2
    1:2:com.android.tools.r8.ir.code.Value getReceiver():63:64 -> w2
com.android.tools.r8.ir.code.InvokeMultiNewArray -> com.android.tools.r8.internal.wu:
    com.android.tools.r8.graph.DexType type -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,java.util.List):30:31 -> <init>
    boolean hasInvariantOutType() -> V0
    com.android.tools.r8.ir.code.InvokeMultiNewArray asInvokeMultiNewArray() -> Z
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):81:81 -> a
    2:2:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):86:86 -> a
    3:3:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):96:96 -> a
    4:5:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):101:102 -> a
    6:6:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):107:107 -> a
    7:7:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):107 -> a
    8:8:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):107:107 -> a
    9:9:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> 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):180:185 -> 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):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    4:28:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):117:141 -> b
    29:29:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    29:29:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146 -> b
    30:40:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):147:157 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.InvokeMultiNewArray.getArrayType():60:60 -> o2
    1:1:com.android.tools.r8.graph.DexType getReturnType():65 -> o2
    1:1:java.lang.String getTypeString():70:70 -> q2
    1:1:com.android.tools.r8.graph.DexType getArrayType():60:60 -> t2
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> u2
    1:1:boolean instructionInstanceCanThrowNegativeArraySizeException():162 -> u2
    2:8:boolean instructionInstanceCanThrowNegativeArraySizeException():162:168 -> u2
com.android.tools.r8.ir.code.InvokeNewArray -> com.android.tools.r8.internal.xu:
    com.android.tools.r8.graph.DexType type -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():28:28 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,java.util.List):33:34 -> <init>
    boolean hasInvariantOutType() -> V0
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):74:92 -> a
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):113:113 -> a
    21:21:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):118:118 -> a
    22:22:com.android.tools.r8.errors.Unreachable com.android.tools.r8.ir.code.InvokeNewArray.cfUnsupported():142:142 -> a
    22:22:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):138 -> a
    23:23:com.android.tools.r8.errors.Unreachable com.android.tools.r8.ir.code.InvokeNewArray.cfUnsupported():142:142 -> a
    23:23:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):128 -> a
    24:24:com.android.tools.r8.errors.Unreachable com.android.tools.r8.ir.code.InvokeNewArray.cfUnsupported():142:142 -> a
    24:24:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):133 -> a
    25:25:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeNewArray):204:204 -> a
    25:25:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:31:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):207:212 -> a
    32:32:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    32:32:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):148 -> a
    33:35:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):149:151 -> a
    36:39:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):150:153 -> a
    com.android.tools.r8.ir.code.InvokeNewArray asInvokeNewArray() -> a0
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):97:97 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):97 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):97:97 -> b
    4:28:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):158:182 -> b
    29:29:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    29:29:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):187 -> b
    30:36:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):188:194 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.InvokeNewArray.getArrayType():53:53 -> o2
    1:1:com.android.tools.r8.graph.DexType getReturnType():49 -> o2
    1:1:java.lang.String getTypeString():63:63 -> q2
    1:1:com.android.tools.r8.graph.DexType getArrayType():53:53 -> t2
    1:1:java.lang.String toString():68:68 -> toString
com.android.tools.r8.ir.code.InvokePolymorphic -> com.android.tools.r8.internal.yu:
    boolean $assertionsDisabled -> m
    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>
    1:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):75:81 -> a
    8:8:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.code.InvokePolymorphic.getProto():69:69 -> a
    8:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):81 -> a
    9:15:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):81:87 -> a
    16:16:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.code.InvokePolymorphic.getProto():69:69 -> a
    16:16:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88 -> a
    17:24:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:95 -> a
    25:31:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):100:106 -> a
    32:32:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.code.InvokePolymorphic.getProto():69:69 -> a
    32:32:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):106 -> a
    33:34:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):106:107 -> a
    35:35: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
    36:36:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokePolymorphic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> a
    36:36:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):143 -> a
    37:37: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):155:155 -> a
    38:38: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":196,"2":197,"3":198}}
    196:196: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):155:155 -> a
    197:197: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):155:155 -> a
    198:198: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):155:155 -> a
    195:195: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):157:157 -> a
    199:199:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokePolymorphic):209:209 -> a
    199:199:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):50 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):112:112 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):112 -> b
    3:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):112:114 -> b
    com.android.tools.r8.ir.code.InvokePolymorphic asInvokePolymorphic() -> b0
    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.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> h
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexType getReturnType():55:55 -> o2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():60:60 -> p2
    1:1:java.lang.String getTypeString():65:65 -> q2
    boolean getInterfaceBit() -> t2
    1:1:com.android.tools.r8.graph.DexProto getProto():69:69 -> v2
com.android.tools.r8.ir.code.InvokeStatic -> com.android.tools.r8.internal.Du:
    boolean $assertionsDisabled -> m
    int $r8$clinit -> n
    boolean isInterface -> l
    1:1:void <clinit>():32:32 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):37:38 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):42:43 -> <init>
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):78:96 -> a
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):141:141 -> a
    21:21: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):151:151 -> a
    22:24:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):157:157 -> a
    25:25: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):169:169 -> a
    26:37:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):176:187 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    38:38:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):187 -> a
    39:39:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    39:39:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119 -> a
    39:39:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):187 -> a
    40:40:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    40:40:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):187 -> a
    41:69:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):192:220 -> a
    70:70:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):764:764 -> a
    70:70:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):220 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):760:760 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):764 -> 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):220 -> 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:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeStatic):214:214 -> a
    83:83:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):62 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):101:101 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):101 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):101:101 -> b
    com.android.tools.r8.ir.code.InvokeStatic asInvokeStatic() -> c0
    1:7:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):116:122 -> h
    8:8:boolean com.android.tools.r8.ir.code.InvokeMethod.verifyD8LookupResult(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):262:262 -> h
    8:8:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):121 -> h
    9:9:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):125:125 -> h
    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> h
    10:10:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):125 -> h
    11:11:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> h
    11:11:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):127 -> h
    12:20:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):127:135 -> h
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():67:67 -> p2
    1:1:java.lang.String getTypeString():72:72 -> q2
    1:1:boolean getInterfaceBit():52:52 -> t2
com.android.tools.r8.ir.code.InvokeStatic$Builder -> com.android.tools.r8.internal.Cu:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():237:237 -> <clinit>
    1:1:void <init>():237:237 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setArguments(java.util.List):287:289 -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder setArguments(java.util.List):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):293:294 -> a
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654:1654 -> a
    6:6:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):293 -> a
    6:6:com.android.tools.r8.ir.code.InvokeMethod$Builder setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:7:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):293:293 -> a
    7:7:com.android.tools.r8.ir.code.InvokeMethod$Builder setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:9:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexMethod):302:303 -> a
    8:9:com.android.tools.r8.ir.code.InvokeMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:5:com.android.tools.r8.ir.code.InvokeStatic build():241:245 -> b
com.android.tools.r8.ir.code.InvokeSuper -> com.android.tools.r8.internal.Eu:
    boolean isInterface -> m
    boolean $assertionsDisabled -> n
    1:1:void <clinit>():26:26 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):31:32 -> <init>
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):63:81 -> a
    20:22:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):86:86 -> a
    23:27:com.android.tools.r8.graph.DexClassAndMethod 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):112:116 -> a
    28:28:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    28:28:com.android.tools.r8.graph.DexClassAndMethod 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):116 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):125:125 -> a
    30:30: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):135:135 -> a
    31:31:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeSuper):219:219 -> a
    31:31:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):93:93 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):93 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):93:93 -> b
    com.android.tools.r8.ir.code.InvokeSuper asInvokeSuper() -> d0
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():52:52 -> p2
    1:1:java.lang.String getTypeString():57:57 -> q2
    1:1:boolean getInterfaceBit():37:37 -> t2
com.android.tools.r8.ir.code.InvokeVirtual -> com.android.tools.r8.internal.Hu:
    boolean $assertionsDisabled -> m
    int $r8$clinit -> n
    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>
    boolean isInvokeVirtual() -> M1
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):68:86 -> a
    20:20:com.android.tools.r8.graph.DexClassAndMethod 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):111:111 -> a
    21:21:com.android.tools.r8.graph.DexClassAndMethod 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):110:110 -> a
    22:32:com.android.tools.r8.graph.DexClassAndMethod 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):121:131 -> a
    33:45:com.android.tools.r8.graph.DexClassAndMethod 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):126:138 -> a
    46:46:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    46:46:com.android.tools.r8.graph.DexClassAndMethod 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):140 -> a
    47:48:com.android.tools.r8.graph.DexClassAndMethod 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):140:141 -> a
    49:49:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    49:49:com.android.tools.r8.graph.DexClassAndMethod 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):143 -> a
    50:56:com.android.tools.r8.graph.DexClassAndMethod 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):143:149 -> a
    57:57:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):155:155 -> a
    58:60:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):160:160 -> a
    61:61: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):171:171 -> a
    62:62:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeVirtual):224:224 -> a
    62:62:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):91:91 -> b
    com.android.tools.r8.ir.code.InvokeVirtual asInvokeVirtual() -> e0
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():57:57 -> p2
    1:1:java.lang.String getTypeString():62:62 -> q2
    boolean getInterfaceBit() -> t2
com.android.tools.r8.ir.code.InvokeVirtual$Builder -> com.android.tools.r8.internal.Gu:
    1:1:void <init>():175:175 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setArguments(java.util.List):287:289 -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder setArguments(java.util.List):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexMethod):302:303 -> a
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.ir.code.InvokeVirtual build():179:179 -> b
com.android.tools.r8.ir.code.JumpInstruction -> com.android.tools.r8.internal.Ov:
    boolean $assertionsDisabled -> i
    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>
    boolean isJumpInstruction() -> N1
    boolean hasInvariantOutType() -> V0
    1:1: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
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):53 -> a
    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.JumpInstruction asJumpInstruction() -> f0
    com.android.tools.r8.ir.code.BasicBlock fallthroughBlock() -> m2
com.android.tools.r8.ir.code.LazyDominatorTree -> com.android.tools.r8.internal.NA:
    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 -> b
    1:1:com.android.tools.r8.ir.code.DominatorTree get():19:19 -> d
    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$get$0():19:19 -> e
com.android.tools.r8.ir.code.LinearFlowInstructionListIterator -> com.android.tools.r8.internal.LB:
    java.util.Set seenBlocks -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.ir.code.IRCode code -> b
    com.android.tools.r8.ir.code.InstructionListIterator currentBlockIterator -> d
    com.android.tools.r8.ir.code.BasicBlock currentBlock -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):32:32 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,int):35:35 -> <init>
    3:18:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,int):29:44 -> <init>
    1:1:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):58:58 -> a
    2:2: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):64:64 -> a
    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):69:69 -> a
    4:4:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):79:79 -> a
    5:5:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):86:86 -> a
    6:6:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):95:95 -> a
    7:7:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):102:102 -> a
    8:8:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):107:107 -> a
    9:9:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):119:119 -> a
    10:10:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):131:131 -> a
    11:11:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):142:142 -> a
    12:12:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):149:149 -> a
    13:13:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):154:154 -> a
    14:14:com.android.tools.r8.ir.code.BasicBlock splitCopyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):160:160 -> a
    15:15: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.DexProgramClass):171:171 -> a
    16:16:void addThrowingInstructionToPossiblyThrowingBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.utils.InternalOptions):186:186 -> a
    17:20:boolean isLinearEdge(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):196:199 -> a
    21:31:com.android.tools.r8.ir.code.BasicBlock getBeginningOfTrivialLinearGotoChain(com.android.tools.r8.ir.code.BasicBlock):232:242 -> a
    1:1:void add(java.lang.Object):23:23 -> add
    2:2:void com.android.tools.r8.ir.code.LinearFlowInstructionListIterator.add(com.android.tools.r8.ir.code.Instruction):177:177 -> add
    2:2:void add(java.lang.Object):23 -> add
    1:1:boolean hasVisitedBlock(com.android.tools.r8.ir.code.BasicBlock):49:49 -> b
    2:2:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):113:113 -> b
    1:1:void removeOrReplaceByDebugLocalRead():192:192 -> e
    1:1:boolean hasNext():204:204 -> hasNext
    1:4:boolean hasPrevious():247:250 -> hasPrevious
    1:1:java.util.Set getSeenBlocks():53:53 -> j
    1:9:com.android.tools.r8.ir.code.Instruction next():209:217 -> k
    10:10:com.android.tools.r8.ir.code.Instruction next():0:0 -> k
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":239,"2":240,"3":241}}
    239:239:com.android.tools.r8.ir.code.Instruction next():218:218 -> k
    240:240:com.android.tools.r8.ir.code.Instruction next():218:218 -> k
    241:241:com.android.tools.r8.ir.code.Instruction next():218:218 -> k
    229:238:com.android.tools.r8.ir.code.Instruction next():219:228 -> k
    1:1:java.lang.Object next():23:23 -> next
    1:1:int nextIndex():273:273 -> nextIndex
    1:1:java.lang.Object previous():23:23 -> previous
    2:15:com.android.tools.r8.ir.code.Instruction previous():255:268 -> previous
    1:1:int previousIndex():278:278 -> previousIndex
    1:1:void remove():283:283 -> remove
    1:1:void set(java.lang.Object):23:23 -> set
    2:2:void com.android.tools.r8.ir.code.LinearFlowInstructionListIterator.set(com.android.tools.r8.ir.code.Instruction):288:288 -> set
    2:2:void set(java.lang.Object):23 -> set
com.android.tools.r8.ir.code.Load -> com.android.tools.r8.internal.gC:
    1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):23:23 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    2:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):78:79 -> a
    4:4:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):84:84 -> a
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):94:94 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forLoad():271:271 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):68 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):52:52 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):52 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    com.android.tools.r8.ir.code.Load asLoad() -> g0
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():62:62 -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Value src():37:37 -> m2
com.android.tools.r8.ir.code.LogicalBinop -> com.android.tools.r8.internal.tC:
    boolean $assertionsDisabled -> j
    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>
    boolean isLogicalBinop() -> P1
    com.android.tools.r8.code.Instruction CreateInt(int,int,int) -> a
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55:73 -> a
    20:20:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":227,"2":228,"3":229}}
    227:227:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    228:228:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    229:229:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    93:93:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    94:121:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):67:94 -> a
    122:122:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
    250:250:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:94 -> a
    251:251:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:94 -> a
    252:252:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:94 -> a
    216:216:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:94 -> a
    217:226:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:97 -> a
    253:255:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):112:114 -> a
    256:256:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    256:256:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):114 -> a
    257:257:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):114:114 -> a
    258:258:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    258:258:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):114 -> a
    259:267:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):115:123 -> a
    268:268:boolean com.android.tools.r8.ir.code.Instruction.isShl():0:0 -> a
    268:268:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):125 -> a
    269:269:boolean com.android.tools.r8.ir.code.Instruction.isShr():0:0 -> a
    269:269:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):125 -> a
    270:270:boolean com.android.tools.r8.ir.code.Instruction.isUshr():0:0 -> a
    270:270:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):125 -> a
    271:271:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):129:129 -> a
    272:282:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):127:137 -> a
    283:283:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):144:144 -> a
    com.android.tools.r8.code.Instruction CreateInt2Addr(int,int) -> b
    com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int) -> b
    com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int) -> c
    com.android.tools.r8.code.Instruction CreateLong2Addr(int,int) -> c
    com.android.tools.r8.code.Instruction CreateLong(int,int,int) -> d
    1:5:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):44:48 -> d
    com.android.tools.r8.ir.code.LogicalBinop asLogicalBinop() -> h0
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode() -> r2
com.android.tools.r8.ir.code.LogicalBinop$1 -> com.android.tools.r8.internal.sC:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():65:65 -> <clinit>
com.android.tools.r8.ir.code.MemberType -> com.android.tools.r8.internal.SD:
    com.android.tools.r8.ir.code.MemberType BOOLEAN_OR_BYTE -> c
    com.android.tools.r8.ir.code.MemberType OBJECT -> b
    com.android.tools.r8.ir.code.MemberType SHORT -> e
    com.android.tools.r8.ir.code.MemberType CHAR -> d
    com.android.tools.r8.ir.code.MemberType[] $VALUES -> l
    com.android.tools.r8.ir.code.MemberType FLOAT -> g
    com.android.tools.r8.ir.code.MemberType INT -> f
    com.android.tools.r8.ir.code.MemberType DOUBLE -> i
    com.android.tools.r8.ir.code.MemberType LONG -> h
    com.android.tools.r8.ir.code.MemberType LONG_OR_DOUBLE -> k
    com.android.tools.r8.ir.code.MemberType INT_OR_FLOAT -> j
    1:10:void <clinit>():12:21 -> <clinit>
    11:11:void <clinit>() -> <clinit>
    1:1:void <init>(java.lang.String,int):11:11 -> <init>
    1:1:boolean isPrecise():24:24 -> a
    2:2:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103:103 -> a
    3:3:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):98:98 -> a
    3:3:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    4:4:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):96:96 -> a
    4:4:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    5:5:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):84:84 -> a
    5:5:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    6:19:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):79:92 -> a
    6:19:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    20:26:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):88:94 -> a
    20:26:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    27:27:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):86:86 -> a
    27:27:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    28:28:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):82:82 -> a
    28:28:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    1:1:com.android.tools.r8.ir.code.MemberType[] values():11:11 -> b
com.android.tools.r8.ir.code.Monitor -> com.android.tools.r8.internal.pF:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.code.Monitor$Type type -> i
    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 -> N0
    8:8:java.lang.String getInstructionName():0:0 -> N0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":134,"2":135,"3":136}}
    134:134:java.lang.String getInstructionName():124:124 -> N0
    135:135:java.lang.String getInstructionName():124:124 -> N0
    136:136:java.lang.String getInstructionName():124:124 -> N0
    132:132:java.lang.String getInstructionName():124:124 -> N0
    133:133:java.lang.String getInstructionName():120:120 -> N0
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():155:155 -> O0
    1:1:boolean isMonitorEnter():102:102 -> Q1
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):63:70 -> a
    9:9:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):135:135 -> a
    10:10:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):140:140 -> a
    11:11:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):145:145 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMonitor():275:275 -> 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):113 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):76:76 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):76 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):76:76 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    int maxInValueRegister() -> h2
    1:1:com.android.tools.r8.ir.code.Value object():45:45 -> i
    com.android.tools.r8.ir.code.Monitor asMonitor() -> i0
    1:1:int maxOutValueRegister():86:86 -> i2
    int opcode() -> j2
    boolean throwsOnNullInput() -> l2
    1:1:boolean isEnter():49:49 -> m2
com.android.tools.r8.ir.code.Monitor$1 -> com.android.tools.r8.internal.nF:
    int[] $SwitchMap$com$android$tools$r8$ir$code$Monitor$Type -> a
    1:1:void <clinit>():118:118 -> <clinit>
com.android.tools.r8.ir.code.Monitor$Type -> com.android.tools.r8.internal.oF:
    com.android.tools.r8.ir.code.Monitor$Type[] $VALUES -> d
    com.android.tools.r8.ir.code.Monitor$Type ENTER -> b
    com.android.tools.r8.ir.code.Monitor$Type EXIT -> c
    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>
    1:1:com.android.tools.r8.ir.code.Monitor$Type[] values():23:23 -> a
com.android.tools.r8.ir.code.Move -> com.android.tools.r8.internal.qF:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:24 -> <init>
    1:2:com.android.tools.r8.ir.code.ConstInstruction getOutConstantConstInstruction():87:88 -> Q0
    boolean isMove() -> R1
    boolean hasInvariantOutType() -> V0
    1:1:boolean isOutConstant():82:82 -> W1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):47:47 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):52:52 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):57:57 -> a
    4:4:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):109:109 -> a
    5:5:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):119:119 -> a
    6:6:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):129:129 -> a
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> a
    7:7:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):131 -> a
    8:8:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):132:132 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMove():279:279 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):104 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):72:72 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    com.android.tools.r8.ir.code.Move asMove() -> j0
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Value dest():38:38 -> m2
    1:1:com.android.tools.r8.ir.code.Value src():42:42 -> n2
    1:1:java.lang.String toString():77:77 -> toString
com.android.tools.r8.ir.code.MoveException -> com.android.tools.r8.internal.sF:
    com.android.tools.r8.graph.DexType exceptionType -> i
    boolean $assertionsDisabled -> k
    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>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void buildCf(com.android.tools.r8.ir.conversion.CfBuilder) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.MoveException.dest():42:42 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):47 -> a
    2:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):47:48 -> a
    4:6: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
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    7:7:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):88 -> 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):91:91 -> 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):89:89 -> a
    10:10:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):102:102 -> a
    11:11:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):117:117 -> a
    12:12:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):122:122 -> a
    13:13:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMoveException():283:283 -> 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):97 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):64:64 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):64 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):67:68 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:int maxInValueRegister():53:53 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    com.android.tools.r8.ir.code.MoveException asMoveException() -> k0
    1:1:com.android.tools.r8.graph.DexType getExceptionType():126:126 -> m2
com.android.tools.r8.ir.code.Mul -> com.android.tools.r8.internal.uF:
    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>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):69:69 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):61:61 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):89:89 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):45:45 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):84:84 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):74:74 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):99:99 -> d
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):79:79 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):94:94 -> e
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):53:53 -> f
    int opcode() -> j2
    com.android.tools.r8.ir.code.Mul asMul() -> l0
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():139:139 -> r2
com.android.tools.r8.ir.code.Neg -> com.android.tools.r8.internal.iG:
    com.android.tools.r8.ir.code.NumericType type -> i
    boolean $assertionsDisabled -> j
    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>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Unop.dest():21:21 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55 -> a
    2:18:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55:71 -> a
    19:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111}}
    109:109:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:71 -> a
    110:110:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:71 -> a
    111:111:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:71 -> a
    90:90:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:71 -> a
    91:91:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):68:68 -> a
    92:92:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):65:65 -> a
    93:93:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:62 -> a
    94:108:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):59:73 -> a
    112:113:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):88:89 -> a
    114:114:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    114:114:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):89 -> a
    115:131:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):90:106 -> a
    132:132:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):111:111 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):49:49 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNeg():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):49 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):49:49 -> b
    int opcode() -> j2
    com.android.tools.r8.ir.code.Neg asNeg() -> m0
com.android.tools.r8.ir.code.Neg$1 -> com.android.tools.r8.internal.hG:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():57:57 -> <clinit>
com.android.tools.r8.ir.code.NewArrayEmpty -> com.android.tools.r8.internal.sG:
    com.android.tools.r8.graph.DexType type -> i
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():26:26 -> <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):31:32 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60:60 -> a
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.NewArrayEmpty.dest():51:51 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):61 -> a
    3:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):61:62 -> a
    5:13:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):104:112 -> 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):110:110 -> 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):133:133 -> a
    16:16:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):143:143 -> a
    17:18:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):148:149 -> a
    19:20:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):154:155 -> a
    21:21:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):160:160 -> a
    22:22:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):618:618 -> a
    22:22:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    22:22:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):92 -> a
    23:23:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):92:92 -> a
    24:24:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    24:24:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):92 -> a
    25:29:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):93:97 -> a
    30:35:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):94:99 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):117:117 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):117 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):117:117 -> b
    1:4:boolean instructionInstanceCanThrow():83:86 -> b1
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Value size():55:55 -> m2
    com.android.tools.r8.ir.code.NewArrayEmpty asNewArrayEmpty() -> n0
    1:1:java.lang.String toString():47:47 -> toString
com.android.tools.r8.ir.code.NewArrayFilledData -> com.android.tools.r8.internal.tG:
    long size -> j
    short[] data -> k
    int element_width -> i
    boolean $assertionsDisabled -> l
    1:1:void <clinit>():23:23 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.Value,int,long,short[]):33:36 -> <init>
    boolean isNewArrayFilledData() -> T1
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):59:60 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):65:65 -> a
    4:4:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):113:113 -> a
    5:11:boolean com.android.tools.r8.ir.code.NewArrayFilledData.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):141:147 -> a
    5:11:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    5:11:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    12:12:boolean com.android.tools.r8.ir.code.NewArrayFilledData.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    12:12:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129 -> a
    13:13:boolean com.android.tools.r8.ir.code.NewArrayFilledData.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147:147 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    13:13:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129 -> a
    14:17:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129:132 -> a
    18:18:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):131:131 -> a
    19:23:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):130:134 -> a
    24:30:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):141:147 -> a
    31:31:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    31:31:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147 -> a
    32:32:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147:147 -> a
    33:33:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forNewArrayFilledData():295:295 -> 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):108 -> a
    1:7:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):70:76 -> b
    8:8:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):123:123 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():86:86 -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Value src():50:50 -> m2
    com.android.tools.r8.ir.code.NewArrayFilledData asNewArrayFilledData() -> o0
com.android.tools.r8.ir.code.NewInstance -> com.android.tools.r8.internal.vG:
    int $r8$clinit -> l
    com.android.tools.r8.graph.DexType clazz -> i
    boolean allowSpilling -> j
    boolean $assertionsDisabled -> k
    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>
    boolean isNewInstance() -> U1
    boolean hasInvariantOutType() -> V0
    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):60:60 -> a
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.NewInstance.dest():64:64 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):69 -> a
    3:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):69:70 -> 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):113:113 -> a
    6:6:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):123:123 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):128:128 -> a
    8:8:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):133:133 -> a
    9:9:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):138:138 -> 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):148:148 -> a
    11:26:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):155:170 -> a
    27:27:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    27:27:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):174 -> a
    28:51:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):174:197 -> a
    52:52:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):165:165 -> a
    53:56:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):229:232 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):80:80 -> b
    1:8:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):216:223 -> d
    boolean instructionTypeCanThrow() -> d1
    1:1:int maxInValueRegister():85:85 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Value dest():64:64 -> m2
    1:1:com.android.tools.r8.graph.DexType getType():46:46 -> n2
    1:1:boolean isSpillingAllowed():211:211 -> o2
    com.android.tools.r8.ir.code.NewInstance asNewInstance() -> p0
    1:1:void markNoSpilling():207:207 -> p2
    1:1:java.lang.String toString():75:75 -> toString
com.android.tools.r8.ir.code.NewInstance$Builder -> com.android.tools.r8.internal.uG:
    com.android.tools.r8.graph.DexType type -> c
    1:1:void <init>():236:236 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.NewInstance$Builder setType(com.android.tools.r8.graph.DexType):241:241 -> a
    1:1:com.android.tools.r8.ir.code.NewInstance build():247:247 -> b
com.android.tools.r8.ir.code.NewUnboxedEnumInstance -> com.android.tools.r8.internal.wG:
    com.android.tools.r8.graph.DexType clazz -> i
    int ordinal -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():42:42 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexType,int,com.android.tools.r8.ir.code.Value):48:51 -> <init>
    boolean hasInvariantOutType() -> V0
    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):69:69 -> a
    2:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):74:75 -> a
    4:4:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):130:130 -> a
    5:5:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135:135 -> a
    6:6:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):140:140 -> a
    7:7:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):145:145 -> a
    8:11:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):156:159 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forNewUnboxedEnumInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):303:303 -> 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):120 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):85:85 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNewUnboxedEnumInstance():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):85 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):85:85 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    1:1:int maxInValueRegister():90:90 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:int getOrdinal():55:55 -> m2
    com.android.tools.r8.ir.code.NewUnboxedEnumInstance asNewUnboxedEnumInstance() -> q0
    1:1:java.lang.String toString():80:80 -> toString
com.android.tools.r8.ir.code.NextUntilIterator -> com.android.tools.r8.internal.xG:
    1:3:java.lang.Object nextUntil(java.util.function.Predicate):19:21 -> a
com.android.tools.r8.ir.code.Not -> com.android.tools.r8.internal.uH:
    com.android.tools.r8.ir.code.NumericType type -> i
    boolean $assertionsDisabled -> j
    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>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):45:46 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    3:3:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):46 -> a
    4:16:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):47:59 -> a
    17:17:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):64:64 -> a
    18:18:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Unop.dest():21:21 -> a
    18:18:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):66 -> a
    19:29:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):66:76 -> a
    30:30:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":116,"2":117,"3":118}}
    116:116:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    117:117:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    118:118:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    106:106:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    107:115:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):70:78 -> a
    119:119:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):99:99 -> a
    120:120:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):105:105 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNot():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    int opcode() -> j2
    com.android.tools.r8.ir.code.Not asNot() -> r0
com.android.tools.r8.ir.code.Not$1 -> com.android.tools.r8.internal.tH:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():68:68 -> <clinit>
com.android.tools.r8.ir.code.NumberConversion -> com.android.tools.r8.internal.GH:
    com.android.tools.r8.ir.code.NumericType to -> j
    com.android.tools.r8.ir.code.NumericType from -> i
    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>
    boolean isNumberConversion() -> V1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Unop.dest():21:21 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):58 -> a
    2:75:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):58:131 -> a
    76:76:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":798,"2":799,"3":800}}
    798:798:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):131:131 -> a
    799:799:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):131:131 -> a
    800:800:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):131:131 -> a
    207:207:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):131:131 -> a
    208:228:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:82 -> a
    229:229:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":801,"2":802,"3":803}}
    801:801:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:82 -> a
    802:802:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:82 -> a
    803:803:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:82 -> a
    311:311:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:82 -> a
    312:312:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):79:79 -> a
    313:313:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    314:314:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    315:315:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):70:70 -> a
    316:316:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):67:67 -> a
    317:380:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):64:127 -> a
    381:381:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":848,"2":849,"3":850}}
    848:848:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:127 -> a
    849:849:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:127 -> a
    850:850:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:127 -> a
    508:508:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:127 -> a
    509:509:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):124:124 -> a
    510:510:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):121:121 -> a
    511:522:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:112 -> a
    523:523:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":851,"2":852,"3":853}}
    851:851:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    852:852:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    853:853:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    635:635:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    636:636:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    637:637:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):106:106 -> a
    638:649:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:97 -> a
    650:650:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":854,"2":855,"3":856}}
    854:854:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    855:855:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    856:856:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    747:747:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    748:754:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:94 -> a
    755:797:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):91:133 -> a
    857:857:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):157:157 -> a
    858:858:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):162:162 -> a
    859:859:boolean outTypeKnownToBeBoolean(java.util.Set):167:167 -> a
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):138:142 -> b
    int opcode() -> j2
    com.android.tools.r8.ir.code.NumberConversion asNumberConversion() -> s0
com.android.tools.r8.ir.code.NumberConversion$1 -> com.android.tools.r8.internal.FH:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():62:62 -> <clinit>
com.android.tools.r8.ir.code.NumberGenerator -> com.android.tools.r8.internal.KH:
    int nextValueNumber -> a
    1:2:void <init>():6:7 -> <init>
    1:1:int next():10:10 -> a
    1:1:int peek():14:14 -> b
com.android.tools.r8.ir.code.NumericType -> com.android.tools.r8.internal.PH:
    com.android.tools.r8.ir.code.NumericType DOUBLE -> h
    com.android.tools.r8.ir.code.NumericType FLOAT -> g
    com.android.tools.r8.ir.code.NumericType LONG -> f
    com.android.tools.r8.ir.code.NumericType INT -> e
    com.android.tools.r8.ir.code.NumericType SHORT -> d
    com.android.tools.r8.ir.code.NumericType CHAR -> c
    com.android.tools.r8.ir.code.NumericType BYTE -> b
    com.android.tools.r8.ir.code.NumericType[] $VALUES -> i
    1:7:void <clinit>():11:17 -> <clinit>
    8:8:void <clinit>():10:10 -> <clinit>
    1:1:void <init>(java.lang.String,int):10:10 -> <init>
    1:17:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):20:36 -> a
    18:18:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):34:34 -> a
    19:19:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):32:32 -> a
    20:20:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):30:30 -> a
    21:21:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):28:28 -> a
    22:22:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    23:23:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):24:24 -> a
    24:24:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    25:39:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):41:55 -> a
    40:40:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):47:47 -> a
    41:51:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):43:53 -> a
    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
    1:1:com.android.tools.r8.ir.code.NumericType[] values():10:10 -> b
com.android.tools.r8.ir.code.NumericType$1 -> com.android.tools.r8.internal.OH:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():20:20 -> <clinit>
com.android.tools.r8.ir.code.Or -> com.android.tools.r8.internal.CK:
    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>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):48:48 -> a
    2:2:boolean outTypeKnownToBeBoolean(java.util.Set):98:98 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):58:58 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):73:73 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78:78 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isOr():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78:78 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):63:63 -> c
    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
    int opcode() -> j2
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():93:93 -> r2
    com.android.tools.r8.ir.code.Or asOr() -> t0
com.android.tools.r8.ir.code.Phi -> com.android.tools.r8.internal.xL:
    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 -> w
    com.android.tools.r8.ir.code.BasicBlock block -> r
    1:1:void <clinit>():36:36 -> <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):60:60 -> <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):44:63 -> <init>
    boolean isConstant() -> K
    1:2:boolean isValueOnStack():371:372 -> R
    1:1:void markNonDebugLocalRead():164:164 -> U
    1:1:boolean needsRegister():394:394 -> V
    1:2:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    1:2:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):425 -> a
    3:24:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):426:447 -> a
    25: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):89:89 -> a
    26:28:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):96:98 -> a
    26:28: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):90 -> a
    29:29: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":32,"2":33,"3":34}}
    32:32:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    32:32: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):90 -> a
    33:33:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    33:33: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):90 -> a
    34:34:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    34:34: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):90 -> a
    30:30:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    30:30: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):90 -> a
    31:31: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):92:92 -> a
    35:40:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):114:119 -> a
    41:41:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    41:41:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):119 -> a
    42:42:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    42:42:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    42:42:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):119 -> a
    43:43:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    43:43:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):119 -> a
    44:53:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):120:129 -> a
    54:54:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    54:54:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):130 -> a
    55:55:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    55:55:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    55:55:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):130 -> a
    56:56:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    56:56:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):130 -> a
    57:59:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):96:98 -> a
    57:59:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    60:60:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":73}}
    71:71:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    71:71:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    72:72:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    72:72:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    73:73:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    73:73:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    61:61:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    61:61:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    62:66:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):135:139 -> a
    67:67:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168:168 -> a
    67:67:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):116 -> a
    68:68:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    68:68:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168 -> a
    68:68:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):116 -> a
    69:69:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    69:69:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    69:69:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168 -> a
    69:69:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):116 -> a
    70:70:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168:168 -> a
    70:70:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):116 -> a
    74:74:void addOperands(java.util.List):143:143 -> a
    75:83:void addOperands(java.util.List,boolean):150:158 -> a
    84:84:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168:168 -> a
    84:84:void addOperands(java.util.List,boolean):152 -> a
    85:85:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    85:85:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168 -> a
    85:85:void addOperands(java.util.List,boolean):152 -> a
    86:86:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    86:86:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    86:86:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168 -> a
    86:86:void addOperands(java.util.List,boolean):152 -> a
    87:87:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168:168 -> a
    87:87:void addOperands(java.util.List,boolean):152 -> a
    88:88:com.android.tools.r8.ir.code.Value getOperand(int):180:180 -> a
    89:100:void removeOperandsByIndex(java.util.List):193:204 -> a
    101:104:void replaceOperandAt(int,com.android.tools.r8.ir.code.Value):208:211 -> a
    105:108:void replaceOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):215:218 -> a
    109:141:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):245:277 -> a
    142:142:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    142:142:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):277 -> a
    143:161:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):278:296 -> a
    162:162:void com.android.tools.r8.ir.code.Phi.addDefinitionsUser(java.util.Map):353:353 -> a
    162:162:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    163:163:void com.android.tools.r8.ir.code.Phi.addDefinitionsUser(java.util.Map):353:353 -> a
    163:163:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):296 -> a
    164:173:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):303:312 -> a
    174:181:void print(com.android.tools.r8.utils.CfgPrinter):341:348 -> a
    182:182:void addDefinitionsUser(java.util.Map):353:353 -> a
    183:186:void lambda$verifyIsStackPhi$0(java.util.Set,com.android.tools.r8.ir.code.Value):383:386 -> a
    187:187:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):402:402 -> a
    188:188:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    188:188:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):402 -> a
    189:197:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):402:410 -> a
    boolean isDefinedByInstructionSatisfying(java.util.function.Predicate) -> b
    1:1:void removeDefinitionsUser(java.util.Map):357:357 -> b
    1:2:boolean verifyIsStackPhi(java.util.Set):380:381 -> c
    3:5:com.android.tools.r8.ir.analysis.type.TypeElement computePhiType(com.android.tools.r8.graph.AppView):415:417 -> c
    1:2:void removeOperand(int):188:189 -> d
    boolean isPhi() -> f
    1:1:void clearDefinitionsUsers():361:361 -> g0
    com.android.tools.r8.ir.code.Phi asPhi() -> h
    1:1:java.util.List getOperands():184:184 -> h0
    1:2:void appendOperand(com.android.tools.r8.ir.code.Value):175:176 -> i
    1:1:boolean isTrivialPhi():225:225 -> i0
    1:1:com.android.tools.r8.ir.code.BasicBlock getBlock():83:83 -> j
    2:2:boolean usesValueOneTime(com.android.tools.r8.ir.code.Value):398:398 -> j
    1:1:java.lang.String printPhi():0:0 -> j0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":339,"2":340,"3":341}}
    339:339:java.lang.String printPhi():328:328 -> j0
    340:340:java.lang.String printPhi():328:328 -> j0
    341:341:java.lang.String printPhi():329:329 -> j0
    331:338:java.lang.String printPhi():330:337 -> j0
    1:4:void removeDeadPhi():318:321 -> k0
    5:5:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.Phi.getBlock():83:83 -> k0
    5:5:void removeDeadPhi():324 -> k0
    6:6:void removeDeadPhi():324:324 -> k0
    1:1:boolean removeTrivialPhi():240:240 -> l0
    1:1:void setIsStackPhi(boolean):376:376 -> m0
com.android.tools.r8.ir.code.Phi$RegisterReadType -> com.android.tools.r8.internal.xL$a:
    com.android.tools.r8.ir.code.Phi$RegisterReadType NORMAL -> b
    com.android.tools.r8.ir.code.Phi$RegisterReadType DEBUG -> c
    1:2:void <clinit>():39:40 -> <clinit>
    1:1:void <init>(java.lang.String,int):38:38 -> <init>
com.android.tools.r8.ir.code.Phi$StackMapPhi -> com.android.tools.r8.internal.yL:
    boolean $assertionsDisabled -> x
    1:1:void <clinit>():455:455 -> <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):463:463 -> <init>
    1:8:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):468:475 -> a
    1:10:com.android.tools.r8.ir.analysis.type.TypeElement computePhiType(com.android.tools.r8.graph.AppView):481:490 -> c
com.android.tools.r8.ir.code.Pop -> com.android.tools.r8.internal.IL:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():17:17 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Value):20:21 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):77:77 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):82:82 -> a
    3:3:com.android.tools.r8.cf.code.CfStackInstruction com.android.tools.r8.cf.code.CfStackInstruction.popType(com.android.tools.r8.ir.code.ValueType):79:79 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):82 -> a
    4:4:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):82:82 -> a
    5:5:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):87:87 -> a
    6:6:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):98:98 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forPop():311:311 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):72 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):56:56 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isPop():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):56 -> b
    1:5:void addInValue(com.android.tools.r8.ir.code.Value):36:40 -> c
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:int maxInValueRegister():61:61 -> h2
    1:1:int maxOutValueRegister():66:66 -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.Position -> com.android.tools.r8.internal.NL:
    boolean removeInnerFramesIfThrowingNpe -> e
    boolean $assertionsDisabled -> f
    int line -> b
    com.android.tools.r8.graph.DexMethod method -> c
    com.android.tools.r8.ir.code.Position callerPosition -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.ir.code.Position$1):18:18 -> <init>
    2:6:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):38:42 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy() -> a
    1:1:void access$400(com.android.tools.r8.utils.structural.StructuralSpecification):18:18 -> a
    2:8:com.android.tools.r8.ir.code.Position getPositionForInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):122:128 -> a
    9:9:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    9:9:com.android.tools.r8.ir.code.Position getPositionForInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):128 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.ir.code.Position getPositionForInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):127:127 -> a
    11:11:com.android.tools.r8.ir.code.Position getOutermostCallerMatchingOrElse(java.util.function.Predicate,com.android.tools.r8.ir.code.Position):156:156 -> a
    12:12:com.android.tools.r8.ir.code.Position getOutermostCallerMatching(java.util.function.Predicate,boolean):162:162 -> a
    13:13:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.getCallerPosition():74:74 -> a
    13:13:com.android.tools.r8.ir.code.Position getOutermostCallerMatching(java.util.function.Predicate,boolean):163 -> a
    14:19:com.android.tools.r8.ir.code.Position getOutermostCallerMatching(java.util.function.Predicate,boolean):163:168 -> a
    20:22:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):175:177 -> a
    23:23:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.getCallerPosition():74:74 -> a
    23:23:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):178 -> a
    24:24:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):178:178 -> a
    25:29:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):176:180 -> a
    30:33:com.android.tools.r8.ir.code.Position replacePosition(com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.Position):187:190 -> a
    1:1:com.android.tools.r8.ir.code.Position getCallerPosition():74:74 -> b
    2:6:void specifyBasePosition(com.android.tools.r8.utils.structural.StructuralSpecification):109:113 -> b
    int getCompareToId() -> c
    com.android.tools.r8.graph.DexString getFile() -> d
    1:1:int getLine():78:78 -> e
    1:1:boolean equals(java.lang.Object):196:196 -> equals
    1:1:com.android.tools.r8.graph.DexMethod getMethod():82:82 -> f
    1:1:com.android.tools.r8.ir.code.Position getOutermostCaller():148:148 -> g
    com.android.tools.r8.graph.DexMethod getOutlineCallee() -> h
    1:1:int hashCode():201:201 -> hashCode
    2:2:int com.android.tools.r8.utils.structural.HashCodeVisitor.run(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> hashCode
    2:2:int hashCode():201 -> hashCode
    com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions() -> i
    1:1:boolean hasCallerPosition():70:70 -> k
    boolean hasFile() -> l
    1:1:boolean isNone():133:133 -> m
    boolean isOutline() -> o
    1:1:boolean isRemoveInnerFramesIfThrowingNpe():54:54 -> p
    1:1:boolean isSome():141:141 -> s
    1:1:com.android.tools.r8.ir.code.Position none():86:86 -> t
    1:19:java.lang.String com.android.tools.r8.ir.code.Position.toString(boolean):205:223 -> toString
    1:19:java.lang.String toString():228 -> toString
    1:1:com.android.tools.r8.ir.code.Position syntheticNone():117:117 -> u
com.android.tools.r8.ir.code.Position$OutlineCallerPosition -> com.android.tools.r8.internal.KL:
    boolean isOutline -> i
    com.android.tools.r8.graph.DexMethod outlineCallee -> h
    com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> g
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.utils.Int2StructuralItemArrayMap,com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.ir.code.Position$1):484:484 -> <init>
    2:5:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.utils.Int2StructuralItemArrayMap,com.android.tools.r8.graph.DexMethod,boolean):505:508 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:7:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():524:530 -> a
    8:9:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):266:267 -> a
    8:9:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():530 -> a
    10:11:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():530:531 -> a
    int getCompareToId() -> c
    1:1:void lambda$specify$0(com.android.tools.r8.utils.structural.StructuralSpecification):491:491 -> c
    1:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):491:494 -> d
    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():542:542 -> h
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions():547:547 -> i
    boolean isNone() -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():552:552 -> n
    1:1:boolean isOutline():537:537 -> o
    1:1:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder builder():556:556 -> v
com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder -> com.android.tools.r8.internal.JL:
    boolean isOutline -> i
    boolean $assertionsDisabled -> j
    com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder outlinePositionsBuilder -> g
    com.android.tools.r8.graph.DexMethod outlineCallee -> h
    1:1:void <clinit>():559:559 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Position$1):559:559 -> <init>
    2:2:void <init>():567:567 -> <init>
    3:3:void <init>():563:563 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():559:559 -> a
    2:2:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder addOutlinePosition(int,com.android.tools.r8.ir.code.Position):580:580 -> a
    1:1:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder setOutlineCallee(com.android.tools.r8.graph.DexMethod):575:575 -> b
    2:2:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder setIsOutline(boolean):585:585 -> b
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:8:com.android.tools.r8.ir.code.Position$OutlineCallerPosition build():595:602 -> d
    1:1:boolean hasOutlinePositions():590:590 -> e
com.android.tools.r8.ir.code.Position$OutlinePosition -> com.android.tools.r8.internal.ML:
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.ir.code.Position$1):429:429 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):436:436 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:5:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():451:455 -> a
    6:6:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):266:266 -> a
    6:6:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():455 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):267:267 -> a
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():455 -> a
    int getCompareToId() -> c
    1:1:void lambda$getStructuralMapping$0(com.android.tools.r8.utils.structural.StructuralSpecification):460:460 -> c
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():460:460 -> n
    1:1:com.android.tools.r8.ir.code.Position$OutlinePosition$OutlinePositionBuilder builder():464:464 -> v
com.android.tools.r8.ir.code.Position$OutlinePosition$OutlinePositionBuilder -> com.android.tools.r8.internal.LL:
    1:1:void <init>(com.android.tools.r8.ir.code.Position$1):467:467 -> <init>
    2:2:void <init>():470:470 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():467:467 -> a
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:1:com.android.tools.r8.ir.code.Position$OutlinePosition build():479:479 -> d
com.android.tools.r8.ir.code.Position$PositionBuilder -> com.android.tools.r8.internal.NL$a:
    boolean noCheckOfPosition -> e
    boolean noCheckOfMethod -> f
    com.android.tools.r8.graph.DexMethod method -> b
    com.android.tools.r8.ir.code.Position callerPosition -> c
    int line -> a
    boolean removeInnerFramesIfThrowingNpe -> d
    1:4:void <init>():233:236 -> <init>
    com.android.tools.r8.ir.code.Position build() -> a
    1:2:com.android.tools.r8.ir.code.Position$PositionBuilder setLine(int):247:248 -> a
    3:4:com.android.tools.r8.ir.code.Position$PositionBuilder setMethod(com.android.tools.r8.graph.DexMethod):256:257 -> a
    5:6:com.android.tools.r8.ir.code.Position$PositionBuilder setCallerPosition(com.android.tools.r8.ir.code.Position):261:262 -> a
    7:8:com.android.tools.r8.ir.code.Position$PositionBuilder setRemoveInnerFramesIfThrowingNpe(boolean):266:267 -> a
    1:2:com.android.tools.r8.ir.code.Position$PositionBuilder disableMethodCheck():276:277 -> b
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
com.android.tools.r8.ir.code.Position$SourcePosition -> com.android.tools.r8.internal.NL$b:
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexString file -> g
    com.android.tools.r8.ir.code.Position$SourcePosition NO_POSITION -> h
    1:5:void <clinit>():283:287 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.code.Position$1):283:283 -> <init>
    2:4:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.graph.DexString):302:304 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:6:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():324:329 -> a
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):266:266 -> a
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():329 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):267:267 -> a
    8:8:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():329 -> a
    int getCompareToId() -> c
    1:1:void lambda$specify$0(com.android.tools.r8.utils.structural.StructuralSpecification):293:293 -> c
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):293:293 -> d
    2:2:com.android.tools.r8.graph.DexString getFile():314:314 -> d
    1:1:boolean hasFile():309:309 -> l
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():334:334 -> n
    1:1:com.android.tools.r8.ir.code.Position$SourcePosition access$000():283:283 -> v
    1:1:com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder builder():338:338 -> w
com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder -> com.android.tools.r8.internal.NL$b$a:
    com.android.tools.r8.graph.DexString file -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():341:341 -> <clinit>
    1:1:void <init>():341:341 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():341:341 -> a
    2:2:com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder setFile(com.android.tools.r8.graph.DexString):352:352 -> a
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:3:com.android.tools.r8.ir.code.Position$SourcePosition build():358:360 -> d
com.android.tools.r8.ir.code.Position$SyntheticPosition -> com.android.tools.r8.internal.NL$c:
    com.android.tools.r8.ir.code.Position NO_POSITION_SYNTHETIC -> g
    1:1:void <clinit>():371:371 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.ir.code.Position$1):366:366 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):379:379 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:5:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():394:398 -> a
    6:6:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):266:266 -> a
    6:6:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():398 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):267:267 -> a
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():398 -> a
    int getCompareToId() -> c
    1:1:void lambda$getStructuralMapping$0(com.android.tools.r8.utils.structural.StructuralSpecification):403:403 -> c
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():403:403 -> n
    1:1:com.android.tools.r8.ir.code.Position access$100():366:366 -> v
    1:1:com.android.tools.r8.ir.code.Position$SyntheticPosition$SyntheticPositionBuilder builder():407:407 -> w
com.android.tools.r8.ir.code.Position$SyntheticPosition$SyntheticPositionBuilder -> com.android.tools.r8.internal.NL$c$a:
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():410:410 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Position$1):410:410 -> <init>
    2:2:void <init>():413:413 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():410:410 -> a
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:3:com.android.tools.r8.ir.code.Position$SyntheticPosition build():422:424 -> d
com.android.tools.r8.ir.code.PreviousUntilIterator -> com.android.tools.r8.internal.pM:
    1:3:java.lang.Object previousUntil(java.util.function.Predicate):18:20 -> b
com.android.tools.r8.ir.code.RecordFieldValues -> com.android.tools.r8.internal.VP:
    com.android.tools.r8.graph.DexField[] fields -> i
    1:2:void <init>(com.android.tools.r8.graph.DexField[],com.android.tools.r8.ir.code.Value,java.util.List):28:29 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):71:71 -> a
    2:2:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):70:70 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):76:76 -> a
    4:4:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    4:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60:60 -> a
    6:6:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    6:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):61 -> a
    7:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):61:61 -> a
    8:8:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    8:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62 -> a
    9:12:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:65 -> a
    13:14:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):111:112 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forRecordFieldValues():291:291 -> 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):106 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):81:81 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):81 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):84:85 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.graph.DexField[] getFields():33:33 -> m2
    com.android.tools.r8.ir.code.RecordFieldValues asRecordFieldValues() -> u0
com.android.tools.r8.ir.code.Rem -> com.android.tools.r8.internal.eS:
    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>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):69:69 -> a
    2:2:int foldIntegers(int,int):114:114 -> a
    3:3:long foldLongs(long,long):119:119 -> a
    4:5:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):139:140 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):140 -> a
    7:10:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):140:143 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):64:64 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):89:89 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isRem():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):54:54 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):84:84 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):74:74 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):99:99 -> d
    1:1:boolean instructionTypeCanThrow():134:134 -> d1
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):79:79 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):94:94 -> e
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):59:59 -> f
    int opcode() -> j2
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():148:148 -> r2
    com.android.tools.r8.ir.code.Rem asRem() -> v0
com.android.tools.r8.ir.code.Return -> com.android.tools.r8.internal.pT:
    boolean $assertionsDisabled -> j
    int $r8$clinit -> k
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():24:24 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Value):28:28 -> <init>
    boolean isReturn() -> Y1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:4:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Return.createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):64:67 -> a
    1:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83 -> a
    5:6:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:51 -> a
    5:6:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Return.createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):68 -> a
    5:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83 -> a
    7:14:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Return.createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):69:76 -> a
    7:14:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83 -> a
    15:15:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:83 -> a
    16:16:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Return.createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):78:78 -> a
    16:16:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83 -> a
    17:18:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):127:128 -> a
    19:19:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135:135 -> a
    20:21:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:51 -> a
    20:21:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135 -> a
    22:22:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135:135 -> a
    23:23:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):134:134 -> a
    24:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forReturn():315:315 -> a
    24:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):122 -> a
    1:4:com.android.tools.r8.code.Instruction createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):64:67 -> b
    5:6:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:51 -> b
    5:6:com.android.tools.r8.code.Instruction createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):68 -> b
    7:16:com.android.tools.r8.code.Instruction createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):69:78 -> b
    17:22:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):88:93 -> b
    23:24:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:51 -> b
    23:24:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    25:25:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:50 -> b
    25:25:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:26:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:50 -> b
    26:26:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    27:27:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():51:51 -> b
    27:27:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():51:51 -> b
    28:28:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    29:29:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isValueTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement):460:460 -> b
    29:29:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:32:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isValueTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement):460:462 -> b
    30:32:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():105:105 -> i2
    int opcode() -> j2
    1:1:boolean isReturnVoid():46:46 -> n2
    1:2:com.android.tools.r8.ir.code.Value returnValue():59:60 -> o2
    com.android.tools.r8.ir.code.Return asReturn() -> w0
com.android.tools.r8.ir.code.Return$Builder -> com.android.tools.r8.internal.oT:
    1:1:void <init>():139:139 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.Return build():143:143 -> b
com.android.tools.r8.ir.code.SafeCheckCast -> com.android.tools.r8.internal.HT:
    int $r8$clinit -> m
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):16:16 -> <init>
    1:1:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):25:25 -> a
    boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> b
    1:1:com.android.tools.r8.code.CheckCast createCheckCast(int):30:30 -> c
com.android.tools.r8.ir.code.SafeCheckCast$Builder -> com.android.tools.r8.internal.GT:
    1:1:void <init>():48:48 -> <init>
    1:1:com.android.tools.r8.ir.code.CheckCast build():52:52 -> b
com.android.tools.r8.ir.code.Shl -> com.android.tools.r8.internal.hU:
    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>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):53:53 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):63:63 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):78:78 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isShl():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):68:68 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):73:73 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):58:58 -> d
    1:3:boolean com.android.tools.r8.ir.code.Binop.fitsInLit8Instruction(com.android.tools.r8.ir.code.Value):74:76 -> h
    1:3:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):33 -> h
    int opcode() -> j2
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():98:98 -> r2
    com.android.tools.r8.ir.code.Shl asShl() -> x0
com.android.tools.r8.ir.code.Shr -> com.android.tools.r8.internal.jU:
    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>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):53:53 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):63:63 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):78:78 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isShr():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):68:68 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):73:73 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):58:58 -> d
    1:3:boolean com.android.tools.r8.ir.code.Binop.fitsInLit8Instruction(com.android.tools.r8.ir.code.Value):74:76 -> h
    1:3:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):33 -> h
    int opcode() -> j2
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():98:98 -> r2
    com.android.tools.r8.ir.code.Shr asShr() -> y0
com.android.tools.r8.ir.code.SingleConstant -> com.android.tools.r8.internal.HU:
    int decodedValue() -> a
com.android.tools.r8.ir.code.StackValue -> com.android.tools.r8.internal.LV:
    int height -> r
    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo typeInfo -> s
    boolean $assertionsDisabled -> t
    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 needsRegister() -> V
    1:3:com.android.tools.r8.ir.code.StackValue create(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,int,com.android.tools.r8.graph.AppView):24:26 -> a
    4:4:com.android.tools.r8.ir.code.StackValue duplicate(int):39:39 -> a
    5:5:void setNeedsRegister(boolean):54:54 -> a
    1:1:int getHeight():31:31 -> g0
    1:1:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo():35:35 -> h0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":61,"2":62,"3":63}}
    61:61:java.lang.String toString():59:59 -> toString
    62:62:java.lang.String toString():59:59 -> toString
    63:63:java.lang.String toString():59:59 -> toString
    60:60:java.lang.String toString():59:59 -> toString
com.android.tools.r8.ir.code.StackValues -> com.android.tools.r8.internal.MV:
    com.android.tools.r8.ir.code.StackValue[] stackValues -> r
    boolean $assertionsDisabled -> s
    1:1:void <clinit>():14:14 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.StackValue[]):19:21 -> <init>
    boolean isValueOnStack() -> R
    boolean needsRegister() -> V
    1:1:void setNeedsRegister(boolean):35:35 -> a
    1:1:com.android.tools.r8.ir.code.StackValue[] getStackValues():25:25 -> g0
    1:10:java.lang.String toString():40:49 -> toString
    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.internal.cW:
    int $r8$clinit -> l
    boolean $assertionsDisabled -> k
    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>
    com.android.tools.r8.ir.code.FieldGet asFieldGet() -> I
    1:2:com.android.tools.r8.ir.code.StaticGet copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.StaticGet):46:47 -> a
    3:4:com.android.tools.r8.ir.code.StaticGet com.android.tools.r8.ir.code.StaticGet.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.StaticGet):52:53 -> a
    3:4:com.android.tools.r8.ir.code.StaticGet copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.StaticGet):48 -> a
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.StaticGet.dest():67:67 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101 -> a
    6:33:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:128 -> a
    34:34:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":205,"2":206,"3":207}}
    205:205:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):128:128 -> a
    206:206:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):128:128 -> a
    207:207:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):128:128 -> a
    162:162:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):128:128 -> a
    163:163:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    164:183:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):106:125 -> a
    184:184:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):122:122 -> a
    185:185:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):119:119 -> a
    186:186:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):116:116 -> a
    187:204:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):113:130 -> a
    208:222:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):77:91 -> a
    223:229:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):89:95 -> a
    230:230:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):152:152 -> a
    231:231:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):177:177 -> a
    232:232:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):212:212 -> a
    233:233:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):217:217 -> a
    234:234:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):239:239 -> a
    234:234:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):217 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    235:236:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):240:241 -> a
    235:236:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):217 -> a
    237:237:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):217:217 -> a
    238:238:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):222:222 -> a
    239:239:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):227:227 -> a
    240:240: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):237:237 -> a
    241:241:boolean outTypeKnownToBeBoolean(java.util.Set):243:243 -> a
    242:242:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.StaticGet):319:319 -> a
    242:242:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):63 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):167:167 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):167 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):170:171 -> b
    1:1:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146:146 -> c
    2:2:boolean com.android.tools.r8.ir.code.StaticGet.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):152:152 -> c
    2:2:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146 -> c
    boolean instructionTypeCanBeCanonicalized() -> c1
    1:9:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):248:256 -> d
    boolean instructionTypeCanThrow() -> d1
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:java.lang.String toString():182:182 -> toString
    1:1:com.android.tools.r8.ir.code.Value value():72:72 -> value
    boolean isFieldGet() -> y1
    com.android.tools.r8.ir.code.StaticGet asStaticGet() -> z0
com.android.tools.r8.ir.code.StaticGet$Builder -> com.android.tools.r8.internal.bW:
    com.android.tools.r8.graph.DexField field -> c
    1:1:void <init>():260:260 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.StaticGet$Builder setField(com.android.tools.r8.graph.DexField):269:269 -> a
    1:1:com.android.tools.r8.ir.code.StaticGet build():275:275 -> b
com.android.tools.r8.ir.code.StaticPut -> com.android.tools.r8.internal.eW:
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():33:33 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField):36:36 -> <init>
    com.android.tools.r8.ir.code.StaticPut asStaticPut() -> A0
    boolean isFieldPut() -> A1
    com.android.tools.r8.ir.code.FieldPut asFieldPut() -> K
    boolean isStaticFieldInstruction() -> Z1
    1:1:void setValue(com.android.tools.r8.ir.code.Value):62:62 -> a
    2:29:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):68:95 -> a
    30:30:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":168,"2":169,"3":170}}
    168:168:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:95 -> a
    169:169:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:95 -> a
    170:170:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:95 -> a
    125:125:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:95 -> a
    126:126:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):77:77 -> a
    127:146:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:92 -> a
    147:147:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    148:148:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:86 -> a
    149:149:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:83 -> a
    150:167:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80:97 -> a
    171:185:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):109:123 -> a
    186:192:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):122:128 -> a
    193:193:boolean com.android.tools.r8.graph.DexType.isAlwaysNull(com.android.tools.r8.graph.AppView):153:153 -> a
    193:193:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):128 -> a
    194:195:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):132:133 -> a
    196:196:java.lang.Boolean lambda$instructionMayHaveSideEffects$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):123:123 -> a
    197:207:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):153:163 -> a
    208:208: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
    209:209:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):218:218 -> a
    210:210:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):223:223 -> a
    211:211:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):239:239 -> a
    211:211:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):223 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    212:213:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):240:241 -> a
    212:213:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):223 -> a
    214:214:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):223:223 -> a
    215:215: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):233:233 -> a
    216:216:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.StaticPut):324:324 -> a
    216:216:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):46 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    boolean isStaticPut() -> b
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):173:177 -> b
    1:9:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):239:247 -> d
    boolean instructionTypeCanThrow() -> d1
    int getValueIndex() -> e
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():147:147 -> i2
    int opcode() -> j2
    1:1:java.lang.String toString():188:188 -> toString
    1:2:com.android.tools.r8.ir.code.Value value():56:57 -> value
com.android.tools.r8.ir.code.Store -> com.android.tools.r8.internal.fW:
    boolean $assertionsDisabled -> i
    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>
    com.android.tools.r8.ir.code.Store asStore() -> B0
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):75:75 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):80:80 -> a
    3:3:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):85:85 -> a
    4:4:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):90:90 -> a
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):95:95 -> a
    6:9: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
    10:10:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forStore():327:327 -> a
    10:10: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:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:2:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):113:114 -> d
    1:1:int maxInValueRegister():59:59 -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Value src():39:39 -> m2
com.android.tools.r8.ir.code.StringSwitch -> com.android.tools.r8.internal.DW:
    boolean $assertionsDisabled -> n
    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>
    com.android.tools.r8.ir.code.StringSwitch asStringSwitch() -> C0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void forEachCase(com.android.tools.r8.utils.ThrowingBiConsumer):50:50 -> a
    2:2:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.code.StringSwitch.getKey(int):80:80 -> a
    2:2:void forEachCase(com.android.tools.r8.utils.ThrowingBiConsumer):51 -> a
    3:3:void forEachCase(com.android.tools.r8.utils.ThrowingBiConsumer):51:51 -> a
    4:4:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):99:99 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):104:104 -> a
    6:6:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):114:114 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):109:109 -> b
    boolean isStringSwitch() -> c2
    1:1:com.android.tools.r8.graph.DexString getKey(int):80:80 -> f
    1:1:int maxInValueRegister():119:119 -> h2
    1:1:int maxOutValueRegister():124:124 -> i2
    int opcode() -> j2
    1:4:boolean valid():62:65 -> q2
    1:4:java.lang.String toString():85:88 -> toString
    5:5:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.code.StringSwitch.getKey(int):80:80 -> toString
    5:5:java.lang.String toString():89 -> toString
    6:11:java.lang.String toString():89:94 -> toString
com.android.tools.r8.ir.code.Sub -> com.android.tools.r8.internal.fX:
    boolean $assertionsDisabled -> k
    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>
    com.android.tools.r8.ir.code.Sub asSub() -> D0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):62:62 -> a
    2:22:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):164:184 -> a
    23:25:boolean com.android.tools.r8.ir.code.Sub.negativeFitsInDexInstruction(com.android.tools.r8.ir.code.Value):123:125 -> a
    23:25:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):184 -> a
    26:41:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):184:199 -> a
    42:42:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Sub.CreateInt(int,int,int):47:47 -> a
    42:42:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):200 -> a
    43:43:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):202:202 -> a
    44:44:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):165:165 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):57:57 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):82:82 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):99:99 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):99 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):99:99 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):47:47 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):77:77 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):67:67 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):94:94 -> d
    3:12:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):145:154 -> d
    13:15:boolean com.android.tools.r8.ir.code.Sub.negativeFitsInDexInstruction(com.android.tools.r8.ir.code.Value):123:125 -> d
    13:15:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):157 -> d
    16:16:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):157:157 -> d
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):72:72 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):88:88 -> e
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):52:52 -> f
    int opcode() -> j2
    boolean isCommutative() -> n2
    1:6:int maxInOutValueRegisterSize():131:136 -> p2
    7:9:boolean com.android.tools.r8.ir.code.Sub.negativeFitsInDexInstruction(com.android.tools.r8.ir.code.Value):123:125 -> p2
    7:9:int maxInOutValueRegisterSize():136 -> p2
    10:12:int maxInOutValueRegisterSize():136:138 -> p2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():217:217 -> r2
com.android.tools.r8.ir.code.Swap -> com.android.tools.r8.internal.oX:
    boolean $assertionsDisabled -> i
    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>
    2:5:void <init>(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):26:29 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):65:65 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):70:70 -> a
    3:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forSwap():331:331 -> a
    3:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):91 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isSwap():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:5:com.android.tools.r8.ir.code.Value setOutValue(com.android.tools.r8.ir.code.Value):44:48 -> f
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():85:85 -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.Switch -> com.android.tools.r8.internal.pX:
    int fallthroughBlockIndex -> k
    boolean $assertionsDisabled -> l
    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>
    com.android.tools.r8.ir.code.Switch asSwitch() -> E0
    1:1:void setFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):67:67 -> b
    1:1:int getTargetBlockIndex(int):39:39 -> c
    1:1:void setFallthroughBlockIndex(int):62:62 -> d
    boolean isSwitch() -> d2
    1:1:com.android.tools.r8.ir.code.BasicBlock targetBlock(int):35:35 -> e
    2:2:int[] com.android.tools.r8.ir.code.Switch.targetBlockIndices():43:43 -> e
    2:2:com.android.tools.r8.ir.code.BasicBlock targetBlock(int):35 -> e
    3:3:com.android.tools.r8.ir.code.BasicBlock targetBlock(int):35:35 -> e
    1:1:com.android.tools.r8.ir.code.BasicBlock fallthroughBlock():54:54 -> m2
    1:1:int getFallthroughBlockIndex():58:58 -> n2
    1:1:int numberOfKeys():71:71 -> o2
    1:1:int[] targetBlockIndices():43:43 -> p2
    1:2:boolean valid():28:29 -> q2
    3:3:int com.android.tools.r8.ir.code.Switch.getTargetBlockIndex(int):39:39 -> q2
    3:3:boolean valid():29 -> q2
    4:4:int com.android.tools.r8.ir.code.Switch.getFallthroughBlockIndex():58:58 -> q2
    4:4:boolean valid():29 -> q2
    5:5:boolean valid():29:29 -> q2
    1:1:com.android.tools.r8.ir.code.Value value():24:24 -> value
com.android.tools.r8.ir.code.Throw -> com.android.tools.r8.internal.RX:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value):20:20 -> <init>
    com.android.tools.r8.ir.code.Throw asThrow() -> F0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):39:39 -> a
    2:2:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):81:81 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):86:86 -> a
    4:8:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):91:95 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    9:9:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):99 -> a
    10:14:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):104:108 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forThrow():335:335 -> 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):76 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):60:60 -> b
    boolean instructionTypeCanThrow() -> d1
    boolean isThrow() -> e2
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():49:49 -> i2
    int opcode() -> j2
    1:1:com.android.tools.r8.ir.code.Value exception():34:34 -> n2
com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier -> com.android.tools.r8.internal.NZ:
    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.ir.analysis.type.TypeElement getOutType() -> c
    com.android.tools.r8.graph.DebugLocalInfo getLocalInfo() -> k
com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier$1 -> com.android.tools.r8.internal.MZ:
    com.android.tools.r8.ir.analysis.type.TypeElement val$type -> c
    com.android.tools.r8.graph.DebugLocalInfo val$local -> b
    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.ir.analysis.type.TypeElement getOutType():25:25 -> c
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():20:20 -> k
com.android.tools.r8.ir.code.UninitializedThisLocalRead -> com.android.tools.r8.internal.o00:
    1:1:void <init>(com.android.tools.r8.ir.code.Value):29:29 -> <init>
    boolean hasInvariantOutType() -> V0
    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):39:39 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):44:44 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):49:49 -> 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):75:75 -> a
    5:5:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):85:85 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.Unop -> com.android.tools.r8.internal.D00:
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
    boolean hasInvariantOutType() -> V0
    1:2:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):56:57 -> a
    3:3:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):62:62 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forUnop():339:339 -> 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):51 -> a
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isUnop() -> f2
    int maxInValueRegister() -> h2
    int maxOutValueRegister() -> i2
    1:1:com.android.tools.r8.ir.code.Value source():25:25 -> m2
com.android.tools.r8.ir.code.UnusedArgument -> com.android.tools.r8.internal.L00:
    1:1:void <init>(com.android.tools.r8.ir.code.Value):26:26 -> <init>
    boolean hasInvariantOutType() -> V0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):36:36 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):41:41 -> a
    3:3:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):46:46 -> a
    4:4:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):51:51 -> a
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):56:56 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):72:72 -> a
    7:7:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):82:82 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):66:66 -> b
    1:1:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):77:77 -> d
    1:1:int maxInValueRegister():97:97 -> h2
    1:1:int maxOutValueRegister():102:102 -> i2
    int opcode() -> j2
com.android.tools.r8.ir.code.Ushr -> com.android.tools.r8.internal.R00:
    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>
    com.android.tools.r8.ir.code.Ushr asUshr() -> G0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):53:53 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):63:63 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):78:78 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isUshr():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):68:68 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):73:73 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):58:58 -> d
    1:3:boolean com.android.tools.r8.ir.code.Binop.fitsInLit8Instruction(com.android.tools.r8.ir.code.Value):74:76 -> h
    1:3:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):33 -> h
    int opcode() -> j2
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():98:98 -> r2
com.android.tools.r8.ir.code.Value -> com.android.tools.r8.internal.Z00:
    com.android.tools.r8.ir.regalloc.LiveIntervals liveIntervals -> j
    com.android.tools.r8.ir.analysis.type.TypeElement type -> o
    int needsRegister -> k
    boolean isThis -> l
    int number -> b
    com.android.tools.r8.ir.code.Value UNDEFINED -> p
    boolean $assertionsDisabled -> q
    java.util.Set uniquePhiUsers -> g
    com.android.tools.r8.ir.code.Value previousConsecutive -> i
    com.android.tools.r8.ir.code.Value nextConsecutive -> h
    com.android.tools.r8.ir.code.Instruction definition -> c
    java.util.Set uniqueUsers -> e
    java.util.LinkedList users -> d
    java.util.LinkedList phiUsers -> f
    com.android.tools.r8.ir.code.Value$DebugData debugData -> n
    com.android.tools.r8.utils.LongInterval valueRange -> m
    1:114:void <clinit>():53:166 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):183:183 -> <init>
    2:20:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):169:187 -> <init>
    1:1:boolean hasNonDebugUsers():414:414 -> A
    1:1:boolean hasPhiUsers():418:418 -> B
    1:1:boolean hasUsers():422:422 -> C
    1:1:boolean hasUsersInfo():554:554 -> D
    1:1:boolean hasValueRange():948:948 -> F
    1:1:boolean isArgument():874:874 -> G
    1:1:boolean isConstClass():828:828 -> H
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> H
    2:2:boolean isConstClass():828 -> H
    1:1:boolean isConstNumber():799:799 -> I
    1:1:boolean isConstString():812:812 -> J
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> J
    2:2:boolean isConstString():812 -> J
    1:1:boolean isConstant():832:832 -> K
    1:1:boolean isDexItemBasedConstString():816:816 -> L
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> L
    2:2:boolean isDexItemBasedConstString():816 -> L
    boolean isFixedRegisterValue() -> M
    1:1:boolean isLinked():314:314 -> N
    1:3:boolean isNeverNull():868:870 -> O
    1:1:boolean isThis():940:940 -> P
    1:1:boolean isUsed():463:463 -> Q
    2:2:int com.android.tools.r8.ir.code.Value.numberOfDebugUsers():455:455 -> Q
    2:2:boolean isUsed():463 -> Q
    boolean isValueOnStack() -> R
    1:3:boolean isZero():1042:1044 -> S
    1:3:void markAsThis():929:931 -> T
    1:1:void markNonDebugLocalRead():149:149 -> U
    1:2:boolean needsRegister():706:707 -> V
    3:10:boolean com.android.tools.r8.ir.code.Value.internalComputeNeedsRegister():722:729 -> V
    3:10:boolean needsRegister():707 -> V
    11:12:boolean needsRegister():707:708 -> V
    1:1:int com.android.tools.r8.ir.code.Value.numberOfAllNonDebugUsers():451:451 -> W
    1:1:int numberOfAllUsers():459 -> W
    2:2:int com.android.tools.r8.ir.code.Value.numberOfDebugUsers():455:455 -> W
    2:2:int numberOfAllUsers():459 -> W
    1:5:int numberOfPhiUsers():443:447 -> X
    1:5:int numberOfUsers():435:439 -> Y
    1:15:boolean onlyDependsOnArgument():878:892 -> Z
    16:16:boolean onlyDependsOnArgument():890:890 -> Z
    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):57:70 -> a
    15:15: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):59:59 -> a
    16:16: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":86,"2":87,"3":88}}
    86:86: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):59:59 -> a
    87:87: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):59:59 -> a
    88:88: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):59:59 -> a
    75:85: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):59:59 -> a
    89:148:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):75:134 -> a
    149:150:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):129:130 -> a
    151:151:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):124:124 -> a
    152:152:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    152:152:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):124 -> a
    153:153:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):125:125 -> a
    154:154:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):119:119 -> a
    155:155:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    155:155:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):119 -> a
    156:156:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):120:120 -> a
    157:157:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):111:111 -> a
    158:158:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    158:158:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):111 -> a
    159:162:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):112:115 -> a
    163:163:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):106:106 -> a
    164:164:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    164:164:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):106 -> a
    165:165:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):106:106 -> a
    166:166:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    166:166:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):106 -> a
    167:167:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):107:107 -> a
    168:168:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):101:101 -> a
    169:169:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    169:169:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):101 -> a
    170:170:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):101:101 -> a
    171:171:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    171:171:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):101 -> a
    172:172:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):102:102 -> a
    173:173:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):80:80 -> a
    174:174:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    174:174:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):80 -> a
    175:185:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):81:91 -> a
    186:186:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    186:186:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):91 -> a
    187:188:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):93:94 -> a
    189:189:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> a
    189:189:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):94 -> a
    190:192:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):94:96 -> a
    193:197:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):93:97 -> a
    198:198:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueType):140:140 -> a
    199:199:boolean com.android.tools.r8.ir.code.Value.verifyCompatible(com.android.tools.r8.ir.code.ValueTypeConstraint):144:144 -> a
    199:199:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueType):140 -> a
    200:220:com.android.tools.r8.ir.code.Value getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.function.Predicate):228:248 -> a
    221:221:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    221:221:com.android.tools.r8.ir.code.Value getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.function.Predicate):248 -> a
    222:222:com.android.tools.r8.ir.code.Value getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.function.Predicate):248:248 -> a
    223:224:com.android.tools.r8.ir.code.Value getSpecificAliasedValue(java.util.function.Predicate):254:255 -> a
    225:227:void setLocalInfo(com.android.tools.r8.graph.DebugLocalInfo):275:277 -> a
    228:230:void addDebugLocalEnd(com.android.tools.r8.ir.code.Instruction):287:289 -> a
    231:235:boolean onlyUsedInBlock(com.android.tools.r8.ir.code.BasicBlock):334:338 -> a
    236:238:java.util.Set aliasedUsers(com.android.tools.r8.ir.code.AliasedValueConfiguration):366:368 -> a
    239:246:void collectAliasedUsersViaAssume(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.Set,java.util.Set,java.util.Set):377:384 -> a
    247:247:void collectAliasedUsersViaAssume(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.Set,java.util.Set,java.util.Set):383:383 -> a
    248:249:void addPhiUser(com.android.tools.r8.ir.code.Phi):523:524 -> a
    250:252:java.util.Set affectedValues():569:571 -> a
    253:253:void addAffectedValuesTo(java.util.Set):575:575 -> a
    254:259:void forEachAffectedValue(java.util.function.Consumer):579:584 -> a
    260:273:void replaceUsers(com.android.tools.r8.ir.code.Value,java.util.Set):595:608 -> a
    274:274:void com.android.tools.r8.ir.code.Value.replaceUserInDebugData(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):682:682 -> a
    274:274:void replaceUsers(com.android.tools.r8.ir.code.Value,java.util.Set):609 -> a
    275:277:void replaceUsers(com.android.tools.r8.ir.code.Value,java.util.Set):611:613 -> a
    278:281:void replaceSelectiveInstructionUsers(com.android.tools.r8.ir.code.Value,java.util.function.Predicate):630:633 -> a
    282:307:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):648:673 -> a
    308:308:void com.android.tools.r8.ir.code.Value.replaceUserInDebugData(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):682:682 -> a
    308:308:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):674 -> a
    309:309:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):675:675 -> a
    310:311:void setLiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):697:698 -> a
    312:313:void setNeedsRegister(boolean):712:713 -> a
    314:314:int compareTo(com.android.tools.r8.ir.code.Value):751:751 -> a
    315:328:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):836:849 -> a
    329:329:void setValueRange(com.android.tools.r8.utils.LongInterval):944:944 -> a
    330:330:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):976:976 -> a
    331:331:boolean com.android.tools.r8.ir.code.Value.isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate):981:981 -> a
    331:331:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):976 -> a
    332:345:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate,java.util.Set):998:1011 -> a
    346:346:boolean com.android.tools.r8.com.google.common.base.Predicate.test(java.lang.Object):79:79 -> a
    346:346:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate,java.util.Set):1011 -> a
    347:367:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate,java.util.Set):1014:1034 -> a
    368:369:void setType(com.android.tools.r8.ir.analysis.type.TypeElement):1053:1054 -> a
    370:370:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    371:372:boolean com.android.tools.r8.ir.code.Value.skipWideningOrNarrowingCheck(com.android.tools.r8.graph.AppView):1085:1086 -> a
    371:372:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073 -> a
    373:373:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    374:374:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1455,"2":1456,"3":1457}}
    1455:1455:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    1456:1456:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    1457:1457:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    1447:1454:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1080 -> a
    1458:1503:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):1103:1148 -> a
    1504:1508:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1165:1169 -> a
    1509:1509:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.meetNullability(com.android.tools.r8.ir.analysis.type.Nullability):155:155 -> a
    1509:1509:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1170 -> a
    1510:1538:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1174:1202 -> a
    1539:1539:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.meetNullability(com.android.tools.r8.ir.analysis.type.Nullability):155:155 -> a
    1539:1539:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1202 -> a
    1540:1540:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1203:1203 -> a
    1541:1541:boolean com.android.tools.r8.ir.analysis.type.Nullability.lessThanOrEqual(com.android.tools.r8.ir.analysis.type.Nullability):83:83 -> a
    1541:1541:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1203 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1542:1542:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1203:1203 -> a
    1:1:com.android.tools.r8.ir.code.ValueType outType():790:790 -> a0
    com.android.tools.r8.ir.code.FixedRegisterValue asFixedRegisterValue() -> b
    1:5:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):467:471 -> b
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> b
    6:6:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):471 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> b
    7:7:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):471 -> b
    8:9:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):474:475 -> b
    10:11:void addUser(com.android.tools.r8.ir.code.Instruction):494:495 -> b
    12:13:void fullyRemovePhiUser(com.android.tools.r8.ir.code.Phi):533:534 -> b
    14:17:void replaceDebugUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):689:692 -> b
    18:18:boolean isDefinedByInstructionSatisfying(java.util.function.Predicate):853:853 -> b
    19:19:boolean knownToBeBoolean(java.util.Set):903:903 -> b
    20:20:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> b
    20:20:boolean knownToBeBoolean(java.util.Set):903 -> b
    21:39:boolean knownToBeBoolean(java.util.Set):907:925 -> b
    40:40:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1060:1060 -> b
    41:42:boolean com.android.tools.r8.ir.code.Value.skipWideningOrNarrowingCheck(com.android.tools.r8.graph.AppView):1085:1086 -> b
    41:42:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1060 -> b
    43:50:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1060:1067 -> b
    51:51:boolean lambda$getDynamicLowerBoundType$5(com.android.tools.r8.ir.code.Value):1192:1192 -> b
    1:1:int requiredRegisters():263:263 -> b0
    1:2:void fullyRemoveUser(com.android.tools.r8.ir.code.Instruction):504:505 -> c
    3:4:void clearUsers():509:510 -> c
    5:6:void com.android.tools.r8.ir.code.Value.clearPhiUsers():518:519 -> c
    5:6:void clearUsers():511 -> c
    7:8:void clearUsers():512:513 -> c
    9:10:void removePhiUser(com.android.tools.r8.ir.code.Phi):528:529 -> c
    11:11:boolean lambda$getDynamicUpperBoundType$3(com.android.tools.r8.ir.code.Value):1107:1107 -> c
    1:2:com.android.tools.r8.ir.code.Instruction singleUniqueUser():357:358 -> c0
    1:1:int compareTo(java.lang.Object):53:53 -> compareTo
    1:5:void removeDebugUser(com.android.tools.r8.ir.code.Instruction):546:550 -> d
    6:11:void clearUsersInfo():558:563 -> d
    12:12:boolean lambda$getDynamicUpperBoundType$4(com.android.tools.r8.ir.code.Value):1121:1121 -> d
    1:4:java.util.Set uniquePhiUsers():395:398 -> d0
    boolean lambda$replaceSelectiveUsers$2(com.android.tools.r8.ir.code.Value) -> e
    1:2:void removeUser(com.android.tools.r8.ir.code.Instruction):499:500 -> e
    3:3:void computeNeedsRegister():717:717 -> e
    4:11:boolean com.android.tools.r8.ir.code.Value.internalComputeNeedsRegister():722:729 -> e
    4:11:void computeNeedsRegister():718 -> e
    12:12:void computeNeedsRegister():718:718 -> e
    1:4:java.util.Set uniqueUsers():346:349 -> e0
    boolean isPhi() -> f
    1:4:void linkTo(com.android.tools.r8.ir.code.Value):293:296 -> f
    1:2:boolean usedInMonitorOperation():485:486 -> f0
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> f0
    3:3:boolean usedInMonitorOperation():486 -> f0
    1:2:void replacePhiUsers(com.android.tools.r8.ir.code.Value):620:621 -> g
    3:4:void com.android.tools.r8.ir.code.Value.clearPhiUsers():518:519 -> g
    3:4:void replacePhiUsers(com.android.tools.r8.ir.code.Value):623 -> g
    com.android.tools.r8.ir.code.Phi asPhi() -> h
    1:1:void replaceUsers(com.android.tools.r8.ir.code.Value):588:588 -> h
    1:1:int hashCode():756:756 -> hashCode
    1:1:java.util.Set debugUsers():402:402 -> i
    1:1:com.android.tools.r8.ir.code.BasicBlock getBlock():1090:1090 -> j
    1:2:com.android.tools.r8.ir.code.Phi firstPhiUser():390:391 -> k
    1:1:com.android.tools.r8.ir.code.Value getAliasedValue():219:219 -> l
    2:2:com.android.tools.r8.ir.code.Value getAliasedValue():218:218 -> l
    1:2:com.android.tools.r8.ir.code.ConstInstruction getConstInstruction():794:795 -> m
    1:3:java.util.Set getDebugLocalEnds():281:283 -> o
    1:2:com.android.tools.r8.ir.code.Instruction getDefinition():199:200 -> p
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getLiveIntervals():702:702 -> q
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():267:267 -> r
    1:1:com.android.tools.r8.ir.code.Value getNextConsecutive():326:326 -> s
    1:1:int getNumber():259:259 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":788,"2":789,"3":790}}
    788:788:java.lang.String toString():761:761 -> toString
    789:789:java.lang.String toString():761:761 -> toString
    790:790:java.lang.String toString():762:762 -> toString
    764:787:java.lang.String toString():763:786 -> toString
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getPreviousConsecutive():330:330 -> u
    1:1:com.android.tools.r8.ir.code.Value getStartOfConsecutive():319 -> u
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getType():1094:1094 -> v
    1:11:com.android.tools.r8.utils.LongInterval getValueRange():960:970 -> w
    1:1:boolean hasAnyUsers():406:406 -> x
    1:1:boolean hasDebugUsers():410:410 -> y
    1:1:boolean hasLocalInfo():271:271 -> z
com.android.tools.r8.ir.code.Value$DebugData -> com.android.tools.r8.internal.X00:
    com.android.tools.r8.graph.DebugLocalInfo local -> a
    java.util.Set users -> b
    1:1:void <init>(com.android.tools.r8.graph.DebugLocalInfo):159:159 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DebugLocalInfo):157:160 -> <init>
com.android.tools.r8.ir.code.ValueFactory -> com.android.tools.r8.internal.a10:
    1:1:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
com.android.tools.r8.ir.code.ValueType -> com.android.tools.r8.internal.h10:
    com.android.tools.r8.ir.code.ValueType LONG -> e
    com.android.tools.r8.ir.code.ValueType DOUBLE -> f
    com.android.tools.r8.ir.code.ValueType INT -> c
    com.android.tools.r8.ir.code.ValueType FLOAT -> d
    com.android.tools.r8.ir.code.ValueType OBJECT -> b
    com.android.tools.r8.ir.code.ValueType[] $VALUES -> g
    1:5:void <clinit>():17:21 -> <clinit>
    6:6:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(java.lang.String,int):16:16 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int compareTo(com.android.tools.r8.utils.structural.StructuralItem):16:16 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    3:3:boolean isObject():38:38 -> a
    4:4:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101:101 -> a
    5:5:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):96:96 -> a
    5:5:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    6:6:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):94:94 -> a
    6:6:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    7:17:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):80:90 -> a
    7:17:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    18:22:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):88:92 -> a
    18:22:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    23:23:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):86:86 -> a
    23:23:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    24:37:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):105:118 -> a
    38:38:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):116:116 -> a
    39:39:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):114:114 -> a
    40:40:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):112:112 -> a
    41:41:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):110:110 -> a
    42:43:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):123:124 -> a
    44:44:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    44:44:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):126 -> a
    45:45:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):127:127 -> a
    46:46:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    46:46:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):129 -> a
    47:47:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):130:130 -> a
    48:48:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    48:48:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):132 -> a
    49:49:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):133:133 -> a
    50:50:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    50:50:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):135 -> a
    51:53:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):136:138 -> a
    1:1:boolean isWide():46:46 -> b
    1:1:int requiredRegisters():50:50 -> c
    1:11:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():142:152 -> d
    12:12:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():150:150 -> d
    13:13:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():148:148 -> d
    14:14:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():146:146 -> d
    15:15:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():144:144 -> d
    1:1:com.android.tools.r8.ir.code.ValueType[] values():16:16 -> e
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():34:34 -> n
com.android.tools.r8.ir.code.ValueType$1 -> com.android.tools.r8.internal.g10:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> b
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> c
    int[] $SwitchMap$com$android$tools$r8$ir$code$MemberType -> a
    1:1:void <clinit>():142:142 -> <clinit>
    2:2:void <clinit>():105:105 -> <clinit>
    3:3:void <clinit>():54:54 -> <clinit>
com.android.tools.r8.ir.code.ValueTypeConstraint -> com.android.tools.r8.internal.j10:
    com.android.tools.r8.ir.code.ValueTypeConstraint INT -> c
    com.android.tools.r8.ir.code.ValueTypeConstraint OBJECT -> b
    com.android.tools.r8.ir.code.ValueTypeConstraint LONG -> g
    com.android.tools.r8.ir.code.ValueTypeConstraint INT_OR_FLOAT_OR_OBJECT -> f
    com.android.tools.r8.ir.code.ValueTypeConstraint INT_OR_FLOAT -> e
    com.android.tools.r8.ir.code.ValueTypeConstraint FLOAT -> d
    com.android.tools.r8.ir.code.ValueTypeConstraint[] $VALUES -> j
    com.android.tools.r8.ir.code.ValueTypeConstraint LONG_OR_DOUBLE -> i
    com.android.tools.r8.ir.code.ValueTypeConstraint DOUBLE -> h
    1:8:void <clinit>():14:21 -> <clinit>
    9:9:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(java.lang.String,int):13:13 -> <init>
    1:1:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isWide():32:32 -> a
    1:1:int requiredRegisters():42 -> a
    2:14:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):46:58 -> a
    15:15:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):56:56 -> a
    16:16:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):54:54 -> a
    17:17:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):52:52 -> a
    18:18:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):50:50 -> a
    19:19:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):48:48 -> a
    20:20:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):106:106 -> a
    21:21:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):104:104 -> a
    22:32:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):90:100 -> a
    33:37:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):98:102 -> a
    38:38:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):96:96 -> a
    39:39:com.android.tools.r8.ir.code.ValueTypeConstraint fromDexType(com.android.tools.r8.graph.DexType):111:111 -> a
    40:53:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):115:128 -> a
    54:54:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):126:126 -> a
    55:55:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):124:124 -> a
    56:56:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):122:122 -> a
    57:57:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):120:120 -> a
    58:59:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):133:134 -> a
    60:60:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> a
    60:60:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():388 -> a
    60:60:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():389 -> a
    61:61:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    62:62:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> a
    62:62:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():390 -> a
    62:62:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    63:63:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> a
    63:63:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():391 -> a
    63:63:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    64:64:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    64:64:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    65:65:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    65:65:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):139 -> a
    66:66:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):140:140 -> a
    67:67:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    67:67:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):142 -> a
    68:68:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):143:143 -> a
    69:69:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    69:69:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):145 -> a
    70:76:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):146:152 -> a
    77:77:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    77:77:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):154 -> a
    78:80:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):155:157 -> a
    81:81:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):137:137 -> a
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint[] values():13:13 -> b
com.android.tools.r8.ir.code.ValueTypeConstraint$1 -> com.android.tools.r8.internal.i10:
    int[] $SwitchMap$com$android$tools$r8$ir$code$MemberType -> b
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> c
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueTypeConstraint -> d
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():161:161 -> <clinit>
    2:2:void <clinit>():115:115 -> <clinit>
    3:3:void <clinit>():63:63 -> <clinit>
    4:4:void <clinit>():46:46 -> <clinit>
com.android.tools.r8.ir.code.WideConstant -> com.android.tools.r8.internal.f20:
    long decodedValue() -> a
com.android.tools.r8.ir.code.Xor -> com.android.tools.r8.internal.q30:
    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() -> H0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):48:48 -> a
    2:2:boolean outTypeKnownToBeBoolean(java.util.Set):98:98 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):58:58 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):73:73 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78:78 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isXor():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78:78 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):63:63 -> c
    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
    int opcode() -> j2
    boolean isCommutative() -> n2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():93:93 -> r2
com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver -> com.android.tools.r8.internal.h3:
    java.util.Map unresolvedPayload -> a
    java.util.Map payloadToData -> b
    boolean $assertionsDisabled -> c
    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
    8:17:void resolve(com.android.tools.r8.code.FillArrayDataPayload):38:47 -> a
    18:18:short[] getData(int):59:59 -> a
    19:19:void clear():63:63 -> a
    1:1:int getElementWidth(int):51:51 -> b
    1:1:long getSize(int):55:55 -> c
com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver$PayloadData -> com.android.tools.r8.internal.g3:
    long size -> b
    short[] data -> c
    int element_width -> a
    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.CfBuilder -> com.android.tools.r8.internal.H6:
    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
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder bytecodeMetadataBuilder -> r
    boolean $assertionsDisabled -> s
    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
    1:1:void <clinit>():77:77 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):140:140 -> <init>
    2:54:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):92:144 -> <init>
    1:7:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():245:251 -> a
    1:7:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    8:14:java.util.List com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers(com.android.tools.r8.ir.code.Value):266:272 -> a
    8:14:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():251 -> a
    8:14:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    15:21:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():251:257 -> a
    15:21:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    22:28:java.util.List com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers(com.android.tools.r8.ir.code.Value):266:272 -> a
    22:28:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():257 -> a
    22:28:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    29:34:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():257:262 -> a
    29:34:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    35:37:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):149:151 -> a
    38:42:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():279:283 -> a
    38:42:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    43:43:boolean com.android.tools.r8.ir.code.Instruction.isNot():0:0 -> a
    43:43:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():283 -> a
    43:43:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    44:57:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():287:300 -> a
    44:57:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    58:58:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():299:299 -> a
    58:58:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    59:71:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):153:165 -> a
    72:87:java.util.Set com.android.tools.r8.ir.conversion.CfBuilder.insertUninitializedThisLocalReads():201:216 -> a
    72:87:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):168 -> a
    88:104:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):169:185 -> a
    105:110:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():422:427 -> a
    105:110:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    111:111:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> a
    111:111:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():427 -> a
    111:111:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    112:144:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():427:459 -> a
    112:144:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    145:145:int com.android.tools.r8.ir.conversion.CfBuilder.getLocalRegister(com.android.tools.r8.ir.code.Value):695:695 -> a
    145:145:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():459 -> a
    145:145:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    146:146:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():459:459 -> a
    146:146:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    147:147:int com.android.tools.r8.ir.conversion.CfBuilder.getLocalRegister(com.android.tools.r8.ir.code.Value):695:695 -> a
    147:147:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():459 -> a
    147:147:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    148:166:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():460:478 -> a
    148:166:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    167:167:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():456:456 -> a
    167:167:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    168:168:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():451:451 -> a
    168:168:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    169:170:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):192:193 -> a
    171:186:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():315:330 -> a
    171:186:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    187:187:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    187:187:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():331 -> a
    187:187:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    188:190:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():333:335 -> a
    188:190:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    191:196:com.android.tools.r8.cf.code.CfTryCatch com.android.tools.r8.cf.code.CfTryCatch.fromBuilder(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.ir.code.CatchHandlers,com.android.tools.r8.ir.conversion.CfBuilder):43:48 -> a
    191:196:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():335 -> a
    191:196:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    197:197:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():334:334 -> a
    197:197:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    198:200:void com.android.tools.r8.ir.conversion.CfBuilder.emitLabel(com.android.tools.r8.cf.code.CfLabel):682:684 -> a
    198:200:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():336 -> a
    198:200:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    201:201:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    201:201:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():338 -> a
    201:201:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    202:202:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():340:340 -> a
    202:202:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    203:205:void com.android.tools.r8.ir.conversion.CfBuilder.emitLabel(com.android.tools.r8.cf.code.CfLabel):682:684 -> a
    203:205:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():341 -> a
    203:205:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    206:211:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():345:350 -> a
    206:211:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    212:214:void com.android.tools.r8.ir.conversion.CfBuilder.emitLabel(com.android.tools.r8.cf.code.CfLabel):682:684 -> a
    212:214:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():350 -> a
    212:214:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    215:223:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():352:360 -> a
    215:223:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    224:225:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    224:225:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    224:225:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():360 -> a
    224:225:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    226:227:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():360:361 -> a
    226:227:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    228:230:int com.android.tools.r8.ir.conversion.CfBuilder.stackHeightAtBlockEntry(com.android.tools.r8.ir.code.BasicBlock):307:309 -> a
    228:230:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():364 -> a
    228:230:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    231:232:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.setHeight(int):131:132 -> a
    231:232:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():364 -> a
    231:232:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    233:233:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):485:485 -> a
    233:233:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    233:233:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    234:234:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):413:413 -> a
    234:234:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    234:234:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    234:234:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    235:235:boolean com.android.tools.r8.ir.conversion.CfBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):402:402 -> a
    235:235:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):414 -> a
    235:235:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    235:235:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    235:235:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    236:236:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    236:236:boolean com.android.tools.r8.ir.conversion.CfBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):403 -> a
    236:236:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):414 -> a
    236:236:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    236:236:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    236:236:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    237:237:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    237:237:boolean com.android.tools.r8.ir.conversion.CfBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):404 -> a
    237:237:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):414 -> a
    237:237:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    237:237:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    237:237:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    238:238:boolean com.android.tools.r8.ir.conversion.CfBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):406:406 -> a
    238:238:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):414 -> a
    238:238:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    238:238:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    238:238:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    239:241:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):490:492 -> a
    239:241:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    239:241:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    242:244:void com.android.tools.r8.ir.conversion.CfBuilder.addFrame(com.android.tools.r8.ir.code.BasicBlock):592:594 -> a
    242:244:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):492 -> a
    242:244:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    242:244:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    245:245:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    245:245:void com.android.tools.r8.ir.conversion.CfBuilder.addFrame(com.android.tools.r8.ir.code.BasicBlock):594 -> a
    245:245:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):492 -> a
    245:245:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    245:245:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    246:277:void com.android.tools.r8.ir.conversion.CfBuilder.addFrame(com.android.tools.r8.ir.code.BasicBlock):595:626 -> a
    246:277:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):492 -> a
    246:277:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    246:277:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    278:288:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):493:503 -> a
    278:288:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    278:288:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    289:289:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.pop(com.android.tools.r8.ir.code.Value):126:126 -> a
    289:289:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):503 -> a
    289:289:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    289:289:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    290:290:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.pop(com.android.tools.r8.ir.code.Value):127:127 -> a
    290:290:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):503 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    290:290:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    290:290:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    291:291:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.pop(com.android.tools.r8.ir.code.Value):127:127 -> a
    291:291:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):503 -> a
    291:291:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    291:291:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    292:294:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):506:508 -> a
    292:294:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    292:294:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    295:297:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.push(com.android.tools.r8.ir.code.Value):120:122 -> a
    295:297:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):509 -> a
    295:297:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    295:297:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    298:299:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):511:512 -> a
    298:299:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    298:299:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    300:302:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.push(com.android.tools.r8.ir.code.Value):120:122 -> a
    300:302:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):513 -> a
    300:302:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    300:302:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    303:303:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    303:303:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):517 -> a
    303:303:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    303:303:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    304:309:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):518:523 -> a
    304:309:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    304:309:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    310:317:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):532:539 -> a
    310:317:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    310:317:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    310:317:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    318:318:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    318:318:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):540 -> a
    318:318:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    318:318:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    318:318:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    319:329:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):541:551 -> a
    319:329:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    319:329:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    319:329:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    330:330:void com.android.tools.r8.ir.conversion.CfBuilder.add(com.android.tools.r8.cf.code.CfInstruction):699:699 -> a
    330:330:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):551 -> a
    330:330:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    330:330:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    330:330:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    331:331:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):552:552 -> a
    331:331:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    331:331:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    331:331:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    332:332:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):526:526 -> a
    332:332:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    332:332:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    333:333:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():367:367 -> a
    333:333:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    334:334:boolean com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.isEmpty():116:116 -> a
    334:334:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():367 -> a
    334:334:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    335:365:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():367:397 -> a
    335:365:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    366:366:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):195:195 -> a
    367:375:boolean com.android.tools.r8.ir.conversion.CfBuilder.verifyInvokeInterface(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.AppView):223:231 -> a
    367:375:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):195 -> a
    376:376:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):196:196 -> a
    377:377:com.android.tools.r8.graph.CfCode$StackMapStatus com.android.tools.r8.graph.CfCode.verifyFrames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):878:878 -> a
    377:377:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):196 -> a
    378:378:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):196:196 -> a
    379:380:void updateLocals(com.android.tools.r8.cf.code.CfLabel):557:558 -> a
    381:386:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.endingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):74:79 -> a
    381:386:void updateLocals(com.android.tools.r8.cf.code.CfLabel):558 -> a
    387:387:void updateLocals(com.android.tools.r8.cf.code.CfLabel):559:559 -> a
    388:393:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.startingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):88:93 -> a
    388:393:void updateLocals(com.android.tools.r8.cf.code.CfLabel):560 -> a
    394:409:void updateLocals(com.android.tools.r8.cf.code.CfLabel):561:576 -> a
    410:415:void updateLocals(com.android.tools.r8.cf.code.CfLabel):575:580 -> a
    416:419:boolean localsChanged():584:587 -> a
    420:421:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):630:631 -> a
    422:427:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.ir.conversion.CfBuilder.findAllocator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):640:645 -> a
    422:427:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):633 -> a
    428:428:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo.getDexType():70:70 -> a
    428:428:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.ir.conversion.CfBuilder.findAllocator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):645 -> a
    428:428:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):633 -> a
    429:460:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.ir.conversion.CfBuilder.findAllocator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):644:675 -> a
    429:460:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):633 -> a
    461:461:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):634:634 -> a
    462:462:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.ir.conversion.CfBuilder.findAllocator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):650:650 -> a
    462:462:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):633 -> a
    463:463:com.android.tools.r8.cf.code.CfLabel getLabel(com.android.tools.r8.ir.code.BasicBlock):691:691 -> a
    464:464:int getLocalRegister(com.android.tools.r8.ir.code.Value):695:695 -> a
    465:465:void add(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.code.Instruction):703:703 -> a
    466:466:void com.android.tools.r8.ir.conversion.CfBuilder.add(com.android.tools.r8.cf.code.CfInstruction):699:699 -> a
    466:466:void add(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.code.Instruction):704 -> a
    467:467:void add(com.android.tools.r8.cf.code.CfInstruction[]):708:708 -> a
    468:468:boolean verifyNoMetadata(com.android.tools.r8.ir.code.Instruction):716:716 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel lambda$getLabel$0(com.android.tools.r8.ir.code.BasicBlock):691:691 -> b
com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker -> com.android.tools.r8.internal.G6:
    int height -> b
    boolean $assertionsDisabled -> c
    int maxHeight -> a
    1:1:void <clinit>():111:111 -> <clinit>
    1:3:void <init>():111:113 -> <init>
    4:4:void <init>(com.android.tools.r8.ir.conversion.CfBuilder$1):111:111 -> <init>
com.android.tools.r8.ir.conversion.CfSourceCode -> com.android.tools.r8.internal.w8:
    int currentInstructionIndex -> o
    com.android.tools.r8.graph.CfCode code -> h
    com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo currentBlockInfo -> a
    com.android.tools.r8.graph.ProgramMethod method -> i
    com.android.tools.r8.ir.code.Monitor monitorEnter -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap incomingState -> t
    com.android.tools.r8.utils.InternalOutputMode internalOutputMode -> v
    boolean $assertionsDisabled -> w
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap outgoingLocals -> s
    boolean inPrelude -> q
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap incomingLocals -> r
    com.android.tools.r8.origin.Origin origin -> j
    com.android.tools.r8.graph.AppView appView -> k
    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
    java.util.List localVariables -> g
    com.android.tools.r8.ir.code.CanonicalPositions canonicalPositions -> u
    boolean hasExitingInstruction -> b
    boolean needsGeneratedMethodSynchronization -> c
    int currentBlockIndex -> p
    boolean currentlyGeneratingMethodSynchronization -> d
    com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList cachedTryHandlerList -> m
    1:1:void <clinit>():60:60 -> <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):232:232 -> <init>
    2:199: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):63:260 -> <init>
    void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:3:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):303:305 -> a
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4:4:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):305 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    5:5:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):305 -> a
    6:8:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):305:305 -> a
    10:11:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):307:308 -> a
    12:12:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> a
    12:12:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
    13:13:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> a
    13:13:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> a
    14:14:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
    15:15:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():90:90 -> a
    15:15:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():90:90 -> a
    16:16:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
    17:18:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):311:312 -> a
    19:19:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> a
    19:19:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):312 -> a
    20:38:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):313:331 -> a
    39:39:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):338:338 -> a
    40:40:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.validFor(int):85:85 -> a
    40:40:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):338 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    41:41:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.validFor(int):85:85 -> a
    41:41:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):338 -> a
    42:45:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):339:342 -> a
    46:47:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):101:102 -> a
    46:47:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    48:48:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):102 -> a
    48:48:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    49:49:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):103:103 -> a
    49:49:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.<init>():104:104 -> a
    50:50:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):103 -> a
    50:50:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    51:79:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):105:133 -> a
    51:79:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    80:87:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340:347 -> a
    88:93:void com.android.tools.r8.ir.conversion.CfSourceCode.buildExceptionalExitMethodSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):445:450 -> a
    88:93:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):509 -> a
    94:105:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):512:523 -> a
    106:113:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):520:527 -> a
    114:123:void com.android.tools.r8.ir.conversion.CfSourceCode.setLocalVariableLists():763:772 -> a
    114:123:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):528 -> a
    124:126:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):530:532 -> a
    127:127:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState$Snapshot.exceptionTransfer(com.android.tools.r8.graph.DexType):326:326 -> a
    127:127:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):532 -> a
    128:128:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState$Snapshot.exceptionTransfer(com.android.tools.r8.graph.DexType):326:326 -> a
    128:128:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):532 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:131:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState$Snapshot.exceptionTransfer(com.android.tools.r8.graph.DexType):326:328 -> a
    129:131:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):532 -> a
    132:132:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):533:533 -> a
    133:133:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    133:133:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    133:133:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):533 -> a
    134:135:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):533:534 -> a
    136:136:boolean com.android.tools.r8.ir.conversion.CfSourceCode.localsChanged():776:776 -> a
    136:136:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):538 -> a
    137:140:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):540:543 -> a
    141:141:void com.android.tools.r8.ir.conversion.CfSourceCode.endLocals(com.android.tools.r8.ir.conversion.IRBuilder):780:780 -> a
    141:141:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):562 -> a
    142:142:boolean com.android.tools.r8.ir.conversion.CfSourceCode.localsChanged():776:776 -> a
    142:142:void com.android.tools.r8.ir.conversion.CfSourceCode.endLocals(com.android.tools.r8.ir.conversion.IRBuilder):780 -> a
    142:142:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):562 -> a
    143:146:void com.android.tools.r8.ir.conversion.CfSourceCode.endLocals(com.android.tools.r8.ir.conversion.IRBuilder):780:783 -> a
    143:146:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):562 -> a
    147:153:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):545:551 -> a
    154:154:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    154:154:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):551 -> a
    155:155:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):552:552 -> a
    156:156:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    156:156:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    156:156:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):552 -> a
    157:162:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):552:557 -> a
    163:163:void com.android.tools.r8.ir.conversion.CfSourceCode.build(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.conversion.IRBuilder):581:581 -> a
    163:163:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):565 -> a
    164:170:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):567:573 -> a
    171:171:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):789:789 -> a
    171:171:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    172:172:boolean com.android.tools.r8.ir.conversion.CfSourceCode.localsChanged():776:776 -> a
    172:172:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):789 -> a
    172:172:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    173:178:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):789:794 -> a
    173:178:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    179:179:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":204,"2":205,"3":206}}
    204:204:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):794:794 -> a
    204:204:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    205:205:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):794:794 -> a
    205:205:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    206:206:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):794:794 -> a
    206:206:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    180:180:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):794:794 -> a
    180:180:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    181:193:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):806:818 -> a
    181:193:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    181:193:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    194:194:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):816:816 -> a
    194:194:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    194:194:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    195:195:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):814:814 -> a
    195:195:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    195:195:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    196:196:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):812:812 -> a
    196:196:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    196:196:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    197:197:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):810:810 -> a
    197:197:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    197:197:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    198:198:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):808:808 -> a
    198:198:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    198:198:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    199:203:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796:800 -> a
    199:203:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    207:210:void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder):455:458 -> a
    211:213:void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean):471:471 -> a
    217:241:void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean):475:499 -> a
    242:243:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):585:586 -> a
    244:248:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):122:126 -> a
    244:248:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    249:264:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):130:145 -> a
    249:264:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    249:264:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    265:265:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":288,"2":289,"3":290,"4":291,"5":292}}
    288:288:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    288:288:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    288:288:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    289:289:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    289:289:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    289:289:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    290:290:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    290:290:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    290:290:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    291:291:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    291:291:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    291:291:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    292:292:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    292:292:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    292:292:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    266:266:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    266:266:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    266:266:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    267:267:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    267:267:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    267:267:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145 -> a
    267:267:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    267:267:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    268:268:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    268:268:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    268:268:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    269:269:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):588:588 -> a
    270:270:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    270:270:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    270:270:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    271:271:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":293,"2":294,"3":295}}
    293:293:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    293:293:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    293:293:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    294:294:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    294:294:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    294:294:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    295:295:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    295:295:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    295:295:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    272:272:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    272:272:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    272:272:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    273:273:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    273:273:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    273:273:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131 -> a
    273:273:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    273:273:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    274:274:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    274:274:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    274:274:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    296:297:int getLabelOffset(com.android.tools.r8.cf.code.CfLabel):597:598 -> a
    298:311:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):602:615 -> a
    312:315:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):614:617 -> a
    316:318:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isFirstFrameInBlock():624:626 -> a
    316:318:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):618 -> a
    319:319:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    319:319:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isFirstFrameInBlock():626 -> a
    319:319:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):618 -> a
    320:320:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    320:320:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isFirstFrameInBlock():626 -> a
    320:320:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):618 -> a
    321:321:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):619:619 -> a
    322:345:com.android.tools.r8.graph.DexType convertUninitialized(com.android.tools.r8.cf.code.CfFrame$FrameType):635:658 -> a
    346:346:com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int):672:672 -> a
    347:360:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):678:691 -> a
    361:361:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1107,"2":1108,"3":1109,"4":1110,"5":1111,"6":1112}}
    1107:1107:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1108:1108:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1109:1109:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1110:1110:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1111:1111:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1112:1112:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1052:1052:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1053:1106:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):688:741 -> a
    1113:1114:boolean isControlFlow(com.android.tools.r8.cf.code.CfInstruction):823:824 -> a
    1115:1115:boolean hasValidTypesFromStackMap():866:866 -> a
    1116:1124:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):872:872 -> a
    1133:1146:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):881:894 -> a
    1147:1151:com.android.tools.r8.ir.code.Position getCanonicalPosition(com.android.tools.r8.ir.code.Position):903:907 -> a
    1152:1154:com.android.tools.r8.ir.code.Position getCanonicalPosition(com.android.tools.r8.ir.code.Position):906:908 -> a
    1155:1155:com.android.tools.r8.ir.code.Position getCanonicalPosition(com.android.tools.r8.ir.code.Position):903:903 -> a
    boolean verifyRegister(int) -> b
    1:3:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):388:390 -> b
    4:13:void com.android.tools.r8.ir.conversion.CfSourceCode.setLocalVariableLists():763:772 -> b
    4:13:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):391 -> b
    14:34:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):392:412 -> b
    35:47:void com.android.tools.r8.ir.conversion.CfSourceCode.buildMethodEnterSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):428:440 -> b
    35:47:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):413 -> b
    48:50:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1296 -> b
    48:50:void com.android.tools.r8.ir.conversion.CfSourceCode.buildMethodEnterSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):440 -> b
    48:50:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):413 -> b
    51:52:void com.android.tools.r8.ir.conversion.CfSourceCode.buildMethodEnterSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):440:441 -> b
    51:52:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):413 -> b
    53:54:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):415:416 -> b
    55:55:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> b
    55:55:boolean verifyCurrentInstructionCanThrow():853 -> b
    56:59:boolean verifyCurrentInstructionCanThrow():853:856 -> b
    60:60:boolean lambda$getCanonicalDebugPositionAtOffset$0(com.android.tools.r8.cf.code.CfInstruction):876:876 -> b
    int instructionIndex(int) -> c
    void setUp() -> c
    1:1:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):831:831 -> c
    2:2:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> c
    2:2:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):834 -> c
    3:5:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):837:839 -> c
    6:6:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):838:838 -> c
    7:7:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> c
    7:7:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
    8:8:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> c
    8:8:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> c
    9:9:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
    10:10:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():90:90 -> c
    10:10:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():90:90 -> c
    11:11:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
    12:12:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):843:843 -> c
    13:13:com.android.tools.r8.ir.code.Position lambda$getCanonicalDebugPositionAtOffset$1(com.android.tools.r8.cf.code.CfInstruction):877:877 -> c
    1:1:int instructionCount():277:277 -> d
    2:2:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> d
    2:2:com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int):751 -> d
    3:8:com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int):754:759 -> d
    1:1:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> e
    1:1:com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int):746 -> e
    2:2:com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int):746:746 -> e
    3:3:com.android.tools.r8.ir.code.Position getCurrentPosition():899:899 -> e
    int getMoveExceptionRegister(int) -> f
    1:1:int getCurrentInstructionIndex():593:593 -> f
    int instructionOffset(int) -> g
    1:1:com.android.tools.r8.graph.DexEncodedMethod getMethod():264:264 -> g
    1:1:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList getLocalVariables(int):351:351 -> h
    2:2:boolean com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList.validFor(int):180:180 -> h
    2:2:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList getLocalVariables(int):351 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList.validFor(int):180:180 -> h
    3:3:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList getLocalVariables(int):351 -> h
    4:7:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList getLocalVariables(int):352:355 -> h
    8:8:java.lang.Iterable lambda$getCanonicalDebugPositionAtOffset$2():878:878 -> h
    9:12:java.lang.Iterable lambda$getCanonicalDebugPositionAtOffset$2():875:878 -> h
    1:8:int[] getTargets(int):359:366 -> i
    9:9:int[] getTargets(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":395,"2":396,"3":397}}
    395:395:int[] getTargets(int):366:366 -> i
    396:396:int[] getTargets(int):366:366 -> i
    397:397:int[] getTargets(int):366:366 -> i
    376:392:int[] getTargets(int):367:383 -> i
    393:394:int[] getTargets(int):363:364 -> i
com.android.tools.r8.ir.conversion.CfSourceCode$1 -> com.android.tools.r8.internal.t8:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():806:806 -> <clinit>
com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList -> com.android.tools.r8.internal.u8:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap locals -> c
    int endOffset -> b
    int startOffset -> a
    1:4:void <init>(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):145:148 -> <init>
    1:12:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList compute(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):158:169 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    13:13:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList compute(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):169 -> a
    14:19:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList compute(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):171:176 -> a
com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList -> com.android.tools.r8.internal.v8:
    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
    1:1:void <clinit>():70:70 -> <clinit>
    1:5:void <init>(int,int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):77:81 -> <init>
com.android.tools.r8.ir.conversion.CfSourceUtils -> com.android.tools.r8.internal.x8:
    1:1:com.android.tools.r8.cf.code.CfInstruction com.android.tools.r8.ir.conversion.CfSourceUtils.getLastInstruction(java.util.List):24:24 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel ensureLabel(java.util.List):14 -> a
    2:2:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    2:2:com.android.tools.r8.cf.code.CfLabel ensureLabel(java.util.List):15 -> a
    3:6:com.android.tools.r8.cf.code.CfLabel ensureLabel(java.util.List):16:19 -> a
com.android.tools.r8.ir.conversion.CfState -> com.android.tools.r8.internal.J8:
    com.android.tools.r8.ir.conversion.CfState$Snapshot current -> a
    com.android.tools.r8.ir.code.Position position -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin):81:81 -> <init>
    1:1:void buildPrelude(com.android.tools.r8.ir.code.Position):88:88 -> a
    2:2:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>():338:338 -> a
    2:2:void buildPrelude(com.android.tools.r8.ir.code.Position):88 -> a
    3:4:void buildPrelude(com.android.tools.r8.ir.code.Position):88:89 -> a
    5:7:void reset(com.android.tools.r8.ir.conversion.CfState$Snapshot,boolean,com.android.tools.r8.ir.code.Position):97:99 -> a
    8:8:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot setStateFromFrame(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.ir.code.Position):103:103 -> a
    9:9:int com.android.tools.r8.ir.conversion.CfState.stackHeight():161:161 -> a
    9:9:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot setStateFromFrame(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.ir.code.Position):103 -> a
    10:12:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot setStateFromFrame(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.ir.code.Position):103:105 -> a
    13:13:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165:165 -> a
    14:14:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):177:177 -> a
    14:14:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    15:15:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    15:15:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    15:15:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    16:17:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    16:17:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    16:17:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    16:17:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    18:18:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    18:18:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    18:18:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    19:19:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):179:179 -> a
    19:19:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    20:20:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169:169 -> a
    21:21:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):177:177 -> a
    21:21:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    22:22:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    22:22:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    22:22:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    23:24:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    23:24:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    23:24:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    23:24:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    25:25:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    25:25:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    25:25:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    26:26:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):179:179 -> a
    26:26:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    27:27:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173:173 -> a
    28:28:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):177:177 -> a
    28:28:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    29:29:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    29:29:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    29:29:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    30:31:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    30:31:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    30:31:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    30:31:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    32:32:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    32:32:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    32:32:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    33:33:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):179:179 -> a
    33:33:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    34:34:com.android.tools.r8.ir.conversion.CfState$Slot read(int):209:209 -> a
    35:35:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213:213 -> a
    36:36:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221:221 -> a
    36:36:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    37:37:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    37:37:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    37:37:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    38:39:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    38:39:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    38:39:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    38:39:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    40:40:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    40:40:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    40:40:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    41:41:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):222:222 -> a
    41:41:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    42:42:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217:217 -> a
    43:43:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221:221 -> a
    43:43:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    44:44:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    44:44:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    44:44:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    45:46:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    45:46:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    45:46:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    45:46:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    47:47:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    47:47:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    47:47:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    48:48:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):222:222 -> a
    48:48:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    49:49:com.android.tools.r8.ir.code.Position getPosition():226:226 -> a
    1:1:com.android.tools.r8.ir.conversion.CfState$Snapshot getSnapshot():118:118 -> b
    2:3:void setPosition(com.android.tools.r8.ir.code.Position):230:231 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():201:201 -> c
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek(int):205:205 -> d
    1:2:com.android.tools.r8.ir.conversion.CfState$Slot pop():187:188 -> e
    3:3:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> e
    3:3:com.android.tools.r8.ir.conversion.CfState$Slot pop():188 -> e
    4:5:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> e
    4:5:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> e
    4:5:com.android.tools.r8.ir.conversion.CfState$Slot pop():188 -> e
    6:6:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> e
    6:6:com.android.tools.r8.ir.conversion.CfState$Slot pop():188 -> e
    1:1:java.lang.String toString():236:236 -> toString
com.android.tools.r8.ir.conversion.CfState$BaseSnapshot -> com.android.tools.r8.internal.A8:
    com.android.tools.r8.ir.conversion.CfState$SlotType[] locals -> c
    com.android.tools.r8.ir.conversion.CfState$SlotType[] stack -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():333:333 -> <clinit>
    1:3:void <init>(int,int):342:344 -> <init>
    4:5:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> <init>
    6:15:void <init>(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.ir.code.Position):353:362 -> <init>
    com.android.tools.r8.ir.conversion.CfState$BaseSnapshot asBase() -> a
    1:3:com.android.tools.r8.ir.conversion.CfState$SlotType getSlotType(com.android.tools.r8.graph.DexType):367:369 -> a
    4:8:com.android.tools.r8.ir.conversion.CfState$Slot getLocal(int):395:399 -> a
    9:13:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):404:408 -> a
    1:1:int maxLocal():379:379 -> b
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):384:384 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():389:389 -> c
    2:2:int com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.stackHeight():374:374 -> c
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot peek():389 -> c
    3:3:com.android.tools.r8.ir.conversion.CfState$Slot peek():389:389 -> c
    4:4:int com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.stackHeight():374:374 -> c
    4:4:com.android.tools.r8.ir.conversion.CfState$Slot peek():390 -> c
    5:5:com.android.tools.r8.ir.conversion.CfState$Slot peek():390:390 -> c
    1:1:int stackHeight():374:374 -> d
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":435,"2":436,"3":437}}
    435:435:java.lang.String toString():419:419 -> toString
    436:436:java.lang.String toString():419:419 -> toString
    437:437:java.lang.String toString():419:419 -> toString
    421:434:java.lang.String toString():420:433 -> toString
com.android.tools.r8.ir.conversion.CfState$Pop -> com.android.tools.r8.internal.B8:
    int stackHeight -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():476:476 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):481:483 -> <init>
    1:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):493:494 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():499:499 -> c
    1:1:int stackHeight():488:488 -> d
    1:1:java.lang.String toString():504:504 -> toString
com.android.tools.r8.ir.conversion.CfState$Push -> com.android.tools.r8.internal.C8:
    com.android.tools.r8.ir.conversion.CfState$Slot slot -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():437:437 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$SlotType):442:444 -> <init>
    1:2:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):464:465 -> a
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> a
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):465 -> a
    4:4:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> a
    4:4:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
    4:4:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):465 -> a
    5:6:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):465:466 -> a
    7:7:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> a
    7:7:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):466 -> a
    8:8:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> a
    8:8:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
    8:8:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):466 -> a
    9:9:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):466:466 -> a
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454:454 -> b
    2:2:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> b
    2:2:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454 -> b
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> b
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> b
    3:3:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454 -> b
    4:4:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState$Push.peek():459:459 -> b
    4:4:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454 -> b
    5:5:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454:454 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():459:459 -> c
    1:1:int stackHeight():449:449 -> d
    2:2:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> d
    2:2:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:int stackHeight():449 -> d
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> d
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> d
    3:3:int stackHeight():449 -> d
    1:1:java.lang.String toString():472:472 -> toString
com.android.tools.r8.ir.conversion.CfState$Slot -> com.android.tools.r8.internal.D8:
    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
    1:1:void <clinit>():239:239 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.ir.conversion.CfState$SlotType,com.android.tools.r8.ir.conversion.CfState$1):239:239 -> <init>
    2:6:void <init>(int,com.android.tools.r8.ir.conversion.CfState$SlotType):247:251 -> <init>
    1:1:com.android.tools.r8.ir.conversion.CfState$SlotType access$100(com.android.tools.r8.ir.conversion.CfState$Slot):239:239 -> a
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState$Slot.stackSlot(int,com.android.tools.r8.ir.conversion.CfState$SlotType):255:255 -> a
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot access$300(int,com.android.tools.r8.ir.conversion.CfState$SlotType):239 -> a
    3:4:int stackPosition(int):263:264 -> a
    5:5:boolean isPrecise():284:284 -> a
    6:6:boolean com.android.tools.r8.ir.conversion.CfState$SlotType.isPrecise():0:0 -> a
    6:6:boolean isPrecise():284 -> a
    1:2:java.lang.String toString():270:271 -> toString
    3:3:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":276,"2":277,"3":278}}
    276:276:java.lang.String toString():272:272 -> toString
    277:277:java.lang.String toString():272:272 -> toString
    278:278:java.lang.String toString():272:272 -> toString
    275:275:java.lang.String toString():272:272 -> toString
com.android.tools.r8.ir.conversion.CfState$SlotType -> com.android.tools.r8.internal.G8:
    1:1:void <init>():14:14 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.CfState$1):14:14 -> <init>
    com.android.tools.r8.ir.code.ValueType getImprecise() -> a
    com.android.tools.r8.graph.DexType getPrecise() -> b
com.android.tools.r8.ir.conversion.CfState$SlotType$Imprecise -> com.android.tools.r8.internal.E8:
    com.android.tools.r8.ir.code.ValueType type -> a
    1:2:void <init>(com.android.tools.r8.ir.code.ValueType):56:57 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueType getImprecise():67:67 -> a
    com.android.tools.r8.graph.DexType getPrecise() -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":74,"2":75,"3":76}}
    74:74:java.lang.String toString():72:72 -> toString
    75:75:java.lang.String toString():72:72 -> toString
    76:76:java.lang.String toString():72:72 -> toString
    73:73:java.lang.String toString():72:72 -> toString
com.android.tools.r8.ir.conversion.CfState$SlotType$Precise -> com.android.tools.r8.internal.F8:
    com.android.tools.r8.graph.DexType type -> a
    1:2:void <init>(com.android.tools.r8.graph.DexType):27:28 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueType getImprecise():38:38 -> a
    1:1:com.android.tools.r8.graph.DexType getPrecise():33:33 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:java.lang.String toString():43:43 -> toString
    46:46:java.lang.String toString():43:43 -> toString
    47:47:java.lang.String toString():43:43 -> toString
    44:44:java.lang.String toString():43:43 -> toString
com.android.tools.r8.ir.conversion.CfState$Snapshot -> com.android.tools.r8.internal.H8:
    com.android.tools.r8.ir.conversion.CfState$Snapshot parent -> a
    int updates -> b
    1:1:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,int,com.android.tools.r8.ir.conversion.CfState$1):288:288 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,int):292:294 -> <init>
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot getLocal(int):314:314 -> a
    2:2:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):318:318 -> a
    3:3:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot asBase():322:322 -> a
    4:5:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    4:5:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot asBase():322 -> a
    1:1:int maxLocal():302:302 -> b
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):306:306 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():310:310 -> c
    1:1:int stackHeight():298:298 -> d
com.android.tools.r8.ir.conversion.CfState$Write -> com.android.tools.r8.internal.I8:
    com.android.tools.r8.ir.conversion.CfState$Slot slot -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():508:508 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,int,com.android.tools.r8.ir.conversion.CfState$SlotType):513:515 -> <init>
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot getLocal(int):525:525 -> a
    2:3:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):530:531 -> a
    1:1:int maxLocal():520:520 -> b
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.ir.conversion.ClassConverter -> com.android.tools.r8.internal.H9:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.conversion.D8MethodProcessor methodProcessor -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.desugar.itf.InterfaceProcessor interfaceProcessor -> d
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    1:1:void <clinit>():26:26 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):37:41 -> <init>
    void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer) -> a
    void notifyAllClassesConverted() -> a
    1:1:com.android.tools.r8.ir.conversion.ClassConverterResult$Builder com.android.tools.r8.ir.conversion.ClassConverterResult.builder():21:21 -> a
    1:1:com.android.tools.r8.ir.conversion.ClassConverterResult convertClasses(java.util.concurrent.ExecutorService):57 -> a
    2:4:com.android.tools.r8.ir.conversion.ClassConverterResult convertClasses(java.util.concurrent.ExecutorService):58:60 -> a
    5:9:void internalConvertClasses(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.concurrent.ExecutorService):66:70 -> a
    10:10:void com.android.tools.r8.ir.conversion.IRConverter.classSynthesisDesugaring(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):418:418 -> a
    10:10:void internalConvertClasses(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.concurrent.ExecutorService):70 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:12:void com.android.tools.r8.ir.conversion.IRConverter.classSynthesisDesugaring(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):418:419 -> a
    11:12:void internalConvertClasses(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.concurrent.ExecutorService):70 -> a
    13:70:void internalConvertClasses(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.concurrent.ExecutorService):71:128 -> a
    71:71:void lambda$internalConvertClasses$0(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass):102:102 -> a
    72:76:void lambda$internalConvertClasses$1(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):118:122 -> a
    1:1:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):140:140 -> b
com.android.tools.r8.ir.conversion.ClassConverter$DefaultClassConverter -> com.android.tools.r8.internal.F9:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):152:152 -> <init>
    void notifyAllClassesConverted() -> a
    1:1:void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):158:158 -> a
com.android.tools.r8.ir.conversion.ClassConverter$LibraryDesugaredClassConverter -> com.android.tools.r8.internal.G9:
    java.util.Set alreadyLibraryDesugared -> f
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):176:176 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):169:169 -> <init>
    1:5:void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):184:188 -> a
    6:6:void notifyAllClassesConverted():194:194 -> a
com.android.tools.r8.ir.conversion.ClassConverterResult -> com.android.tools.r8.internal.J9:
    java.util.Map forcefullyMovedLambdaMethods -> a
    1:1:void <init>(java.util.Map,com.android.tools.r8.ir.conversion.ClassConverterResult$1):12:12 -> <init>
    2:3:void <init>(java.util.Map):16:17 -> <init>
    1:1:java.util.Map getForcefullyMovedLambdaMethods():25:25 -> a
com.android.tools.r8.ir.conversion.ClassConverterResult$Builder -> com.android.tools.r8.internal.I9:
    java.util.Map forcefullyMovedLambdaMethods -> a
    1:3:void <init>():28:30 -> <init>
    1:1:void acceptForcefullyMovedLambdaMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):34:34 -> b
    2:2:com.android.tools.r8.ir.conversion.ClassConverterResult build():38:38 -> b
com.android.tools.r8.ir.conversion.D8MethodProcessor -> com.android.tools.r8.internal.de:
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> f
    java.util.Set scheduled -> c
    java.util.List nonTerminalFutures -> e
    java.util.List terminalFutures -> d
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.conversion.IRConverter converter -> a
    java.util.concurrent.ExecutorService executorService -> b
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):44:44 -> <init>
    2:19:void <init>(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):30:47 -> <init>
    1:2:void addScheduled(com.android.tools.r8.graph.DexProgramClass):51:52 -> a
    3:3:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    4:10:com.android.tools.r8.utils.Timing lambda$scheduleMethodForProcessing$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):87:87 -> a
    11:11:com.android.tools.r8.ir.conversion.D8MethodProcessor scheduleDesugaredMethodsForProcessing(java.lang.Iterable):120:120 -> a
    12:12:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation():126:126 -> a
    13:18:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):149:149 -> a
    boolean isProcessedConcurrently(com.android.tools.r8.graph.ProgramMethod) -> b
    1:2:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):79:80 -> b
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isNonLegacySynthetic(com.android.tools.r8.graph.DexProgramClass):230:230 -> b
    3:3:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):80 -> b
    4:4:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):84:84 -> b
    5:5:java.util.concurrent.Future com.android.tools.r8.utils.ThreadUtils.processAsynchronously(java.util.concurrent.Callable,java.util.concurrent.ExecutorService):36:36 -> b
    5:5:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):85 -> b
    6:6:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):84:84 -> b
    1:2:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):100:101 -> c
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isNonLegacySynthetic(com.android.tools.r8.graph.DexProgramClass):230:230 -> c
    3:3:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):101 -> c
    4:7:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):105:108 -> c
    8:8:java.util.concurrent.Future com.android.tools.r8.utils.ThreadUtils.processAsynchronously(java.util.concurrent.Callable,java.util.concurrent.ExecutorService):36:36 -> c
    8:8:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):109 -> c
    9:9:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):108:108 -> c
    10:16:void awaitMethodProcessing():131:137 -> c
    17:25:void awaitMethodProcessing():136:144 -> c
    boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:void newWave():56:56 -> d
    1:6:com.android.tools.r8.utils.Timing lambda$scheduleDesugaredMethodForProcessing$1(com.android.tools.r8.graph.ProgramMethod):111:111 -> e
    7:8:boolean verifyNoPendingMethodProcessing():157:158 -> e
com.android.tools.r8.ir.conversion.DexBuilder -> com.android.tools.r8.internal.jg:
    boolean hasBackwardsBranch -> n
    int inRegisterCount -> l
    int outRegisterCount -> m
    boolean $assertionsDisabled -> p
    com.android.tools.r8.ir.conversion.DexBuilder$Info previousNonFallthroughInfo -> k
    int maxOffset -> h
    int minOffset -> i
    com.android.tools.r8.ir.code.IRCode ir -> a
    com.android.tools.r8.utils.InternalOptions options -> d
    com.android.tools.r8.ir.code.BasicBlock nextBlock -> o
    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
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder bytecodeMetadataBuilder -> b
    1:1:void <clinit>():84:84 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.ir.regalloc.RegisterAllocator):132:133 -> <init>
    3:3:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.utils.InternalOptions):140:140 -> <init>
    4:51:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.utils.InternalOptions):99:146 -> <init>
    1:1:com.android.tools.r8.ir.conversion.DexBuilder$Info access$000(com.android.tools.r8.ir.conversion.DexBuilder,com.android.tools.r8.ir.code.BasicBlock):84:84 -> a
    2:2:com.android.tools.r8.ir.conversion.DexBuilder$Info access$100(com.android.tools.r8.ir.conversion.DexBuilder,com.android.tools.r8.ir.code.Instruction):84:84 -> a
    3:3:boolean access$202(com.android.tools.r8.ir.conversion.DexBuilder,boolean):84:84 -> a
    4:5:boolean identicalInstructionsAfterBuildingDexCode(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):154:155 -> a
    6:8:com.android.tools.r8.ir.conversion.DexBuilder$Info com.android.tools.r8.ir.conversion.DexBuilder.buildInfoForComparison(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):163:165 -> a
    6:8:boolean identicalInstructionsAfterBuildingDexCode(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):156 -> a
    9:11:com.android.tools.r8.ir.conversion.DexBuilder$Info com.android.tools.r8.ir.conversion.DexBuilder.buildInfoForComparison(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):163:165 -> a
    9:11:boolean identicalInstructionsAfterBuildingDexCode(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):157 -> a
    12:12:boolean identicalInstructionsAfterBuildingDexCode(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):158:158 -> a
    13:41:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):349:377 -> a
    42:44:boolean com.android.tools.r8.ir.conversion.DexBuilder.isTrivialFallthroughTarget(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):339:341 -> a
    42:44:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):378 -> a
    45:70:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):380:405 -> a
    71:71: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
    71:71:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):405 -> a
    72:72:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):406:406 -> a
    73:73:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    73:73:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):406 -> a
    74:77:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):410:413 -> a
    78:78:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    78:78:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):413 -> a
    79:99:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):415:435 -> a
    100:101:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    100:101:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    100:101:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):435 -> a
    102:102:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):438:438 -> a
    103:103:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    103:103:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):439 -> a
    104:104:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):440:440 -> a
    105:105:boolean com.android.tools.r8.ir.conversion.DexBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):598:598 -> a
    105:105:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):441 -> a
    106:108:boolean com.android.tools.r8.ir.conversion.DexBuilder.isNonMaterializingConstNumber(com.android.tools.r8.ir.code.Instruction):606:608 -> a
    106:108:boolean com.android.tools.r8.ir.conversion.DexBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):600 -> a
    106:108:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):441 -> a
    109:109:boolean com.android.tools.r8.ir.conversion.DexBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):601:601 -> a
    109:109:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):441 -> a
    110:123:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):443:456 -> a
    124:124:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    124:124:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):457 -> a
    125:146:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):459:480 -> a
    147:147:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":638,"2":639,"3":640}}
    638:638:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):481:481 -> a
    639:639:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):481:481 -> a
    640:640:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):481:481 -> a
    629:629:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):482:482 -> a
    630:631:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):394:395 -> a
    630:631:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):482 -> a
    632:637:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):483:488 -> a
    641:652:void com.android.tools.r8.ir.conversion.DexBuilder.rewriteIfs():504:515 -> a
    641:652:com.android.tools.r8.graph.DexCode build():197 -> a
    653:657:void com.android.tools.r8.ir.conversion.DexBuilder.rewriteIfs():514:518 -> a
    653:657:com.android.tools.r8.graph.DexCode build():197 -> a
    658:658:com.android.tools.r8.graph.DexCode build():201:201 -> a
    659:664:void com.android.tools.r8.ir.conversion.DexBuilder.reset():173:178 -> a
    659:664:com.android.tools.r8.graph.DexCode build():204 -> a
    665:665:int com.android.tools.r8.ir.conversion.DexBuilder.instructionNumberToIndex(int):674:674 -> a
    665:665:void com.android.tools.r8.ir.conversion.DexBuilder.reset():178 -> a
    665:665:com.android.tools.r8.graph.DexCode build():204 -> a
    666:669:void com.android.tools.r8.ir.conversion.DexBuilder.reset():178:181 -> a
    666:669:com.android.tools.r8.graph.DexCode build():204 -> a
    670:755:com.android.tools.r8.graph.DexCode build():209:294 -> a
    756:775:com.android.tools.r8.code.Nop com.android.tools.r8.ir.conversion.DexBuilder.createSwitchPayload(com.android.tools.r8.ir.conversion.DexBuilder$SwitchPayloadInfo,int):726:745 -> a
    756:775:com.android.tools.r8.graph.DexCode build():297 -> a
    776:790:com.android.tools.r8.graph.DexCode build():298:312 -> a
    791:791:com.android.tools.r8.code.FillArrayDataPayload com.android.tools.r8.ir.code.NewArrayFilledData.createPayload():54:54 -> a
    791:791:com.android.tools.r8.graph.DexCode build():312 -> a
    792:795:com.android.tools.r8.graph.DexCode build():313:316 -> a
    796:798:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():752:754 -> a
    796:798:com.android.tools.r8.graph.DexCode build():320 -> a
    799:804:com.android.tools.r8.graph.DexCode$Try[] com.android.tools.r8.ir.conversion.DexBuilder.getDexTryItems(java.util.List,java.util.Map):855:860 -> a
    799:804:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():756 -> a
    799:804:com.android.tools.r8.graph.DexCode build():320 -> a
    805:805:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():757:757 -> a
    805:805:com.android.tools.r8.graph.DexCode build():320 -> a
    806:823:com.android.tools.r8.graph.DexCode$TryHandler[] com.android.tools.r8.ir.conversion.DexBuilder.getDexTryHandlers(java.util.Map):866:883 -> a
    806:823:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():757 -> a
    806:823:com.android.tools.r8.graph.DexCode build():320 -> a
    824:833:com.android.tools.r8.graph.DexCode build():323:332 -> a
    834:835:void requestOutgoingRegisters(int):528:529 -> a
    836:836:int allocatedRegister(com.android.tools.r8.ir.code.Value,int):534:534 -> a
    837:840:void addGoto(com.android.tools.r8.ir.code.Goto):544:547 -> a
    841:855:boolean com.android.tools.r8.ir.conversion.DexBuilder.needsNopBetweenMoveAndInstanceOf(com.android.tools.r8.code.InstanceOf):552:566 -> a
    841:855:void addInstanceOf(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.code.InstanceOf):576 -> a
    856:858:void addInstanceOf(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.code.InstanceOf):577:579 -> a
    859:860:void addIf(com.android.tools.r8.ir.code.If):584:585 -> a
    861:861:void addMove(com.android.tools.r8.ir.code.Move):589:589 -> a
    862:862:void addNop(com.android.tools.r8.ir.code.Instruction):612:612 -> a
    863:865:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction):622:624 -> a
    866:867:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction[]):628:629 -> a
    868:870:void addSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.code.Format31t):633:635 -> a
    871:872:void addFillArrayData(com.android.tools.r8.ir.code.NewArrayFilledData,com.android.tools.r8.code.FillArrayData):639:640 -> a
    873:874:void addArgument(com.android.tools.r8.ir.code.Argument):644:645 -> a
    875:879:void addReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.code.Instruction):649:653 -> a
    880:880:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):658:658 -> a
    881:882:void com.android.tools.r8.ir.conversion.DexBuilder.setSingleInfo(com.android.tools.r8.ir.conversion.DexBuilder$Info):692:693 -> a
    881:882:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):660 -> a
    883:889:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):663:669 -> a
    890:894:void com.android.tools.r8.ir.conversion.DexBuilder.setInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):684:688 -> a
    890:894:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):670 -> a
    895:895:int com.android.tools.r8.ir.conversion.DexBuilder.instructionNumberToIndex(int):674:674 -> a
    895:895:void com.android.tools.r8.ir.conversion.DexBuilder.setInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):688 -> a
    895:895:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):670 -> a
    896:896:void com.android.tools.r8.ir.conversion.DexBuilder.setInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):688:688 -> a
    896:896:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):670 -> a
    897:908:com.android.tools.r8.ir.conversion.DexBuilder$Info getTargetInfo(com.android.tools.r8.ir.code.BasicBlock):697:708 -> a
    909:914:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.conversion.DexBuilder.computeNextBlock(com.android.tools.r8.ir.code.BasicBlock):716:721 -> a
    909:914:com.android.tools.r8.ir.conversion.DexBuilder$Info getTargetInfo(com.android.tools.r8.ir.code.BasicBlock):709 -> a
    915:918:com.android.tools.r8.ir.conversion.DexBuilder$Info getTargetInfo(com.android.tools.r8.ir.code.BasicBlock):709:712 -> a
    919:931:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):763:775 -> a
    932:932:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    932:932:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):775 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    933:933:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):775:775 -> a
    934:934:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    934:934:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):776 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    935:969:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):777:811 -> a
    970:974:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):843:847 -> a
    970:974:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):811 -> a
    975:975:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):811:811 -> a
    976:976:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):850:850 -> a
    976:976:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):811 -> a
    977:1001:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):813:837 -> a
    1002:1006:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):843:847 -> a
    1002:1006:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):837 -> a
    1007:1007:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):837:837 -> a
    1008:1008:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):850:850 -> a
    1008:1008:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):837 -> a
    1:1:void com.android.tools.r8.ir.conversion.DexBuilder.needsIfRewriting(com.android.tools.r8.ir.code.BasicBlock):524:524 -> b
    1:1:void access$300(com.android.tools.r8.ir.conversion.DexBuilder,com.android.tools.r8.ir.code.BasicBlock):84 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void com.android.tools.r8.ir.conversion.DexBuilder.needsIfRewriting(com.android.tools.r8.ir.code.BasicBlock):524:524 -> b
    2:2:void access$300(com.android.tools.r8.ir.conversion.DexBuilder,com.android.tools.r8.ir.code.BasicBlock):84 -> b
    3:3:int argumentOrAllocateRegister(com.android.tools.r8.ir.code.Value,int):540:540 -> b
    4:4:void addNothing(com.android.tools.r8.ir.code.Instruction):593:593 -> b
    5:5:com.android.tools.r8.utils.InternalOptions getOptions():889:889 -> b
    1:2:com.android.tools.r8.ir.conversion.DexBuilder$Info getInfo(com.android.tools.r8.ir.code.Instruction):679:680 -> c
    3:3:int com.android.tools.r8.ir.conversion.DexBuilder.instructionNumberToIndex(int):674:674 -> c
    3:3:com.android.tools.r8.ir.conversion.DexBuilder$Info getInfo(com.android.tools.r8.ir.code.Instruction):680 -> c
    4:4:com.android.tools.r8.ir.conversion.DexBuilder$Info getInfo(com.android.tools.r8.ir.code.Instruction):680:680 -> c
    5:5:com.android.tools.r8.ir.regalloc.RegisterAllocator getRegisterAllocator():893:893 -> c
    1:1:boolean isBuildingForComparison():169:169 -> d
com.android.tools.r8.ir.conversion.DexBuilder$1 -> com.android.tools.r8.internal.Yf:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():1293:1293 -> <clinit>
com.android.tools.r8.ir.conversion.DexBuilder$FallThroughInfo -> com.android.tools.r8.internal.Zf:
    1:1:void <init>(com.android.tools.r8.ir.code.Instruction):1062:1062 -> <init>
    void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List) -> a
    int computeSize(com.android.tools.r8.ir.conversion.DexBuilder) -> a
    1:1:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1091:1091 -> a
    int getSize() -> d
    int maxSize() -> e
    int minSize() -> f
com.android.tools.r8.ir.conversion.DexBuilder$FillArrayDataInfo -> com.android.tools.r8.internal.ag:
    com.android.tools.r8.code.FillArrayData dex -> b
    com.android.tools.r8.ir.code.NewArrayFilledData ir -> a
    1:3:void <init>(com.android.tools.r8.ir.code.NewArrayFilledData,com.android.tools.r8.code.FillArrayData):1539:1541 -> <init>
com.android.tools.r8.ir.conversion.DexBuilder$FixedSizeInfo -> com.android.tools.r8.internal.bg:
    com.android.tools.r8.code.Instruction instruction -> e
    1:2:void <init>(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction):969:970 -> <init>
    1:2:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):990:991 -> a
    3:3:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):996:996 -> a
    4:5:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1001:1002 -> a
    1:1:int getSize():975:975 -> d
    1:1:int maxSize():985:985 -> e
    1:1:int minSize():980:980 -> f
com.android.tools.r8.ir.conversion.DexBuilder$GotoInfo -> com.android.tools.r8.internal.cg:
    boolean $assertionsDisabled -> f
    int size -> e
    1:1:void <clinit>():1095:1095 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Goto):1100:1100 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Goto):1097:1097 -> <init>
    1:1:com.android.tools.r8.ir.code.Goto com.android.tools.r8.ir.conversion.DexBuilder$GotoInfo.getJump():1104:1104 -> a
    1:1:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1168 -> a
    2:46:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1169:1213 -> a
    47:47:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1286,"2":1287,"3":1288}}
    1286:1286:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1213:1213 -> a
    1287:1287:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1213:1213 -> a
    1288:1288:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1213:1213 -> a
    1260:1260:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1213:1213 -> a
    1261:1265:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1202:1206 -> a
    1266:1285:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1197:1216 -> a
    1289:1289:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1127:1127 -> a
    1290:1290:com.android.tools.r8.ir.code.Goto com.android.tools.r8.ir.conversion.DexBuilder$GotoInfo.getJump():1104:1104 -> a
    1290:1290:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1128 -> a
    1291:1325:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1129:1163 -> a
    1326:1326:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1222:1222 -> a
    1:2:int getSize():1109:1110 -> d
    1:1:int maxSize():1121:1121 -> e
    1:1:int minSize():1115:1115 -> f
com.android.tools.r8.ir.conversion.DexBuilder$IfInfo -> com.android.tools.r8.internal.dg:
    boolean $assertionsDisabled -> f
    int size -> e
    1:1:void <clinit>():1226:1226 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.If):1231:1231 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.If):1228:1228 -> <init>
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    1:1:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    1:1:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1274 -> a
    2:2:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    2:2:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1274 -> a
    3:4:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1275:1276 -> a
    5:5:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    5:5:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    5:5:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    5:5:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1278 -> a
    6:6:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    6:6:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    6:6:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1278 -> a
    7:7:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    7:7:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1278 -> a
    8:12:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1281:1285 -> a
    13:13:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    13:13:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    13:13:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1251 -> a
    13:13:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1285 -> a
    14:14:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    14:14:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1251 -> a
    14:14:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1285 -> a
    15:16:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1252:1253 -> a
    15:16:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1285 -> a
    17:25:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1285:1293 -> a
    26:26:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    26:26:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    26:26:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1293 -> a
    27:27:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    27:27:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1293 -> a
    28:45:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1293:1310 -> a
    46:46:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1307:1307 -> a
    47:47:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1304:1304 -> a
    48:48:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1301:1301 -> a
    49:49:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1298:1298 -> a
    50:50:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1295:1295 -> a
    51:51:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    51:51:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    51:51:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    51:51:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1314 -> a
    52:52:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    52:52:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    52:52:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1314 -> a
    53:53:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    53:53:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1314 -> a
    54:54:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1315:1315 -> a
    55:55:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    55:55:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    55:55:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1315 -> a
    56:56:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    56:56:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1315 -> a
    57:74:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1315:1332 -> a
    75:75:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1329:1329 -> a
    76:76:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1326:1326 -> a
    77:77:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1323:1323 -> a
    78:78:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1320:1320 -> a
    79:79:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1317:1317 -> a
    80:80:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getOffset():1226:1226 -> a
    80:80:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1336 -> a
    81:82:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1336:1337 -> a
    83:83:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    83:83:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    83:83:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1257 -> a
    83:83:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    84:84:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    84:84:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1257 -> a
    84:84:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    85:85:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1257:1257 -> a
    85:85:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    86:86:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getMaxOffset():1226:1226 -> a
    86:86:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1258 -> a
    86:86:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    87:89:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1259:1261 -> a
    87:89:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    90:90:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getOffset():1226:1226 -> a
    90:90:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1261 -> a
    90:90:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    91:91:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1262:1262 -> a
    91:91:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    92:92:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getOffset():1226:1226 -> a
    92:92:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1268 -> a
    92:92:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    93:93:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getOffset():1226:1226 -> a
    93:93:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1269 -> a
    93:93:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    94:94:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    94:94:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    94:94:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1343 -> a
    95:95:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    95:95:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1343 -> a
    96:96:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1343:1343 -> a
    97:97:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    97:97:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    97:97:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1251 -> a
    97:97:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1345 -> a
    98:98:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    98:98:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1251 -> a
    98:98:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1345 -> a
    99:100:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1252:1253 -> a
    99:100:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1345 -> a
    101:101:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1345:1345 -> a
    102:105:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1366:1369 -> a
    106:106:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    106:106:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    106:106:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370 -> a
    107:107:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    107:107:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370 -> a
    108:108:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370:1370 -> a
    109:109:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    109:109:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    109:109:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    110:110:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    110:110:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370 -> a
    111:111:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370:1370 -> a
    112:112:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    112:112:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    112:112:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240 -> a
    112:112:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    113:113:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    113:113:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240 -> a
    113:113:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    114:115:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240:1241 -> a
    114:115:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    116:116:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    116:116:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    116:116:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    116:116:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    116:116:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    117:117:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    117:117:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    117:117:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    117:117:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    118:118:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    118:118:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    118:118:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    119:121:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241:1243 -> a
    119:121:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    122:122:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    122:122:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    122:122:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    122:122:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    122:122:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    123:123:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    123:123:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    123:123:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    123:123:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    124:124:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    124:124:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    124:124:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    125:125:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243:1243 -> a
    125:125:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    126:126:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    126:126:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    126:126:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    126:126:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    126:126:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    127:127:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    127:127:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    127:127:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    127:127:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    128:128:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    128:128:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    128:128:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    129:129:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243:1243 -> a
    129:129:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    130:130:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    130:130:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    130:130:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240 -> a
    130:130:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    131:131:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    131:131:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240 -> a
    131:131:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    132:133:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240:1241 -> a
    132:133:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    134:134:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    134:134:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    134:134:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    134:134:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    134:134:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    135:135:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    135:135:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    135:135:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    135:135:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    136:136:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    136:136:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    136:136:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    137:139:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241:1243 -> a
    137:139:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    140:140:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    140:140:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    140:140:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    140:140:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    140:140:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    141:141:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    141:141:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    141:141:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    141:141:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    142:142:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    142:142:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    142:142:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    143:143:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243:1243 -> a
    143:143:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    144:144:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    144:144:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    144:144:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    144:144:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    144:144:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    145:145:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    145:145:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    145:145:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    145:145:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    146:146:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    146:146:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    146:146:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    147:147:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243:1243 -> a
    147:147:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    148:148:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371:1371 -> a
    1:1:int getSize():1361:1361 -> d
    int maxSize() -> e
    int minSize() -> f
com.android.tools.r8.ir.conversion.DexBuilder$Info -> com.android.tools.r8.internal.eg:
    com.android.tools.r8.ir.code.Instruction ir -> a
    int offset -> b
    int maxOffset -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():897:897 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Instruction):906:906 -> <init>
    2:9:void <init>(com.android.tools.r8.ir.code.Instruction):901:908 -> <init>
    void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List) -> a
    int computeSize(com.android.tools.r8.ir.conversion.DexBuilder) -> a
    boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder) -> a
    1:2:void setMaxOffset(int):953:954 -> a
    3:3:com.android.tools.r8.ir.code.Instruction getIR():958:958 -> a
    1:1:void setMinOffset(int):943:943 -> b
    2:3:int getMaxOffset():948:949 -> b
    1:2:int getOffset():928:929 -> c
    3:4:void setOffset(int):933:934 -> c
    int getSize() -> d
    int maxSize() -> e
    int minSize() -> f
com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo -> com.android.tools.r8.internal.fg:
    boolean $assertionsDisabled -> f
    int size -> e
    1:1:void <clinit>():1375:1375 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Move):1380:1380 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Move):1377:1377 -> <init>
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> a
    1:1:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> a
    1:1:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1423 -> a
    2:2:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> a
    2:2:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1423 -> a
    3:42:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1424:1463 -> a
    43:43:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5916,"2":5917,"3":5918}}
    5916:5916:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1463:1463 -> a
    5917:5917:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1463:1463 -> a
    5918:5918:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1463:1463 -> a
    1506:1510:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1463:1467 -> a
    1511:1511:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5922,"2":5923,"3":5924}}
    5922:5922:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1467:1467 -> a
    5923:5923:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1467:1467 -> a
    5924:5924:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1467:1467 -> a
    2978:2978:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1467:1467 -> a
    2979:2986:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1445:1452 -> a
    2987:2987:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5925,"2":5926,"3":5927}}
    5925:5925:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1452:1452 -> a
    5926:5926:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1452:1452 -> a
    5927:5927:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1452:1452 -> a
    4439:4439:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1452:1452 -> a
    4440:4448:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1431:1439 -> a
    4449:4449:int com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getOffset():1375:1375 -> a
    4449:4449:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1469 -> a
    4450:4451:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1469:1470 -> a
    4452:4452:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    4453:4453:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5928,"2":5929,"3":5930}}
    5928:5928:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    5929:5929:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    5930:5930:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    5894:5894:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    5931:5936:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1397:1402 -> a
    5937:5948:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1407:1418 -> a
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> b
    1:1:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> b
    1:1:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392 -> b
    2:2:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> b
    2:2:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392 -> b
    3:3:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392:1392 -> b
    4:4:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> b
    4:4:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> b
    4:4:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392 -> b
    5:5:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> b
    5:5:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392 -> b
    6:6:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392:1392 -> b
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> c
    1:1:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> c
    1:1:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388 -> c
    2:2:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> c
    2:2:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388 -> c
    3:3:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388:1388 -> c
    4:4:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> c
    4:4:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> c
    4:4:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388 -> c
    5:5:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> c
    5:5:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388 -> c
    6:6:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388:1388 -> c
    1:2:int getSize():1487:1488 -> d
    1:1:int maxSize():1481:1481 -> e
    1:1:int minSize():1475:1475 -> f
com.android.tools.r8.ir.conversion.DexBuilder$MultiFixedSizeInfo -> com.android.tools.r8.internal.gg:
    int size -> f
    com.android.tools.r8.code.Instruction[] instructions -> e
    1:7:void <init>(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction[]):1013:1019 -> <init>
    1:1:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1024:1024 -> a
    2:6:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1029:1033 -> a
    7:8:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1054:1055 -> a
    1:1:int getSize():1049:1049 -> d
    1:1:int maxSize():1044:1044 -> e
    1:1:int minSize():1039:1039 -> f
com.android.tools.r8.ir.conversion.DexBuilder$SwitchPayloadInfo -> com.android.tools.r8.internal.hg:
    com.android.tools.r8.ir.code.IntSwitch ir -> a
    com.android.tools.r8.code.Format31t dex -> b
    1:3:void <init>(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.code.Format31t):1528:1530 -> <init>
com.android.tools.r8.ir.conversion.DexBuilder$TryItem -> com.android.tools.r8.internal.ig:
    com.android.tools.r8.ir.code.CatchHandlers handlers -> b
    int end -> d
    int start -> c
    1:4:void <init>(com.android.tools.r8.ir.code.CatchHandlers,int,int):1511:1514 -> <init>
    1:1:int compareTo(com.android.tools.r8.ir.conversion.DexBuilder$TryItem):1519:1519 -> a
    1:1:int compareTo(java.lang.Object):1505:1505 -> compareTo
com.android.tools.r8.ir.conversion.DexSourceCode -> com.android.tools.r8.internal.Xg:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.ir.code.Position currentPosition -> j
    com.android.tools.r8.graph.DexMethod originalMethod -> m
    com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver arrayFilledDataPayloadResolver -> e
    boolean isBuildingPrelude -> i
    com.android.tools.r8.graph.ProgramMethod method -> b
    com.android.tools.r8.ir.code.CanonicalPositions canonicalPositions -> k
    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 -> l
    1:1:void <clinit>():56:56 -> <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,com.android.tools.r8.graph.DexItemFactory):85:85 -> <init>
    2:38: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,com.android.tools.r8.graph.DexItemFactory):62:98 -> <init>
    void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean) -> a
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void doNothingWriteConsumer(java.lang.Integer,com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:1:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174:174 -> a
    2:2:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):220:220 -> a
    2:2:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
    3:3:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):404:404 -> a
    3:3:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):220 -> a
    3:3:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
    4:4:boolean com.android.tools.r8.ir.conversion.DexSourceCode.inTryRange(com.android.tools.r8.graph.DexCode$Try,int):399:399 -> a
    4:4:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):405 -> a
    4:4:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):220 -> a
    4:4:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
    5:12:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):221:228 -> a
    5:12:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
    13:16:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):246:249 -> a
    13:16:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):175 -> a
    17:19:com.android.tools.r8.graph.DexDebugEntry com.android.tools.r8.ir.conversion.DexSourceCode.getDebugEntryAtOffset(int):234:236 -> a
    17:19:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):250 -> a
    17:19:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):175 -> a
    20:24:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):252:256 -> a
    20:24:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):175 -> a
    25:26:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):176:177 -> a
    27:29:com.android.tools.r8.graph.DexDebugEntry com.android.tools.r8.ir.conversion.DexSourceCode.getDebugEntryAtOffset(int):234:236 -> a
    27:29:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):197 -> a
    30:31:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):199:200 -> a
    32:34:com.android.tools.r8.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):263:263 -> a
    37:44:com.android.tools.r8.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):266:266 -> a
    45:47:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):294:294 -> a
    48:52:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):301:301 -> a
    53:68:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):334:349 -> a
    69:69:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):404:404 -> a
    69:69:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):352 -> a
    70:70:boolean com.android.tools.r8.ir.conversion.DexSourceCode.inTryRange(com.android.tools.r8.graph.DexCode$Try,int):399:399 -> a
    70:70:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):405 -> a
    70:70:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):352 -> a
    71:72:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):355:356 -> a
    73:73:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):327:327 -> a
    73:73:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):356 -> a
    74:77:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):363:366 -> a
    78:78:java.util.Set com.android.tools.r8.ir.conversion.DexSourceCode.getUniqueTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):441:441 -> a
    78:78:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366 -> a
    79:83:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366:370 -> a
    84:84:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):327:327 -> a
    84:84:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):370 -> a
    85:85:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371:371 -> a
    86:86:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isInvoke(com.android.tools.r8.code.Instruction):308:308 -> a
    86:86:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371 -> a
    87:104:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371:388 -> a
    105:106:int[] com.android.tools.r8.ir.conversion.SwitchPayloadResolver.absoluteTargets(com.android.tools.r8.code.Instruction):63:64 -> a
    105:106:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):388 -> a
    107:110:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):388:391 -> a
    111:113:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):413:415 -> a
    114:122:void com.android.tools.r8.ir.conversion.DexSourceCode.forEachTryRange(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):427:435 -> a
    114:122:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):415 -> a
    123:123:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):422:422 -> a
    124:125:void lambda$getCurrentCatchHandlers$0(java.util.List,java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):419:420 -> a
    126:127:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):445:446 -> a
    128:136:void com.android.tools.r8.ir.conversion.DexSourceCode.forEachTryRange(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):427:435 -> a
    128:136:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):446 -> a
    137:137:void lambda$getTryHandlerOffsets$1(java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):446:446 -> a
    1:1:boolean verifyRegister(int):103:103 -> b
    2:8:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):144:150 -> b
    9:14:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):148:153 -> b
    15:15:boolean verifyCurrentInstructionCanThrow():211:211 -> b
    1:8:void setUp():129:136 -> c
    9:9:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):182:182 -> c
    10:10:int instructionIndex(int):283:283 -> c
    1:2:void clear():277:278 -> clear
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    1:1:int instructionCount():108:108 -> d
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():205:205 -> e
    1:4:int getMoveExceptionRegister(int):187:190 -> f
    1:1:int instructionOffset(int):288:288 -> g
com.android.tools.r8.ir.conversion.ExtraConstantIntParameter -> com.android.tools.r8.internal.kj:
    long value -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():13:13 -> <clinit>
    1:2:void <init>(long):17:18 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):23:23 -> a
    2:3:com.android.tools.r8.ir.analysis.type.TypeElement getTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):28:29 -> a
    4:4:com.android.tools.r8.ir.analysis.value.SingleNumberValue getValue(com.android.tools.r8.graph.AppView):34:34 -> a
    1:5:boolean equals(java.lang.Object):39:43 -> equals
    1:1:int hashCode():48:48 -> hashCode
com.android.tools.r8.ir.conversion.ExtraParameter -> com.android.tools.r8.internal.lj:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory) -> a
    com.android.tools.r8.ir.analysis.type.TypeElement getTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.ir.analysis.value.SingleNumberValue getValue(com.android.tools.r8.graph.AppView) -> a
com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter -> com.android.tools.r8.internal.mj:
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():14:14 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):23:24 -> <init>
    1:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):29:30 -> a
    3:3:com.android.tools.r8.ir.analysis.type.TypeElement getTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):35:35 -> a
    4:4:com.android.tools.r8.ir.analysis.value.SingleNumberValue getValue(com.android.tools.r8.graph.AppView):40:40 -> a
    1:1:boolean equals(java.lang.Object):45:45 -> equals
com.android.tools.r8.ir.conversion.FieldOptimizationFeedback -> com.android.tools.r8.internal.Pj:
    void markFieldBitsRead(com.android.tools.r8.graph.DexEncodedField,int) -> a
    void markFieldHasDynamicType(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue) -> a
com.android.tools.r8.ir.conversion.IRBuilder -> com.android.tools.r8.internal.jn:
    java.util.Queue ssaWorklist -> f
    int currentInstructionOffset -> j
    com.android.tools.r8.ir.code.Value previousLocalValue -> w
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap uninitializedDebugLocalValues -> y
    java.util.List argumentValues -> t
    com.android.tools.r8.ir.code.BasicBlock currentBlock -> i
    java.util.List impreciseInstructions -> z
    com.android.tools.r8.ir.code.Value receiverValue -> s
    java.util.List debugLocalEnds -> x
    int $r8$clinit -> E
    com.android.tools.r8.graph.AppView appView -> o
    com.android.tools.r8.ir.code.IRMetadata metadata -> C
    java.util.Set processedSubroutineInstructions -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap offsets -> b
    boolean[] processedInstructions -> d
    com.android.tools.r8.ir.code.NumberGenerator valueNumberGenerator -> k
    com.android.tools.r8.graph.ProgramMethod method -> m
    java.util.LinkedList blocks -> g
    boolean hasImpreciseValues -> A
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap targets -> a
    com.android.tools.r8.ir.code.BasicBlock entryBlock -> h
    com.android.tools.r8.ir.conversion.SourceCode source -> u
    com.android.tools.r8.origin.Origin origin -> q
    java.util.Queue traceBlocksWorklist -> c
    boolean throwingInstructionInCurrentBlock -> v
    com.android.tools.r8.graph.GraphLens codeLens -> p
    com.android.tools.r8.ir.code.NumberGenerator basicBlockNumberGenerator -> l
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription prototypeChanges -> r
    com.android.tools.r8.graph.ProgramMethod context -> n
    boolean hasIncorrectStackMapTypes -> B
    boolean $assertionsDisabled -> D
    1:1:void <clinit>():155:155 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.ir.code.NumberGenerator):469:469 -> <init>
    2:108:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.ir.code.NumberGenerator):373:479 -> <init>
    1:4:com.android.tools.r8.ir.conversion.IRBuilder create(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):435:438 -> a
    5:5:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.ir.conversion.IRBuilder.lookupPrototypeChanges(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):459:459 -> a
    5:5:com.android.tools.r8.ir.conversion.IRBuilder create(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):441 -> a
    6:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):461:461 -> a
    6:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.ir.conversion.IRBuilder.lookupPrototypeChanges(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):459 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.ir.conversion.IRBuilder create(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):441 -> a
    7:7:com.android.tools.r8.ir.conversion.IRBuilder create(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):441:441 -> a
    8:8:com.android.tools.r8.ir.conversion.IRBuilder createForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):453:453 -> a
    9:10:void addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):520:521 -> a
    11:19:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):531:539 -> a
    20:23:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int):971:974 -> a
    20:23:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):540 -> a
    24:24:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    24:24:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):979 -> a
    24:24:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int):975 -> a
    24:24:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):540 -> a
    25:28:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):980:983 -> a
    25:28:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int):975 -> a
    25:28:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):540 -> a
    29:43:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):546:560 -> a
    44:51:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):559:566 -> a
    52:52:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    52:52:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):567 -> a
    53:78:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):568:593 -> a
    79:82:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(com.android.tools.r8.graph.DexType):990:993 -> a
    79:82:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):594 -> a
    83:83:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    83:83:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(com.android.tools.r8.graph.DexType):993 -> a
    83:83:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):594 -> a
    84:84:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    84:84:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    84:84:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(com.android.tools.r8.graph.DexType):993 -> a
    84:84:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):594 -> a
    85:87:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(com.android.tools.r8.graph.DexType):993:995 -> a
    85:87:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):594 -> a
    88:92:void com.android.tools.r8.ir.conversion.IRBuilder.addNonThisArgument(com.android.tools.r8.ir.code.Argument):1011:1015 -> a
    88:92:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(com.android.tools.r8.graph.DexType):995 -> a
    88:92:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):594 -> a
    93:96:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):596:599 -> a
    97:113:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):610:626 -> a
    114:115:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2471:2472 -> a
    114:115:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):628 -> a
    116:117:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2489:2490 -> a
    116:117:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2474 -> a
    116:117:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):628 -> a
    118:118:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2475:2475 -> a
    118:118:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):628 -> a
    119:119:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479:2479 -> a
    119:119:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    120:121:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2471:2472 -> a
    120:121:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479 -> a
    120:121:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    122:123:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2489:2490 -> a
    122:123:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2474 -> a
    122:123:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479 -> a
    122:123:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    124:124:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2475:2475 -> a
    124:124:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479 -> a
    124:124:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    125:127:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479:2481 -> a
    125:127:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    128:129:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2489:2490 -> a
    128:129:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2484 -> a
    128:129:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    130:130:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2485:2485 -> a
    130:130:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    131:141:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):634:644 -> a
    142:142:void com.android.tools.r8.ir.conversion.IRBuilder.ensureNormalSuccessorBlock(int,int):2510:2510 -> a
    142:142:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):645 -> a
    143:145:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):651:653 -> a
    146:146:void com.android.tools.r8.ir.conversion.IRBuilder.setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):526:526 -> a
    146:146:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):653 -> a
    147:152:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):654:659 -> a
    153:158:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():868:873 -> a
    153:158:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    159:159:void com.android.tools.r8.ir.conversion.IRBuilder.setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):526:526 -> a
    159:159:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():873 -> a
    159:159:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    160:164:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():874:878 -> a
    160:164:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    165:189:void com.android.tools.r8.ir.conversion.IRBuilder.processMoveExceptionItem(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):919:943 -> a
    165:189:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():878 -> a
    165:189:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    190:195:void com.android.tools.r8.ir.conversion.IRBuilder.processMoveExceptionItem(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):942:947 -> a
    190:195:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():878 -> a
    190:195:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    196:203:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():879:886 -> a
    196:203:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    204:227:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():885:908 -> a
    204:227:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    228:231:void com.android.tools.r8.ir.conversion.IRBuilder.closeCurrentBlockWithFallThrough(com.android.tools.r8.ir.code.BasicBlock):2555:2558 -> a
    228:231:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():908 -> a
    228:231:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    232:233:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():911:912 -> a
    232:233:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    234:234:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():868:868 -> a
    234:234:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    235:235:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):663:663 -> a
    236:237:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():807:808 -> a
    236:237:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    238:243:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):814:819 -> a
    238:243:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    238:243:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    244:244:int com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.predecessorCount():304:304 -> a
    244:244:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    244:244:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    244:244:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    245:251:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):836:842 -> a
    245:251:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    245:251:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    245:251:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    252:253:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):859:860 -> a
    252:253:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):843 -> a
    252:253:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    252:253:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    252:253:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    254:254:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    254:254:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):860 -> a
    254:254:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):843 -> a
    254:254:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    254:254:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    254:254:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    255:256:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):861:862 -> a
    255:256:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):843 -> a
    255:256:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    255:256:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    255:256:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    257:257:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):860:860 -> a
    257:257:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):843 -> a
    257:257:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    257:257:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    257:257:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    258:265:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):847:854 -> a
    258:265:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    258:265:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    258:265:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    266:272:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819:825 -> a
    266:272:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    266:272:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    273:273:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):822:822 -> a
    273:273:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    273:273:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    274:280:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():774:780 -> a
    274:280:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    281:281:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.next():39:39 -> a
    281:281:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():781 -> a
    281:281:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    282:282:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():782:782 -> a
    282:282:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    283:283:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    283:283:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():783 -> a
    283:283:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    284:284:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():784:784 -> a
    284:284:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    285:285:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    285:285:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():786 -> a
    285:285:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    286:291:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():787:792 -> a
    286:291:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    292:292:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    292:292:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():793 -> a
    292:292:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    293:295:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():794:796 -> a
    293:295:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    296:296:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    296:296:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():797 -> a
    296:296:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    297:297:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    297:297:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():798 -> a
    297:297:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    298:298:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.next():39:39 -> a
    298:298:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():799 -> a
    298:298:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    299:300:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):674:675 -> a
    301:301:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    301:301:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):675 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    302:302:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    302:302:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):675 -> a
    303:304:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676:677 -> a
    305:305:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    305:305:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
    306:311:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):679:684 -> a
    312:312:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    312:312:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):685 -> a
    313:314:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):692:693 -> a
    315:345:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2643:2673 -> a
    315:345:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    346:346:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    346:346:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2673 -> a
    346:346:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    347:347:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2673:2673 -> a
    347:347:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    348:362:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2672:2686 -> a
    348:362:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    363:374:void com.android.tools.r8.ir.code.BasicBlock.removePredecessorsByIndex(java.util.List):572:583 -> a
    363:374:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2690 -> a
    363:374:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    375:375:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2691:2691 -> a
    375:375:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    376:376:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2649:2649 -> a
    376:376:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    377:377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    377:377:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2649 -> a
    377:377:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    378:378:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    378:378:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    378:378:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2649 -> a
    378:378:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    379:423:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2649:2693 -> a
    379:423:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    424:438:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):701:715 -> a
    439:439:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder):1246:1246 -> a
    439:439:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):718 -> a
    440:443:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):719:722 -> a
    444:444:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():750:750 -> a
    444:444:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):726 -> a
    445:450:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):726:731 -> a
    451:451:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():750:750 -> a
    451:451:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):731 -> a
    452:454:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):731:733 -> a
    455:455:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    455:455:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):733 -> a
    456:456:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):733:733 -> a
    457:457:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):729:729 -> a
    458:458:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    458:458:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):729 -> a
    459:459:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):729:729 -> a
    460:473:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):724:737 -> a
    474:485: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
    474:485:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    474:485:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    486:487:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):817:818 -> a
    486:487:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    486:487:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):138 -> a
    486:487:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    486:487:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    488:493:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.graph.DexItemFactory):827:832 -> a
    488:493:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):818 -> a
    488:493:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    488:493:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):138 -> a
    488:493:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    488:493:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    494:495:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):820:821 -> a
    494:495:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    494:495:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):138 -> a
    494:495:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    494:495:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    496:497:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.graph.DexItemFactory):840:841 -> a
    496:497:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):821 -> a
    496:497:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    496:497:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):138 -> a
    496:497:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    496:497:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    498:506:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):147:155 -> a
    498:506:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    498:506:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    507:508:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):817:818 -> a
    507:508:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    507:508:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):155 -> a
    507:508:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    507:508:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    509:514:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.graph.DexItemFactory):827:832 -> a
    509:514:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):818 -> a
    509:514:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    509:514:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):155 -> a
    509:514:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    509:514:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    515:516:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):820:821 -> a
    515:516:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    515:516:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):155 -> a
    515:516:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    515:516:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    517:518:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.graph.DexItemFactory):840:841 -> a
    517:518:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):821 -> a
    517:518:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    517:518:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):155 -> a
    517:518:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    517:518:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    519:523:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):168:172 -> a
    519:523:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    519:523:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    524:524:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):113:113 -> a
    524:524:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    525:525:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo$Builder com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo.builder(com.android.tools.r8.graph.DexItemFactory):271:271 -> a
    525:525:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter.convertRewritingCandidateToStringSwitchInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexItemFactory):178 -> a
    525:525:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):114 -> a
    525:525:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    526:528:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter.convertRewritingCandidateToStringSwitchInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexItemFactory):178:180 -> a
    526:528:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):114 -> a
    526:528:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    529:530:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):119:120 -> a
    529:530:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    531:535:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):740:744 -> a
    536:537:boolean allPhisAreStackMapPhis(com.android.tools.r8.ir.code.IRCode):754:755 -> a
    538:538:void constrainType(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):763:763 -> a
    539:539:void resolveAndBuildSwitch(int,int,int):952:952 -> a
    540:541:void add(com.android.tools.r8.ir.code.Instruction):966:967 -> a
    542:543:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1044:1045 -> a
    544:546:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterForDebugLocal(int,com.android.tools.r8.graph.DebugLocalInfo):2132:2134 -> a
    544:546:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1048 -> a
    547:547:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538:538 -> a
    547:547:boolean com.android.tools.r8.ir.conversion.IRBuilder.isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):1021 -> a
    547:547:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1049 -> a
    548:548:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> a
    548:548:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538 -> a
    548:548:boolean com.android.tools.r8.ir.conversion.IRBuilder.isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):1021 -> a
    548:548:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1049 -> a
    549:549:boolean com.android.tools.r8.ir.conversion.IRBuilder.isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):1021:1021 -> a
    549:549:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1049 -> a
    550:550:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1050:1050 -> a
    551:568:void addDebugPosition(com.android.tools.r8.ir.code.Position):1055:1072 -> a
    569:572:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1116:1119 -> a
    573:573:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():750:750 -> a
    573:573:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1119 -> a
    574:579:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1120:1125 -> a
    580:580:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    580:580:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1125 -> a
    581:581:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1125:1125 -> a
    582:602:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):160:180 -> a
    582:602:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    603:603:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):175:175 -> a
    603:603:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    604:608:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):169:173 -> a
    604:608:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    609:609:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):171:171 -> a
    609:609:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    610:610:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):167:167 -> a
    610:610:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    611:624:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):165:178 -> a
    611:624:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    625:645:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):160:180 -> a
    625:645:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    646:646:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):175:175 -> a
    646:646:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    647:651:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):169:173 -> a
    647:651:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    652:652:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):171:171 -> a
    652:652:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    653:653:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):167:167 -> a
    653:653:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    654:667:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):165:178 -> a
    654:667:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    668:671:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1131:1134 -> a
    672:675:void com.android.tools.r8.ir.conversion.IRBuilder.addImpreciseInstruction(com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction):767:770 -> a
    672:675:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1135 -> a
    676:676:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1137:1137 -> a
    677:681:void addArrayLength(int,int):1141:1145 -> a
    682:687:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1168:1173 -> a
    682:687:void addCheckCast(int,com.android.tools.r8.graph.DexType):1160 -> a
    688:688:void com.android.tools.r8.ir.code.CheckCast.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):40:40 -> a
    688:688:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1173 -> a
    688:688:void addCheckCast(int,com.android.tools.r8.graph.DexType):1160 -> a
    689:690:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1174:1175 -> a
    689:690:void addCheckCast(int,com.android.tools.r8.graph.DexType):1160 -> a
    691:694:void addConst(com.android.tools.r8.ir.analysis.type.TypeElement,int,long):1188:1191 -> a
    695:696:void addMove(com.android.tools.r8.ir.code.ValueTypeConstraint,int,int):1305:1306 -> a
    697:697:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    697:697:void addMove(com.android.tools.r8.ir.code.ValueTypeConstraint,int,int):1308 -> a
    698:709:void addMove(com.android.tools.r8.ir.code.ValueTypeConstraint,int,int):1309:1320 -> a
    710:711:void addNop():1346:1347 -> a
    712:722:void com.android.tools.r8.ir.conversion.IRBuilder.addTrivialIf(int,int):1383:1393 -> a
    712:722:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1426 -> a
    723:726:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1428:1431 -> a
    727:734:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1397:1404 -> a
    727:734:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1432 -> a
    735:745:void com.android.tools.r8.ir.conversion.IRBuilder.addTrivialIf(int,int):1383:1393 -> a
    735:745:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1453 -> a
    746:746:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1455:1455 -> a
    747:754:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1397:1404 -> a
    747:754:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1456 -> a
    755:759:void addInstanceGet(int,int,com.android.tools.r8.graph.DexField):1461:1465 -> a
    760:766:void addInstanceGet(int,int,com.android.tools.r8.graph.DexField):1463:1469 -> a
    767:771:void addInstanceOf(int,int,com.android.tools.r8.graph.DexType):1473:1477 -> a
    772:781:void addInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,java.util.List,boolean):1503:1512 -> a
    782:794:void addInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,java.util.List,boolean):1506:1518 -> a
    795:799:void addInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,java.util.List,java.util.List,boolean):1528:1532 -> a
    800:803:void addInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,java.util.List,java.util.List,boolean):1531:1534 -> a
    804:805:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1561:1562 -> a
    806:806:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    806:806:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    807:807:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    807:807:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    808:808:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticPut():129:129 -> a
    808:808:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    808:808:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    809:809:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    809:809:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    810:810:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticGet():133:133 -> a
    810:810:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    810:810:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    811:811:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    811:811:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    812:824:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1566:1578 -> a
    825:829:void addInvokeCustom(com.android.tools.r8.graph.DexCallSite,java.util.List,java.util.List):1583:1587 -> a
    830:833:void addInvokeCustom(com.android.tools.r8.graph.DexCallSite,java.util.List,java.util.List):1586:1589 -> a
    834:857:void addInvokeRegisters(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int[]):1600:1623 -> a
    858:866:void addInvokeNewArray(com.android.tools.r8.graph.DexType,int,int[]):1627:1635 -> a
    867:867:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isWide():32:32 -> a
    867:867:void addInvokeNewArray(com.android.tools.r8.graph.DexType,int,int[]):1636 -> a
    868:874:void addInvokeNewArray(com.android.tools.r8.graph.DexType,int,int[]):1637:1643 -> a
    875:899:void addInvokeRange(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int):1664:1688 -> a
    900:914:void addInvokeRangeNewArray(com.android.tools.r8.graph.DexType,int,int):1692:1706 -> a
    915:915:boolean lambda$addMoveException$2(com.android.tools.r8.ir.code.BasicBlock):1719:1719 -> a
    916:916:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    916:916:boolean lambda$addMoveException$2(com.android.tools.r8.ir.code.BasicBlock):1719 -> a
    917:921:void addNewArrayFilledData(int,int,long,short[]):1790:1794 -> a
    922:926:void addNewUnboxedEnumInstance(int,com.android.tools.r8.graph.DexType,int):1806:1810 -> a
    927:930:void addStaticGet(int,com.android.tools.r8.graph.DexField):1848:1851 -> a
    931:937:void addStaticGet(int,com.android.tools.r8.graph.DexField):1849:1855 -> a
    938:981:void addSwitch(int,int[],int,int[]):1887:1930 -> a
    982:982:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
    982:982:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
    982:982:void addSwitch(int,int[],int,int[]):1935 -> a
    983:983:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
    983:983:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
    983:983:void addSwitch(int,int[],int,int[]):1936 -> a
    984:1014:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.IRBuilder.createSwitch(com.android.tools.r8.ir.code.Value,int[],int,int[]):1943:1973 -> a
    984:1014:void addSwitch(int,int[],int,int[]):1937 -> a
    1015:1015:void addSwitch(int,int[],int,int[]):1938:1938 -> a
    1016:1017:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2143:2144 -> a
    1018:1037:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2159:2178 -> a
    1018:1037:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1038:1048:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2250:2260 -> a
    1038:1048:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1038:1048:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1049:1049:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isPrecise():36:36 -> a
    1049:1049:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2260 -> a
    1049:1049:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1049:1049:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1050:1051:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2260:2261 -> a
    1050:1051:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1050:1051:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1052:1052:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isObject():24:24 -> a
    1052:1052:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1052:1052:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1052:1052:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1053:1053:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261:2261 -> a
    1053:1053:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1053:1053:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1054:1064:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():161:171 -> a
    1054:1064:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1054:1064:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1054:1064:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1065:1065:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():167:167 -> a
    1065:1065:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1065:1065:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1065:1065:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1066:1066:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():165:165 -> a
    1066:1066:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1066:1066:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1066:1066:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1067:1067:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():163:163 -> a
    1067:1067:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1067:1067:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1067:1067:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1068:1069:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2262:2263 -> a
    1068:1069:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1068:1069:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1070:1070:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    1070:1070:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2263 -> a
    1070:1070:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1070:1070:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1071:1088:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2263:2280 -> a
    1071:1088:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1071:1088:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1089:1089:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2251:2251 -> a
    1089:1089:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1089:1089:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1090:1092:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getIncomingLocalAtBlock(int,com.android.tools.r8.ir.code.BasicBlock):2242:2244 -> a
    1090:1092:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2185 -> a
    1090:1092:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1093:1115:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):68:90 -> a
    1093:1115:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1093:1115:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1116:1116:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):88:88 -> a
    1116:1116:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1116:1116:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1117:1117:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):86:86 -> a
    1117:1117:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1117:1117:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1118:1118:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):84:84 -> a
    1118:1118:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1118:1118:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1119:1131:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):70:82 -> a
    1119:1131:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1119:1131:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1132:1132:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):80:80 -> a
    1132:1132:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1132:1132:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1133:1133:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):78:78 -> a
    1133:1133:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1133:1133:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1134:1134:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):76:76 -> a
    1134:1134:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1134:1134:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1135:1135:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2187:2187 -> a
    1135:1135:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1136:1136:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():750:750 -> a
    1136:1136:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2189 -> a
    1136:1136:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1137:1158:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2189:2210 -> a
    1137:1158:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1159:1195:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2201:2237 -> a
    1159:1195:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1196:1196:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1196:1196:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1077 -> a
    1197:1197:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1197:1197:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1078 -> a
    1198:1198:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> a
    1198:1198:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1079 -> a
    1199:1201:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1080:1082 -> a
    1202:1202:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1202:1202:void addCmp(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,int,int,int):1179 -> a
    1203:1203:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1203:1203:void addCmp(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,int,int,int):1180 -> a
    1204:1207:void addCmp(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,int,int,int):1181:1184 -> a
    1208:1208:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1208:1208:void addConversion(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,int,int):2099 -> a
    1209:1209:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> a
    1209:1209:void addConversion(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,int,int):2100 -> a
    1210:1212:void addConversion(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,int,int):2101:2103 -> a
    1213:1213:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1213:1213:void addNeg(com.android.tools.r8.ir.code.NumericType,int,int):1758 -> a
    1214:1214:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> a
    1214:1214:void addNeg(com.android.tools.r8.ir.code.NumericType,int,int):1759 -> a
    1215:1217:void addNeg(com.android.tools.r8.ir.code.NumericType,int,int):1760:1762 -> a
    1218:1221:com.android.tools.r8.ir.code.Value readIntLiteral(long):2305:2308 -> a
    1222:1223:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo,com.android.tools.r8.graph.DebugLocalInfo):2315:2316 -> a
    1224:1225:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeRegister(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2320:2321 -> a
    1224:1225:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo,com.android.tools.r8.graph.DebugLocalInfo):2315 -> a
    1226:1226:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getIncomingLocal(int):2348:2348 -> a
    1226:1226:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2109 -> a
    1227:1231:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2110:2114 -> a
    1232:1232:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538:538 -> a
    1232:1232:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2114 -> a
    1233:1233:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> a
    1233:1233:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538 -> a
    1233:1233:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2114 -> a
    1234:1244:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2115:2125 -> a
    1245:1249:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2123:2127 -> a
    1250:1250:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getIncomingLocal(int):2348:2348 -> a
    1250:1250:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2326 -> a
    1251:1251:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    1251:1251:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2327 -> a
    1252:1254:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterForDebugLocal(int,com.android.tools.r8.graph.DebugLocalInfo):2132:2134 -> a
    1252:1254:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2339 -> a
    1255:1256:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2339:2340 -> a
    1257:1257:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    1257:1257:void addBooleanNonThisArgument(int):1005 -> a
    1258:1259:void addBooleanNonThisArgument(int):1006:1007 -> a
    1260:1264:void com.android.tools.r8.ir.conversion.IRBuilder.addNonThisArgument(com.android.tools.r8.ir.code.Argument):1011:1015 -> a
    1260:1264:void addBooleanNonThisArgument(int):1007 -> a
    1265:1265:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    1265:1265:void addNonThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):999 -> a
    1266:1267:void addNonThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):1000:1001 -> a
    1268:1272:void com.android.tools.r8.ir.conversion.IRBuilder.addNonThisArgument(com.android.tools.r8.ir.code.Argument):1011:1015 -> a
    1268:1272:void addNonThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):1001 -> a
    1273:1273:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370:2370 -> a
    1274:1278:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2402:2406 -> a
    1274:1278:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370 -> a
    1279:1279:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    1279:1279:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2406 -> a
    1279:1279:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370 -> a
    1280:1280:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2406:2406 -> a
    1280:1280:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370 -> a
    1281:1281:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2403:2403 -> a
    1281:1281:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370 -> a
    1282:1307:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2371:2396 -> a
    1308:1312:void lambda$addInstruction$3(java.util.List,java.util.Set,com.android.tools.r8.graph.DexType,java.lang.Integer):2385:2389 -> a
    1313:1319:void lambda$addInstruction$3(java.util.List,java.util.Set,com.android.tools.r8.graph.DexType,java.lang.Integer):2387:2393 -> a
    1320:1323:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.ensureBlock(int):2460:2463 -> a
    1320:1323:void ensureSuccessorBlock(int,int,boolean):2496 -> a
    1324:1327:int com.android.tools.r8.ir.conversion.IRBuilder.getBlockStartOffset(int):2451:2454 -> a
    1324:1327:void ensureSuccessorBlock(int,int,boolean):2497 -> a
    1328:1328:void ensureSuccessorBlock(int,int,boolean):2498:2498 -> a
    1329:1329:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalSuccessor(int):287:287 -> a
    1329:1329:void ensureSuccessorBlock(int,int,boolean):2500 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1330:1330:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalSuccessor(int):287:287 -> a
    1330:1330:void ensureSuccessorBlock(int,int,boolean):2500 -> a
    1331:1331:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalPredecessor(int):283:283 -> a
    1331:1331:void ensureSuccessorBlock(int,int,boolean):2501 -> a
    1332:1332:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalSuccessor(int):300:300 -> a
    1332:1332:void ensureSuccessorBlock(int,int,boolean):2503 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1333:1333:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalSuccessor(int):300:300 -> a
    1333:1333:void ensureSuccessorBlock(int,int,boolean):2503 -> a
    1334:1334:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalPredecessor(int):296:296 -> a
    1334:1334:void ensureSuccessorBlock(int,int,boolean):2504 -> a
    1335:1335:void ensureSuccessorBlock(int,int,boolean):2506:2506 -> a
    1336:1339:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2545:2548 -> a
    1340:1340:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2547:2547 -> a
    1341:1343:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2562:2564 -> a
    1341:1343:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1344:1344:int com.android.tools.r8.ir.conversion.IRBuilder.getOffset(com.android.tools.r8.ir.code.BasicBlock):2532:2532 -> a
    1344:1344:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2524 -> a
    1344:1344:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2564 -> a
    1344:1344:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1345:1345:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(int):2520:2520 -> a
    1345:1345:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2524 -> a
    1345:1345:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2564 -> a
    1345:1345:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1346:1346:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2565:2565 -> a
    1346:1346:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1347:1347:boolean com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.hasMoreThanASingleNormalExit():315:315 -> a
    1347:1347:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2566 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1347:1347:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1348:1349:boolean com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.hasMoreThanASingleNormalExit():315:316 -> a
    1348:1349:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2566 -> a
    1348:1349:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1350:1350:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2569:2569 -> a
    1350:1350:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1351:1351:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(int):2520:2520 -> a
    1351:1351:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2570 -> a
    1351:1351:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1352:1352:int com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.predecessorCount():304:304 -> a
    1352:1352:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2571 -> a
    1352:1352:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    1353:1353:int com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.predecessorCount():304:304 -> a
    1353:1353:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2571 -> a
    1353:1353:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1354:1364:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2574:2584 -> a
    1354:1364:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1365:1373:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2581:2589 -> a
    1365:1373:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1374:1379:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.conversion.IRBuilder.createSplitEdgeBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):2605:2610 -> a
    1374:1379:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2589 -> a
    1374:1379:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1380:1387:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2590:2597 -> a
    1380:1387:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1388:1390:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.allSuccessors():308:310 -> a
    1388:1390:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2600 -> a
    1388:1390:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1391:1391:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2600:2600 -> a
    1391:1391:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1392:1393:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2550:2551 -> a
    1394:1394:boolean isIntegerType(com.android.tools.r8.ir.code.NumericType):2699:2699 -> 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):1149 -> 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
    21:21:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    22:26:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):72:76 -> b
    22:26:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    27:27:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):74:74 -> b
    27:27:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    28:28:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):70:70 -> b
    28:28:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    29:41:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):68:80 -> b
    29:41:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    42:46:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149:1153 -> b
    47:50:void com.android.tools.r8.ir.conversion.IRBuilder.addImpreciseInstruction(com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction):767:770 -> b
    47:50:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1154 -> b
    51:51:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1156:1156 -> b
    52:53:void addDebugLocalStart(int,com.android.tools.r8.graph.DebugLocalInfo):1025:1026 -> b
    54:56:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterForDebugLocal(int,com.android.tools.r8.graph.DebugLocalInfo):2132:2134 -> b
    54:56:void addDebugLocalStart(int,com.android.tools.r8.graph.DebugLocalInfo):1030 -> b
    57:65:void addDebugLocalStart(int,com.android.tools.r8.graph.DebugLocalInfo):1031:1039 -> b
    66:66:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1086:1086 -> b
    67:67:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> b
    67:67:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1087 -> b
    68:68:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1088:1088 -> b
    69:69:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> b
    69:69:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1089 -> b
    70:72:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1090:1092 -> b
    73:73:void addConstClass(int,com.android.tools.r8.graph.DexType):1215:1215 -> b
    74:74: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):436:436 -> b
    74:74:void addConstClass(int,com.android.tools.r8.graph.DexType):1215 -> b
    75:76:void addConstClass(int,com.android.tools.r8.graph.DexType):1216:1217 -> b
    77:77:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> b
    77:77:void addConstClass(int,com.android.tools.r8.graph.DexType):1217 -> b
    78:78:void addConstClass(int,com.android.tools.r8.graph.DexType):1219:1219 -> b
    79:83:void addGoto(int):1375:1379 -> b
    84:87:void addInstancePut(int,int,com.android.tools.r8.graph.DexField):1481:1484 -> b
    88:88:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1647:1647 -> b
    89:89:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    89:89:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1647 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    90:90:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    90:90:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1647 -> b
    91:97:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1647:1653 -> b
    98:98:void checkInvokeArgumentRegisters(int,int):1711:1711 -> b
    99:99:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    99:99:void checkInvokeArgumentRegisters(int,int):1711 -> b
    100:100:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    100:100:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    100:100:void checkInvokeArgumentRegisters(int,int):1711 -> b
    101:101:void checkInvokeArgumentRegisters(int,int):1711:1711 -> b
    102:108:void addNewArrayEmpty(int,int,com.android.tools.r8.graph.DexType):1780:1786 -> b
    109:109:void addReturn():1830:1830 -> b
    110:112:void com.android.tools.r8.ir.conversion.IRBuilder.addReturn(com.android.tools.r8.ir.code.Return):1835:1837 -> b
    110:112:void addReturn():1830 -> b
    113:116:void addStaticPut(int,com.android.tools.r8.graph.DexField):1859:1862 -> b
    117:117:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> b
    117:117:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1766 -> b
    118:118:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> b
    118:118:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1767 -> b
    119:122:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1769:1772 -> b
    123:126:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readLiteral(com.android.tools.r8.ir.code.ValueTypeConstraint,long):2289:2292 -> b
    123:126:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1772 -> b
    127:130:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readLongLiteral(long):2298:2301 -> b
    127:130:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readLiteral(com.android.tools.r8.ir.code.ValueTypeConstraint,long):2293 -> b
    127:130:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1772 -> b
    131:134:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1773:1776 -> b
    135:135:void addInstruction(com.android.tools.r8.ir.code.Instruction):2366:2366 -> b
    136:136:boolean isNonLongIntegerType(com.android.tools.r8.ir.code.NumericType):2703:2703 -> b
    1:1:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1096:1096 -> c
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> c
    2:2:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1097 -> c
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> c
    3:3:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1098 -> c
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> c
    4:4:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1099 -> c
    5:7:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1100:1102 -> c
    8:12:void addMoveException(int):1718:1722 -> c
    13:15:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1727:1729 -> c
    13:15:void addMoveException(int):1723 -> c
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    16:16:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1729 -> c
    16:16:void addMoveException(int):1723 -> c
    17:20:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1729:1732 -> c
    17:20:void addMoveException(int):1723 -> c
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    21:21:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1732 -> c
    21:21:void addMoveException(int):1723 -> c
    22:22:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1732:1732 -> c
    22:22:void addMoveException(int):1723 -> c
    23:26:void addInitClass(int,com.android.tools.r8.graph.DexType):1841:1844 -> c
    27:42:void attachLocalValues(com.android.tools.r8.ir.code.Instruction):2411:2426 -> c
    43:43:void ensureExceptionalSuccessorBlock(int,int):2514:2514 -> c
    44:45:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2536:2537 -> c
    46:46:void com.android.tools.r8.ir.conversion.IRBuilder.setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):526:526 -> c
    46:46:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2538 -> c
    47:49:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2539:2541 -> c
    1:1:java.util.List getArgumentValues():511:511 -> d
    2:2:void lambda$allPhisAreStackMapPhis$1(com.android.tools.r8.ir.code.Instruction):757:757 -> d
    3:3:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1106:1106 -> d
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> d
    4:4:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1107 -> d
    5:5:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1108:1108 -> d
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> d
    6:6:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1109 -> d
    7:9:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1110:1112 -> d
    10:14:void addMoveResult(int):1738:1742 -> d
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> d
    15:15:void addMoveResult(int):1744 -> d
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> d
    16:16:void addMoveResult(int):1744 -> d
    17:17:void addMoveResult(int):1746:1746 -> d
    18:18:void addMoveResult(int):1745:1745 -> d
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> d
    19:19:void addMoveResult(int):1750 -> d
    20:23:void addMoveResult(int):1751:1754 -> d
    24:28:void addNewInstance(int,com.android.tools.r8.graph.DexType):1798:1802 -> d
    29:29:void ensureNormalSuccessorBlock(int,int):2510:2510 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getCFG():507:507 -> e
    2:2:boolean lambda$build$0(com.android.tools.r8.ir.code.Instruction):677:677 -> e
    3:3:void resolveAndBuildNewArrayFilledData(int,int):957:957 -> e
    4:11:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1168:1175 -> e
    4:11:void addSafeCheckCast(int,com.android.tools.r8.graph.DexType):1164 -> e
    12:12:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1271:1271 -> e
    13:13:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> e
    13:13:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1272 -> e
    14:14:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> e
    14:14:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1273 -> e
    15:15:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> e
    15:15:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1274 -> e
    16:18:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1276:1278 -> e
    19:27:void addReturn(int):1814:1822 -> e
    28:28:void addReturn(int):1821:1821 -> e
    29:29:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromDexType(com.android.tools.r8.graph.DexType):111:111 -> e
    29:29:void addReturn(int):1823 -> e
    30:31:void addReturn(int):1824:1825 -> e
    32:34:void com.android.tools.r8.ir.conversion.IRBuilder.addReturn(com.android.tools.r8.ir.code.Return):1835:1837 -> e
    32:34:void addReturn(int):1825 -> e
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():487:487 -> f
    2:3:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1282:1283 -> f
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> f
    4:4:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1284 -> f
    5:5:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1285:1285 -> f
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> f
    6:6:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1286 -> f
    7:9:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1288:1290 -> f
    10:15:void addThrow(int):1977:1982 -> f
    1:1:com.android.tools.r8.graph.DexEncodedMethod getMethod():491:491 -> g
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> g
    2:2:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1324 -> g
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> g
    3:3:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1325 -> g
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> g
    4:4:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1326 -> g
    5:7:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1327:1329 -> g
    8:9:void checkRegister(int):2359:2360 -> g
    10:10:void checkRegister(int):0:0 -> g
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18,"4":19,"5":20}}
    16:16:void checkRegister(int):2360:2360 -> g
    17:17:void checkRegister(int):2360:2360 -> g
    18:18:void checkRegister(int):2360:2360 -> g
    19:19:void checkRegister(int):2360:2360 -> g
    20:20:void checkRegister(int):2360:2360 -> g
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> g
    11:11:void checkRegister(int):2360 -> g
    12:12:void checkRegister(int):2360:2360 -> g
    13:13:void checkRegister(int):2357:2357 -> g
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramMethod():495:495 -> h
    2:2:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1333:1333 -> h
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> h
    3:3:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1334 -> h
    4:4:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1335:1335 -> h
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> h
    5:5:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1336 -> h
    6:8:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1337:1339 -> h
    9:13:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2433:2437 -> h
    14:17:int com.android.tools.r8.ir.conversion.IRBuilder.getBlockStartOffset(int):2451:2454 -> h
    14:17:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2438 -> h
    18:19:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2439:2440 -> h
    20:26: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:327 -> h
    20:26:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    27:27:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.replaceNormalPredecessor(int,int):291:291 -> h
    27:27: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):328 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    28:29:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.replaceNormalPredecessor(int,int):291:292 -> h
    28:29: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):328 -> h
    28:29:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    30:35: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:335 -> h
    30:35:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    36:36:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalPredecessor(int):296:296 -> h
    36:36: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):336 -> h
    36:36:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    37:37:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalPredecessor(int):296:296 -> h
    37:37: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):336 -> h
    37:37:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    38:38: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):338:338 -> h
    38:38:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    39:42:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2442:2445 -> h
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges():499:499 -> i
    2:2:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1986:1986 -> i
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> i
    3:3:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1987 -> i
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> i
    4:4:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1988 -> i
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> i
    5:5:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1989 -> i
    6:8:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1990:1992 -> i
    9:9:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2528:2528 -> i
    1:1:com.android.tools.r8.ir.code.Value getReceiverValue():515:515 -> j
    2:2:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1996:1996 -> j
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> j
    3:3:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1997 -> j
    4:4:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1998:1998 -> j
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> j
    5:5:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1999 -> j
    6:8:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2000:2002 -> j
    9:9:boolean isOffsetProcessed(int):2467:2467 -> j
    10:11:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2471:2472 -> j
    10:11:boolean isOffsetProcessed(int):2467 -> j
    12:13:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2489:2490 -> j
    12:13:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2474 -> j
    12:13:boolean isOffsetProcessed(int):2467 -> j
    14:14:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2475:2475 -> j
    14:14:boolean isOffsetProcessed(int):2467 -> j
    1:1:boolean isDebugMode():503:503 -> k
    2:2:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1352:1352 -> k
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> k
    3:3:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1353 -> k
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> k
    4:4:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1354 -> k
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> k
    5:5:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1355 -> k
    6:8:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1357:1359 -> k
    1:2:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1363:1364 -> l
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> l
    3:3:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1365 -> l
    4:4:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1366:1366 -> l
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> l
    5:5:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1367 -> l
    6:8:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1369:1371 -> l
    1:1:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1875:1875 -> m
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> m
    2:2:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1876 -> m
    3:3:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1877:1877 -> m
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> m
    4:4:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1878 -> m
    5:7:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1881:1883 -> m
    1:1:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2006:2006 -> n
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> n
    2:2:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2007 -> n
    3:3:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2008:2008 -> n
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> n
    4:4:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2009 -> n
    5:7:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2010:2012 -> n
    1:1:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2016:2016 -> o
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> o
    2:2:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2017 -> o
    3:3:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2018:2018 -> o
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> o
    4:4:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2019 -> o
    5:7:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2020:2022 -> o
    1:1:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2026:2026 -> p
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> p
    2:2:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2027 -> p
    3:3:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2028:2028 -> p
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> p
    4:4:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2029 -> p
    5:7:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2030:2032 -> p
    1:1:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2036:2036 -> q
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> q
    2:2:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2037 -> q
    3:3:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2038:2038 -> q
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> q
    4:4:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2039 -> q
    5:7:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2040:2042 -> q
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> r
    1:1:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1866 -> r
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> r
    2:2:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1867 -> r
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> r
    3:3:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1868 -> r
    4:6:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1869:1871 -> r
    1:1:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2046:2046 -> s
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> s
    2:2:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2047 -> s
    3:3:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2048:2048 -> s
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> s
    4:4:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2049 -> s
    5:7:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2050:2052 -> s
    1:1:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2056:2056 -> t
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> t
    2:2:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2057 -> t
    3:3:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2058:2058 -> t
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> t
    4:4:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2059 -> t
    5:7:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2060:2062 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2720,"2":2721,"3":2722}}
    2720:2720:java.lang.String toString():2712:2712 -> toString
    2721:2721:java.lang.String toString():2712:2712 -> toString
    2722:2722:java.lang.String toString():2713:2713 -> toString
    2715:2719:java.lang.String toString():2714:2718 -> toString
    1:1:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2066:2066 -> u
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> u
    2:2:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2067 -> u
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> u
    3:3:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2068 -> u
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> u
    4:4:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2069 -> u
    5:13:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2071:2079 -> u
    1:1:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2083:2083 -> v
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> v
    2:2:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2084 -> v
    3:3:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2086:2086 -> v
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> v
    4:4:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2087 -> v
    5:7:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2088:2090 -> v
    8:8:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> v
    8:8:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2091 -> v
    9:12:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2092:2095 -> v
com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo -> com.android.tools.r8.internal.en:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet exceptionalPredecessors -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet exceptionalSuccessors -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet normalPredecessors -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet normalSuccessors -> c
    com.android.tools.r8.ir.code.BasicBlock block -> a
    1:7:void <init>():274:280 -> <init>
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":376,"2":377,"3":378}}
    376:376:java.lang.String toString():344:344 -> toString
    377:377:java.lang.String toString():344:344 -> toString
    378:378:java.lang.String toString():346:346 -> toString
    347:351:java.lang.String toString():346:350 -> toString
    352:352:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> toString
    352:352:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> toString
    352:352:java.lang.String toString():350 -> toString
    353:357:java.lang.String toString():350:354 -> toString
    358:358:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> toString
    358:358:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> toString
    358:358:java.lang.String toString():354 -> toString
    359:369:java.lang.String toString():354:364 -> toString
    370:370:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> toString
    370:370:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> toString
    370:370:java.lang.String toString():364 -> toString
    371:375:java.lang.String toString():364:368 -> toString
com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem -> com.android.tools.r8.internal.fn:
    com.android.tools.r8.graph.DexType guard -> d
    int targetOffset -> f
    int sourceOffset -> e
    1:1:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,int,int,com.android.tools.r8.ir.conversion.IRBuilder$1):198:198 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,int,int):206:209 -> <init>
    1:1:int access$600(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):198:198 -> a
    1:1:com.android.tools.r8.graph.DexType access$700(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):198:198 -> b
    1:1:int access$800(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):198:198 -> c
com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem -> com.android.tools.r8.internal.gn:
    int sourceOffset -> d
    int targetOffset -> e
    com.android.tools.r8.ir.code.Position position -> f
    1:4:void <init>(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,int,int):225:228 -> <init>
    1:1:int access$200(com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem):213:213 -> a
    1:1:int access$300(com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem):213:213 -> b
    1:1:com.android.tools.r8.ir.code.Position access$500(com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem):213:213 -> c
com.android.tools.r8.ir.conversion.IRBuilder$ValueList -> com.android.tools.r8.internal.hn:
    java.util.List values -> a
    1:3:void <init>():236:238 -> <init>
    1:3:com.android.tools.r8.ir.conversion.IRBuilder$ValueList fromPhis(java.util.List,int):244:246 -> a
    1:9:boolean equals(java.lang.Object):258:266 -> equals
    1:1:int hashCode():253:253 -> hashCode
com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem -> com.android.tools.r8.internal.in:
    int firstInstructionIndex -> b
    boolean $assertionsDisabled -> c
    com.android.tools.r8.ir.code.BasicBlock block -> a
    1:1:void <clinit>():186:186 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.conversion.IRBuilder$1):186:186 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,int):191:194 -> <init>
    1:1:com.android.tools.r8.ir.code.BasicBlock access$100(com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem):186:186 -> a
    1:1:int access$400(com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem):186:186 -> b
com.android.tools.r8.ir.conversion.IRConverter -> com.android.tools.r8.internal.sn:
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector methodOptimizationInfoCollector -> E
    boolean $assertionsDisabled -> N
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization classInitializerDefaultsOptimization -> d
    com.android.tools.r8.ir.optimize.MemberValuePropagation memberValuePropagation -> p
    com.android.tools.r8.ir.optimize.DeadCodeRemover deadCodeRemover -> D
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback simpleOptimizationFeedback -> G
    com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis libraryMethodOverrideAnalysis -> g
    com.android.tools.r8.ir.optimize.DynamicTypeOptimization dynamicTypeOptimization -> B
    com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer idempotentFunctionCallCanonicalizer -> j
    com.android.tools.r8.ir.conversion.LensCodeRewriter lensCodeRewriter -> q
    com.android.tools.r8.ir.analysis.TypeChecker typeChecker -> w
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer stringBuilderOptimizer -> i
    java.util.Set prunedMethodsInWave -> J
    com.android.tools.r8.utils.Timing timing -> b
    com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection instructionDesugaring -> e
    java.util.List onWaveDoneActions -> I
    com.android.tools.r8.ir.optimize.outliner.Outliner outliner -> c
    com.android.tools.r8.ir.analysis.fieldaccess.FieldAccessAnalysis fieldAccessAnalysis -> f
    com.android.tools.r8.ir.optimize.AssertionsRewriter assertionsRewriter -> C
    java.util.concurrent.atomic.AtomicBoolean seenNotNeverMergePrefix -> L
    com.android.tools.r8.ir.optimize.Devirtualizer devirtualizer -> t
    com.android.tools.r8.ir.optimize.AssumeInserter assumeInserter -> A
    java.util.List neverMergePrefixes -> K
    com.android.tools.r8.utils.CfgPrinter printer -> m
    com.android.tools.r8.ir.optimize.ConstantCanonicalizer constantCanonicalizer -> o
    com.android.tools.r8.ir.conversion.StringSwitchRemover stringSwitchRemover -> v
    com.android.tools.r8.ir.optimize.classinliner.ClassInliner classInliner -> k
    com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer enumValueOptimizer -> y
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed delayedOptimizationFeedback -> F
    com.android.tools.r8.utils.InternalOptions options -> l
    com.android.tools.r8.naming.IdentifierNameStringMarker identifierNameStringMarker -> s
    com.android.tools.r8.ir.optimize.Inliner inliner -> r
    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> n
    com.android.tools.r8.ir.optimize.ServiceLoaderRewriter serviceLoaderRewriter -> x
    com.android.tools.r8.graph.DexString highestSortingString -> H
    com.android.tools.r8.ir.optimize.string.StringOptimizer stringOptimizer -> h
    java.util.concurrent.atomic.AtomicBoolean seenNeverMergePrefix -> M
    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> z
    com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer covariantReturnTypeAnnotationTransformer -> u
    1:1:void <clinit>():126:126 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):184:184 -> <init>
    2:146:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):166:310 -> <init>
    147:147:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):315:315 -> <init>
    boolean lambda$materializeInstructionBeforeLongOperationsWorkaround$24(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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":207,"2":208,"3":209}}
    207:207:java.lang.String lambda$new$0(java.lang.String):203:203 -> a
    208:208:java.lang.String lambda$new$0(java.lang.String):203:203 -> a
    209:209:java.lang.String lambda$new$0(java.lang.String):203:203 -> a
    204:204:java.lang.String lambda$new$0(java.lang.String):203:203 -> a
    205:205:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageBinaryNameFromJavaType(java.lang.String):380:380 -> a
    205:205:java.lang.String lambda$new$0(java.lang.String):203 -> a
    206:206:java.lang.String lambda$new$0(java.lang.String):203:203 -> a
    210:211:void com.android.tools.r8.ir.desugar.lambda.LambdaDeserializationMethodRemover.run(com.android.tools.r8.graph.AppView):17:18 -> a
    210:211:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):354 -> a
    212:225:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):355:368 -> a
    226:230:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsD8(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):395:399 -> a
    226:230:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):370 -> a
    231:235:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsD8(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):396:400 -> a
    231:235:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):370 -> a
    236:236:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):372:372 -> a
    237:241:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsD8(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):395:399 -> a
    237:241:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):374 -> a
    242:246:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsD8(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):396:400 -> a
    242:246:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):374 -> a
    247:249:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):377:379 -> a
    250:250:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    250:250:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):379 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    251:251:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    251:251:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):379 -> a
    252:252:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):380:380 -> a
    253:254:void com.android.tools.r8.ir.conversion.IRConverter.processCovariantReturnTypeAnnotations(com.android.tools.r8.graph.DexApplication$Builder):347:348 -> a
    253:254:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):382 -> a
    255:261:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):384:390 -> a
    262:262:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):387:387 -> a
    263:267:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.ir.conversion.D8MethodProcessor,java.util.concurrent.ExecutorService):329:333 -> a
    268:268:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$1(com.android.tools.r8.ir.conversion.D8MethodProcessor,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring):331:331 -> a
    269:269:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):445:445 -> a
    270:273:com.android.tools.r8.ir.conversion.ClassConverter com.android.tools.r8.ir.conversion.ClassConverter.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):49:52 -> a
    270:273:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):446 -> a
    274:284:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):447:457 -> a
    285:293:void com.android.tools.r8.ir.desugar.lambda.D8LambdaDesugaring.rewriteEnclosingLambdaMethodAttributes(com.android.tools.r8.graph.AppView,java.util.Map):17:25 -> a
    285:293:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):456 -> a
    294:294:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):459:459 -> a
    295:297:void prepareDesugaringForD8(java.util.concurrent.ExecutorService):465:467 -> a
    298:306:void prepareDesugaringForD8(java.util.concurrent.ExecutorService):466:474 -> a
    307:307:void lambda$prepareDesugaringForD8$5(com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.DexProgramClass):469:469 -> a
    308:308:void lambda$prepareDesugaringForD8$4(com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):471:471 -> a
    309:309:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):482:482 -> a
    310:310:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:767 -> a
    310:310:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):482 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    311:313:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:769 -> a
    311:313:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):482 -> a
    314:345:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):484:515 -> a
    346:346:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1937:1937 -> a
    346:346:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):515 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    350:350:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1941:1941 -> a
    350:350:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):515 -> a
    351:351:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    351:351:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1942 -> a
    351:351:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):515 -> a
    352:352:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):514:514 -> a
    353:356:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):524:527 -> a
    357:357:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1937:1937 -> a
    357:357:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):527 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    361:361:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1941:1941 -> a
    361:361:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):527 -> a
    362:362:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    362:362:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1942 -> a
    362:362:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):527 -> a
    363:369:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):526:532 -> a
    370:374:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):567:571 -> a
    370:374:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    375:375:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    375:375:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):571 -> a
    375:375:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    376:399:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):572:595 -> a
    376:399:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    400:400:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    400:400:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):595 -> a
    400:400:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    401:403:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):603:605 -> a
    401:403:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    404:416:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):597:609 -> a
    404:416:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    417:417:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    417:417:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):609 -> a
    417:417:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    418:418:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    418:418:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    418:418:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):609 -> a
    418:418:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    419:419:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):609:609 -> a
    419:419:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    420:420:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):536:536 -> a
    421:421:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    421:421:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):536 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    422:422:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    422:422:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):536 -> a
    423:433:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):536:546 -> a
    434:443:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):539:548 -> a
    444:444:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    444:444:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):548 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    445:445:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    445:445:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):548 -> a
    446:446:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):549:549 -> a
    447:453:void com.android.tools.r8.ir.conversion.IRConverter.updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1704:1710 -> a
    447:453:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):549 -> a
    454:454:void lambda$optimize$8(java.util.concurrent.ExecutorService,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):654:654 -> a
    455:455:com.android.tools.r8.utils.Timing lambda$optimize$9(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.contexts.CompilationContext$MethodProcessingContext):675:675 -> a
    456:456:void lambda$optimize$10(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):713:713 -> a
    457:457:com.android.tools.r8.utils.Timing lambda$optimize$11(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.ir.conversion.PostMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):743:743 -> a
    458:458:void waveStart(com.android.tools.r8.utils.collections.ProgramMethodSet):809:809 -> a
    459:465:void addWaveDoneAction(com.android.tools.r8.utils.Action):845:851 -> a
    466:466:void addWaveDoneAction(com.android.tools.r8.utils.Action):849:849 -> a
    467:467:void addWaveDoneAction(com.android.tools.r8.utils.Action):846:846 -> a
    468:469:void computeReachabilitySensitivity(com.android.tools.r8.graph.DexApplication):860:861 -> a
    470:470:void lambda$computeReachabilitySensitivity$12(com.android.tools.r8.graph.DexEncodedMethod):865:865 -> a
    471:474:void forEachSynthesizedServiceLoaderMethod(com.android.tools.r8.graph.ProgramMethod):878:881 -> a
    475:475:void clearDexMethodCompilationState():885:885 -> a
    476:476:void clearDexMethodCompilationState(com.android.tools.r8.graph.DexProgramClass):889:889 -> a
    477:486:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):902:911 -> a
    487:492:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):910:915 -> a
    493:493:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):952:952 -> a
    493:493:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):915 -> a
    494:494:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):915:915 -> a
    495:495:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):914:914 -> a
    496:497:void optimizeSynthesizedMethods(java.util.List,java.util.concurrent.ExecutorService):923:924 -> a
    498:498:void lambda$optimizeSynthesizedMethod$14(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):934:934 -> a
    499:501:void processMethodsConcurrently(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):941:943 -> a
    502:502:com.android.tools.r8.utils.Timing lambda$rewriteDesugaredCode$17(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.contexts.CompilationContext$MethodProcessingContext):1008:1008 -> a
    503:508:boolean com.android.tools.r8.ir.conversion.IRConverter.desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1067:1072 -> a
    503:508:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1018 -> a
    503:508:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):991 -> a
    509:514:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1019:1024 -> a
    509:514:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):991 -> a
    515:515:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):952:952 -> a
    515:515:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1024 -> a
    515:515:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):991 -> a
    516:516:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1024:1024 -> a
    516:516:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):991 -> a
    517:523:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1020:1026 -> a
    517:523:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):991 -> a
    524:534: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.contexts.CompilationContext$MethodProcessingContext):1084:1094 -> a
    535:540:void com.android.tools.r8.ir.conversion.IRConverter.printC1VisualizerHeader(com.android.tools.r8.graph.DexEncodedMethod):1919:1924 -> a
    535:540: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.contexts.CompilationContext$MethodProcessingContext):1097 -> a
    541:555: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.contexts.CompilationContext$MethodProcessingContext):1098:1112 -> a
    556:556:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3781:3781 -> a
    556:556: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    557:557:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    557:557:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3782 -> a
    557:557: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    558:560:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3783:3785 -> a
    558:560: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    561:561:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    561:561:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3785 -> a
    561:561: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    562:564:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3786:3788 -> a
    562:564: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    565:565:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1436:1436 -> a
    565:565:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3788 -> a
    565:565: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    566:566:byte com.android.tools.r8.graph.DexString.byteAt(int):54:54 -> a
    566:566:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1436 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    566:566:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3788 -> a
    566:566: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    567:567:byte com.android.tools.r8.graph.DexString.byteAt(int):54:54 -> a
    567:567:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1436 -> a
    567:567:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3788 -> a
    567:567: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    568:598:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1443:1473 -> a
    568:598:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3788 -> a
    568:598: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    599:623:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1438:1462 -> a
    599:623:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3788 -> a
    599:623: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    624:625:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1448:1449 -> a
    624:625:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3788 -> a
    624:625: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    626:628:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3789:3791 -> a
    626:628: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    629:629:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    629:629:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3790 -> a
    629:629: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.contexts.CompilationContext$MethodProcessingContext):1112 -> a
    630:646: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.contexts.CompilationContext$MethodProcessingContext):1113:1129 -> a
    647:647: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.contexts.CompilationContext$MethodProcessingContext):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4507,"2":4508,"3":4509}}
    4507:4507: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.contexts.CompilationContext$MethodProcessingContext):1129:1129 -> a
    4508:4508: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.contexts.CompilationContext$MethodProcessingContext):1129:1129 -> a
    4509:4509: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.contexts.CompilationContext$MethodProcessingContext):1129:1129 -> a
    1778:1783: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.contexts.CompilationContext$MethodProcessingContext):1131:1136 -> a
    1784:1784: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.contexts.CompilationContext$MethodProcessingContext):1134:1134 -> a
    1785:1785: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.contexts.CompilationContext$MethodProcessingContext):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4514,"2":4515,"3":4516}}
    4514:4514: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.contexts.CompilationContext$MethodProcessingContext):1134:1134 -> a
    4515:4515: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.contexts.CompilationContext$MethodProcessingContext):1134:1134 -> a
    4516:4516: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.contexts.CompilationContext$MethodProcessingContext):1134:1134 -> a
    2922:2927: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.contexts.CompilationContext$MethodProcessingContext):1137:1142 -> a
    2928:2928: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.contexts.CompilationContext$MethodProcessingContext):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4524,"2":4525,"3":4526}}
    4524:4524: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.contexts.CompilationContext$MethodProcessingContext):1142:1142 -> a
    4525:4525: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.contexts.CompilationContext$MethodProcessingContext):1142:1142 -> a
    4526:4526: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.contexts.CompilationContext$MethodProcessingContext):1142:1142 -> a
    4073:4085: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.contexts.CompilationContext$MethodProcessingContext):1145:1157 -> a
    4086:4090:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1525:1529 -> a
    4086:4090: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.contexts.CompilationContext$MethodProcessingContext):1159 -> a
    4091:4091:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> a
    4091:4091:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1529 -> a
    4091:4091: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.contexts.CompilationContext$MethodProcessingContext):1159 -> a
    4092:4093:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1529:1530 -> a
    4092:4093: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.contexts.CompilationContext$MethodProcessingContext):1159 -> a
    4094:4094:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    4094:4094:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1530 -> a
    4094:4094: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.contexts.CompilationContext$MethodProcessingContext):1159 -> a
    4095:4104: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.contexts.CompilationContext$MethodProcessingContext):1161:1170 -> a
    4105:4130: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.contexts.CompilationContext$MethodProcessingContext):1163:1188 -> a
    4131:4131:void com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringsInMethod(com.android.tools.r8.ir.code.IRCode):94:94 -> a
    4131:4131: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.contexts.CompilationContext$MethodProcessingContext):1188 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4132:4158: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.contexts.CompilationContext$MethodProcessingContext):1189:1215 -> a
    4159:4159:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    4159:4159: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.contexts.CompilationContext$MethodProcessingContext):1215 -> a
    4160:4160: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.contexts.CompilationContext$MethodProcessingContext):1215:1215 -> a
    4161:4161:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    4161:4161: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.contexts.CompilationContext$MethodProcessingContext):1215 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4162:4162:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    4162:4162: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.contexts.CompilationContext$MethodProcessingContext):1215 -> a
    4163:4167: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.contexts.CompilationContext$MethodProcessingContext):1216:1216 -> a
    4173:4191: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.contexts.CompilationContext$MethodProcessingContext):1222:1240 -> a
    4192:4192: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):875:875 -> a
    4192:4192: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.contexts.CompilationContext$MethodProcessingContext):1240 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4193:4193: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):869:869 -> a
    4193:4193: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.contexts.CompilationContext$MethodProcessingContext):1240 -> a
    4194:4299: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.contexts.CompilationContext$MethodProcessingContext):1241:1346 -> a
    4300:4303:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.shouldRun(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):94:97 -> a
    4300:4303: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.contexts.CompilationContext$MethodProcessingContext):1346 -> a
    4304:4309: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.contexts.CompilationContext$MethodProcessingContext):1347:1352 -> a
    4310:4312:void com.android.tools.r8.ir.conversion.IRConverter.invertConditionalsForTesting(com.android.tools.r8.ir.code.IRCode):974:976 -> a
    4310:4312: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.contexts.CompilationContext$MethodProcessingContext):1353 -> a
    4313:4327: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.contexts.CompilationContext$MethodProcessingContext):1357:1371 -> a
    4328:4359: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.contexts.CompilationContext$MethodProcessingContext):1370:1401 -> a
    4360:4407: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.contexts.CompilationContext$MethodProcessingContext):1390:1437 -> a
    4408:4408:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4408:4408: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.contexts.CompilationContext$MethodProcessingContext):1437 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4409:4409:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4409:4409: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.contexts.CompilationContext$MethodProcessingContext):1437 -> a
    4410:4432: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.contexts.CompilationContext$MethodProcessingContext):1438:1460 -> a
    4433:4433:boolean com.android.tools.r8.utils.InternalOptions.methodMatchesLogArgumentsFilter(com.android.tools.r8.graph.DexEncodedMethod):1219:1219 -> a
    4433:4433: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.contexts.CompilationContext$MethodProcessingContext):1460 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4434:4439:boolean com.android.tools.r8.utils.InternalOptions.methodMatchesLogArgumentsFilter(com.android.tools.r8.graph.DexEncodedMethod):1219:1224 -> a
    4434:4439: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.contexts.CompilationContext$MethodProcessingContext):1460 -> a
    4440:4498: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.contexts.CompilationContext$MethodProcessingContext):1460:1518 -> a
    4499:4506: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.contexts.CompilationContext$MethodProcessingContext):1513:1520 -> a
    4527:4527:void lambda$optimize$18(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1229:1229 -> a
    4528:4528:void lambda$optimize$19(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):1233:1233 -> a
    4529:4530:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$20(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1403:1404 -> a
    4531:4531:com.android.tools.r8.ir.optimize.DefaultInliningOracle com.android.tools.r8.ir.optimize.Inliner.createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int):916:916 -> a
    4531:4531:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$20(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1403 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4532:4532:com.android.tools.r8.ir.optimize.DefaultInliningOracle com.android.tools.r8.ir.optimize.Inliner.createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int):912:912 -> a
    4532:4532:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$20(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1403 -> a
    4533:4578:void collectOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,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.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.utils.Timing):1544:1589 -> a
    4579:4579:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1570:1570 -> a
    4579:4579:void collectOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,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.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.utils.Timing):1589 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4580:4585:void collectOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,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.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.utils.Timing):1590:1595 -> a
    4586:4586:void lambda$collectOptimizationInfo$21(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):1545:1545 -> a
    4587:4596:void removeDeadCodeAndFinalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1607:1616 -> a
    4597:4597:void removeDeadCodeAndFinalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1611:1611 -> a
    4598:4599:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1627:1628 -> a
    4600:4600:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4600:4600:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1628 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4601:4601:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4601:4601:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1628 -> a
    4602:4607:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToCf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):1641:1646 -> a
    4602:4607:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1629 -> a
    4608:4608:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1631:1631 -> a
    4609:4620:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1655:1666 -> a
    4609:4620:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1632 -> a
    4621:4627:void com.android.tools.r8.ir.conversion.IRConverter.updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1704:1710 -> a
    4621:4627:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1666 -> a
    4621:4627:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1632 -> a
    4628:4630:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1667:1669 -> a
    4628:4630:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1632 -> a
    4631:4631:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):952:952 -> a
    4631:4631:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1669 -> a
    4631:4631:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1632 -> a
    4632:4632:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1669:1669 -> a
    4632:4632:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1632 -> a
    4633:4639:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1668:1674 -> a
    4633:4639:void finalizeIR(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.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1632 -> a
    4640:4640:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1679:1679 -> a
    4641:4650:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldComputeInliningConstraint(com.android.tools.r8.graph.ProgramMethod):1688:1697 -> a
    4641:4650:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1681 -> a
    4651:4653:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1682:1684 -> a
    4654:4662: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.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1722:1730 -> a
    4663:4675:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3915:3927 -> a
    4663:4675: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.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1730 -> a
    4676:4676:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    4676:4676:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3928 -> a
    4676:4676: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.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1730 -> a
    4677:4678:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3928:3929 -> a
    4677:4678: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.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1730 -> a
    4679:4694: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.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1732:1747 -> a
    4695:4695: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.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1746:1746 -> a
    4696:4710:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1804:1818 -> a
    4711:4711:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> a
    4711:4711:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongMul(com.android.tools.r8.ir.code.Instruction):1864 -> a
    4711:4711:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1819 -> a
    4712:4713:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongMul(com.android.tools.r8.ir.code.Instruction):1865:1866 -> a
    4712:4713:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1819 -> a
    4714:4714:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1822:1822 -> a
    4715:4715:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1871:1871 -> a
    4715:4715:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1823 -> a
    4716:4716:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> a
    4716:4716:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1871 -> a
    4716:4716:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1823 -> a
    4717:4717:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1872:1872 -> a
    4717:4717:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1823 -> a
    4718:4719:boolean com.android.tools.r8.ir.conversion.IRConverter.isFallthoughTarget(com.android.tools.r8.ir.code.BasicBlock):1876:1877 -> a
    4718:4719:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1826 -> a
    4720:4721:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1829:1830 -> a
    4722:4726:boolean com.android.tools.r8.ir.conversion.IRConverter.isAliasOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1850:1854 -> a
    4722:4726:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1831 -> a
    4727:4732:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1832:1837 -> a
    4733:4744:void com.android.tools.r8.ir.conversion.IRConverter.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):1886:1897 -> a
    4733:4744:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1838 -> a
    4745:4746:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$23(com.android.tools.r8.graph.DexItemFactory):1812:1813 -> a
    4747:4747:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$23(com.android.tools.r8.graph.DexItemFactory):1811:1811 -> a
    4748:4748:boolean isNotPseudoInstruction(com.android.tools.r8.ir.code.Instruction):1859:1859 -> a
    4749:4749:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1935:1935 -> a
    4750:4750:void com.android.tools.r8.utils.CfgPrinter.resetUnusedValue():24:24 -> a
    4750:4750:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1936 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4751:4768:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1937:1954 -> a
    4769:4769:void lambda$onMethodCodePruned$26(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):1984:1984 -> a
    boolean lambda$postProcessingDesugaringForD8$2(com.android.tools.r8.graph.ProgramMethod) -> b
    1:1:void clearNestAttributes():342:342 -> b
    2:10:void postProcessingDesugaringForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):427:435 -> b
    11:14:void postProcessingDesugaringForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):434:437 -> b
    15:15:boolean lambda$prepareDesugaringForD8$3(com.android.tools.r8.graph.DexEncodedMethod):470:470 -> b
    16:21:void workaroundAbstractMethodOnNonAbstractClassVerificationBug(java.util.concurrent.ExecutorService):616:621 -> b
    22:22:void workaroundAbstractMethodOnNonAbstractClassVerificationBug(java.util.concurrent.ExecutorService):620:620 -> b
    23:23:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):635:635 -> b
    24:24:boolean com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection.isEmpty():0:0 -> b
    24:24:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):635 -> b
    25:63:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):635:673 -> b
    64:65:void com.android.tools.r8.ir.conversion.IRConverter.lastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService):839:840 -> b
    64:65:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):681 -> b
    66:80:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):682:696 -> b
    81:85:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):406:410 -> b
    81:85:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):699 -> b
    86:86:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):407:407 -> b
    86:86:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):699 -> b
    87:144:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):704:761 -> b
    145:149:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):406:410 -> b
    145:149:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):765 -> b
    150:150:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):407:407 -> b
    150:150:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):765 -> b
    151:156:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):768:773 -> b
    157:190:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):772:805 -> b
    191:195:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):814:818 -> b
    196:196:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1570:1570 -> b
    196:196:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):818 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    197:208:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):819:830 -> b
    209:215:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):826:832 -> b
    216:216:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):863:863 -> b
    217:217:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:767 -> b
    217:217:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):863 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    218:220:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:769 -> b
    218:220:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):863 -> b
    221:222:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):864:865 -> b
    223:223:void processSynthesizedServiceLoaderMethods(java.util.List,java.util.concurrent.ExecutorService):873:873 -> b
    224:224:void lambda$processMethodsConcurrently$15(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):945:945 -> b
    225:234:com.android.tools.r8.utils.Timing processDesugaredMethod(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.contexts.CompilationContext$MethodProcessingContext):961:970 -> b
    235:236:com.android.tools.r8.utils.Timing rewriteNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):988:989 -> b
    237:237:com.android.tools.r8.utils.Timing rewriteNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):987:987 -> b
    238:258:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1753:1773 -> b
    259:271:void com.android.tools.r8.ir.conversion.IRConverter.ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1903:1915 -> b
    259:271:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1784 -> b
    272:276:boolean lambda$workaroundForwardingInitializerBug$22(com.android.tools.r8.ir.code.Instruction):1775:1779 -> b
    277:278:void printPhase(java.lang.String):1929:1930 -> b
    279:279:void lambda$onMethodPruned$25(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):1967:1967 -> b
    1:1:com.android.tools.r8.ir.optimize.Inliner getInliner():323:323 -> c
    2:3:void lambda$workaroundAbstractMethodOnNonAbstractClassVerificationBug$7(com.android.tools.r8.graph.DexProgramClass):623:624 -> c
    4:4:void lambda$workaroundAbstractMethodOnNonAbstractClassVerificationBug$6(com.android.tools.r8.graph.ProgramMethod):625:625 -> c
    5:6:com.android.tools.r8.utils.Timing rewriteDesugaredCode(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.contexts.CompilationContext$MethodProcessingContext):1005:1006 -> c
    7:7:com.android.tools.r8.utils.Timing rewriteDesugaredCode(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.contexts.CompilationContext$MethodProcessingContext):1004:1004 -> c
    1:1:boolean isInWave():855:855 -> d
    2:11:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(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.contexts.CompilationContext$MethodProcessingContext):1034:1043 -> d
    12:12:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):952:952 -> d
    12:12:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(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.contexts.CompilationContext$MethodProcessingContext):1043 -> d
    13:13:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(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.contexts.CompilationContext$MethodProcessingContext):1043:1043 -> d
    14:21:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(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.contexts.CompilationContext$MethodProcessingContext):1039:1046 -> d
    22:22:boolean com.android.tools.r8.ir.conversion.IRConverter.needsIRConversion(com.android.tools.r8.graph.ProgramMethod):554:554 -> d
    22:22:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(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.contexts.CompilationContext$MethodProcessingContext):1049 -> d
    23:23:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> d
    23:23:boolean com.android.tools.r8.ir.conversion.IRConverter.needsIRConversion(com.android.tools.r8.graph.ProgramMethod):554 -> d
    23:23:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(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.contexts.CompilationContext$MethodProcessingContext):1049 -> d
    24:30:boolean com.android.tools.r8.ir.conversion.IRConverter.needsIRConversion(com.android.tools.r8.graph.ProgramMethod):557:563 -> d
    24:30:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(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.contexts.CompilationContext$MethodProcessingContext):1049 -> d
    31:41:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(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.contexts.CompilationContext$MethodProcessingContext):1049:1059 -> d
    42:43:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(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.contexts.CompilationContext$MethodProcessingContext):1050:1051 -> d
    44:51:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1981:1988 -> d
    1:1:void reportNestDesugarDependencies():337:337 -> e
    2:10:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1965:1973 -> e
    1:5:void optimizeSynthesizedMethod(com.android.tools.r8.graph.ProgramMethod):928:932 -> f
com.android.tools.r8.ir.conversion.LensCodeRewriter -> com.android.tools.r8.internal.aB:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> c
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():122:122 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxer):154:158 -> <init>
    boolean lambda$insertCastForFieldAssignmentIfNeeded$14(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    boolean lambda$removeUnusedArguments$13(com.android.tools.r8.ir.code.UnusedArgument,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.ir.conversion.LensCodeRewriter):122:122 -> a
    2:2:com.android.tools.r8.ir.code.Value access$100(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):122:122 -> a
    3:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):163:165 -> a
    3:5:com.android.tools.r8.ir.code.Value access$100(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):122 -> a
    6:6:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):165 -> a
    6:6:com.android.tools.r8.ir.code.Value access$100(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):122 -> a
    7:7:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):166:166 -> a
    7:7:com.android.tools.r8.ir.code.Value access$100(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):122 -> a
    8:19:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):235:246 -> a
    20:40:boolean com.android.tools.r8.ir.conversion.LensCodeRewriter.unlinkDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1233:1253 -> a
    20:40:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):248 -> a
    41:578:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):251:788 -> a
    579:579:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    579:579:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):788 -> a
    580:581:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):790:791 -> a
    582:592:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):575:585 -> a
    593:597:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):584:588 -> a
    598:690:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):587:679 -> a
    691:691:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):678:678 -> a
    692:695:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):539:542 -> a
    696:699:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField):172:175 -> a
    696:699:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):545 -> a
    700:702:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):546:546 -> a
    706:709:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):550:553 -> a
    710:715:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):552:557 -> a
    716:716:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    716:716:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):557 -> a
    717:726:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):558:567 -> a
    727:730:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):291:294 -> a
    731:1141:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):293:703 -> a
    1142:1142:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):702:702 -> a
    1143:1146:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):688:691 -> a
    1147:1147:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):690:690 -> a
    1148:1174:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):308:334 -> a
    1175:1208:void com.android.tools.r8.ir.conversion.LensCodeRewriter.checkInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeDirect):1187:1220 -> a
    1175:1208:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):334 -> a
    1209:1209:void com.android.tools.r8.ir.conversion.LensCodeRewriter.checkInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeDirect):1211:1211 -> a
    1209:1209:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):334 -> a
    1210:1210:void com.android.tools.r8.ir.conversion.LensCodeRewriter.checkInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeDirect) -> a
    1210:1210:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):334 -> a
    1211:1211:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):338:338 -> a
    1212:1217:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):337:342 -> a
    1218:1218:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> a
    1218:1218:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):342 -> a
    1219:1219:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    1219:1219:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):342 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1220:1220:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    1220:1220:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):342 -> a
    1221:1251:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):345:375 -> a
    1252:1252:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    1252:1252:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):378 -> a
    1253:1260:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):379:386 -> a
    1261:1276:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):381:396 -> a
    1277:1277:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Instruction.clearOutValue():157:157 -> a
    1277:1277:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):397 -> a
    1278:1294:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):398:414 -> a
    1295:1299:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):413:417 -> a
    1300:1313:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):416:429 -> a
    1314:1327:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):428:441 -> a
    1328:1328:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    1328:1328:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):441 -> a
    1329:1329:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    1329:1329:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    1329:1329:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):441 -> a
    1330:1331:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):442:443 -> a
    1332:1334:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):163:165 -> a
    1332:1334:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):448 -> a
    1335:1335:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    1335:1335:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):165 -> a
    1335:1335:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):448 -> a
    1336:1336:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):166:166 -> a
    1336:1336:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):448 -> a
    1337:1343:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):451:457 -> a
    1344:1344:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> a
    1344:1344:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):460 -> a
    1345:1377:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):459:491 -> a
    1378:1378:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1378:1378:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):491 -> 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 rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):491 -> a
    1380:1392:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):491:503 -> a
    1393:1421:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):502:530 -> a
    1422:1424:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):257:259 -> a
    1425:1427:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):163:165 -> a
    1425:1427:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):261 -> a
    1428:1428:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    1428:1428:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):165 -> a
    1428:1428:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):261 -> a
    1429:1429:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):166:166 -> a
    1429:1429:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):261 -> a
    1430:1811:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):262:643 -> a
    1812:1816:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):642:646 -> a
    1817:1820:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):598:601 -> a
    1821:1824:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField):172:175 -> a
    1821:1824:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):604 -> a
    1825:1831:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):605:611 -> a
    1832:1837:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):610:615 -> a
    1838:1838:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    1838:1838:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):615 -> a
    1839:1961:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):616:738 -> a
    1962:1966:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):274:278 -> a
    1967:1969:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):163:165 -> a
    1967:1969:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):280 -> a
    1970:1970:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    1970:1970:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):165 -> a
    1970:1970:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):280 -> a
    1971:1971:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):166:166 -> a
    1971:1971:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):280 -> a
    1972:2361:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):281:670 -> a
    2362:2362:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):669:669 -> a
    2363:2366:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):654:657 -> a
    2367:2492:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):656:781 -> a
    2493:2518:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):747:772 -> a
    2519:2521:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):724:726 -> a
    2522:2525:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):712:715 -> a
    2526:2624:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):714:812 -> a
    2625:2625:com.android.tools.r8.ir.conversion.LensCodeRewriterUtils lambda$rewritePartialDefault$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):237:237 -> a
    2626:2626:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):295:295 -> a
    2627:2633:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):317:323 -> a
    2634:2634: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):230:230 -> a
    2634:2634:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):323 -> a
    2635:2635:void lambda$rewritePartialDefault$3(java.util.List,com.android.tools.r8.ir.conversion.ExtraParameter):358:358 -> a
    2636:2636:java.util.Map lambda$rewritePartialDefault$4(com.android.tools.r8.ir.analysis.value.SingleNumberValue):468:468 -> a
    2637:2643:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):472:478 -> a
    2644:2644:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):477:477 -> a
    2645:2645:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):474:474 -> a
    2646:2646:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    2646:2646:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):474 -> a
    2647:2649:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):480:482 -> a
    2650:2654:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):481:485 -> a
    2655:2655:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$6(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):659:659 -> a
    2656:2656:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$8(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):680:680 -> a
    2657:2657:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$9(com.android.tools.r8.ir.code.InvokeMultiNewArray,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):692:692 -> a
    2658:2658:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$10(com.android.tools.r8.ir.code.InvokeNewArray,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):704:704 -> a
    2659:2659:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$12(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):728:728 -> a
    2660:2666:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):960:966 -> a
    2667:2667:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):962:962 -> a
    2668:2668:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3631,"2":3632,"3":3633}}
    3631:3631:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):962:962 -> a
    3632:3632:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):962:962 -> a
    3633:3633:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):962:962 -> a
    3630:3630:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):962:962 -> a
    3634:3658:java.util.Deque com.android.tools.r8.ir.conversion.LensCodeRewriter.getUnappliedLenses(com.android.tools.r8.graph.ProgramMethod):971:995 -> a
    3634:3658:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):182 -> a
    3659:3660:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):183:184 -> a
    3661:3661:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    3661:3661:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3662:3668:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):185:191 -> a
    3669:3677:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):190:198 -> a
    3678:3679:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):214:215 -> a
    3678:3679:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3680:3700:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826:846 -> a
    3680:3700:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3680:3700:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3701:3704:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):918:921 -> a
    3701:3704:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3701:3704:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3701:3704:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3705:3705:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    3705:3705:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):921 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3705:3705:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3705:3705:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3705:3705:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3706:3707:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):922:923 -> a
    3706:3707:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3706:3707:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3706:3707:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3708:3708:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    3708:3708:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):923 -> a
    3708:3708:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3708:3708:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3708:3708:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3709:3709:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    3709:3709:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    3709:3709:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):923 -> a
    3709:3709:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3709:3709:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3709:3709:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3710:3712:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):924:926 -> a
    3710:3712:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3710:3712:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3710:3712:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3713:3713:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):925:925 -> a
    3713:3713:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3713:3713:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3713:3713:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3714:3714:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    3714:3714:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):925 -> a
    3714:3714:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3714:3714:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3714:3714:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3715:3715:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):928:928 -> a
    3715:3715:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3715:3715:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3715:3715:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3716:3719:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):927:930 -> a
    3716:3719:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3716:3719:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3716:3719:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3720:3720:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    3720:3720:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):930 -> a
    3720:3720:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3720:3720:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3720:3720:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3721:3721:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    3721:3721:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    3721:3721:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):930 -> a
    3721:3721:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3721:3721:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3721:3721:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3722:3729:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):931:938 -> a
    3722:3729:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3722:3729:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3722:3729:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3730:3730:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):853:853 -> a
    3730:3730:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3730:3730:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3731:3731:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    3731:3731:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):855 -> a
    3731:3731:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3731:3731:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3732:3732:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):860:860 -> a
    3732:3732:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3732:3732:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3733:3733:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RewrittenTypeInfo,java.util.Set,int):947:947 -> a
    3733:3733:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):857 -> a
    3733:3733:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3733:3733:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3734:3734:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    3734:3734:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RewrittenTypeInfo,java.util.Set,int):947 -> a
    3734:3734:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):857 -> a
    3734:3734:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3734:3734:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3735:3735:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    3735:3735:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    3735:3735:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RewrittenTypeInfo,java.util.Set,int):947 -> a
    3735:3735:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):857 -> a
    3735:3735:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3735:3735:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3736:3736:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RewrittenTypeInfo,java.util.Set,int):949:949 -> a
    3736:3736:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):857 -> a
    3736:3736:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3736:3736:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3737:3737:com.android.tools.r8.ir.code.Argument$Builder com.android.tools.r8.ir.code.Argument.builder():36:36 -> a
    3737:3737:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RewrittenTypeInfo,java.util.Set,int):949 -> a
    3737:3737:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):857 -> a
    3737:3737:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3737:3737:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3738:3742:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RewrittenTypeInfo,java.util.Set,int):950:954 -> a
    3738:3742:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):857 -> a
    3738:3742:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3738:3742:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3743:3746:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):863:866 -> a
    3743:3746:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3743:3746:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3747:3747:com.android.tools.r8.ir.code.Argument$Builder com.android.tools.r8.ir.code.Argument.builder():36:36 -> a
    3747:3747:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):866 -> a
    3747:3747:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3747:3747:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3748:3784:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):867:903 -> a
    3748:3784:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3748:3784:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3785:3790:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):218:223 -> a
    3785:3790:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3791:3791:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):201:201 -> a
    3792:3795:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1005:1008 -> a
    3796:3796:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    3796:3796:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1008 -> a
    3797:3798:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1009:1010 -> a
    3799:3799:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    3799:3799:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1010 -> a
    3800:3800:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    3800:3800:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    3800:3800:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1010 -> a
    3801:3801:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654:1654 -> a
    3801:3801:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1010 -> a
    3802:3812:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1010:1020 -> a
    3813:3813:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    3813:3813:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1020 -> a
    3814:3820:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1021:1027 -> a
    3821:3835:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1038:1052 -> a
    3836:3836:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    3836:3836:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1052 -> a
    3837:3842:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1053:1058 -> a
    3843:3843:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    3843:3843:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1058 -> a
    3844:3844:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654:1654 -> a
    3844:3844:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1054 -> a
    3845:3859:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1054:1068 -> a
    3860:3860:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    3860:3860:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1068 -> a
    3861:3867:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1069:1075 -> a
    3868:3878:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1087:1097 -> a
    3879:3879:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    3879:3879:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1097 -> a
    3880:3888:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1098:1106 -> a
    3889:3889:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    3889:3889:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1106 -> a
    3890:3892:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1107:1109 -> a
    3893:3893:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    3893:3893:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1109 -> a
    3894:3894:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654:1654 -> a
    3894:3894:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1108 -> a
    3895:3904:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1108:1117 -> a
    3905:3912:com.android.tools.r8.graph.DexField rewriteFieldReference(com.android.tools.r8.graph.GraphLens$FieldLookupResult,com.android.tools.r8.graph.ProgramMethod):1122:1129 -> a
    3913:3918:com.android.tools.r8.graph.DexField rewriteFieldReference(com.android.tools.r8.graph.GraphLens$FieldLookupResult,com.android.tools.r8.graph.ProgramMethod):1128:1133 -> a
    3919:3919:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1144:1144 -> a
    3920:3930:boolean com.android.tools.r8.ir.conversion.LensCodeRewriter.defaultValueHasChanged(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1157:1167 -> a
    3920:3930:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1144 -> a
    3931:3933:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1145:1147 -> a
    3934:3937:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.LensCodeRewriter.defaultValueLatticeElement(com.android.tools.r8.graph.DexType):1172:1175 -> a
    3934:3937:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1149 -> a
    3938:3940:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1148:1150 -> a
    boolean lambda$insertCastForReturnIfNeeded$16(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> b
    1:1:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$11(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):716:716 -> b
    boolean lambda$insertCastsForInvokeArgumentsIfNeeded$15(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> c
    1:1:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$7(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):670:670 -> c
    2:2:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> c
    2:2:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$7(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):670 -> c
com.android.tools.r8.ir.conversion.LensCodeRewriter$1 -> com.android.tools.r8.internal.XA:
    com.android.tools.r8.graph.GraphLens val$codeLens -> e
    com.android.tools.r8.ir.code.InvokeMethod val$invoke -> b
    com.android.tools.r8.ir.conversion.LensCodeRewriter this$0 -> f
    com.android.tools.r8.graph.DexMethod val$invokedMethod -> d
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens val$graphLens -> c
    1:1:void <init>(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):400:400 -> <init>
    1:3:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():408:410 -> c
    4:4:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> c
    4:4:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():410 -> c
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> c
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> c
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():410 -> c
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():403:403 -> k
com.android.tools.r8.ir.conversion.LensCodeRewriter$GraphLensInterval -> com.android.tools.r8.internal.YA:
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens graphLens -> a
    com.android.tools.r8.graph.DexMethod method -> c
    com.android.tools.r8.graph.GraphLens codeLens -> b
    1:4:void <init>(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):130:133 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():141:141 -> a
    1:1:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens getGraphLens():137:137 -> b
    1:1:com.android.tools.r8.graph.DexMethod getMethod():145:145 -> c
com.android.tools.r8.ir.conversion.LensCodeRewriter$InstructionReplacer -> com.android.tools.r8.internal.ZA:
    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
    1:1:void <clinit>():1256:1256 -> <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):1264:1268 -> <init>
    1:11:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1276:1286 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    12:12:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1286 -> a
    13:14:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1286:1287 -> a
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    15:15:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1287 -> a
    16:17:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1287:1288 -> a
    18:18:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> a
    18:18:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1288 -> a
    19:21:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1288:1290 -> a
    22:22:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1286:1286 -> a
com.android.tools.r8.ir.conversion.LensCodeRewriterUtils -> com.android.tools.r8.internal.bB:
    java.util.Map protoFixupCache -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexDefinitionSupplier definitions -> a
    java.util.Map rewrittenCallSiteCache -> e
    com.android.tools.r8.graph.GraphLens graphLens -> b
    com.android.tools.r8.graph.GraphLens codeLens -> c
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):50:50 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,boolean):53:53 -> <init>
    3:17:void <init>(com.android.tools.r8.graph.AppView,boolean):43:57 -> <init>
    18:18:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):61:61 -> <init>
    19:41:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):43:65 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():69:69 -> a
    2:5:com.android.tools.r8.graph.DexCallSite rewriteCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):73:76 -> a
    6:6:com.android.tools.r8.graph.DexCallSite lambda$rewriteCallSite$0(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexCallSite):77:77 -> a
    7:9:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto):227:229 -> a
    10:10:com.android.tools.r8.graph.DexType lambda$rewriteProto$1(com.android.tools.r8.graph.DexType):230:230 -> a
    11:11:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    11:11:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    12:12:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):122 -> a
    13:17:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):123:127 -> a
    18:27:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):126:135 -> a
    28:28:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):201:201 -> a
    28:28:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):217:217 -> a
    44:44:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
    45:55:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):205:215 -> a
    45:55:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
    56:66:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):203:213 -> a
    56:66:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
    67:70:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):207:210 -> a
    67:70:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
    71:81:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):137:147 -> a
    82:92:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):146:156 -> a
    93:93:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):201:201 -> a
    93:93:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    109:109:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):217:217 -> a
    109:109:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
    110:120:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):205:215 -> a
    110:120:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
    121:131:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):203:213 -> a
    121:131:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
    132:135:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):207:210 -> a
    132:135:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
    136:156:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):157:177 -> a
    157:157:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2744:2744 -> a
    157:157:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):178 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:7:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):81:87 -> b
    8:8:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> b
    8:8:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):87 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> b
    9:9:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):87 -> b
    10:11:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):89:90 -> b
    12:13:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):188:189 -> b
    12:13:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    14:22:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):212:220 -> b
    14:22:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    14:22:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    23:23:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):214:214 -> b
    23:23:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    23:23:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    24:26:com.android.tools.r8.graph.DexValue$DexValueMethodHandle com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteDexValueMethodHandle(com.android.tools.r8.graph.DexValue$DexValueMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):235:237 -> b
    24:26:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):214 -> b
    24:26:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    24:26:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    27:27:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):216:216 -> b
    27:27:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    27:27:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    28:30:com.android.tools.r8.graph.DexValue$DexValueMethodType com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteDexMethodType(com.android.tools.r8.graph.DexValue$DexValueMethodType):205:207 -> b
    28:30:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):216 -> b
    28:30:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    28:30:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    31:36:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):193:198 -> b
    31:36:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    37:39:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):106:108 -> b
    37:39:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    40:40:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> b
    40:40:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):108 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    41:41:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):108:108 -> b
    41:41:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    42:42:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> b
    42:42:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):109 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    43:43:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):109:109 -> b
    43:43:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    44:44:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> b
    44:44:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):109 -> b
    44:44:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    45:49:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):109:113 -> b
    45:49:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    50:50:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):112:112 -> b
    50:50:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    51:51:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> b
    51:51:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.LambdaDescriptor.getMainFunctionalInterfaceMethodReference(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexItemFactory):272 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):112 -> b
    51:51:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    52:56:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.LambdaDescriptor.getMainFunctionalInterfaceMethodReference(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexItemFactory):272:276 -> b
    52:56:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):112 -> b
    52:56:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    57:60:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):114:117 -> b
    57:60:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    61:65:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):93:97 -> b
com.android.tools.r8.ir.conversion.LibraryDesugaredChecker -> com.android.tools.r8.internal.iB:
    com.android.tools.r8.graph.DexString jDollarDescriptorPrefix -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView):26:28 -> <init>
    1:4:boolean isClassLibraryDesugared(com.android.tools.r8.graph.DexProgramClass):32:35 -> a
com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer -> com.android.tools.r8.internal.hB:
    com.android.tools.r8.graph.DexString jDollarDescriptorPrefix -> a
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.graph.DexProgramClass clazz -> c
    boolean isLibraryDesugared -> d
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProgramClass):46:46 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProgramClass):43:49 -> <init>
    1:1:com.android.tools.r8.graph.DexString access$000(com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer):38:38 -> a
    2:2:boolean isLibraryDesugared():57:57 -> a
    3:13:void registerClass(com.android.tools.r8.graph.DexProgramClass):61:71 -> a
    14:14:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):101:101 -> a
    14:14:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    15:18:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.DexMethod):90:93 -> a
    15:18:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):101 -> a
    15:18:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    19:29:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):102:112 -> a
    19:29:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    30:31:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:125 -> a
    30:31:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):113 -> a
    30:31:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    32:32:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):113:113 -> a
    32:32:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    33:37:void registerClass(com.android.tools.r8.graph.DexProgramClass):72:76 -> a
    38:39:void registerType(com.android.tools.r8.graph.DexType):80:81 -> a
    40:40:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    40:40:void registerType(com.android.tools.r8.graph.DexType):81 -> a
    41:41:void registerType(com.android.tools.r8.graph.DexType):81:81 -> a
    42:42:void registerField(com.android.tools.r8.graph.DexEncodedField):97:97 -> a
    43:44:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerField(com.android.tools.r8.graph.DexField):85:86 -> a
    43:44:void registerField(com.android.tools.r8.graph.DexEncodedField):97 -> a
    1:1:void run():53:53 -> b
com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry -> com.android.tools.r8.internal.gB:
    com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer this$0 -> f
    1:2:void <init>(com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):121:122 -> <init>
    1:1:boolean com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry.registerField(com.android.tools.r8.graph.DexField):126:126 -> a
    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):179 -> a
    2:2:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):154:154 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):144:144 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):164:164 -> b
    1:1:boolean com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry.registerField(com.android.tools.r8.graph.DexField):126:126 -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):184 -> c
    2:2:void registerInstanceOf(com.android.tools.r8.graph.DexType):209:209 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):159:159 -> d
    2:2:void registerNewInstance(com.android.tools.r8.graph.DexType):189:189 -> d
    1:1:boolean com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry.registerField(com.android.tools.r8.graph.DexField):126:126 -> e
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):194 -> e
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod,boolean):169:169 -> e
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):174:174 -> f
    2:2:void registerTypeReference(com.android.tools.r8.graph.DexType):204:204 -> f
    1:1:boolean com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry.registerField(com.android.tools.r8.graph.DexField):126:126 -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):199 -> g
    2:2:boolean registerType(com.android.tools.r8.graph.DexType):135:135 -> g
    3:3:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> g
    3:3:boolean registerType(com.android.tools.r8.graph.DexType):135 -> g
    4:4:boolean registerType(com.android.tools.r8.graph.DexType):136:136 -> g
    5:5:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):149:149 -> g
    1:2:boolean registerMethod(com.android.tools.r8.graph.DexMethod):130:131 -> h
    3:3:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> h
    3:3:boolean registerMethod(com.android.tools.r8.graph.DexMethod):131 -> h
com.android.tools.r8.ir.conversion.MethodConversionOptions -> com.android.tools.r8.internal.nE:
    1:1:void <init>():7:7 -> <init>
    boolean isPeepholeOptimizationsEnabled() -> a
com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions -> com.android.tools.r8.internal.lE:
    com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions INSTANCE -> a
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>():37:37 -> <init>
    boolean isPeepholeOptimizationsEnabled() -> a
    1:1:com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions getInstance():40:40 -> b
com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions -> com.android.tools.r8.internal.mE:
    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> a
    boolean enablePeepholeOptimizations -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.MethodProcessor):16:16 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.conversion.MethodProcessor):14:17 -> <init>
    1:2:boolean isPeepholeOptimizationsEnabled():27:28 -> a
    1:2:void disablePeepholeOptimizations():21:22 -> b
com.android.tools.r8.ir.conversion.MethodOptimizationFeedback -> com.android.tools.r8.internal.wE:
    void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget) -> a
    void methodInitializesClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.Set) -> 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 methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int) -> a
    void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo) -> a
    void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint) -> a
    void setDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification) -> a
    void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod) -> a
    void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection) -> a
    void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> a
    void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint) -> a
    void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet) -> a
    void unsetForceInline(com.android.tools.r8.graph.ProgramMethod) -> a
    void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod) -> b
    void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> b
    void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod) -> c
    void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod) -> c
    void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> e
    void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> f
com.android.tools.r8.ir.conversion.MethodProcessor -> com.android.tools.r8.internal.GE:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation() -> a
    boolean isPrimaryMethodProcessor() -> b
    boolean isProcessedConcurrently(com.android.tools.r8.graph.ProgramMethod) -> b
    void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod) -> c
    boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod) -> d
com.android.tools.r8.ir.conversion.MethodProcessorWithWave -> com.android.tools.r8.internal.HE:
    com.android.tools.r8.utils.collections.ProgramMethodSet waveExtension -> b
    com.android.tools.r8.utils.collections.ProgramMethodSet wave -> a
    1:4:void <init>():10:13 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation():17:17 -> a
    1:1:boolean isProcessedConcurrently(com.android.tools.r8.graph.ProgramMethod):22:22 -> b
    1:1:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):27:27 -> c
com.android.tools.r8.ir.conversion.OneTimeMethodProcessor -> com.android.tools.r8.internal.mK:
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> c
    1:3:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.utils.collections.ProgramMethodSet):23:25 -> <init>
    1:1:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder builder(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):29:29 -> a
    2:2:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.AppView):43:43 -> a
    3:3:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):48:48 -> a
    3:3:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.AppView):43 -> a
    4:5:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.utils.collections.ProgramMethodSet.create(com.android.tools.r8.graph.ProgramMethod):44:45 -> a
    4:5:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):33 -> a
    6:6:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.AppView):43:43 -> a
    6:6:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):33 -> a
    7:7:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):48:48 -> a
    7:7:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.AppView):43 -> a
    7:7:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):33 -> a
    8:9:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.utils.collections.ProgramMethodSet.create(com.android.tools.r8.graph.ProgramMethod):44:45 -> a
    8:9:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):38 -> a
    10:10:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):48:48 -> a
    10:10:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):38 -> a
    11:11:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):48:48 -> a
    12:12:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):53:53 -> a
    13:15:void forEachWaveWithExtension(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction):67:69 -> a
    16:20:void com.android.tools.r8.ir.conversion.MethodProcessorWithWave.prepareForWaveExtensionProcessing():31:35 -> a
    16:20:void forEachWaveWithExtension(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction):71 -> a
    21:22:void forEachWaveWithExtension(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction,java.util.concurrent.ExecutorService):77:78 -> a
    23:27:void com.android.tools.r8.ir.conversion.MethodProcessorWithWave.prepareForWaveExtensionProcessing():31:35 -> a
    23:27:void forEachWaveWithExtension(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction,java.util.concurrent.ExecutorService):82 -> a
    28:28:void lambda$forEachWaveWithExtension$0(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):80:80 -> a
    boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod) -> d
com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder -> com.android.tools.r8.internal.kK:
    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToProcess -> a
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> b
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):91:91 -> <init>
    2:6:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):88:92 -> <init>
    1:1:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder add(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    2:2:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor build():101:101 -> a
com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction -> com.android.tools.r8.internal.lK:
    void accept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
com.android.tools.r8.ir.conversion.PostMethodProcessor -> com.android.tools.r8.internal.PL:
    java.util.Deque waves -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.utils.collections.ProgramMethodSet processed -> e
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> c
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph,com.android.tools.r8.ir.conversion.PostMethodProcessor$1):35:35 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):41:41 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):39:43 -> <init>
    1:1:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):48:48 -> a
    2:2:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext com.android.tools.r8.ir.conversion.PostMethodProcessor.createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):48:48 -> a
    2:2:com.android.tools.r8.utils.Timing lambda$forEachMethod$0(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):178 -> a
    3:4:com.android.tools.r8.utils.Timing lambda$forEachMethod$0(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):178:179 -> a
    5:11:java.util.Deque createWaves(com.android.tools.r8.ir.conversion.callgraph.CallGraph):148:154 -> a
    12:30:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):167:185 -> a
    31:35:void com.android.tools.r8.ir.conversion.MethodProcessorWithWave.prepareForWaveExtensionProcessing() -> a
    31:35:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):186 -> a
    36:38:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):187:189 -> a
    1:2:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):58:59 -> d
com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder -> com.android.tools.r8.internal.OL:
    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodsToReprocessBuilder -> a
    1:3:void <init>(com.android.tools.r8.graph.GraphLens):66:68 -> <init>
    1:1:void add(com.android.tools.r8.graph.ProgramMethod):73:73 -> a
    2:2:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):77:77 -> a
    3:3:void com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder.add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):77:77 -> a
    3:3:void lambda$addAll$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):81 -> a
    4:4:void addAll(java.util.Collection,com.android.tools.r8.graph.GraphLens):81:81 -> a
    5:5:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):90:90 -> a
    6:6:void put(com.android.tools.r8.utils.collections.ProgramMethodSet):95:95 -> a
    7:7:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder removeAll(java.util.Collection):103:103 -> a
    8:8:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder rewrittenWithLens(com.android.tools.r8.graph.AppView):111:111 -> a
    9:9:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    9:9:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder rewrittenWithLens(com.android.tools.r8.graph.AppView):111 -> a
    10:10:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder rewrittenWithLens(com.android.tools.r8.graph.GraphLens):116:116 -> a
    11:31:com.android.tools.r8.ir.conversion.PostMethodProcessor build(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):123:143 -> a
    32:32:void lambda$build$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):128:128 -> a
    33:33:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    33:33:void lambda$build$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):128 -> a
    34:37:void lambda$build$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):128:131 -> a
    38:38:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    38:38:void lambda$build$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):131 -> a
    1:1:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):85:85 -> b
    1:1:void remove(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):99:99 -> c
com.android.tools.r8.ir.conversion.PrimaryMethodProcessor -> com.android.tools.r8.internal.tM:
    com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation callSiteInformation -> d
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> f
    com.android.tools.r8.graph.AppView appView -> c
    java.util.Deque waves -> e
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():31:31 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):50:53 -> <init>
    1:1:com.android.tools.r8.ir.conversion.PrimaryMethodProcessor create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):61:61 -> a
    2:2:com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilder com.android.tools.r8.ir.conversion.callgraph.CallGraph.builder(com.android.tools.r8.graph.AppView):53:53 -> a
    2:2:com.android.tools.r8.ir.conversion.PrimaryMethodProcessor create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):61 -> a
    3:4:com.android.tools.r8.ir.conversion.PrimaryMethodProcessor create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):61:62 -> a
    5:5:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):67:67 -> a
    6:6:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext com.android.tools.r8.ir.conversion.PrimaryMethodProcessor.createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):67:67 -> a
    6:6:com.android.tools.r8.utils.Timing lambda$forEachMethod$0(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):138 -> a
    7:8:com.android.tools.r8.utils.Timing lambda$forEachMethod$0(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):138:139 -> a
    9:9:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation():88:88 -> a
    10:21:java.util.Deque createWaves(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):92:103 -> a
    22:40:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):126:144 -> a
    41:45:void com.android.tools.r8.ir.conversion.MethodProcessorWithWave.prepareForWaveExtensionProcessing():31:35 -> a
    41:45:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):145 -> a
    46:48:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):146:148 -> a
    boolean isPrimaryMethodProcessor() -> b
    1:2:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):82:83 -> d
com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction -> com.android.tools.r8.internal.qM:
    com.android.tools.r8.utils.Timing apply(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction -> com.android.tools.r8.internal.rM:
    void notifyWaveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService) -> a
com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction -> com.android.tools.r8.internal.sM:
    void notifyWaveStart(com.android.tools.r8.utils.collections.ProgramMethodSet) -> a
com.android.tools.r8.ir.conversion.SourceCode -> com.android.tools.r8.internal.gV:
    void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean) -> a
    void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean) -> a
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType) -> a
    boolean hasValidTypesFromStackMap() -> a
    void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder) -> b
    boolean verifyCurrentInstructionCanThrow() -> b
    boolean verifyRegister(int) -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> c
    int instructionIndex(int) -> c
    void setUp() -> c
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    int instructionCount() -> d
    com.android.tools.r8.ir.code.Position getCurrentPosition() -> e
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    int getMoveExceptionRegister(int) -> f
    int instructionOffset(int) -> g
com.android.tools.r8.ir.conversion.StringSwitchConverter -> com.android.tools.r8.internal.LW:
    1:7:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter.isDefinedByStringHashCode(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):187:193 -> a
    1:7:boolean access$700(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):107 -> a
com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping -> com.android.tools.r8.internal.FW:
    com.android.tools.r8.ir.code.Phi idValue -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap mapping -> c
    com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> a
    1:1:void <init>(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.conversion.StringSwitchConverter$1):647:647 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Phi):788:788 -> <init>
    3:6:void <init>(com.android.tools.r8.ir.code.Phi):786:789 -> <init>
    1:1:com.android.tools.r8.ir.code.BasicBlock access$000(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping):647:647 -> a
    2:2:com.android.tools.r8.ir.code.BasicBlock access$002(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):647:647 -> a
    1:1:com.android.tools.r8.ir.code.Phi access$100(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping):647:647 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap access$300(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping):647:647 -> c
com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder -> com.android.tools.r8.internal.EW:
    1:1:void <init>():649:649 -> <init>
    1:1:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping build(com.android.tools.r8.ir.code.BasicBlock):676:676 -> a
    2:2:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):688:688 -> a
    3:3:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    3:3:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):691 -> a
    4:18:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):693:707 -> a
    19:19:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    19:19:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):711 -> a
    20:21:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):716:717 -> a
    22:22:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    22:22:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):719 -> a
    23:59:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):724:760 -> a
    60:61:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getTrueTarget(com.android.tools.r8.ir.code.If):800:801 -> a
    60:61:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):760 -> a
    62:63:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):760:761 -> a
    64:64:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    64:64:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):748 -> a
    65:65:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    65:65:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):736 -> a
    66:80:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.code.BasicBlock):766:780 -> a
    81:81:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    81:81:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.code.BasicBlock):769 -> a
com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo -> com.android.tools.r8.internal.HW:
    java.util.Map mapping -> c
    com.android.tools.r8.ir.code.Value value -> d
    com.android.tools.r8.ir.code.BasicBlock insertionBlock -> b
    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,java.util.Set):335:335 -> 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):331 -> a
    30:30:void createAndInsertStringSwitch(com.android.tools.r8.ir.code.IRCode):304 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    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,java.util.Set):335:335 -> 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):331 -> 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.internal.GW:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> 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>
    1:1:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):207:207 -> a
    2:2:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping.builder():793:793 -> a
    2:2:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):208 -> a
    3:13:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):208:218 -> a
    14:15:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):817:818 -> a
    14:15:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):218 -> a
    16:21:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.graph.DexItemFactory):827:832 -> a
    16:21:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):818 -> a
    16:21:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):218 -> a
    22:23:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):820:821 -> a
    22:23:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):218 -> a
    24:25:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.graph.DexItemFactory):840:841 -> a
    24:25:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):821 -> a
    24:25:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):218 -> a
    26:26:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):219:219 -> a
    27:28:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringValueFromHashValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):848:849 -> a
    27:28:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):219 -> a
    29:31:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):220:222 -> a
    32:32:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping.builder(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):643:643 -> a
    32:32:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):221 -> a
    33:48:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):223:238 -> a
    49:49:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> a
    49:49:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):238 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    50:59:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):238:247 -> a
com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping -> com.android.tools.r8.internal.JW:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap mapping -> c
    com.android.tools.r8.ir.code.Value stringHashValue -> b
    com.android.tools.r8.ir.code.BasicBlock insertionBlock -> a
    boolean $assertionsDisabled -> d
    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):633:633 -> <init>
    3:7:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):631:635 -> <init>
    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.internal.IW:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.ir.code.Phi intermediateIdValue -> c
    com.android.tools.r8.ir.code.Value stringValue -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.code.BasicBlock continuationBlock -> a
    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:14:com.android.tools.r8.ir.code.Phi getIntermediateIdValueOrElse(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi):339:352 -> a
    15:15:com.android.tools.r8.ir.code.Phi getIntermediateIdValueOrElse(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi):351:351 -> a
    16:16:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping build(com.android.tools.r8.ir.code.BasicBlock):387:387 -> a
    17:19:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):391:393 -> a
    20:25:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):435:440 -> a
    20:25:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    26:31:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.graph.DexItemFactory):827:832 -> a
    26:31:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):440 -> a
    26:31:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    32:32:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):443:443 -> a
    32:32:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    33:35:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isSameStringHashValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):858:860 -> a
    33:35:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):443 -> a
    33:35:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    36:50:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):450:464 -> a
    36:50:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>():176:176 -> a
    51:51:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):464 -> a
    51:51:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    52:53:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getTrueTarget(com.android.tools.r8.ir.code.If):800:801 -> a
    52:53:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):465 -> a
    52:53:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    54:54:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):518:518 -> a
    54:54:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):466 -> a
    54:54:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    55:55:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):472:472 -> a
    55:55:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    56:56:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> a
    56:56:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):476 -> a
    56:56:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    57:61:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):476:480 -> a
    57:61:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    62:63:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):395:396 -> a
    64:64:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):485:485 -> a
    64:64:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    65:66:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.graph.DexItemFactory):840:841 -> a
    65:66:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):485 -> a
    65:66:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    67:67:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):488:488 -> a
    67:67:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    68:70:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isSameStringHashValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):858:860 -> a
    68:70:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):488 -> a
    68:70:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    71:71:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):494:494 -> a
    71:71:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    72:72:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>():176:176 -> a
    72:72:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):494 -> a
    72:72:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    73:75:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):495:497 -> a
    73:75:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    76:76:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):518:518 -> a
    76:76:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):498 -> a
    76:76:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    77:77:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):505:505 -> a
    77:77:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    78:78:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> a
    78:78:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):509 -> a
    78:78:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    79:83:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):509:513 -> a
    79:83:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    84:91:boolean addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.Set):526:533 -> a
    92:92:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    92:92:boolean addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.Set):540 -> a
    93:141:boolean addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.Set):541:589 -> a
    142:142:boolean addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.Set):579:579 -> a
    143:151: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):597:605 -> a
    152:152:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.ConstNumber.asConstNumberOrNull(com.android.tools.r8.ir.code.Instruction):53:53 -> a
    152:152: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):605 -> a
    153:166: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):607:620 -> 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):404:430 -> b
    28:30:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.startOfGotoChain():1546:1548 -> b
    28:30:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):430 -> b
    31:31:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):431:431 -> b
com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils -> com.android.tools.r8.internal.KW:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():797:797 -> <clinit>
    1:8:com.android.tools.r8.ir.code.BasicBlock fallthroughBlock(com.android.tools.r8.ir.code.JumpInstruction):805:812 -> a
com.android.tools.r8.ir.conversion.StringSwitchRemover -> com.android.tools.r8.internal.PW:
    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 -> d
    1:1:void <clinit>():47:47 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.IdentifierNameStringMarker):53:56 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement access$300(com.android.tools.r8.ir.conversion.StringSwitchRemover):47:47 -> a
    2:29:boolean prepareForStringSwitchRemoval(com.android.tools.r8.ir.code.IRCode):116:143 -> a
    1:1:com.android.tools.r8.graph.AppView access$400(com.android.tools.r8.ir.conversion.StringSwitchRemover):47:47 -> b
    2:20:void run(com.android.tools.r8.ir.code.IRCode):60:78 -> b
    21:22:boolean com.android.tools.r8.ir.conversion.StringSwitchRemover.hashCodeOfKeysMayChangeAfterMinification(com.android.tools.r8.ir.code.StringSwitch):110:111 -> b
    21:22:void run(com.android.tools.r8.ir.code.IRCode):79 -> b
    23:23:void run(com.android.tools.r8.ir.code.IRCode):84:84 -> b
    24:44:void run(com.android.tools.r8.ir.code.IRCode):80:100 -> b
com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleEqualityBasedStringSwitchRemover -> com.android.tools.r8.internal.MW:
    com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> g
    com.android.tools.r8.ir.code.BasicBlock block -> f
    com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> i
    boolean $assertionsDisabled -> j
    java.util.Map structure -> h
    1:1:void <clinit>():177:177 -> <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):177:177 -> <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):189:193 -> <init>
    1:2:java.util.Map createStructure(com.android.tools.r8.ir.code.StringSwitch):197:198 -> a
    3:33:void removeStringSwitch():205:235 -> a
    34:34:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    34:34:void removeStringSwitch():237 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    35:35:void removeStringSwitch():237 -> a
    36:36:void removeStringSwitch():237:237 -> a
    37:44:void removeStringSwitch():236:243 -> a
    45:45:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    45:45:void removeStringSwitch():245 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    46:46:void removeStringSwitch():245 -> a
    47:49:void removeStringSwitch():245:247 -> a
    50:56: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,com.android.tools.r8.ir.code.Instruction[]):1482:1488 -> a
    50:56:void removeStringSwitch():244 -> a
    57:62:void removeStringSwitch():250:255 -> 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():255 -> a
    65:65:void removeStringSwitch():255:255 -> 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,java.util.Set):335:335 -> 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):331 -> a
    66:66:void removeStringSwitch():255 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    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,java.util.Set):335:335 -> 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):331 -> a
    67:67:void removeStringSwitch():255 -> a
    68:77:void removeStringSwitch():256:265 -> a
com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover -> com.android.tools.r8.internal.NW:
    com.android.tools.r8.ir.code.BasicBlock idSwitchBlock -> h
    com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> l
    boolean $assertionsDisabled -> m
    com.android.tools.r8.ir.code.BasicBlock hashSwitchFallthroughBlock -> g
    com.android.tools.r8.ir.code.BasicBlock hashSwitchBlock -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap structure -> j
    int nextStringId -> k
    com.android.tools.r8.ir.code.BasicBlock idSwitchFallthroughBlock -> i
    1:1:void <clinit>():269:269 -> <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):269:269 -> <init>
    2:8: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):286:292 -> <init>
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap createStructure(com.android.tools.r8.ir.code.StringSwitch):301:302 -> 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):304:310 -> a
    10:20:void removeStringSwitch():319:329 -> a
    21:21: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):1196:1196 -> a
    21:21:void removeStringSwitch():329 -> a
    22:33:void removeStringSwitch():330:341 -> a
    34:34:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):406:406 -> a
    34:34:void removeStringSwitch():362 -> a
    35:35:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296:296 -> a
    35:35:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):409 -> a
    35:35:void removeStringSwitch():362 -> a
    36:36:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    36:36:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):409 -> a
    36:36:void removeStringSwitch():362 -> a
    37:37:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    37:37:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
    37:37:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):409 -> a
    37:37:void removeStringSwitch():362 -> a
    38:64:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):409:435 -> a
    38:64:void removeStringSwitch():362 -> a
    65:65:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296:296 -> a
    65:65:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):440 -> a
    65:65:void removeStringSwitch():362 -> a
    66:66:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    66:66:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):440 -> a
    66:66:void removeStringSwitch():362 -> a
    67:67:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    67:67:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
    67:67:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):440 -> a
    67:67:void removeStringSwitch():362 -> a
    68:68:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):440:440 -> a
    68:68:void removeStringSwitch():362 -> a
    69:80:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):439:450 -> a
    69:80:void removeStringSwitch():362 -> a
    81:81:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296:296 -> a
    81:81:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):455 -> a
    81:81:void removeStringSwitch():362 -> a
    82:82:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    82:82:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    82:82:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):455 -> a
    82:82:void removeStringSwitch():362 -> a
    83:83:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    83:83:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
    83:83:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):455 -> a
    83:83:void removeStringSwitch():362 -> a
    84:84:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):455:455 -> a
    84:84:void removeStringSwitch():362 -> a
    85:97:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):454:466 -> a
    85:97:void removeStringSwitch():362 -> a
    98:101:void removeStringSwitch():363:366 -> a
    102:102:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitch(com.android.tools.r8.ir.code.Value):393:393 -> a
    102:102:void removeStringSwitch():366 -> a
    103:103:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.keySet():43:43 -> a
    103:103:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitch(com.android.tools.r8.ir.code.Value):393 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    103:103:void removeStringSwitch():366 -> a
    104:112:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitch(com.android.tools.r8.ir.code.Value):393:401 -> a
    104:112:void removeStringSwitch():366 -> a
    113:129:void removeStringSwitch():367:383 -> a
    130:131:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):471:472 -> a
    130:131:void removeStringSwitch():386 -> a
    132:134:int[] com.android.tools.r8.utils.ArrayUtils.createIdentityArray(int):121:123 -> a
    132:134:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):472 -> a
    132:134:void removeStringSwitch():386 -> a
    135:143:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):473:481 -> a
    135:143:void removeStringSwitch():386 -> a
    144:146:void removeStringSwitch():387:389 -> a
com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleStringSwitchRemover -> com.android.tools.r8.internal.OW:
    java.util.ListIterator blockIterator -> b
    java.util.Set newBlocksWithStrings -> c
    com.android.tools.r8.ir.code.Value stringValue -> e
    com.android.tools.r8.ir.code.IRCode code -> a
    com.android.tools.r8.ir.code.Position position -> d
    1:1:void <init>(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.StringSwitch,java.util.Set,com.android.tools.r8.ir.conversion.StringSwitchRemover$1):153:153 -> <init>
    2:7:void <init>(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.StringSwitch,java.util.Set):166:171 -> <init>
    void removeStringSwitch() -> a
com.android.tools.r8.ir.conversion.SwitchPayloadResolver -> com.android.tools.r8.internal.uX:
    java.util.Map unresolvedPayload -> a
    java.util.Map payloadToData -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:17:void <init>():16:32 -> <init>
    1:6:void addPayloadUser(com.android.tools.r8.code.Instruction):35:40 -> a
    7:21:void resolve(com.android.tools.r8.code.SwitchPayload):45:59 -> a
    22:22:int[] absoluteTargets(int):68:68 -> a
    23:23:void clear():84:84 -> a
    1:1:int[] getKeys(int):72:72 -> b
com.android.tools.r8.ir.conversion.SwitchPayloadResolver$PayloadData -> com.android.tools.r8.internal.tX:
    int[] absoluteTargets -> b
    int[] keys -> c
    int userOffset -> a
    1:1:void <init>(int):26:26 -> <init>
    2:7:void <init>(int):22:27 -> <init>
com.android.tools.r8.ir.conversion.SyntheticStraightLineSourceCode -> com.android.tools.r8.internal.NX:
    java.util.List instructionBuilders -> a
    com.android.tools.r8.ir.code.Position position -> b
    1:3:void <init>(java.util.List,com.android.tools.r8.ir.code.Position):21:23 -> <init>
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    1:1:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):51:51 -> a
    2:2:void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean):118:118 -> a
    3:3:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):129:129 -> a
    4:4:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):135:135 -> a
    5:5:boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo):140:140 -> a
    boolean verifyCurrentInstructionCanThrow() -> b
    boolean verifyRegister(int) -> b
    1:1:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):45:45 -> b
    2:2:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> c
    int instructionIndex(int) -> c
    void setUp() -> c
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    1:1:int instructionCount():28:28 -> d
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():76:76 -> e
    1:1:int getMoveExceptionRegister(int):123:123 -> f
    int instructionOffset(int) -> g
com.android.tools.r8.ir.conversion.TypeConstraintResolver -> com.android.tools.r8.internal.QZ:
    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
    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>
    1:21:java.util.List com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundOne(com.android.tools.r8.ir.code.IRCode):106:126 -> a
    1:21:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):96 -> a
    22:26:java.util.ArrayList com.android.tools.r8.ir.conversion.TypeConstraintResolver.constrainValues(boolean,java.util.List):160:164 -> a
    22:26:java.util.List com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundOne(com.android.tools.r8.ir.code.IRCode):131 -> a
    22:26:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):96 -> a
    27:27:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):99:99 -> a
    28:29:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):139:140 -> a
    28:29:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    30:34:java.util.ArrayList com.android.tools.r8.ir.conversion.TypeConstraintResolver.constrainValues(boolean,java.util.List):160:164 -> a
    30:34:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):143 -> a
    30:34:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    35:37:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):144:146 -> a
    35:37:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    38:38:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):146:146 -> a
    45:45:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    46:46:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):146:146 -> a
    46:46:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    47:47:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):146:146 -> a
    47:47:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    39:43:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):151:155 -> a
    39:43:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    44:44:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):148:148 -> a
    44:44:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    48:48:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):172:172 -> a
    49:51:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.TypeConstraintResolver.canonical(com.android.tools.r8.ir.code.Value):273:275 -> a
    49:51:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):173 -> a
    52:62:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):175:185 -> a
    63:105:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):28:70 -> a
    63:105:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    106:106:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):65:65 -> a
    106:106:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    107:107:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):60:60 -> a
    107:107:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    108:108:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):55:55 -> a
    108:108:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    109:109:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):50:50 -> a
    109:109:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    110:110:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):45:45 -> a
    110:110:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    111:111:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):40:40 -> a
    111:111:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    112:112:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):35:35 -> a
    112:112:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    113:113:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):30:30 -> a
    113:113:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    114:114:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186:186 -> a
    115:127:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):216:228 -> a
    128:128:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    128:128:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    128:128:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):228 -> a
    129:129:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    129:129:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    129:129:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    129:129:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):228 -> a
    130:130:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):228:228 -> a
    131:138:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):226:233 -> a
    139:139:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    139:139:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    140:140:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    140:140:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):233 -> a
    141:143:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):233:235 -> a
    144:146:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.TypeConstraintResolver.canonical(com.android.tools.r8.ir.code.Value):273:275 -> a
    144:146:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    147:147:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194:194 -> a
    148:148:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    148:148:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    149:149:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    149:149:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    149:149:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    150:150:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    150:150:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    151:160:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):195:204 -> a
    161:161:boolean com.android.tools.r8.ir.conversion.TypeConstraintResolver.verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value):212:212 -> a
    161:161:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):204 -> a
    162:162:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):205:205 -> a
    163:166:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):198:201 -> a
    167:167:boolean com.android.tools.r8.ir.conversion.TypeConstraintResolver.verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value):212:212 -> a
    167:167:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):201 -> a
    168:168:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):202:202 -> a
    169:172:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.TypeConstraintResolver.canonical(com.android.tools.r8.ir.code.Value):273:273 -> a
    169:172:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    174:174:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.TypeConstraintResolver.canonical(com.android.tools.r8.ir.code.Value):275:275 -> a
    174:174:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    175:177:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):246:248 -> a
    175:177:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    178:178:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    178:178:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    178:178:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):249 -> a
    178:178:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    179:179:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    179:179:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):249 -> a
    179:179:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    180:180:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    180:180:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    180:180:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):249 -> a
    180:180:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    181:181:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    181:181:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):249 -> a
    181:181:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    182:182:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):250:250 -> a
    182:182:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    183:183:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    183:183:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):250 -> a
    183:183:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    184:184:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    184:184:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    184:184:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):250 -> a
    184:184:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    185:200:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):250:265 -> a
    185:200:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
com.android.tools.r8.ir.conversion.callgraph.CallGraph -> com.android.tools.r8.internal.m6:
    boolean $assertionsDisabled -> b
    int $r8$clinit -> c
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(java.util.Map,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult):48:48 -> <init>
    1:5:com.android.tools.r8.ir.conversion.callgraph.CallGraph createForTesting(java.util.Collection):57:61 -> a
    6:6:com.android.tools.r8.ir.conversion.callgraph.CallGraph createForTesting(java.util.Collection):60:60 -> a
    7:7:com.android.tools.r8.ir.conversion.callgraph.CallGraph createForTesting(java.util.Collection):59:59 -> a
    8:8:void com.android.tools.r8.ir.conversion.callgraph.CallGraph.<init>(java.util.Map):44:44 -> a
    8:8:com.android.tools.r8.ir.conversion.callgraph.CallGraph createForTesting(java.util.Collection):59 -> a
    9:9:com.android.tools.r8.graph.DexMethod lambda$createForTesting$0(com.android.tools.r8.ir.conversion.callgraph.Node):61:61 -> a
    10:11:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation createCallSiteInformation(com.android.tools.r8.graph.AppView):66:67 -> a
    12:12:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation.empty():33:33 -> a
    12:12:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation createCallSiteInformation(com.android.tools.r8.graph.AppView):68 -> a
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet extractLeaves():72:72 -> c
    2:14:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.ir.conversion.callgraph.CallGraph.extractNodes(java.util.function.Predicate,java.util.function.Consumer):80:92 -> c
    2:14:com.android.tools.r8.utils.collections.ProgramMethodSet extractLeaves():72 -> c
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet extractRoots():76:76 -> d
    2:14:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.ir.conversion.callgraph.CallGraph.extractNodes(java.util.function.Predicate,java.util.function.Consumer):80:92 -> d
    2:14:com.android.tools.r8.utils.collections.ProgramMethodSet extractRoots():76 -> d
com.android.tools.r8.ir.conversion.callgraph.CallGraphBase -> com.android.tools.r8.internal.n6:
    java.util.Map nodes -> a
    1:2:void <init>(java.util.Map):16:17 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase getNode(com.android.tools.r8.graph.ProgramMethod):25:25 -> a
    2:2:java.util.Collection getNodes():29:29 -> a
    1:1:boolean isEmpty():21:21 -> b
com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilder -> com.android.tools.r8.internal.o6:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):21:21 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):18:18 -> a
    2:2:void populateGraph(java.util.concurrent.ExecutorService):26:26 -> a
    3:3:void processClass(com.android.tools.r8.graph.DexProgramClass):30:30 -> a
    4:6:boolean verifyAllMethodsWithCodeExists():46:48 -> a
    1:8:void processMethod(com.android.tools.r8.graph.ProgramMethod):34:41 -> c
com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilderBase -> com.android.tools.r8.internal.p6:
    java.util.Map nodes -> b
    java.util.Map possibleProgramTargetsCache -> c
    com.android.tools.r8.graph.AppView appView -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):23:23 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView):19:24 -> <init>
    com.android.tools.r8.ir.conversion.callgraph.NodeBase createNode(com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase lambda$getOrCreateNode$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):30:30 -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase getOrCreateNode(com.android.tools.r8.graph.ProgramMethod):30:30 -> b
com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation -> com.android.tools.r8.internal.t6:
    1:1:void <init>():18:18 -> <init>
    boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation empty():33:33 -> a
    boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod) -> b
    void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod) -> c
com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$CallGraphBasedCallSiteInformation -> com.android.tools.r8.internal.r6:
    java.util.Set singleCallerMethods -> a
    java.util.Set multiCallerInlineCandidates -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):61:61 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):58:67 -> <init>
    12:47:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):64:99 -> <init>
    1:3:boolean lambda$new$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.ProgramMethod):69:71 -> a
    4:4:boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod):112:112 -> a
    1:1:boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod):123:123 -> b
    1:2:void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod):128:129 -> c
com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation -> com.android.tools.r8.internal.s6:
    com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation EMPTY_INFO -> a
    1:1:void <clinit>():38:38 -> <clinit>
    1:1:void <init>():36:36 -> <init>
    boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod) -> a
    boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod) -> b
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation access$000():36:36 -> b
    void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod) -> c
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator -> com.android.tools.r8.internal.Yd:
    java.util.Deque writerStack -> d
    java.util.Map stackEntryInfo -> b
    java.util.Deque clinitCallStack -> c
    java.util.Deque stack -> a
    boolean $assertionsDisabled -> j
    java.util.Set marked -> e
    java.util.LinkedHashSet revisit -> i
    java.util.Map calleesToBeRemoved -> f
    java.util.Map writersToBeRemoved -> g
    java.util.Map removedCallEdges -> h
    1:1:void <clinit>():25:25 -> <clinit>
    1:81:void <init>():25:105 -> <init>
    1:2:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult breakCycles(java.util.Collection):112:113 -> a
    3:10:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.prepareForNewTraversal():126:133 -> a
    3:10:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult breakCycles(java.util.Collection):114 -> a
    11:15:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult breakCycles(java.util.Collection):115:119 -> a
    16:22:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.reset():137:143 -> a
    16:22:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult breakCycles(java.util.Collection):121 -> a
    23:24:void lambda$traverse$0(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem,com.android.tools.r8.ir.conversion.callgraph.Node):246:247 -> a
    25:45:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):264:284 -> a
    46:67:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):283:304 -> a
    68:81:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):303:316 -> a
    82:86:java.util.LinkedList com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.extractCycle(com.android.tools.r8.ir.conversion.callgraph.Node):401:405 -> a
    82:86:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):322 -> a
    87:102:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):417:432 -> a
    87:102:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    103:107:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):331:335 -> a
    108:110:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.recoverStack(java.util.LinkedList):453:455 -> a
    108:110:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):339 -> a
    111:111:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):436:436 -> a
    111:111:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    112:112:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    112:112:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):436 -> a
    112:112:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    113:113:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    113:113:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    113:113:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):436 -> a
    113:113:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    114:114:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):436:436 -> a
    114:114:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    115:115:java.util.Set lambda$removeCallEdge$2(com.android.tools.r8.ir.conversion.callgraph.Node):371:371 -> a
    116:120:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):383:387 -> a
    121:125:java.util.LinkedList com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.extractCycle(com.android.tools.r8.ir.conversion.callgraph.Node):401:405 -> a
    121:125:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.verifyCycleSatisfies(com.android.tools.r8.ir.conversion.callgraph.Node,java.util.function.Predicate):410 -> a
    121:125:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):387 -> a
    126:126:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.verifyCycleSatisfies(com.android.tools.r8.ir.conversion.callgraph.Node,java.util.function.Predicate):411:411 -> a
    126:126:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):387 -> a
    127:129:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.recoverStack(java.util.LinkedList):453:455 -> a
    127:129:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.verifyCycleSatisfies(com.android.tools.r8.ir.conversion.callgraph.Node,java.util.function.Predicate):412 -> a
    127:129:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):387 -> a
    130:133:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):390:393 -> a
    134:134:boolean lambda$removeIncomingEdgeOnStack$4(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.LinkedList):389:389 -> a
    135:136:boolean callEdgeRemovalIsSafe(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):442:443 -> a
    137:137:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$recordCallEdgeRemoval$5(com.android.tools.r8.graph.DexEncodedMethod):448:448 -> a
    1:7:void traverse(java.util.Collection):203:209 -> b
    8:8:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$WorkItem.isNode():0:0 -> b
    8:8:void traverse(java.util.Collection):209 -> b
    9:15:void traverse(java.util.Collection):210:216 -> b
    16:23:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.push(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):345:352 -> b
    16:23:void traverse(java.util.Collection):217 -> b
    24:25:void traverse(java.util.Collection):223:224 -> b
    26:31:void traverse(java.util.Collection):222:227 -> b
    32:32:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$WorkItem.isIterator():0:0 -> b
    32:32:void traverse(java.util.Collection):227 -> b
    33:37:void traverse(java.util.Collection):227:231 -> b
    38:46:void traverse(java.util.Collection):230:238 -> b
    47:55:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.pop(com.android.tools.r8.ir.conversion.callgraph.Node):358:366 -> b
    47:55:void traverse(java.util.Collection):238 -> b
    56:71:void traverse(java.util.Collection):239:254 -> b
    72:72:void lambda$traverse$1(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem,com.android.tools.r8.ir.conversion.callgraph.Node):255:255 -> b
    73:73:java.util.Set lambda$removeFieldReadEdge$3(com.android.tools.r8.ir.conversion.callgraph.Node):375:375 -> b
    74:76:void recordCallEdgeRemoval(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):447:449 -> b
    1:1:void removeCallEdge(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):371:371 -> c
    1:1:void removeFieldReadEdge(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):375:375 -> d
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge -> com.android.tools.r8.internal.Xd:
    com.android.tools.r8.ir.conversion.callgraph.Node callee -> b
    com.android.tools.r8.ir.conversion.callgraph.Node caller -> a
    1:3:void <init>(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):35:37 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$400(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge):30:30 -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$500(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge):30:30 -> b
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult -> com.android.tools.r8.internal.Yd$a:
    java.util.Map removedCallEdges -> a
    1:2:void <init>(java.util.Map):58:59 -> <init>
    1:2:int numberOfRemovedCallEdges():64:65 -> a
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem -> com.android.tools.r8.internal.Zd:
    java.util.Iterator calleesAndWriters -> b
    com.android.tools.r8.ir.conversion.callgraph.Node callerOrReader -> a
    1:3:void <init>(com.android.tools.r8.ir.conversion.callgraph.Node,java.util.Iterator):186:188 -> <init>
    com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem asIterator() -> a
    1:1:java.util.Iterator access$200(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem):182:182 -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$300(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem):182:182 -> b
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem -> com.android.tools.r8.internal.ae:
    com.android.tools.r8.ir.conversion.callgraph.Node node -> a
    1:2:void <init>(com.android.tools.r8.ir.conversion.callgraph.Node):167:168 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$100(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem):164:164 -> a
    com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem asNode() -> b
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo -> com.android.tools.r8.internal.be:
    com.android.tools.r8.ir.conversion.callgraph.Node predecessor -> b
    boolean processed -> c
    int index -> a
    1:3:void <init>(int,com.android.tools.r8.ir.conversion.callgraph.Node):48:50 -> <init>
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$WorkItem -> com.android.tools.r8.internal.ce:
    1:1:void <init>():146:146 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$1):146:146 -> <init>
    com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem asIterator() -> a
    com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem asNode() -> b
com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphBuilderBase -> com.android.tools.r8.internal.xn:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):19:19 -> <init>
    void populateGraph(java.util.concurrent.ExecutorService) -> a
    boolean verifyAllMethodsWithCodeExists() -> a
    1:4:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):23:26 -> a
    5:7:boolean com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphBuilderBase.verifyNoRedundantFieldReadEdges():56:58 -> a
    5:7:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):26 -> a
    8:16:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):27:35 -> a
    17:17:java.util.TreeSet com.android.tools.r8.com.google.common.collect.Sets.newTreeSet():363:363 -> a
    17:17:java.util.TreeSet com.android.tools.r8.com.google.common.collect.Sets.newTreeSet(java.lang.Iterable):388 -> a
    17:17:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):35 -> a
    18:18:java.util.TreeSet com.android.tools.r8.com.google.common.collect.Sets.newTreeSet(java.lang.Iterable):389:389 -> a
    18:18:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):35 -> a
    19:27:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):36:44 -> a
    28:28:void lambda$build$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):31:31 -> a
    29:29:com.android.tools.r8.ir.conversion.callgraph.Node com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphBuilderBase.createNode(com.android.tools.r8.graph.ProgramMethod):49:49 -> a
    29:29:com.android.tools.r8.ir.conversion.callgraph.NodeBase createNode(com.android.tools.r8.graph.ProgramMethod):16 -> a
com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry -> com.android.tools.r8.internal.yn:
    com.android.tools.r8.graph.FieldAccessInfoCollection fieldAccessInfoCollection -> k
    boolean $assertionsDisabled -> l
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.NodeBase,java.util.function.Function,java.util.Map,java.util.function.Predicate):35:36 -> <init>
    1:3:void addClassInitializerTarget(com.android.tools.r8.graph.DexProgramClass):40:42 -> a
    4:8:void addFieldReadEdge(com.android.tools.r8.graph.ProgramMethod):55:59 -> a
    9:11:void processSingleTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):115:117 -> a
    12:12:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):128:128 -> a
    13:13:void registerCallSite(com.android.tools.r8.graph.DexCallSite):161:161 -> a
    1:1:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):104:104 -> b
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):123 -> b
    2:2:void registerInitClass(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11}}
    9:9:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):104:104 -> b
    9:9:void registerInitClass(com.android.tools.r8.graph.DexType):123 -> b
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    10:10:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):104 -> b
    10:10:void registerInitClass(com.android.tools.r8.graph.DexType):123 -> b
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    11:11:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):104 -> b
    11:11:void registerInitClass(com.android.tools.r8.graph.DexType):123 -> b
    3:8:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):105:110 -> b
    3:8:void registerInitClass(com.android.tools.r8.graph.DexType):123 -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:13:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processFieldWrite(com.android.tools.r8.graph.DexField):87:99 -> c
    1:13:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):133 -> c
    1:1:void registerNewInstance(com.android.tools.r8.graph.DexType):141:141 -> d
    2:5:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.addClassInitializerTarget(com.android.tools.r8.graph.DexType):47:50 -> d
    2:5:void registerNewInstance(com.android.tools.r8.graph.DexType):142 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):148:148 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:13:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processFieldWrite(com.android.tools.r8.graph.DexField):87:99 -> g
    1:13:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):153 -> g
    1:16:void processFieldRead(com.android.tools.r8.graph.DexField):63:78 -> i
    17:17:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> i
    17:17:void processFieldRead(com.android.tools.r8.graph.DexField):78 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:20:void processFieldRead(com.android.tools.r8.graph.DexField):79:81 -> i
com.android.tools.r8.ir.conversion.callgraph.InvokeExtractor -> com.android.tools.r8.internal.ru:
    java.util.function.Function nodeFactory -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.conversion.callgraph.NodeBase currentMethod -> f
    com.android.tools.r8.graph.AppView appView -> e
    java.util.Map possibleProgramTargetsCache -> h
    java.util.function.Predicate targetTester -> i
    1:1:void <clinit>():26:26 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.NodeBase,java.util.function.Function,java.util.Map,java.util.function.Predicate):40:45 -> <init>
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    1:8:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):49:56 -> a
    9:9:boolean com.android.tools.r8.graph.DexEncodedMethod.isNative():439:439 -> a
    9:9:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.graph.DexEncodedMethod.isNative():439:439 -> a
    10:10:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):56 -> a
    11:18:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):60:67 -> a
    19:38:void processInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):71:90 -> a
    39:43:void processInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80:84 -> a
    44:46:void processSingleTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    48:48:void processSingleTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):98:98 -> a
    49:52:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):103:106 -> a
    53:53:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    53:53:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):106 -> a
    54:92:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):112:150 -> a
    93:102:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$processInvokeWithDynamicDispatch$2(boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):117:126 -> a
    103:103:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):128:128 -> a
    104:104:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    104:104:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):128 -> a
    105:105:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):129:129 -> a
    106:107:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):135:136 -> a
    108:108:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    108:108:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):136 -> a
    109:109:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):137:137 -> a
    110:110:void registerCallSite(com.android.tools.r8.graph.DexCallSite):157:157 -> a
    111:111:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):163:163 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):168:168 -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):173:173 -> d
    void registerStaticFieldRead(com.android.tools.r8.graph.DexField) -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):178:178 -> f
    void registerStaticFieldWrite(com.android.tools.r8.graph.DexField) -> g
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):183:183 -> g
com.android.tools.r8.ir.conversion.callgraph.Node -> com.android.tools.r8.internal.dH:
    java.util.Set writers -> g
    java.util.Set callees -> d
    java.util.Set callers -> e
    java.util.Set readers -> f
    boolean $assertionsDisabled -> h
    int numberOfCallSites -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod):32:32 -> <init>
    2:16:void <init>(com.android.tools.r8.graph.ProgramMethod):15:29 -> <init>
    1:1:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase,boolean):11:11 -> a
    2:2:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):11:11 -> a
    3:17:void com.android.tools.r8.ir.conversion.callgraph.Node.addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):64:78 -> a
    3:17:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):11 -> a
    18:24:void com.android.tools.r8.ir.conversion.callgraph.Node.addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):72:78 -> a
    18:24:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):11 -> a
    25:25:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):36:36 -> a
    26:35:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node,boolean):43:52 -> a
    36:36:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node,boolean):50:50 -> a
    37:48:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node,boolean):46:57 -> a
    1:1:boolean hasCallee(com.android.tools.r8.ir.conversion.callgraph.Node):154:154 -> b
    1:9:void cleanCalleesAndWritersForRemoval():108:116 -> c
    10:10:boolean hasCaller(com.android.tools.r8.ir.conversion.callgraph.Node):158:158 -> c
    1:1:int compareTo(java.lang.Object):11:11 -> compareTo
    2:2:int com.android.tools.r8.ir.conversion.callgraph.Node.compareTo(com.android.tools.r8.ir.conversion.callgraph.Node):179:179 -> compareTo
    2:2:int compareTo(java.lang.Object):11 -> compareTo
    1:9:void cleanCallersAndReadersForRemoval():121:129 -> d
    10:10:boolean hasReader(com.android.tools.r8.ir.conversion.callgraph.Node):162:162 -> d
    1:1:java.util.Set getCalleesWithDeterministicOrder():138:138 -> e
    2:2:boolean hasWriter(com.android.tools.r8.ir.conversion.callgraph.Node):166:166 -> e
    1:4:void removeCaller(com.android.tools.r8.ir.conversion.callgraph.Node):92:95 -> f
    5:5:boolean com.android.tools.r8.ir.conversion.callgraph.Node.hasReader(com.android.tools.r8.ir.conversion.callgraph.Node):162:162 -> f
    5:5:void removeCaller(com.android.tools.r8.ir.conversion.callgraph.Node):96 -> f
    6:6:void removeCaller(com.android.tools.r8.ir.conversion.callgraph.Node):96:96 -> f
    7:7:int getNumberOfCallSites():150:150 -> f
    1:4:void removeReader(com.android.tools.r8.ir.conversion.callgraph.Node):100:103 -> g
    5:5:boolean com.android.tools.r8.ir.conversion.callgraph.Node.hasCaller(com.android.tools.r8.ir.conversion.callgraph.Node):158:158 -> g
    5:5:void removeReader(com.android.tools.r8.ir.conversion.callgraph.Node):104 -> g
    6:6:void removeReader(com.android.tools.r8.ir.conversion.callgraph.Node):104:104 -> g
    7:7:java.util.Set getReadersWithDeterministicOrder():142:142 -> g
    1:6:void removeReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):83:88 -> h
    7:7:void removeReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):85:85 -> h
    8:8:java.util.Set getWritersWithDeterministicOrder():146:146 -> h
    1:1:boolean isLeaf():174:174 -> i
    1:1:boolean isRoot():170:170 -> j
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":215,"2":216,"3":217}}
    215:215:java.lang.String toString():184:184 -> toString
    216:216:java.lang.String toString():184:184 -> toString
    217:217:java.lang.String toString():185:185 -> toString
    187:214:java.lang.String toString():186:213 -> toString
com.android.tools.r8.ir.conversion.callgraph.NodeBase -> com.android.tools.r8.internal.eH:
    com.android.tools.r8.graph.ProgramMethod method -> b
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):14:15 -> <init>
    void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase,boolean) -> a
    void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase) -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod getMethod():23:23 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramMethod():27:27 -> b
com.android.tools.r8.ir.conversion.callgraph.PartialCallGraphBuilder -> com.android.tools.r8.internal.sL:
    boolean $assertionsDisabled -> f
    com.android.tools.r8.utils.collections.ProgramMethodSet seeds -> e
    1:1:void <clinit>():15:15 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet):20:22 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):15:15 -> a
    2:2:void populateGraph(java.util.concurrent.ExecutorService):27:27 -> a
    3:4:boolean verifyAllMethodsWithCodeExists():43:44 -> a
    1:8:void processMethod(com.android.tools.r8.graph.ProgramMethod):31:38 -> c
com.android.tools.r8.ir.desugar.BackportedMethodRewriter -> com.android.tools.r8.internal.k4:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$RewritableMethods rewritableMethods -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():54:54 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):59:62 -> <init>
    1:8:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):79:86 -> a
    9:12:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):93:96 -> a
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> a
    13:13:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):97 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
    15:30:java.util.List generateListOfBackportedMethods(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):102:117 -> a
    31:31:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):124:124 -> a
    32:90:void com.android.tools.r8.ir.desugar.backports.BackportedMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):59:117 -> a
    32:90:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):124 -> a
    91:91:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):128:128 -> a
    92:92:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    92:92:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):128 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:102:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):129:138 -> a
    103:103:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    103:103:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):138 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    104:104:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    104:104:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):138 -> a
    105:110:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):138:143 -> a
    1:1:boolean hasBackports():66:66 -> b
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$FullMethodInvokeRewriter -> com.android.tools.r8.internal.b4:
    1:1:void <init>():1647:1647 -> <init>
    1:1:com.android.tools.r8.cf.code.CfInstruction rewriteSingle(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):1651:1651 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$InvokeRewriter -> com.android.tools.r8.internal.c4:
    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriter -> b
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter):1527:1528 -> <init>
    1:1:java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator):1538:1538 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator -> com.android.tools.r8.internal.d4:
    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory factory -> b
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory):1548:1548 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String):1552:1553 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():1558:1558 -> a
    2:4:java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator):1568:1570 -> a
    5:8:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1576:1579 -> a
    9:9:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1577:1577 -> a
    10:13:void lambda$getSyntheticMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1583:1586 -> a
    14:14:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1586:1586 -> a
    15:15:com.android.tools.r8.graph.Code com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator.generateTemplateMethod(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1594:1594 -> a
    15:15:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1586 -> a
    16:16:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1590:1590 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter -> com.android.tools.r8.internal.e4:
    com.android.tools.r8.cf.code.CfInstruction rewriteSingle(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory) -> a
    1:1:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):1643:1643 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider -> com.android.tools.r8.internal.f4:
    com.android.tools.r8.graph.DexMethod method -> a
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):1510:1511 -> <init>
    java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator) -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$RewritableMethods -> com.android.tools.r8.internal.g4:
    java.util.Map rewritable -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():148:148 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):155:155 -> <init>
    2:62:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):153:213 -> <init>
    1:1:boolean isEmpty():217:217 -> a
    2:2:void visit(java.util.function.Consumer):221:221 -> a
    3:133:void initializeAndroidKMethodProviders(com.android.tools.r8.graph.DexItemFactory):226:356 -> a
    134:134:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$0(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):926:926 -> a
    135:156:void addProvider(com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider):1477:1498 -> a
    157:157:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getProvider(com.android.tools.r8.graph.DexMethod):1502:1502 -> a
    1:338:void initializeAndroidNMethodProviders(com.android.tools.r8.graph.DexItemFactory):362:699 -> b
    339:339:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$1(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):947:947 -> b
    1:6:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):68:73 -> c
    1:6:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):967 -> c
    7:40:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):71:104 -> c
    7:40:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):967 -> c
    41:41:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):99:99 -> c
    41:41:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):967 -> c
    42:54:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):96:108 -> c
    42:54:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):967 -> c
    55:213:void initializeAndroidOMethodProviders(com.android.tools.r8.graph.DexItemFactory):706:864 -> c
    1:109:void initializeAndroidOptionalTMethodProviders(com.android.tools.r8.graph.DexItemFactory):1304:1412 -> d
    1:48:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):876:923 -> e
    49:73:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):920:944 -> e
    74:97:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):941:964 -> e
    98:116:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):961:979 -> e
    1:99:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):989:1087 -> f
    100:100:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):1085:1085 -> f
    1:62:void initializeAndroidSv2MethodProviders(com.android.tools.r8.graph.DexItemFactory):1094:1155 -> g
    1:17:void initializeAndroidTMethodProviders(com.android.tools.r8.graph.DexItemFactory):1168:1184 -> h
    18:67:void initializeAndroidTMethodProviders(com.android.tools.r8.graph.DexItemFactory):1178:1227 -> h
    68:144:void initializeAndroidTMethodProviders(com.android.tools.r8.graph.DexItemFactory):1221:1297 -> h
    1:19:void initializeJava11MethodProviders(com.android.tools.r8.graph.DexItemFactory):1429:1447 -> i
    1:8:void initializeObjectsMethodProviders(com.android.tools.r8.graph.DexItemFactory):1465:1472 -> j
    1:7:void initializeStreamMethodProviders(com.android.tools.r8.graph.DexItemFactory):1453:1459 -> k
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$StatifyingMethodGenerator -> com.android.tools.r8.internal.h4:
    com.android.tools.r8.graph.DexType receiverType -> c
    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):1607:1608 -> <init>
    1:1:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1613:1613 -> a
    2:2:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator.getProto(com.android.tools.r8.graph.DexItemFactory):1590:1590 -> a
    2:2:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1613 -> a
    3:3:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1613:1613 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$StatifyingMethodWithForwardingGenerator -> com.android.tools.r8.internal.i4:
    1:1: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):1622:1622 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():1627:1627 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory -> com.android.tools.r8.internal.j4:
    com.android.tools.r8.graph.CfCode create(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod) -> a
com.android.tools.r8.ir.desugar.BufferCovariantReturnTypeRewriter -> com.android.tools.r8.internal.W5:
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView):28:30 -> <init>
    1:15:com.android.tools.r8.graph.DexMethod matchingBufferCovariantMethod(com.android.tools.r8.graph.DexMethod):61:75 -> a
    16:18:boolean com.android.tools.r8.ir.desugar.BufferCovariantReturnTypeRewriter.isInvokeCandidate(com.android.tools.r8.cf.code.CfInstruction):83:85 -> a
    16:18:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):43 -> a
    19:29:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):46:56 -> a
    30:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    30:30:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):56 -> a
    31:32:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):56:57 -> a
    33:33:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    33:33:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):57 -> a
    34:34:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):57:57 -> a
    35:37:boolean com.android.tools.r8.ir.desugar.BufferCovariantReturnTypeRewriter.isInvokeCandidate(com.android.tools.r8.cf.code.CfInstruction):83:85 -> a
    35:37:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):90 -> a
    38:39:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):93:94 -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaring -> com.android.tools.r8.internal.J6:
    void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection -> com.android.tools.r8.internal.M6:
    1:1:void <init>():17:17 -> <init>
    void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
    1:2:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):20:21 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    3:3:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):21 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    4:4:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):21 -> a
    5:5:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):34:34 -> a
    5:5:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):23 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    6:6:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):34 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):23 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    7:7:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):34 -> a
    7:7:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):23 -> a
    8:11:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):35:38 -> a
    8:11:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):23 -> a
    12:28:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):25:41 -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection$EmptyCfClassSynthesizerCollection -> com.android.tools.r8.internal.K6:
    1:1:void <init>():69:69 -> <init>
    void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection$NonEmptyCfClassSynthesizerCollection -> com.android.tools.r8.internal.L6:
    java.util.Collection synthesizers -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():48:48 -> <clinit>
    1:3:void <init>(java.util.Collection):53:55 -> <init>
    1:1:void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):62:62 -> a
    2:2:void lambda$synthesizeClasses$0(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaring):64:64 -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer -> com.android.tools.r8.internal.N6:
    java.util.Set synthesizedClasses -> a
    1:7:void <init>():15:21 -> <init>
    1:1:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):45:45 -> a
    2:2:java.util.Set getSynthesizedClasses():49:49 -> a
    1:1:void acceptDesugaredLibraryRetargeterDispatchProgramClass(com.android.tools.r8.graph.DexProgramClass):40:40 -> b
    1:1:void acceptEnumConversionProgramClass(com.android.tools.r8.graph.DexProgramClass):35:35 -> c
    1:1:void acceptProgramEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):25:25 -> d
    1:1:void acceptWrapperProgramClass(com.android.tools.r8.graph.DexProgramClass):30:30 -> e
com.android.tools.r8.ir.desugar.CfInstructionDesugaring -> com.android.tools.r8.internal.y7:
    java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory) -> a
    boolean hasPreciseNeedsDesugaring() -> a
    boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod) -> a
    void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions) -> a
    void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection -> com.android.tools.r8.internal.z7:
    1:1:void <init>():28:28 -> <init>
    void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringD8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor) -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringR8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor) -> a
    boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod) -> a
    void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions) -> a
    void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    void withD8NestBasedAccessDesugaring(com.android.tools.r8.utils.ThrowingConsumer) -> a
    void withDesugaredLibraryAPIConverter(java.util.function.Consumer) -> a
    1:6:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):32:37 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    7:7:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    8:8:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):37 -> a
    9:11:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):38:40 -> a
    12:12:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection empty():44:44 -> a
com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.C7:
    1:1:void <init>():49:49 -> <init>
    void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer.acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod) -> a
    void com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer.acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo) -> a
    void com.android.tools.r8.ir.desugar.lambda.LambdaDesugaringEventConsumer.acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer createForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor):64:64 -> a
    void com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer.acceptBackportedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> b
    void com.android.tools.r8.ir.desugar.twr.TwrCloseResourceDesugaringEventConsumer.acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> c
    void com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer.acceptClasspathEmulatedInterface(com.android.tools.r8.graph.DexClasspathClass) -> d
    void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryAPIConverterEventConsumer.acceptAPIConversion(com.android.tools.r8.graph.ProgramMethod) -> e
    void com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer.acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> f
    void com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer.acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod) -> g
    void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer.acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> h
com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.A7:
    java.util.Map pendingInvokeSpecialBridges -> b
    java.util.List synthesizedConstantDynamicClasses -> d
    java.util.List synthesizedLambdaClasses -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.conversion.D8MethodProcessor methodProcessor -> a
    1:1:void <clinit>():83:83 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$1):83:83 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor):93:93 -> <init>
    3:9:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor):88:94 -> <init>
    void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> a
    void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> a
    1:4:void acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):124:127 -> a
    5:5:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132:132 -> a
    6:6:java.lang.Iterable com.android.tools.r8.graph.DexProgramClass.programMethods():231:231 -> a
    6:6:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:java.lang.Iterable com.android.tools.r8.graph.DexProgramClass.programMethods():231:231 -> a
    7:7:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132 -> a
    8:8:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    8:8:java.lang.Iterable com.android.tools.r8.graph.DexProgramClass.programMethods():231 -> a
    8:8:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132 -> a
    9:9:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132:132 -> a
    10:12:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):137:139 -> a
    13:15:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):145:147 -> a
    16:16:void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    17:20:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):203:206 -> a
    21:25:void com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer.finalizeConstantDynamicDesugaring(java.util.function.Consumer):253:257 -> a
    21:25:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):206 -> a
    26:48:void finalizeInvokeSpecialDesugaring(com.android.tools.r8.graph.AppView,java.util.function.Consumer):213:235 -> a
    49:52:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):217:220 -> a
    53:56:void lambda$finalizeInvokeSpecialDesugaring$1(com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):229:232 -> a
    57:63:void finalizeLambdaDesugaring(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.function.Consumer):243:249 -> a
    64:66:boolean verifyNothingToFinalize():261:263 -> a
    void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> b
    1:1:void acceptBackportedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):114:114 -> b
    2:2:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):152:152 -> b
    void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> c
    1:1:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):162:162 -> c
    2:2:void acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):167:167 -> c
    void acceptClasspathEmulatedInterface(com.android.tools.r8.graph.DexClasspathClass) -> d
    1:1:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):157:157 -> d
    1:1:void acceptAPIConversion(com.android.tools.r8.graph.ProgramMethod):193:193 -> e
    1:1:void acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):178:178 -> f
    1:1:void acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod):119:119 -> g
    1:1:void acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):172:172 -> h
com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.B7:
    java.util.function.BiConsumer onCompanionMethodCallback -> i
    com.android.tools.r8.graph.AppView appView -> a
    java.util.function.BiConsumer twrCloseResourceMethodConsumer -> d
    boolean $assertionsDisabled -> j
    java.util.function.BiConsumer lambdaClassConsumer -> b
    com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions additions -> e
    java.util.List synthesizedConstantDynamicClasses -> h
    java.util.function.BiConsumer constantDynamicClassConsumer -> c
    java.util.List pendingInvokeSpecialBridges -> g
    java.util.Map synthesizedLambdaClasses -> f
    1:1:void <clinit>():268:268 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):294:294 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):281:300 -> <init>
    void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod) -> a
    void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass) -> a
    1:1:void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    2:2:void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass):310:310 -> a
    3:5:void acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):367:369 -> a
    6:11:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):374:379 -> a
    12:12:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):376:376 -> a
    13:18:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):385:390 -> a
    19:19:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):387:387 -> a
    20:21:void finalizeDesugaring():416:417 -> a
    22:22:com.android.tools.r8.graph.DexType lambda$finalizeLambdaDesugaring$1(java.util.Map$Entry):435:435 -> a
    23:23:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaClass.getType():120:120 -> a
    23:23:com.android.tools.r8.graph.DexType lambda$finalizeLambdaDesugaring$1(java.util.Map$Entry):435 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:27:void lambda$finalizeLambdaDesugaring$2(java.util.Set,java.util.Map$Entry):440:443 -> a
    28:28:void com.android.tools.r8.ir.desugar.LambdaClass$Target.ensureAccessibilityIfNeeded():539:539 -> a
    28:28:void lambda$finalizeLambdaDesugaring$2(java.util.Set,java.util.Map$Entry):443 -> a
    29:31:void lambda$finalizeLambdaDesugaring$2(java.util.Set,java.util.Map$Entry):446:446 -> a
    33:33:void lambda$finalizeLambdaDesugaring$2(java.util.Set,java.util.Map$Entry):448:448 -> a
    void acceptBackportedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> b
    1:1:void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass):347:347 -> b
    2:2:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):395:395 -> b
    3:4:void finalizeInvokeSpecialDesugaring():422:423 -> b
    5:7:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):425:427 -> b
    1:1:void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass):352:352 -> c
    2:2:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):405:405 -> c
    3:3:void acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):412:412 -> c
    4:24:void finalizeLambdaDesugaring():433:453 -> c
    1:1:void acceptClasspathEmulatedInterface(com.android.tools.r8.graph.DexClasspathClass):315:315 -> d
    2:2:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):400:400 -> d
    void acceptAPIConversion(com.android.tools.r8.graph.ProgramMethod) -> e
    1:1:void acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):342:342 -> f
    void acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod) -> g
    void acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> h
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaring -> com.android.tools.r8.internal.c8:
    void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService) -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.f8:
    1:1:void <init>():20:20 -> <init>
    void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService) -> a
    1:1:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):24:24 -> a
    2:4:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):54:56 -> a
    2:4:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    5:5:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    6:6:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):56 -> a
    6:6:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    7:25:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):57:75 -> a
    7:25:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    26:26:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection.empty():32:32 -> a
    26:26:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):76 -> a
    26:26:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    27:27:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):78:78 -> a
    27:27:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    28:28:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection.empty():32:32 -> a
    28:28:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):28 -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.d8:
    com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection INSTANCE -> a
    1:1:void <clinit>():97:97 -> <clinit>
    1:1:void <init>():100:100 -> <init>
    void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService) -> a
    1:1:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection access$000():94:94 -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.e8:
    java.util.List desugarings -> a
    1:2:void <init>(java.util.List):48:49 -> <init>
    1:2:void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):88:89 -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.i8:
    1:1:void <init>():26:26 -> <init>
    void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryAPICallbackSynthesizorEventConsumer.acceptAPIConversionCallback(com.android.tools.r8.graph.ProgramMethod) -> a
    void com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer.acceptEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClasspathClass) -> a
    void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer.acceptInterfaceInjection(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass) -> a
    void com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer.warnMissingInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper) -> a
    1:1:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer createForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection):33:33 -> a
    2:2:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$R8PostProcessingDesugaringEventConsumer createForR8(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,java.util.function.BiConsumer):40:40 -> a
    void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer.acceptForwardingMethod(com.android.tools.r8.graph.ProgramMethod) -> b
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.g8:
    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToReprocess -> b
    com.android.tools.r8.ir.conversion.D8MethodProcessor methodProcessor -> a
    com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection instructionDesugaring -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():45:45 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$1):45:45 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection):56:56 -> <init>
    3:10:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection):51:58 -> <init>
    void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> a
    void acceptEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClasspathClass) -> a
    void acceptInterfaceInjection(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass) -> a
    1:3:void com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer.addMethodToReprocess(com.android.tools.r8.graph.ProgramMethod):62:64 -> a
    1:3:void acceptAPIConversionCallback(com.android.tools.r8.graph.ProgramMethod):104 -> a
    4:4:void warnMissingInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper):70:70 -> a
    5:8:void finalizeDesugaring():96:99 -> a
    void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> b
    1:3:void com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer.addMethodToReprocess(com.android.tools.r8.graph.ProgramMethod):62:64 -> b
    1:3:void acceptForwardingMethod(com.android.tools.r8.graph.ProgramMethod):91 -> b
    void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> c
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$R8PostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.h8:
    com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection desugaring -> b
    java.util.function.BiConsumer missingClassConsumer -> c
    com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions additions -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():118:118 -> <clinit>
    1:4:void <init>(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,java.util.function.BiConsumer):128:131 -> <init>
    1:1:void warnMissingInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper):137:137 -> a
    2:3:void acceptEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClasspathClass):148:149 -> a
    4:4:void acceptInterfaceInjection(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass):154:154 -> a
    5:5:void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass):159:159 -> a
    6:7:void acceptAPIConversionCallback(com.android.tools.r8.graph.ProgramMethod):169:170 -> a
    1:1:void acceptForwardingMethod(com.android.tools.r8.graph.ProgramMethod):164:164 -> b
    2:2:void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass):175:175 -> b
    1:1:void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass):180:180 -> c
com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer -> com.android.tools.r8.internal.Ud:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.ir.conversion.IRConverter converter -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():53:53 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexItemFactory):57:59 -> <init>
    1:14:void process(com.android.tools.r8.graph.DexApplication$Builder):64:77 -> a
    15:15:void buildCovariantReturnTypeMethodsForClass(com.android.tools.r8.graph.DexProgramClass,java.util.List,java.util.List):112:112 -> a
    16:16:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    16:16:void buildCovariantReturnTypeMethodsForClass(com.android.tools.r8.graph.DexProgramClass,java.util.List,java.util.List):112 -> a
    17:17:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    17:17:void buildCovariantReturnTypeMethodsForClass(com.android.tools.r8.graph.DexProgramClass,java.util.List,java.util.List):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):114:114 -> a
    19:20:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.methodHasCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedMethod):122:123 -> a
    19:20:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):114 -> a
    21:21:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):115:115 -> a
    22:22:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):135:135 -> a
    22:22:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    23:24:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.methodHasCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedMethod):122:123 -> a
    23:24:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):135 -> a
    23:24:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    25:25:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):135:135 -> a
    25:25:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    26:31:java.util.Set com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.getCovariantReturnTypes(com.android.tools.r8.graph.ProgramMethod):196:201 -> a
    26:31:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):136 -> a
    26:31:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    32:32:java.util.Set com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.getCovariantReturnTypes(com.android.tools.r8.graph.ProgramMethod):199:199 -> a
    32:32:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):136 -> a
    32:32:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    33:36:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):136:139 -> a
    33:36:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    37:61:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):150:174 -> a
    62:62:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.keepIf(java.util.function.Predicate):200:200 -> a
    62:62:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):174 -> a
    63:68:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):171:176 -> a
    69:77:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):175:183 -> a
    78:78:boolean lambda$buildCovariantReturnTypeMethod$2(com.android.tools.r8.graph.DexAnnotation):174:174 -> a
    79:79:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):214:214 -> a
    80:80:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264:264 -> a
    80:80:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):214 -> a
    81:81:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
    81:81:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264 -> a
    81:81:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):214 -> a
    82:96:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):214:228 -> a
    97:101:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):222:226 -> a
    102:102:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):223:223 -> a
    103:103:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    103:103:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):223 -> a
    104:104:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    104:104:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    104:104:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):223 -> a
    105:127:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):223:245 -> a
    128:128:boolean com.android.tools.r8.graph.DexValue.isDexValueAnnotation():0:0 -> a
    128:128:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):245 -> a
    129:131:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):245:247 -> a
    132:136:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):236:240 -> a
    137:137:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):237:237 -> a
    138:138:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    138:138:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):237 -> a
    139:139:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    139:139:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    139:139:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):237 -> a
    140:162:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):237:259 -> a
    163:163:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):256:256 -> a
    164:164:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    164:164:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):256 -> a
    165:165:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    165:165:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    165:165:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):256 -> a
    166:166:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):256:256 -> a
    167:167:boolean isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264:264 -> a
    168:168:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
    168:168:boolean isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264 -> a
    1:1:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):87:87 -> b
    2:3:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.hasVirtualMethodWithSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):273:274 -> b
    2:3:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):88 -> b
    4:8:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):89:93 -> b
    9:9:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):90:90 -> b
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    10:10:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):90 -> b
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    11:11:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):90 -> b
    12:21:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):90:99 -> b
    22:22:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.keepIf(java.util.function.Predicate):200:200 -> b
    22:22:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):99 -> b
    23:27:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):98:102 -> b
    28:28:boolean lambda$updateClass$0(com.android.tools.r8.graph.DexAnnotation):99:99 -> b
com.android.tools.r8.ir.desugar.DesugarDescription -> com.android.tools.r8.internal.rf:
    com.android.tools.r8.ir.desugar.DesugarDescription NOTHING -> a
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.desugar.DesugarDescription$1):23:23 -> <init>
    2:2:void <init>():27:27 -> <init>
    java.util.Collection desugarInstruction(com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory) -> a
    1:1:com.android.tools.r8.ir.desugar.DesugarDescription access$000():23:23 -> a
    1:1:com.android.tools.r8.ir.desugar.DesugarDescription$Builder builder():51:51 -> b
    boolean needsDesugaring() -> c
    1:1:com.android.tools.r8.ir.desugar.DesugarDescription nothing():47:47 -> d
    void scan() -> e
com.android.tools.r8.ir.desugar.DesugarDescription$Builder -> com.android.tools.r8.internal.lf:
    1:1:void <init>():70:70 -> <init>
    com.android.tools.r8.ir.desugar.DesugarDescription$Builder addScanEffect(com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback) -> a
    com.android.tools.r8.ir.desugar.DesugarDescription build() -> a
    com.android.tools.r8.ir.desugar.DesugarDescription$Builder setDesugarRewrite(com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback) -> a
com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback -> com.android.tools.r8.internal.mf:
    java.util.Collection desugarInstruction(com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory) -> a
com.android.tools.r8.ir.desugar.DesugarDescription$InitialBuilder -> com.android.tools.r8.internal.nf:
    com.android.tools.r8.ir.desugar.DesugarDescription$InitialBuilder INSTANCE -> a
    1:1:void <clinit>():83:83 -> <clinit>
    1:1:void <init>():82:82 -> <init>
    1:1:com.android.tools.r8.ir.desugar.DesugarDescription build():91:91 -> a
    2:2:com.android.tools.r8.ir.desugar.DesugarDescription$Builder addScanEffect(com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback):96:96 -> a
    3:3:com.android.tools.r8.ir.desugar.DesugarDescription$Builder setDesugarRewrite(com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback):101:101 -> a
com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder -> com.android.tools.r8.internal.pf:
    java.util.List scanEffects -> a
    com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback desugarRewrite -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():105:105 -> <clinit>
    1:4:void <init>():105:108 -> <init>
    1:2:com.android.tools.r8.ir.desugar.DesugarDescription$Builder addScanEffect(com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback):112:113 -> a
    3:5:com.android.tools.r8.ir.desugar.DesugarDescription$Builder setDesugarRewrite(com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback):119:121 -> a
    6:6:com.android.tools.r8.ir.desugar.DesugarDescription build():127:127 -> a
com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder$1 -> com.android.tools.r8.internal.of:
    com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder this$0 -> b
    1:1:void <init>(com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder):127:127 -> <init>
    1:3:java.util.Collection desugarInstruction(com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):146:148 -> a
    1:1:boolean needsDesugaring():135:135 -> c
    1:1:void scan():130:130 -> e
com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback -> com.android.tools.r8.internal.qf:
    void scan() -> a
com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.Ih:
    com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection INSTANCE -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():25:25 -> <init>
    void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringD8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor) -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringR8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor) -> a
    boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod) -> a
    void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions) -> a
    void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    void withD8NestBasedAccessDesugaring(com.android.tools.r8.utils.ThrowingConsumer) -> a
    void withDesugaredLibraryAPIConverter(java.util.function.Consumer) -> a
    1:1:com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection getInstance():29:29 -> b
com.android.tools.r8.ir.desugar.FreshLocalProvider -> com.android.tools.r8.internal.Yk:
    int getFreshLocal(int) -> a
com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter -> com.android.tools.r8.internal.Fu:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    1:5:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):40:44 -> a
    6:12:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter.privateMethodInvokedOnSelf(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):61:67 -> a
    6:12:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):45 -> a
    13:13:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):49:49 -> a
    14:17:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):54:57 -> a
    18:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter.privateMethodInvokedOnSelf(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):61:67 -> a
    18:24:boolean com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter.isInvokingPrivateMethodOnSelf(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):74 -> a
    18:24:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):57 -> a
com.android.tools.r8.ir.desugar.LambdaClass -> com.android.tools.r8.internal.yA:
    com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring desugaring -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.LambdaDescriptor descriptor -> d
    boolean $assertionsDisabled -> k
    com.android.tools.r8.graph.DexField lambdaField -> g
    com.android.tools.r8.ir.desugar.LambdaClass$Target target -> h
    com.android.tools.r8.graph.DexType type -> c
    com.android.tools.r8.graph.DexMethod classConstructor -> f
    com.android.tools.r8.graph.DexMethod constructor -> e
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> j
    com.android.tools.r8.graph.DexProgramClass clazz -> i
    1:7:void <clinit>():61:67 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):87:87 -> <init>
    2:34:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):79:111 -> <init>
    1:4:void setClass(com.android.tools.r8.graph.DexProgramClass):124:127 -> a
    5:5:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):132:132 -> a
    6:14:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):252:260 -> a
    6:14:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):133 -> a
    15:21:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):259:265 -> a
    15:21:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):133 -> a
    22:22:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    22:22:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):267 -> a
    22:22:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):133 -> a
    23:23:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):268:268 -> a
    23:23:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):133 -> a
    24:24:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):256:256 -> a
    24:24:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):133 -> a
    25:25:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):255:255 -> a
    25:25:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):133 -> a
    26:34:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):232:240 -> a
    26:34:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):134 -> a
    35:35:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPublicFinalSynthetic():80:80 -> a
    35:35:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):241 -> a
    35:35:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):134 -> a
    36:36:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPublicSynthetic():85:85 -> a
    36:36:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):242 -> a
    36:36:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):134 -> a
    37:37:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):239:239 -> a
    37:37:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):134 -> a
    38:38:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    38:38:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):244 -> a
    38:38:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):134 -> a
    39:39:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):245:245 -> a
    39:39:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):134 -> a
    40:51:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):236:247 -> a
    40:51:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):134 -> a
    52:63:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):196:207 -> a
    52:63:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    64:72:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):26:34 -> a
    64:72:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):208 -> a
    64:72:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    73:87:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):31:45 -> a
    73:87:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):208 -> a
    73:87:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    88:88:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> a
    88:88:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):45 -> a
    88:88:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):208 -> a
    88:88:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    89:99:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):45:55 -> a
    89:99:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):208 -> a
    89:99:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    100:100:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):55 -> a
    100:100:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):208 -> a
    100:100:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    101:101:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):55 -> a
    101:101:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):208 -> a
    101:101:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    102:102:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):55 -> a
    102:102:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):208 -> a
    102:102:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    103:106:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):208:211 -> a
    103:106:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    107:122:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):204:219 -> a
    107:122:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    123:123:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):218:218 -> a
    123:123:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    124:128:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaClassConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):24:28 -> a
    124:128:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):221 -> a
    124:128:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    129:132:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):221:224 -> a
    129:132:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    133:145:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215:227 -> a
    133:145:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    146:156:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):155:165 -> a
    146:156:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    157:163:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):164:170 -> a
    157:163:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    164:183:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):161:180 -> a
    164:183:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    184:184:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):179:179 -> a
    184:184:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    185:190:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaBridgeMethodSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):17:22 -> a
    185:190:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):186 -> a
    185:190:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    191:194:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):186:189 -> a
    191:194:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    195:210:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):176:191 -> a
    195:210:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    211:216:com.android.tools.r8.graph.DexField getCaptureField(int):140:145 -> a
    217:217:com.android.tools.r8.graph.DexField getCaptureField(int):142:142 -> a
    218:219:boolean canAccessModifyLambdaImplMethod():326:327 -> a
    220:220:boolean com.android.tools.r8.utils.InternalOptions.canAccessModifyLambdaImplementationMethods(com.android.tools.r8.graph.AppView):1788:1788 -> a
    220:220:boolean canAccessModifyLambdaImplMethod():327 -> a
    221:224:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> a
    221:224:boolean canAccessModifyLambdaImplMethod():328 -> a
    225:226:boolean canAccessModifyLambdaImplMethod():329:330 -> a
    227:227:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183:183 -> a
    227:227:boolean canAccessModifyLambdaImplMethod():330 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    228:228:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183:183 -> a
    228:228:boolean canAccessModifyLambdaImplMethod():330 -> a
    229:229:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    229:229:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183 -> a
    229:229:boolean canAccessModifyLambdaImplMethod():330 -> a
    230:231:boolean canAccessModifyLambdaImplMethod():330:331 -> a
    232:232:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):398:398 -> a
    233:233:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInstance():153:153 -> a
    233:233:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):398 -> a
    234:236:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):398:398 -> a
    237:237:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):313:313 -> a
    237:237:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):401 -> a
    238:241:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> a
    238:241:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314 -> a
    238:241:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):401 -> a
    242:243:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314:315 -> a
    242:243:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):401 -> a
    244:271:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):402:429 -> a
    272:273:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():509:510 -> a
    272:273:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    274:274:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":282,"2":283,"3":284}}
    282:282:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> a
    282:282:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    283:283:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> a
    283:283:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    284:284:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> a
    284:284:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    275:276:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:511 -> a
    275:276:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    277:281:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):428:432 -> a
    1:2:com.android.tools.r8.graph.DexProgramClass getLambdaProgramClass():115:116 -> b
    3:8:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):335:340 -> b
    9:9:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183:183 -> b
    9:9:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):340 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183:183 -> b
    10:10:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):340 -> b
    11:11:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> b
    11:11:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183 -> b
    11:11:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):340 -> b
    12:62:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):340:390 -> b
    63:65:com.android.tools.r8.graph.DexString com.android.tools.r8.utils.DesugarUtils.appendFullyQualifiedHolderToMethodName(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):14:14 -> b
    63:65:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):390 -> b
    66:66:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):387:387 -> b
    1:1:com.android.tools.r8.graph.DexType getType():120:120 -> c
    2:20:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):290:308 -> c
    21:21:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":420,"2":421,"3":422}}
    420:420:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):308:308 -> c
    421:421:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):308:308 -> c
    422:422:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):308:308 -> c
    329:329:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):308:308 -> c
    330:330:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):292:292 -> c
    331:331:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):502:502 -> c
    331:331:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    332:332:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInterface():157:157 -> c
    332:332:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):502 -> c
    332:332:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    333:333:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):502:502 -> c
    333:333:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    334:334:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):313:313 -> c
    334:334:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):503 -> c
    334:334:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    335:338:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> c
    335:338:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314 -> c
    335:338:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):503 -> c
    335:338:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    339:340:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314:315 -> c
    339:340:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):503 -> c
    339:340:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    341:343:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):503:505 -> c
    341:343:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    344:346:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):302:304 -> c
    347:349:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):470:472 -> c
    347:349:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    350:350:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeConstructor():165:165 -> c
    350:350:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):472 -> c
    350:350:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    351:351:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):472:472 -> c
    351:351:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    352:352:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):313:313 -> c
    352:352:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):474 -> c
    352:352:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    353:356:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> c
    353:356:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314 -> c
    353:356:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):474 -> c
    353:356:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    357:358:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314:315 -> c
    357:358:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):474 -> c
    357:358:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    359:375:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):475:491 -> c
    359:375:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    376:377:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():509:510 -> c
    376:377:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):491 -> c
    376:377:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    378:378:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":423,"2":424,"3":425}}
    423:423:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> c
    423:423:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):491 -> c
    423:423:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    424:424:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> c
    424:424:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):491 -> c
    424:424:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    425:425:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> c
    425:425:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):491 -> c
    425:425:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    379:380:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:511 -> c
    379:380:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):491 -> c
    379:380:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    381:384:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):490:493 -> c
    381:384:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    385:385:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):306:306 -> c
    386:387:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):298:299 -> c
    388:388:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):442:442 -> c
    388:388:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    389:389:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):313:313 -> c
    389:389:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):444 -> c
    389:389:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    390:393:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> c
    390:393:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314 -> c
    390:393:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):444 -> c
    390:393:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    394:395:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314:315 -> c
    394:395:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):444 -> c
    394:395:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    396:408:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):445:457 -> c
    396:408:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    409:410:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():509:510 -> c
    409:410:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):458 -> c
    409:410:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    411:411:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":426,"2":427,"3":428}}
    426:426:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> c
    426:426:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):458 -> c
    426:426:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    427:427:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> c
    427:427:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):458 -> c
    427:427:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    428:428:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> c
    428:428:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):458 -> c
    428:428:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    412:413:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:511 -> c
    412:413:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):458 -> c
    412:413:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    414:419:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):455:460 -> c
    414:419:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    1:1:boolean isStateless():149:149 -> d
    2:2:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isStateless():199:199 -> d
    2:2:boolean isStateless():149 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isStateless():199:199 -> d
    3:3:boolean isStateless():149 -> d
com.android.tools.r8.ir.desugar.LambdaClass$ClassMethodWithAccessorTarget -> com.android.tools.r8.internal.qA:
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType type -> h
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.graph.DexMethod implMethod -> g
    1:1:void <clinit>():767:767 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):779:782 -> <init>
    1:20:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):791:810 -> a
    21:46:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.AccessorMethodSourceCode.build(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):24:49 -> a
    21:46:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):812 -> a
    47:47:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.AccessorMethodSourceCode.build(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView) -> a
    47:47:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):812 -> a
    48:53:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.AccessorMethodSourceCode.build(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):38:43 -> a
    48:53:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):812 -> a
    54:77:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.AccessorMethodSourceCode.build(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):28:51 -> a
    54:77:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):812 -> a
    78:85:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):811:818 -> a
    86:86:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    86:86:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):818 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    87:87:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    87:87:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):818 -> a
    88:90:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):818:820 -> a
com.android.tools.r8.ir.desugar.LambdaClass$D8SpecificTarget -> com.android.tools.r8.internal.rA:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):559:559 -> <init>
com.android.tools.r8.ir.desugar.LambdaClass$InstanceLambdaImplTarget -> com.android.tools.r8.internal.sA:
    com.android.tools.r8.graph.DexMethod implMethod -> f
    com.android.tools.r8.graph.AppView appView -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():696:696 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):703:705 -> <init>
    1:33:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):715:747 -> a
    34:34:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    34:34:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):747 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    35:35:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):747 -> a
    36:39:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):747:750 -> a
    40:40:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    40:40:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):750 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    41:41:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    41:41:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):750 -> a
    42:42:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):751:751 -> a
    43:43:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    43:43:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):751 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    44:44:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):751 -> a
    45:54:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):751:760 -> a
    55:73:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):723:741 -> a
    74:74:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):740:740 -> a
com.android.tools.r8.ir.desugar.LambdaClass$InterfaceLambdaImplTarget -> com.android.tools.r8.internal.tA:
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.graph.DexMethod implMethod -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():604:604 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):611:613 -> <init>
    1:38:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):622:659 -> a
    39:39:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    39:39:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):659 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    40:40:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):659 -> a
    41:44:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):659:662 -> a
    45:45:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    45:45:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):662 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    46:46:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):662 -> a
    47:47:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):663:663 -> a
    48:48:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    48:48:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):663 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:49:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    49:49:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):663 -> a
    50:59:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):663:672 -> a
    60:78:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):632:650 -> a
    79:83:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):649:653 -> a
    84:84:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):652:652 -> a
com.android.tools.r8.ir.desugar.LambdaClass$InvalidLambdaImplTarget -> com.android.tools.r8.internal.uA:
    com.android.tools.r8.graph.DexType exceptionType -> f
    1:685:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexType,boolean):0:684 -> <init>
    com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer) -> a
com.android.tools.r8.ir.desugar.LambdaClass$NoAccessorMethodTarget -> com.android.tools.r8.internal.vA:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):567:567 -> <init>
    com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer) -> a
com.android.tools.r8.ir.desugar.LambdaClass$StaticLambdaImplTarget -> com.android.tools.r8.internal.wA:
    com.android.tools.r8.graph.ProgramMethod target -> f
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod,boolean):584:585 -> <init>
    1:4:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):593:596 -> a
com.android.tools.r8.ir.desugar.LambdaClass$Target -> com.android.tools.r8.internal.xA:
    com.android.tools.r8.ir.code.Invoke$Type invokeType -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexMethod callTarget -> a
    boolean isInterface -> c
    boolean hasEnsuredAccessibility -> d
    1:1:void <clinit>():517:517 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):525:530 -> <init>
    com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer) -> a
    1:3:void ensureAccessibilityIfNeeded(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):546:548 -> b
com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode -> com.android.tools.r8.internal.zA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():22:22 -> <clinit>
com.android.tools.r8.ir.desugar.LambdaDescriptor -> com.android.tools.r8.internal.AA:
    com.android.tools.r8.graph.MethodAccessFlags targetAccessFlags -> j
    boolean $assertionsDisabled -> m
    int $r8$clinit -> n
    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
    1:8:void <clinit>():30:37 -> <clinit>
    1:1:void <init>():54:54 -> <init>
    2:19:void <init>():46:63 -> <init>
    20:20:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):79:79 -> <init>
    21:78:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):46:103 -> <init>
    1:4:com.android.tools.r8.graph.DexType getImplReceiverType():110:113 -> a
    5:45:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):118:158 -> a
    46:46:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
    250:250:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    251:251:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    252:252:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    204:204:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    205:206:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):152:153 -> a
    207:208:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):145:146 -> a
    209:215:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):126:132 -> a
    216:216:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInstance():153:153 -> a
    216:216:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):132 -> a
    217:218:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):132:133 -> a
    219:219:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isPrivateInstanceMethod(com.android.tools.r8.graph.DexEncodedMethod):169:169 -> a
    219:219:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):133 -> a
    220:221:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):133:134 -> a
    222:222:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isPublicizedInstanceMethod(com.android.tools.r8.graph.DexEncodedMethod):174:174 -> a
    222:222:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):134 -> a
    223:232:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):131:140 -> a
    253:254:boolean isInstanceMethod(com.android.tools.r8.graph.DexEncodedMethod):163:164 -> a
    255:255:boolean verifyTargetFoundInClass(com.android.tools.r8.graph.DexType):178:178 -> a
    256:257:void forEachErasedAndEnforcedTypes(java.util.function.BiConsumer):187:188 -> a
    258:258:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    258:258:void forEachErasedAndEnforcedTypes(java.util.function.BiConsumer):188 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    259:259:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    259:259:void forEachErasedAndEnforcedTypes(java.util.function.BiConsumer):188 -> a
    260:260:void forEachErasedAndEnforcedTypes(java.util.function.BiConsumer):189:189 -> a
    261:261:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):204:204 -> a
    262:262:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInterface():157:157 -> a
    262:262:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):204 -> a
    263:264:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):209:210 -> a
    265:265:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInstance():153:153 -> a
    265:265:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):210 -> a
    266:267:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):210:211 -> a
    268:268:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeConstructor():165:165 -> a
    268:268:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):211 -> a
    269:273:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):212:216 -> a
    274:318:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):213:257 -> a
    319:322:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):281:284 -> a
    319:322:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):293 -> a
    323:323:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> a
    323:323:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    323:323:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):293 -> a
    324:324:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> a
    324:324:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
    324:324:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):293 -> a
    325:349:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):294:318 -> a
    350:360:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isEnforcedSignatureValid(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexProto):431:441 -> a
    350:360:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):318 -> a
    361:382:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):326:347 -> a
    383:383:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1114,"2":1115,"3":1116}}
    1114:1114:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):347:347 -> a
    1115:1115:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):347:347 -> a
    1116:1116:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):347:347 -> a
    731:734:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):348:351 -> a
    735:765:void com.android.tools.r8.ir.desugar.LambdaDescriptor.extractAltMetafactory(com.android.tools.r8.graph.DexItemFactory,java.util.List,java.util.function.Consumer,java.util.function.Consumer):372:402 -> a
    735:765:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):351 -> a
    766:766:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):320:320 -> a
    767:767:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1117,"2":1118,"3":1119}}
    1117:1117:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):320:320 -> a
    1118:1118:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):320:320 -> a
    1119:1119:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):320:320 -> a
    1088:1088:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):321:321 -> a
    1120:1121:void lambda$infer$0(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexType):355:356 -> a
    1122:1126:java.util.List getInterfaces(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy):409:413 -> a
    1127:1133:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):418:424 -> a
    1134:1134:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1984,"2":1985,"3":1986,"4":1987,"5":1988,"6":1989}}
    1984:1984:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    1985:1985:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    1986:1986:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    1987:1987:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    1988:1988:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    1989:1989:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    1558:1558:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    1559:1559:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1560:1560:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1990,"2":1991,"3":1992,"4":1993,"5":1994,"6":1995}}
    1990:1990:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1991:1991:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1992:1992:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1993:1993:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1994:1994:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1995:1995:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1979:1979:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1996:2004:boolean isSameOrDerived(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):453:461 -> a
    2005:2008:boolean isSameOrDerived(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):460:463 -> a
    1:1:com.android.tools.r8.graph.DexMethod getMainMethod():67:67 -> b
    2:3:com.android.tools.r8.ir.desugar.LambdaDescriptor tryInfer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):266:267 -> b
com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode -> com.android.tools.r8.internal.FA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():44:44 -> <clinit>
    1:15:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):97:111 -> a
    16:27:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):76:87 -> a
    16:27:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    28:28:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":55,"2":56,"3":57,"4":58,"5":59}}
    55:55:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    55:55:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    56:56:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    56:56:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    57:57:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    57:57:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    58:58:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    58:58:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    59:59:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    59:59:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    29:29:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    29:29:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    30:30:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):85:85 -> a
    30:30:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    31:43:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):116:128 -> a
    44:44:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):777:777 -> a
    44:44:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):135 -> a
    45:54:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):136:145 -> a
    60:60:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    61:61:boolean isSameOrAdaptableTo(byte,byte):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":232,"2":233,"3":234,"4":235,"5":236}}
    232:232:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    233:233:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    234:234:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    235:235:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    236:236:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    231:231:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    237:241:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):176:180 -> a
    242:256:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.buildThrowingCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):312:326 -> a
    242:256:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):181 -> a
    257:257:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    257:257:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.buildThrowingCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):326 -> a
    257:257:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):181 -> a
    258:258:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    258:258:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    258:258:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.buildThrowingCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):326 -> a
    258:258:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):181 -> a
    259:259:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    259:259:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    259:259:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.buildThrowingCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):326 -> a
    259:259:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):181 -> a
    260:292:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):184:216 -> a
    293:310:boolean com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.checkSignatures(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):53:70 -> a
    293:310:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):211 -> a
    311:327:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):220:236 -> a
    328:328:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> a
    328:328:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):236 -> a
    329:340:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):236:247 -> a
    341:342:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.enforceParameterType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):376:377 -> a
    341:342:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareParameterValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):363 -> a
    341:342:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):248 -> a
    343:343:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    343:343:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.enforceParameterType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):377 -> a
    343:343:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareParameterValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):363 -> a
    343:343:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):248 -> a
    344:344:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.enforceParameterType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):377:377 -> a
    344:344:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareParameterValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):363 -> a
    344:344:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):248 -> a
    345:345:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareParameterValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):364:364 -> a
    345:345:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):248 -> a
    346:346:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):252:252 -> a
    347:347:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():150:150 -> a
    347:347:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):253 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    363:363:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():166:166 -> a
    363:363:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):253 -> a
    364:364:boolean com.android.tools.r8.ir.desugar.LambdaClass$Target.isInterface():553:553 -> a
    364:364:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):253 -> a
    365:391:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):253:279 -> a
    392:405:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):278:291 -> a
    406:407:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareReturnValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):346:347 -> a
    406:407:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):288 -> a
    408:426:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):286:304 -> a
    427:427:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    427:427:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):304 -> a
    428:428:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    428:428:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    428:428:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):304 -> a
    429:429:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    429:429:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    429:429:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):304 -> a
    430:444:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):412:426 -> a
    430:444:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    445:456:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):76:87 -> a
    445:456:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    445:456:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    457:457:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":525,"2":526,"3":527,"4":528,"5":529}}
    525:525:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    525:525:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    525:525:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    526:526:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    526:526:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    526:526:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    527:527:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    527:527:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    527:527:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    528:528:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    528:528:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    528:528:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    529:529:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    529:529:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    529:529:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    458:458:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    458:458:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    458:458:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    459:459:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):85:85 -> a
    459:459:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    459:459:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    460:460:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):430:430 -> a
    460:460:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    461:461:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    461:461:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):430 -> a
    461:461:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    462:462:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):430:430 -> a
    462:462:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    463:463:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):777:777 -> a
    463:463:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):432 -> a
    463:463:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    464:465:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):752:753 -> a
    464:465:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    464:465:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    464:465:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    466:466:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):545:545 -> a
    466:466:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    466:466:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    467:467:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):435:435 -> a
    467:467:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    468:468:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    468:468:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    468:468:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    468:468:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    469:469:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":530,"2":531,"3":532,"4":533,"5":534}}
    530:530:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    530:530:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    530:530:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    530:530:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    531:531:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    531:531:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    531:531:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    531:531:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    532:532:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    532:532:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    532:532:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    532:532:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    533:533:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    533:533:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    533:533:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    533:533:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    534:534:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    534:534:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    534:534:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    534:534:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    470:470:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    470:470:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    470:470:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    470:470:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    471:482:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):76:87 -> a
    471:482:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    471:482:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    483:483:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":535,"2":536,"3":537,"4":538,"5":539}}
    535:535:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    535:535:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    535:535:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    536:536:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    536:536:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    536:536:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    537:537:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    537:537:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    537:537:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    538:538:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    538:538:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    538:538:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    539:539:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    539:539:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    539:539:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    484:484:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    484:484:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    484:484:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    485:485:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):85:85 -> a
    485:485:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    485:485:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    486:486:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):444:444 -> a
    486:486:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    487:487:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):762:762 -> a
    487:487:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    487:487:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    487:487:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    488:488:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):777:777 -> a
    488:488:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763 -> a
    488:488:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    488:488:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    488:488:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    489:490:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:768 -> a
    489:490:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    489:490:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    489:490:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    491:491:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):553:553 -> a
    491:491:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    491:491:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    492:492:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    492:492:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    492:492:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    492:492:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    493:493:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":540,"2":541,"3":542,"4":543,"5":544}}
    540:540:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    540:540:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    540:540:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    540:540:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    541:541:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    541:541:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    541:541:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    541:541:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    542:542:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    542:542:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    542:542:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    542:542:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    543:543:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    543:543:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    543:543:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    543:543:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    544:544:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    544:544:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    544:544:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    544:544:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    494:494:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    494:494:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    494:494:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    494:494:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    495:509:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):456:470 -> a
    495:509:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    510:510:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    510:510:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):470 -> a
    510:510:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    511:511:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):470:470 -> a
    511:511:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    512:512:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):389:389 -> a
    513:513:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):777:777 -> a
    513:513:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):392 -> a
    514:519:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):394:399 -> a
    520:520:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):395:395 -> a
    521:521:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):393:393 -> a
    522:522:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):475:475 -> a
    522:522:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    523:523:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":545,"2":546,"3":547}}
    545:545:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):475:475 -> a
    545:545:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    546:546:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):475:475 -> a
    546:546:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    547:547:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):475:475 -> a
    547:547:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    524:524:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):476:476 -> a
    524:524:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    548:594:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):481:527 -> a
    595:599:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):516:520 -> a
    600:603:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):508:511 -> a
    604:604:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):502:502 -> a
    605:647:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):494:536 -> a
    648:648:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1188,"2":1189,"3":1190}}
    1188:1188:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    1189:1189:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    1190:1190:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    649:649:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1191,"2":1192,"3":1193}}
    1191:1191:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    1192:1192:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    1193:1193:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    650:650:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1194,"2":1195,"3":1196,"4":1197}}
    1194:1194:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
    1195:1195:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
    1196:1196:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
    1197:1197:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
    1187:1187:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode$1 -> com.android.tools.r8.internal.EA:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():492:492 -> <clinit>
com.android.tools.r8.ir.desugar.LocalStackAllocator -> com.android.tools.r8.internal.nC:
    void allocateLocalStack(int) -> a
com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.hH:
    java.util.List desugarings -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter desugaredLibraryAPIConverter -> f
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter interfaceMethodRewriter -> e
    java.util.List yieldingDesugarings -> c
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring nestBasedAccessDesugaring -> d
    1:1:void <clinit>():48:48 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):63:63 -> <init>
    2:47:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):51:96 -> <init>
    48:93:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):95:140 -> <init>
    1:2:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):145:146 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    3:3:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):146 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4:4:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):146 -> a
    5:6:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):146:147 -> a
    7:7:com.android.tools.r8.androidapi.AndroidApiLevelCompute com.android.tools.r8.androidapi.AndroidApiLevelCompute.noAndroidApiLevelCompute():54:54 -> a
    7:7:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):148 -> a
    8:11:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):148:151 -> a
    12:20:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):166:174 -> a
    12:20:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):195 -> a
    21:21:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):170:170 -> a
    21:21:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):195 -> a
    22:35:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):196:209 -> a
    36:67:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):208:239 -> a
    68:76:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):166:174 -> a
    68:76:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):180 -> a
    77:77:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):170:170 -> a
    77:77:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):180 -> a
    78:78:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):181:181 -> a
    79:87:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):166:174 -> a
    79:87:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):186 -> a
    88:88:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):170:170 -> a
    88:88:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):186 -> a
    89:89:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):187:187 -> a
    90:90:void lambda$prepare$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):181:181 -> a
    91:91:void lambda$scan$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):187:187 -> a
    92:103:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):211:222 -> a
    104:104:void com.android.tools.r8.utils.IntBox.setMax(int):61:61 -> a
    104:104:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):222 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    105:105:void com.android.tools.r8.utils.IntBox.setMax(int):62:62 -> a
    105:105:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):222 -> a
    106:106:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):223:223 -> a
    107:107:void com.android.tools.r8.utils.IntBox.setMax(int):61:61 -> a
    107:107:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):223 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    108:108:void com.android.tools.r8.utils.IntBox.setMax(int):62:62 -> a
    108:108:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):223 -> a
    109:110:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):226:227 -> a
    111:111:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$3(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):244:244 -> a
    112:120:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):274:282 -> a
    121:132:java.util.Collection com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.applyDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.Iterator):306:317 -> a
    121:132:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):275 -> a
    133:144:java.util.Collection com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.applyDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.Iterator):309:320 -> a
    133:144:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):275 -> a
    145:152:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):288:295 -> a
    153:164:java.util.Collection com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.applyDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.Iterator):306:317 -> a
    153:164:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):288 -> a
    165:176:java.util.Collection com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.applyDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.Iterator):309:320 -> a
    165:176:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):288 -> a
    177:191:boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod):329:343 -> a
    192:192:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    192:192:boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod):342 -> a
    193:193:boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod):339:339 -> a
    194:194:boolean lambda$needsDesugaring$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfInstruction):343:343 -> a
    195:195:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):347:347 -> a
    196:196:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    196:196:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):347 -> a
    197:197:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):347:347 -> a
    198:198:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    198:198:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):349 -> a
    199:199:boolean lambda$needsDesugaring$7(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):348:348 -> a
    200:200:boolean verifyNoOtherDesugaringNeeded(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,java.util.Iterator,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):358:358 -> a
    201:217:void lambda$verifyNoOtherDesugaringNeeded$9(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):360:376 -> a
    218:220:void withD8NestBasedAccessDesugaring(com.android.tools.r8.utils.ThrowingConsumer):384:386 -> a
    221:222:com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringD8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):393:394 -> a
    223:224:com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringR8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):401:402 -> a
    225:226:void withDesugaredLibraryAPIConverter(java.util.function.Consumer):408:409 -> a
    1:3:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToDexNonDesugar(com.android.tools.r8.graph.AppView):156:158 -> b
    4:4:com.android.tools.r8.androidapi.AndroidApiLevelCompute com.android.tools.r8.androidapi.AndroidApiLevelCompute.noAndroidApiLevelCompute():54:54 -> b
    4:4:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToDexNonDesugar(com.android.tools.r8.graph.AppView):159 -> b
    5:7:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToDexNonDesugar(com.android.tools.r8.graph.AppView):159:161 -> b
    8:25:boolean noDesugaringBecauseOfImpreciseDesugaring(com.android.tools.r8.graph.ProgramMethod):244:261 -> b
    26:26:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$4(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):251:251 -> b
    27:27:boolean lambda$needsDesugaring$8(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):350:350 -> b
    1:1:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$5(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):257:257 -> c
com.android.tools.r8.ir.desugar.ProgramAdditions -> com.android.tools.r8.internal.zM:
    java.util.Map additions -> b
    java.util.Set added -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():25:25 -> <clinit>
    1:3:void <init>():25:27 -> <init>
    1:9:void accept(com.android.tools.r8.graph.DexMember,java.util.function.Supplier):32:40 -> a
    10:10:java.util.List lambda$accept$0(com.android.tools.r8.graph.DexProgramClass):35:35 -> a
    11:11:void apply(java.util.concurrent.ExecutorService):45:45 -> a
    12:13:void lambda$apply$1(com.android.tools.r8.graph.DexProgramClass,java.util.List):48:49 -> a
    1:1:void accept(java.lang.Object,java.lang.Object):25:25 -> accept
com.android.tools.r8.ir.desugar.TypeRewriter -> com.android.tools.r8.internal.YZ:
    1:1:void <init>():15:15 -> <init>
    void forAllRewrittenTypes(java.util.function.Consumer) -> a
    boolean isRewriting() -> a
    void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType) -> a
    1:1:boolean hasRewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):28:28 -> a
    2:6:boolean hasRewrittenTypeInSignature(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.AppView):32:36 -> a
    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.TypeRewriter$EmptyPrefixRewritingMapper -> com.android.tools.r8.internal.WZ:
    1:1:void <init>():102:102 -> <init>
    void forAllRewrittenTypes(java.util.function.Consumer) -> a
    boolean isRewriting() -> a
    void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType) -> a
    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.TypeRewriter$MachineDesugarPrefixRewritingMapper -> com.android.tools.r8.internal.XZ:
    java.util.Map rewriteType -> a
    java.util.Map rewriteDerivedTypeOnly -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():47:47 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification):52:54 -> <init>
    boolean isRewriting() -> a
    1:5:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType):74:78 -> a
    6:6:void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):83:83 -> a
    7:7:com.android.tools.r8.graph.DexType lambda$rewriteType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):86:86 -> a
    8:8:void forAllRewrittenTypes(java.util.function.Consumer):98:98 -> a
    1:11:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):59:69 -> b
com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring -> com.android.tools.r8.internal.e2:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():42:42 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):49:52 -> <init>
    1:5:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):65:69 -> a
    6:9:java.util.Collection com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.desugarLibraryCall(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory):139:142 -> a
    6:9:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):67 -> a
    10:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):78:82 -> a
    15:26:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):87:98 -> a
    27:27:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    27:27:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):99 -> a
    28:30:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):102:104 -> a
    31:33:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):103:105 -> a
    34:35:boolean com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.isApiLevelLessThanOrEqualTo9(com.android.tools.r8.androidapi.ComputedApiLevel):130:131 -> a
    34:35:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):106 -> a
    36:52:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):107:123 -> a
    53:53:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    53:53:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):123 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    54:54:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    54:54:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):123 -> a
    55:55:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):125:125 -> a
    56:56:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):108:108 -> a
    57:57:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):100:100 -> a
    58:60:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):151:153 -> a
    61:63:boolean com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.verifyLibraryHolderAndInvoke(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,boolean):193:195 -> a
    61:63:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):154 -> a
    64:65:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):154:155 -> a
    66:66:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2642:2642 -> a
    66:66:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2646 -> a
    66:66:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):155 -> a
    67:67:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2646:2646 -> a
    67:67:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):155 -> a
    68:70:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):156:158 -> a
    71:73:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):164:166 -> a
    74:74:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic():355:355 -> a
    74:74:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):167 -> a
    75:79:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):167:171 -> a
    80:89:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):165:174 -> a
    90:98:com.android.tools.r8.graph.Code lambda$ensureOutlineMethod$0(boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):177:185 -> a
com.android.tools.r8.ir.desugar.backports.BackportedMethods -> com.android.tools.r8.internal.l4:
    1:23:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2291:2313 -> A
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A
    24:24:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2313 -> A
    25:39:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2313:2327 -> A
    40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A
    40:40:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2327 -> A
    41:51:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2327:2337 -> A
    52:52:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A
    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2337 -> A
    53:56:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2337:2340 -> A
    57:101:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2300:2344 -> A
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> A
    102:102:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2344 -> A
    103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> A
    103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> A
    103:103:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2344 -> A
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> A
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> A
    104:104:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2344 -> A
    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6827:6851 -> A0
    26:39:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6847:6860 -> A0
    40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A0
    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6860 -> A0
    41:52:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6860:6871 -> A0
    53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A0
    53:53:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6871 -> A0
    54:64:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6871:6881 -> A0
    65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A0
    65:65:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6881 -> A0
    66:69:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6881:6884 -> A0
    70:122:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6836:6888 -> A0
    123:123:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> A0
    123:123:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6888 -> A0
    124:124:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> A0
    124:124:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> A0
    124:124:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6888 -> A0
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> A0
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> A0
    125:125:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6888 -> A0
    1:31:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2348:2378 -> B
    32:32:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2372:2372 -> B
    33:60:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2356:2383 -> B
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> B
    61:61:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2383 -> B
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6892:6910 -> B0
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> B0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6910 -> B0
    21:29:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6910:6918 -> B0
    30:39:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6915:6924 -> B0
    40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> B0
    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6924 -> B0
    41:43:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6924:6926 -> B0
    44:74:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6900:6930 -> B0
    75:75:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> B0
    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6930 -> B0
    76:76:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> B0
    76:76:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> B0
    76:76:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6930 -> B0
    77:77:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> B0
    77:77:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> B0
    77:77:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6930 -> B0
    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2387:2416 -> C
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> C
    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2416 -> C
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6934:6952 -> C0
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> C0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6952 -> C0
    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6952:6959 -> C0
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> C0
    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6959 -> C0
    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6959:6961 -> C0
    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6942:6965 -> C0
    57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> C0
    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6965 -> C0
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> C0
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> C0
    58:58:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6965 -> C0
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> C0
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> C0
    59:59:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6965 -> C0
    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2421:2440 -> D
    21:34:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2434:2447 -> D
    35:49:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2444:2458 -> D
    50:50:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2452:2452 -> D
    51:87:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2427:2463 -> D
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> D
    88:88:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2463 -> D
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6969:6987 -> D0
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6987 -> D0
    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6987:6994 -> D0
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D0
    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6994 -> D0
    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6994:6996 -> D0
    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6977:7000 -> D0
    57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> D0
    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7000 -> D0
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> D0
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> D0
    58:58:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7000 -> D0
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> D0
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> D0
    59:59:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7000 -> D0
    1:27:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2468:2494 -> E
    28:47:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2490:2509 -> E
    48:63:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2505:2520 -> E
    64:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2514:2533 -> E
    84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> E
    84:84:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2533 -> E
    85:99:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2533:2547 -> E
    100:113:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2541:2554 -> E
    114:128:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2551:2565 -> E
    129:129:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2559:2559 -> E
    130:222:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2478:2570 -> E
    223:223:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> E
    223:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2570 -> E
    224:224:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> E
    224:224:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> E
    224:224:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2570 -> E
    225:225:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> E
    225:225:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> E
    225:225:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2570 -> E
    1:20:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7005:7024 -> E0
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> E0
    21:21:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7024 -> E0
    22:35:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7024:7037 -> E0
    36:36:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7031:7031 -> E0
    37:67:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7012:7042 -> E0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> E0
    68:68:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7042 -> E0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> E0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> E0
    69:69:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7042 -> E0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> E0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> E0
    70:70:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7042 -> E0
    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2574:2592 -> F
    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2586:2586 -> F
    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2580:2597 -> F
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> F
    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2597 -> F
    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7047:7068 -> F0
    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7067:7067 -> F0
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> F0
    24:24:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7067 -> F0
    25:39:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7067:7081 -> F0
    40:48:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7075:7083 -> F0
    49:49:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> F0
    49:49:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7083 -> F0
    50:56:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7083:7089 -> F0
    57:74:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7086:7103 -> F0
    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7097:7097 -> F0
    76:129:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7055:7108 -> F0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> F0
    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7108 -> F0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> F0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> F0
    131:131:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7108 -> F0
    132:132:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> F0
    132:132:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> F0
    132:132:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7108 -> F0
    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2602:2621 -> G
    21:34:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2615:2628 -> G
    35:49:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2625:2639 -> G
    50:50:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2633:2633 -> G
    51:87:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2608:2644 -> G
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> G
    88:88:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2644 -> G
    1:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7113:7135 -> G0
    24:37:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7131:7144 -> G0
    38:38:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> G0
    38:38:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7144 -> G0
    39:41:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7144:7146 -> G0
    42:72:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7121:7151 -> G0
    73:73:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> G0
    73:73:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7151 -> G0
    74:74:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> G0
    74:74:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> G0
    74:74:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7151 -> G0
    75:75:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> G0
    75:75:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> G0
    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7151 -> G0
    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2649:2668 -> H
    21:36:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2665:2680 -> H
    37:54:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2676:2693 -> H
    55:68:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2689:2702 -> H
    69:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H
    69:69:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2702 -> H
    70:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2702:2715 -> H
    84:110:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2709:2735 -> H
    111:123:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2732:2744 -> H
    124:137:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2740:2753 -> H
    138:151:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2749:2762 -> H
    152:165:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2758:2771 -> H
    166:180:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2767:2781 -> H
    181:192:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2777:2788 -> H
    193:204:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2785:2796 -> H
    205:219:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2792:2806 -> H
    220:220:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H
    220:220:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2806 -> H
    221:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2806:2808 -> H
    224:378:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2660:2814 -> H
    379:379:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> H
    379:379:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2814 -> H
    380:380:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> H
    380:380:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> H
    380:380:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2814 -> H
    381:381:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> H
    381:381:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> H
    381:381:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2814 -> H
    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7156:7180 -> H0
    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7177:7177 -> H0
    27:27:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> H0
    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7177 -> H0
    28:42:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7177:7191 -> H0
    43:43:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7190:7190 -> H0
    44:44:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
    44:44:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7190 -> H0
    45:57:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7190:7202 -> H0
    58:58:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7201:7201 -> H0
    59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
    59:59:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7201 -> H0
    60:76:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7201:7217 -> H0
    77:91:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7213:7227 -> H0
    92:92:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7226:7226 -> H0
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
    93:93:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7226 -> H0
    94:97:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7226:7229 -> H0
    98:165:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7167:7234 -> H0
    166:166:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> H0
    166:166:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7234 -> H0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> H0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> H0
    167:167:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7234 -> H0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> H0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> H0
    168:168:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7234 -> H0
    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2818:2847 -> I
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> I
    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2847 -> I
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7238:7256 -> I0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7250:7250 -> I0
    21:38:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7244:7261 -> I0
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> I0
    39:39:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7261 -> I0
    1:16:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2851:2866 -> J
    17:17:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> J
    17:17:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2866 -> J
    1:21:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7265:7285 -> J0
    22:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J0
    22:22:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7285 -> J0
    23:32:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7285:7294 -> J0
    33:44:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7291:7302 -> J0
    45:45:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J0
    45:45:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7302 -> J0
    46:49:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7302:7305 -> J0
    50:86:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7273:7309 -> J0
    87:87:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> J0
    87:87:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7309 -> J0
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> J0
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> J0
    88:88:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7309 -> J0
    89:89:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> J0
    89:89:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> J0
    89:89:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7309 -> J0
    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2870:2888 -> K
    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2882:2882 -> K
    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2876:2893 -> K
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> K
    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2893 -> K
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7313:7330 -> K0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7327:7341 -> K0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7338:7349 -> K0
    46:60:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7345:7359 -> K0
    61:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7358:7360 -> K0
    64:64:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K0
    64:64:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7360 -> K0
    65:74:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7360:7369 -> K0
    75:87:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7366:7378 -> K0
    88:90:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7377:7379 -> K0
    91:91:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7379 -> K0
    92:94:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7379:7381 -> K0
    95:158:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7322:7385 -> K0
    159:159:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> K0
    159:159:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7385 -> K0
    160:160:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> K0
    160:160:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> K0
    160:160:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7385 -> K0
    161:161:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> K0
    161:161:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> K0
    161:161:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7385 -> K0
    1:26:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2898:2923 -> L
    27:27:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2917:2917 -> L
    28:51:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2905:2928 -> L
    52:52:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> L
    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2928 -> L
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7390:7407 -> L0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7404:7418 -> L0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7415:7426 -> L0
    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7422:7435 -> L0
    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7434:7437 -> L0
    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7436:7438 -> L0
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> L0
    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7438 -> L0
    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7438:7447 -> L0
    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7444:7455 -> L0
    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7454:7457 -> L0
    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7456:7458 -> L0
    97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> L0
    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7458 -> L0
    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7458:7460 -> L0
    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7399:7464 -> L0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> L0
    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7464 -> L0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> L0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> L0
    168:168:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7464 -> L0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> L0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> L0
    169:169:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7464 -> L0
    1:31:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2932:2962 -> M
    32:32:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2956:2956 -> M
    33:60:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2940:2967 -> M
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> M
    61:61:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2967 -> M
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7469:7486 -> M0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7483:7497 -> M0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7494:7505 -> M0
    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7501:7514 -> M0
    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7513:7516 -> M0
    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7515:7517 -> M0
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> M0
    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7517 -> M0
    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7517:7526 -> M0
    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7523:7534 -> M0
    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7533:7536 -> M0
    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7535:7537 -> M0
    97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> M0
    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7537 -> M0
    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7537:7539 -> M0
    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7478:7543 -> M0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> M0
    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7543 -> M0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> M0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> M0
    168:168:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7543 -> M0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> M0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> M0
    169:169:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7543 -> M0
    1:53:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2971:3023 -> N
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    54:54:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3023 -> N
    55:66:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3023:3034 -> N
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    67:67:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3034 -> N
    68:86:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3034:3052 -> N
    87:87:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    87:87:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3052 -> N
    88:134:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3052:3098 -> N
    135:135:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    135:135:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3098 -> N
    136:151:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3098:3113 -> N
    152:152:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    152:152:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3113 -> N
    153:158:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3113:3118 -> N
    159:159:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3116:3116 -> N
    160:293:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2991:3124 -> N
    294:294:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> N
    294:294:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3124 -> N
    295:295:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> N
    295:295:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> N
    295:295:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3124 -> N
    296:296:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> N
    296:296:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> N
    296:296:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3124 -> N
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7548:7565 -> N0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7562:7576 -> N0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7573:7584 -> N0
    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7580:7593 -> N0
    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7592:7595 -> N0
    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7594:7596 -> N0
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N0
    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7596 -> N0
    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7596:7605 -> N0
    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7602:7613 -> N0
    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7612:7615 -> N0
    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7614:7616 -> N0
    97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N0
    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7616 -> N0
    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7616:7618 -> N0
    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7557:7622 -> N0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> N0
    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7622 -> N0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> N0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> N0
    168:168:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7622 -> N0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> N0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> N0
    169:169:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7622 -> N0
    1:18:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3128:3145 -> O
    19:19:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> O
    19:19:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3145 -> O
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7626:7642 -> O0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7639:7652 -> O0
    32:32:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> O0
    32:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7652 -> O0
    33:42:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7652:7661 -> O0
    43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> O0
    43:43:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7661 -> O0
    44:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7661:7664 -> O0
    48:82:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7634:7668 -> O0
    83:83:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> O0
    83:83:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7668 -> O0
    84:84:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> O0
    84:84:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> O0
    84:84:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7668 -> O0
    85:85:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> O0
    85:85:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> O0
    85:85:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7668 -> O0
    1:20:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3150:3169 -> P
    21:34:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3163:3176 -> P
    35:49:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3173:3187 -> P
    50:50:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3181:3181 -> P
    51:87:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3156:3192 -> P
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> P
    88:88:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3192 -> P
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7672:7688 -> P0
    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7685:7699 -> P0
    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7698:7698 -> P0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> P0
    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7698 -> P0
    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7698:7709 -> P0
    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7708:7708 -> P0
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> P0
    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7708 -> P0
    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7708:7712 -> P0
    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7680:7716 -> P0
    91:91:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> P0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7716 -> P0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> P0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> P0
    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7716 -> P0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> P0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> P0
    93:93:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7716 -> P0
    1:27:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3197:3223 -> Q
    28:47:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3219:3238 -> Q
    48:63:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3234:3249 -> Q
    64:83:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3243:3262 -> Q
    84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q
    84:84:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3262 -> Q
    85:99:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3262:3276 -> Q
    100:113:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3270:3283 -> Q
    114:128:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3280:3294 -> Q
    129:129:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3288:3288 -> Q
    130:222:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3207:3299 -> Q
    223:223:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> Q
    223:223:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3299 -> Q
    224:224:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> Q
    224:224:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> Q
    224:224:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3299 -> Q
    225:225:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> Q
    225:225:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> Q
    225:225:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3299 -> Q
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7720:7736 -> Q0
    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7733:7747 -> Q0
    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7746:7746 -> Q0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q0
    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7746 -> Q0
    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7746:7757 -> Q0
    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7756:7756 -> Q0
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q0
    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7756 -> Q0
    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7756:7760 -> Q0
    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7728:7764 -> Q0
    91:91:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> Q0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7764 -> Q0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> Q0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> Q0
    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7764 -> Q0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> Q0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> Q0
    93:93:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7764 -> Q0
    1:19:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3303:3321 -> R
    20:20:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3315:3315 -> R
    21:38:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3309:3326 -> R
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> R
    39:39:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3326 -> R
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7768:7784 -> R0
    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7781:7795 -> R0
    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7794:7794 -> R0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R0
    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7794 -> R0
    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7794:7805 -> R0
    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7804:7804 -> R0
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R0
    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7804 -> R0
    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7804:7808 -> R0
    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7776:7812 -> R0
    91:91:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> R0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7812 -> R0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> R0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> R0
    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7812 -> R0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> R0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> R0
    93:93:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7812 -> R0
    1:46:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3331:3376 -> S
    47:94:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3372:3419 -> S
    95:107:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3415:3427 -> S
    108:120:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3423:3435 -> S
    121:151:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3431:3461 -> S
    152:170:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3455:3473 -> S
    171:249:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3469:3547 -> S
    250:265:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3543:3558 -> S
    266:288:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3552:3574 -> S
    289:300:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3571:3582 -> S
    301:350:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3578:3627 -> S
    351:387:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3621:3657 -> S
    388:399:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3654:3665 -> S
    400:412:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3661:3673 -> S
    413:462:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3669:3718 -> S
    463:829:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3357:3723 -> S
    1:20:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7816:7835 -> S0
    21:35:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7831:7845 -> S0
    36:52:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7842:7858 -> S0
    53:53:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7857:7857 -> S0
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S0
    54:54:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7857 -> S0
    55:65:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7857:7867 -> S0
    66:71:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7864:7869 -> S0
    72:72:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> S0
    72:72:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7869 -> S0
    73:83:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7869:7879 -> S0
    84:90:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7875:7881 -> S0
    91:91:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> S0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7881 -> S0
    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7881:7881 -> S0
    93:152:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7826:7885 -> S0
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> S0
    153:153:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7885 -> S0
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> S0
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> S0
    154:154:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7885 -> S0
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> S0
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> S0
    155:155:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7885 -> S0
    1:17:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3728:3744 -> T
    18:34:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3741:3757 -> T
    35:35:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3749:3749 -> T
    36:64:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3734:3762 -> T
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> T
    65:65:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3762 -> T
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7889:7905 -> T0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7902:7915 -> T0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7912:7922 -> T0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7921:7924 -> T0
    47:60:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7919:7932 -> T0
    61:61:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T0
    61:61:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7932 -> T0
    62:70:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7932:7940 -> T0
    71:73:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7939:7941 -> T0
    74:74:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7937:7937 -> T0
    75:124:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7897:7946 -> T0
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> T0
    125:125:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7946 -> T0
    126:126:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> T0
    126:126:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> T0
    126:126:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7946 -> T0
    127:127:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> T0
    127:127:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> T0
    127:127:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7946 -> T0
    1:53:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3766:3818 -> U
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    54:54:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3818 -> U
    55:68:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3818:3831 -> U
    69:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    69:69:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3831 -> U
    70:88:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3831:3849 -> U
    89:89:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    89:89:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3849 -> U
    90:136:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3849:3895 -> U
    137:137:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    137:137:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3895 -> U
    138:153:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3895:3910 -> U
    154:154:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    154:154:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3910 -> U
    155:160:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3910:3915 -> U
    161:161:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3913:3913 -> U
    162:296:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3786:3920 -> U
    297:297:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> U
    297:297:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3920 -> U
    298:298:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> U
    298:298:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> U
    298:298:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3920 -> U
    299:299:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> U
    299:299:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> U
    299:299:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3920 -> U
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7950:7966 -> U0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7963:7976 -> U0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7973:7983 -> U0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7982:7985 -> U0
    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7980:7994 -> U0
    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7993:7993 -> U0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U0
    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7993 -> U0
    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7993:8002 -> U0
    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8001:8003 -> U0
    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7999:7999 -> U0
    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7958:8008 -> U0
    129:129:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> U0
    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8008 -> U0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> U0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> U0
    130:130:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8008 -> U0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> U0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> U0
    131:131:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8008 -> U0
    1:19:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3924:3942 -> V
    20:20:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3936:3936 -> V
    21:38:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3930:3947 -> V
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> V
    39:39:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3947 -> V
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8012:8028 -> V0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8025:8038 -> V0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8035:8045 -> V0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8044:8047 -> V0
    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8042:8056 -> V0
    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8055:8055 -> V0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> V0
    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8055 -> V0
    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8055:8064 -> V0
    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8063:8065 -> V0
    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8061:8061 -> V0
    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8020:8070 -> V0
    129:129:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> V0
    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8070 -> V0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> V0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> V0
    130:130:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8070 -> V0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> V0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> V0
    131:131:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8070 -> V0
    1:47:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3952:3998 -> W
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    48:48:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3998 -> W
    49:67:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3998:4016 -> W
    68:83:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4010:4025 -> W
    84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    84:84:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4025 -> W
    85:100:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4025:4040 -> W
    101:101:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    101:101:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4040 -> W
    102:113:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4040:4051 -> W
    114:114:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    114:114:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4051 -> W
    115:140:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4051:4076 -> W
    141:163:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4072:4094 -> W
    164:164:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    164:164:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4094 -> W
    165:184:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4094:4113 -> W
    185:214:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4107:4136 -> W
    215:215:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    215:215:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4136 -> W
    216:243:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4136:4163 -> W
    244:244:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    244:244:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4163 -> W
    245:259:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4163:4177 -> W
    260:278:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4171:4189 -> W
    279:279:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    279:279:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4189 -> W
    280:305:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4189:4214 -> W
    306:328:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4208:4230 -> W
    329:329:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    329:329:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4230 -> W
    330:355:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4230:4255 -> W
    356:380:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4249:4273 -> W
    381:381:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    381:381:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4273 -> W
    382:402:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4273:4293 -> W
    403:403:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4286:4286 -> W
    404:719:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3983:4298 -> W
    720:720:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> W
    720:720:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4298 -> W
    721:721:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> W
    721:721:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> W
    721:721:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4298 -> W
    722:722:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> W
    722:722:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> W
    722:722:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4298 -> W
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8074:8090 -> W0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8087:8100 -> W0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8097:8107 -> W0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8106:8109 -> W0
    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8104:8118 -> W0
    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8117:8117 -> W0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W0
    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8117 -> W0
    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8117:8126 -> W0
    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8125:8127 -> W0
    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8123:8123 -> W0
    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8082:8132 -> W0
    129:129:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> W0
    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8132 -> W0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> W0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> W0
    130:130:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8132 -> W0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> W0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> W0
    131:131:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8132 -> W0
    1:40:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4302:4341 -> X
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> X
    41:41:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4341 -> X
    42:52:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4341:4351 -> X
    53:53:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4348:4348 -> X
    54:98:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4312:4356 -> X
    99:99:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> X
    99:99:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4356 -> X
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> X
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> X
    100:100:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4356 -> X
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> X
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> X
    101:101:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4356 -> X
    1:15:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8136:8150 -> X0
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> X0
    16:16:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8150 -> X0
    1:36:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4360:4395 -> Y
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    37:37:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4395 -> Y
    38:49:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4395:4406 -> Y
    50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    50:50:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4406 -> Y
    51:70:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4406:4425 -> Y
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    71:71:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4425 -> Y
    72:84:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4425:4437 -> Y
    85:85:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    85:85:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4437 -> Y
    86:91:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4437:4442 -> Y
    92:107:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4440:4455 -> Y
    108:108:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    108:108:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4455 -> Y
    109:119:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4455:4465 -> Y
    120:120:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4462:4462 -> Y
    121:218:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4373:4470 -> Y
    219:219:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> Y
    219:219:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4470 -> Y
    220:220:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> Y
    220:220:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> Y
    220:220:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4470 -> Y
    221:221:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> Y
    221:221:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> Y
    221:221:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4470 -> Y
    1:19:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8154:8172 -> Y0
    20:20:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> Y0
    20:20:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8172 -> Y0
    1:22:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4474:4495 -> Z
    23:33:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4492:4502 -> Z
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z
    34:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4502 -> Z
    35:36:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4502:4503 -> Z
    37:65:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4482:4510 -> Z
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> Z
    66:66:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4510 -> Z
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> Z
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> Z
    67:67:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4510 -> Z
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> Z
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> Z
    68:68:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4510 -> Z
    1:15:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8176:8190 -> Z0
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> Z0
    16:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8190 -> Z0
    1:17:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):122:138 -> a
    18:23:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):137:142 -> a
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    24:24:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):142 -> a
    25:42:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):142:159 -> a
    43:63:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):151:171 -> a
    64:69:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):170:175 -> a
    70:70:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    70:70:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):175 -> a
    71:83:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):175:187 -> a
    84:84:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):182:182 -> a
    85:150:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):131:196 -> a
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    151:151:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196 -> a
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    152:152:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196 -> a
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    153:153:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196 -> a
    1:23:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4514:4536 -> a0
    24:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4533:4543 -> a0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4543 -> a0
    36:37:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4543:4544 -> a0
    38:67:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4522:4551 -> a0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a0
    68:68:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4551 -> a0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a0
    69:69:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4551 -> a0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a0
    70:70:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4551 -> a0
    1:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8194:8209 -> a1
    17:17:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a1
    17:17:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8209 -> a1
    1:17:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):201:217 -> b
    18:23:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):216:221 -> b
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    24:24:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):221 -> b
    25:42:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):221:238 -> b
    43:63:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):230:250 -> b
    64:69:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):249:254 -> b
    70:70:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    70:70:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):254 -> b
    71:83:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):254:266 -> b
    84:84:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):261:261 -> b
    85:150:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):210:275 -> b
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> b
    151:151:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):275 -> b
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> b
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b
    152:152:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):275 -> b
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> b
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b
    153:153:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):275 -> b
    1:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4555:4595 -> b0
    42:42:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4595 -> b0
    43:70:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4595:4622 -> b0
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
    71:71:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4622 -> b0
    72:85:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4622:4635 -> b0
    86:86:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
    86:86:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4635 -> b0
    87:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4635:4638 -> b0
    91:165:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4568:4642 -> b0
    166:166:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> b0
    166:166:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4642 -> b0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> b0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b0
    167:167:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4642 -> b0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> b0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b0
    168:168:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4642 -> b0
    1:18:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8213:8230 -> b1
    19:21:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8229:8231 -> b1
    22:33:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8227:8238 -> b1
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
    34:34:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8238 -> b1
    35:43:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8238:8246 -> b1
    44:47:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8245:8248 -> b1
    48:59:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8243:8254 -> b1
    60:60:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
    60:60:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8254 -> b1
    61:65:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8254:8258 -> b1
    66:66:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8257:8257 -> b1
    67:67:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8256:8256 -> b1
    68:109:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8221:8262 -> b1
    110:110:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> b1
    110:110:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8262 -> b1
    111:111:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> b1
    111:111:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b1
    111:111:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8262 -> b1
    112:112:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> b1
    112:112:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b1
    112:112:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8262 -> b1
    1:17:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):280:296 -> c
    18:22:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):295:299 -> c
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c
    23:23:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):299 -> c
    24:38:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):299:313 -> c
    39:57:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):307:325 -> c
    58:62:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):324:328 -> c
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c
    63:63:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):328 -> c
    64:73:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):328:337 -> c
    74:74:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):334:334 -> c
    75:132:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):289:346 -> c
    133:133:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> c
    133:133:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):346 -> c
    134:134:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> c
    134:134:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> c
    134:134:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):346 -> c
    135:135:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> c
    135:135:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> c
    135:135:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):346 -> c
    1:43:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4646:4688 -> c0
    44:44:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c0
    44:44:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4688 -> c0
    45:74:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4688:4717 -> c0
    75:75:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c0
    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4717 -> c0
    76:89:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4717:4730 -> c0
    90:90:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c0
    90:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4730 -> c0
    91:94:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4730:4733 -> c0
    95:173:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4659:4737 -> c0
    174:174:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> c0
    174:174:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4737 -> c0
    175:175:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> c0
    175:175:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> c0
    175:175:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4737 -> c0
    176:176:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> c0
    176:176:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> c0
    176:176:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4737 -> c0
    1:26:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8266:8291 -> c1
    27:40:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8288:8301 -> c1
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    41:41:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8301 -> c1
    42:57:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8301:8316 -> c1
    58:73:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8312:8327 -> c1
    74:92:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8323:8341 -> c1
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    93:93:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8341 -> c1
    94:105:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8341:8352 -> c1
    106:120:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8348:8362 -> c1
    121:121:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    121:121:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8362 -> c1
    122:123:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8362:8363 -> c1
    124:212:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8280:8368 -> c1
    213:213:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> c1
    213:213:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8368 -> c1
    214:214:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> c1
    214:214:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> c1
    214:214:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8368 -> c1
    215:215:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> c1
    215:215:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> c1
    215:215:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8368 -> c1
    1:23:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):350:372 -> d
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d
    24:24:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):372 -> d
    25:38:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):372:385 -> d
    39:39:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d
    39:39:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):385 -> d
    40:50:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):385:395 -> d
    51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d
    51:51:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):395 -> d
    52:55:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):395:398 -> d
    56:99:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):359:402 -> d
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> d
    100:100:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):402 -> d
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> d
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> d
    101:101:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):402 -> d
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> d
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> d
    102:102:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):402 -> d
    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4741:4760 -> d0
    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4754:4754 -> d0
    22:40:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4747:4765 -> d0
    41:41:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> d0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4765 -> d0
    1:29:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8372:8400 -> d1
    30:44:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8396:8410 -> d1
    45:45:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8409:8409 -> d1
    46:46:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    46:46:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8409 -> d1
    47:58:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8409:8420 -> d1
    59:81:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8417:8439 -> d1
    82:100:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8434:8452 -> d1
    101:104:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8451:8454 -> d1
    105:105:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    105:105:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8454 -> d1
    106:123:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8454:8471 -> d1
    124:144:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8466:8486 -> d1
    145:163:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8481:8499 -> d1
    164:166:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8498:8500 -> d1
    167:167:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    167:167:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8500 -> d1
    168:177:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8500:8509 -> d1
    178:178:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8506:8506 -> d1
    179:306:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8387:8514 -> d1
    307:307:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> d1
    307:307:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8514 -> d1
    308:308:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> d1
    308:308:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> d1
    308:308:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8514 -> d1
    309:309:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> d1
    309:309:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> d1
    309:309:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8514 -> d1
    1:19:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):406:424 -> e
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e
    20:20:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):424 -> e
    21:28:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):424:431 -> e
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e
    29:29:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):431 -> e
    30:32:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):431:433 -> e
    33:56:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):414:437 -> e
    57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> e
    57:57:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):437 -> e
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> e
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> e
    58:58:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):437 -> e
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> e
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> e
    59:59:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):437 -> e
    1:32:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4769:4800 -> e0
    33:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e0
    33:33:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4800 -> e0
    34:58:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4800:4824 -> e0
    59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e0
    59:59:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4824 -> e0
    60:74:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4824:4838 -> e0
    75:75:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e0
    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4838 -> e0
    76:79:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4838:4841 -> e0
    80:144:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4781:4845 -> e0
    145:145:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> e0
    145:145:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4845 -> e0
    146:146:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> e0
    146:146:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> e0
    146:146:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4845 -> e0
    147:147:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> e0
    147:147:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> e0
    147:147:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4845 -> e0
    1:28:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8518:8545 -> e1
    29:42:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8541:8554 -> e1
    43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
    43:43:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8554 -> e1
    44:54:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8554:8564 -> e1
    55:68:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8561:8574 -> e1
    69:71:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8573:8575 -> e1
    72:86:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8571:8585 -> e1
    87:101:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8582:8596 -> e1
    102:102:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8593:8593 -> e1
    103:103:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> e1
    103:103:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8593 -> e1
    104:117:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8593:8606 -> e1
    118:134:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8601:8617 -> e1
    135:135:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
    135:135:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8617 -> e1
    136:145:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8617:8626 -> e1
    146:162:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8623:8639 -> e1
    163:179:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8634:8650 -> e1
    180:180:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8647:8647 -> e1
    181:181:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> e1
    181:181:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8647 -> e1
    182:195:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8647:8660 -> e1
    196:213:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8655:8672 -> e1
    214:214:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
    214:214:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8672 -> e1
    215:224:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8672:8681 -> e1
    225:225:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8678:8678 -> e1
    226:380:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8532:8686 -> e1
    381:381:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> e1
    381:381:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8686 -> e1
    382:382:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> e1
    382:382:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> e1
    382:382:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8686 -> e1
    383:383:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> e1
    383:383:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> e1
    383:383:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8686 -> e1
    1:15:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):441:455 -> f
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> f
    16:16:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):455 -> f
    1:34:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4849:4882 -> f0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4882 -> f0
    36:62:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4882:4908 -> f0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f0
    63:63:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4908 -> f0
    64:78:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4908:4922 -> f0
    79:79:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f0
    79:79:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4922 -> f0
    80:83:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4922:4925 -> f0
    84:152:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4861:4929 -> f0
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> f0
    153:153:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4929 -> f0
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> f0
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> f0
    154:154:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4929 -> f0
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> f0
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> f0
    155:155:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4929 -> f0
    1:36:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8690:8725 -> f1
    37:49:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8722:8734 -> f1
    50:63:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8730:8743 -> f1
    64:75:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8739:8750 -> f1
    76:87:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8747:8758 -> f1
    88:101:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8754:8767 -> f1
    102:102:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    102:102:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8767 -> f1
    103:112:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8767:8776 -> f1
    113:131:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8773:8791 -> f1
    132:132:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    132:132:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8791 -> f1
    133:145:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8791:8803 -> f1
    146:146:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    146:146:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8803 -> f1
    147:163:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8803:8819 -> f1
    164:164:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    164:164:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8819 -> f1
    165:174:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8819:8828 -> f1
    175:194:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8825:8844 -> f1
    195:207:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8841:8853 -> f1
    208:221:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8849:8862 -> f1
    222:233:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8859:8870 -> f1
    234:247:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8866:8879 -> f1
    248:261:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8875:8888 -> f1
    262:277:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8884:8899 -> f1
    278:289:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8895:8906 -> f1
    290:301:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8903:8914 -> f1
    302:316:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8910:8924 -> f1
    317:317:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    317:317:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8924 -> f1
    318:332:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8924:8938 -> f1
    333:352:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8934:8953 -> f1
    353:353:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    353:353:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8953 -> f1
    354:369:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8953:8968 -> f1
    370:388:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8964:8982 -> f1
    389:389:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    389:389:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8982 -> f1
    390:399:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8982:8991 -> f1
    400:400:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8988:8988 -> f1
    401:686:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8711:8996 -> f1
    687:687:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> f1
    687:687:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8996 -> f1
    688:688:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> f1
    688:688:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> f1
    688:688:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8996 -> f1
    689:689:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> f1
    689:689:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> f1
    689:689:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8996 -> f1
    1:19:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):459:477 -> g
    20:20:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> g
    20:20:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):477 -> g
    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4933:4952 -> g0
    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4946:4946 -> g0
    22:41:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4939:4958 -> g0
    42:42:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> g0
    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4958 -> g0
    1:32:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9000:9031 -> g1
    33:46:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9028:9041 -> g1
    47:47:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    47:47:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9041 -> g1
    48:63:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9041:9056 -> g1
    64:79:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9052:9067 -> g1
    80:97:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9063:9080 -> g1
    98:98:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    98:98:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9080 -> g1
    99:110:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9080:9091 -> g1
    111:128:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9087:9104 -> g1
    129:129:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    129:129:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9104 -> g1
    130:147:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9104:9121 -> g1
    148:165:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9115:9132 -> g1
    166:183:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9128:9145 -> g1
    184:184:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    184:184:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9145 -> g1
    185:196:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9145:9156 -> g1
    197:214:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9152:9169 -> g1
    215:215:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    215:215:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9169 -> g1
    216:230:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9169:9183 -> g1
    231:231:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9177:9177 -> g1
    232:400:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9020:9188 -> g1
    401:401:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> g1
    401:401:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9188 -> g1
    402:402:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> g1
    402:402:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> g1
    402:402:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9188 -> g1
    403:403:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> g1
    403:403:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> g1
    403:403:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9188 -> g1
    1:15:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):481:495 -> h
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> h
    16:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):495 -> h
    1:22:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4962:4983 -> h0
    23:33:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4980:4990 -> h0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h0
    34:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4990 -> h0
    35:36:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4990:4991 -> h0
    37:65:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4970:4998 -> h0
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> h0
    66:66:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4998 -> h0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> h0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> h0
    67:67:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4998 -> h0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> h0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> h0
    68:68:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4998 -> h0
    1:26:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9192:9217 -> h1
    27:40:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9214:9227 -> h1
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h1
    41:41:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9227 -> h1
    42:57:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9227:9242 -> h1
    58:73:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9238:9253 -> h1
    74:91:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9249:9266 -> h1
    92:92:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h1
    92:92:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9266 -> h1
    93:104:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9266:9277 -> h1
    105:122:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9273:9290 -> h1
    123:123:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h1
    123:123:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9290 -> h1
    124:138:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9290:9304 -> h1
    139:139:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9298:9298 -> h1
    140:243:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9206:9309 -> h1
    244:244:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> h1
    244:244:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9309 -> h1
    245:245:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> h1
    245:245:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> h1
    245:245:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9309 -> h1
    246:246:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> h1
    246:246:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> h1
    246:246:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9309 -> h1
    1:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):499:514 -> i
    17:17:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> i
    17:17:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):514 -> i
    1:23:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5002:5024 -> i0
    24:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5021:5031 -> i0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5031 -> i0
    36:37:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5031:5032 -> i0
    38:67:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5010:5039 -> i0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> i0
    68:68:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5039 -> i0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> i0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> i0
    69:69:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5039 -> i0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> i0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> i0
    70:70:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5039 -> i0
    1:22:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9313:9334 -> i1
    23:35:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9331:9343 -> i1
    36:36:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i1
    36:36:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9343 -> i1
    37:53:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9343:9359 -> i1
    54:71:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9353:9370 -> i1
    72:88:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9366:9382 -> i1
    89:89:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i1
    89:89:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9382 -> i1
    90:101:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9382:9393 -> i1
    102:118:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9389:9405 -> i1
    119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i1
    119:119:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9405 -> i1
    120:134:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9405:9419 -> i1
    135:135:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9413:9413 -> i1
    136:234:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9326:9424 -> i1
    235:235:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> i1
    235:235:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9424 -> i1
    236:236:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> i1
    236:236:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> i1
    236:236:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9424 -> i1
    237:237:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> i1
    237:237:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> i1
    237:237:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9424 -> i1
    1:27:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):518:544 -> j
    28:41:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):541:554 -> j
    42:63:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):551:572 -> j
    64:64:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
    64:64:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):572 -> j
    65:81:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):572:588 -> j
    82:101:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):582:601 -> j
    102:102:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
    102:102:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):601 -> j
    103:118:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):601:616 -> j
    119:135:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):612:628 -> j
    136:162:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):624:650 -> j
    163:163:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
    163:163:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):650 -> j
    164:177:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):650:663 -> j
    178:178:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
    178:178:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):663 -> j
    179:181:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):663:665 -> j
    182:318:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):536:672 -> j
    319:319:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> j
    319:319:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):672 -> j
    320:320:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> j
    320:320:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> j
    320:320:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):672 -> j
    321:321:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> j
    321:321:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> j
    321:321:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):672 -> j
    1:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5043:5082 -> j0
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5082 -> j0
    42:52:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5082:5092 -> j0
    53:53:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5089:5089 -> j0
    54:98:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5053:5097 -> j0
    99:99:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> j0
    99:99:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5097 -> j0
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> j0
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> j0
    100:100:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5097 -> j0
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> j0
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> j0
    101:101:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5097 -> j0
    1:7:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9428:9434 -> j1
    8:8:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> j1
    8:8:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9434 -> j1
    9:18:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9434:9443 -> j1
    19:19:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> j1
    19:19:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9443 -> j1
    20:32:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9443:9455 -> j1
    33:37:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9452:9456 -> j1
    38:63:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9450:9475 -> j1
    64:68:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9472:9476 -> j1
    69:86:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9470:9487 -> j1
    87:87:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j1
    87:87:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9487 -> j1
    88:93:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9487:9492 -> j1
    94:94:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9491:9491 -> j1
    95:105:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9490:9500 -> j1
    106:106:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j1
    106:106:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9500 -> j1
    107:109:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9500:9502 -> j1
    110:182:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9438:9510 -> j1
    183:189:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9505:9511 -> j1
    190:190:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> j1
    190:190:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9511 -> j1
    191:191:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> j1
    191:191:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> j1
    191:191:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9511 -> j1
    192:192:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> j1
    192:192:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> j1
    192:192:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9511 -> j1
    1:15:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):676:690 -> k
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> k
    16:16:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):690 -> k
    1:32:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5101:5132 -> k0
    33:49:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5128:5144 -> k0
    50:65:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5140:5155 -> k0
    66:83:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5151:5168 -> k0
    84:108:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5164:5188 -> k0
    109:109:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    109:109:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5188 -> k0
    110:129:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5188:5207 -> k0
    130:130:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    130:130:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5207 -> k0
    131:142:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5207:5218 -> k0
    143:143:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    143:143:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5218 -> k0
    144:161:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5218:5235 -> k0
    162:162:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    162:162:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5235 -> k0
    163:175:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5235:5247 -> k0
    176:176:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    176:176:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5247 -> k0
    177:182:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5247:5252 -> k0
    183:212:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5250:5279 -> k0
    213:213:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    213:213:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5279 -> k0
    214:226:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5279:5291 -> k0
    227:227:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    227:227:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5291 -> k0
    228:238:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5291:5301 -> k0
    239:239:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5298:5298 -> k0
    240:424:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5122:5306 -> k0
    425:425:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> k0
    425:425:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5306 -> k0
    426:426:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> k0
    426:426:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> k0
    426:426:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5306 -> k0
    427:427:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> k0
    427:427:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> k0
    427:427:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5306 -> k0
    1:7:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9515:9521 -> k1
    8:8:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> k1
    8:8:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9521 -> k1
    9:26:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9521:9538 -> k1
    27:31:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9535:9539 -> k1
    32:53:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9533:9554 -> k1
    54:58:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9551:9555 -> k1
    59:67:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9549:9557 -> k1
    68:68:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> k1
    68:68:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9557 -> k1
    69:76:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9557:9564 -> k1
    77:77:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k1
    77:77:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9564 -> k1
    78:82:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9564:9568 -> k1
    83:83:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9567:9567 -> k1
    84:90:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9566:9572 -> k1
    91:146:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9525:9580 -> k1
    147:153:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9575:9581 -> k1
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> k1
    154:154:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9581 -> k1
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> k1
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> k1
    155:155:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9581 -> k1
    156:156:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> k1
    156:156:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> k1
    156:156:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9581 -> k1
    1:18:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):695:712 -> l
    19:31:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):708:720 -> l
    32:32:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):716:716 -> l
    33:57:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):701:725 -> l
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> l
    58:58:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):725 -> l
    1:20:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5310:5329 -> l0
    21:21:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5323:5323 -> l0
    22:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5316:5334 -> l0
    41:41:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> l0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5334 -> l0
    1:20:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9586:9605 -> l1
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> l1
    21:21:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9605 -> l1
    22:40:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9605:9623 -> l1
    41:64:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9615:9638 -> l1
    65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> l1
    65:65:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9638 -> l1
    66:80:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9638:9652 -> l1
    81:81:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9646:9646 -> l1
    82:148:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9595:9661 -> l1
    149:149:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> l1
    149:149:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9661 -> l1
    150:150:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> l1
    150:150:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> l1
    150:150:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9661 -> l1
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> l1
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> l1
    151:151:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9661 -> l1
    1:23:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):730:752 -> m
    24:24:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> m
    24:24:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):752 -> m
    25:42:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):752:769 -> m
    43:55:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):766:778 -> m
    56:56:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    56:56:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):778 -> m
    57:66:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):778:787 -> m
    67:82:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):784:799 -> m
    83:87:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):796:800 -> m
    88:109:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):794:815 -> m
    110:114:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):812:816 -> m
    115:132:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):810:827 -> m
    133:133:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    133:133:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):827 -> m
    134:139:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):827:832 -> m
    140:140:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):831:831 -> m
    141:155:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):830:844 -> m
    156:167:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):841:852 -> m
    168:179:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):849:860 -> m
    180:193:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):856:869 -> m
    194:205:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):865:876 -> m
    206:220:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):873:887 -> m
    221:236:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):881:896 -> m
    237:237:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    237:237:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):896 -> m
    238:253:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):896:911 -> m
    254:266:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):908:920 -> m
    267:279:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):916:928 -> m
    280:291:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):925:936 -> m
    292:303:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):932:943 -> m
    304:318:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):940:954 -> m
    319:334:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):948:963 -> m
    335:335:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    335:335:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):963 -> m
    336:341:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):963:968 -> m
    342:342:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):967:967 -> m
    343:355:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):966:978 -> m
    356:368:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):975:987 -> m
    369:369:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    369:369:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):987 -> m
    370:380:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):987:997 -> m
    381:381:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    381:381:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):997 -> m
    382:385:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):997:1000 -> m
    386:386:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> m
    386:386:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1000 -> m
    387:396:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1000:1009 -> m
    397:397:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> m
    397:397:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1009 -> m
    398:410:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1009:1021 -> m
    411:415:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1018:1022 -> m
    416:441:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1016:1041 -> m
    442:446:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1038:1042 -> m
    447:465:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1036:1054 -> m
    466:466:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    466:466:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1054 -> m
    467:472:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1054:1059 -> m
    473:473:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1058:1058 -> m
    474:485:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1057:1068 -> m
    486:486:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    486:486:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1068 -> m
    487:499:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1068:1080 -> m
    500:500:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    500:500:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1080 -> m
    501:512:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1080:1091 -> m
    513:513:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    513:513:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1091 -> m
    514:516:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1091:1093 -> m
    517:862:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):756:1101 -> m
    863:875:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1100:1112 -> m
    876:883:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1111:1118 -> m
    884:891:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1117:1124 -> m
    892:899:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1123:1130 -> m
    900:913:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1129:1142 -> m
    914:961:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1096:1143 -> m
    962:962:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> m
    962:962:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1143 -> m
    963:963:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> m
    963:963:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> m
    963:963:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1143 -> m
    964:964:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> m
    964:964:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> m
    964:964:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1143 -> m
    1:17:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5338:5354 -> m0
    18:18:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> m0
    18:18:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5354 -> m0
    1:24:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1147:1170 -> n
    25:47:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1166:1188 -> n
    48:52:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1187:1191 -> n
    53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
    53:53:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1191 -> n
    54:73:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1191:1210 -> n
    74:86:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1206:1218 -> n
    87:103:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1214:1230 -> n
    104:104:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
    104:104:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1230 -> n
    105:115:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1230:1240 -> n
    116:119:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1238:1241 -> n
    120:120:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1236:1236 -> n
    121:209:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1158:1246 -> n
    210:210:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> n
    210:210:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1246 -> n
    211:211:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> n
    211:211:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> n
    211:211:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1246 -> n
    212:212:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> n
    212:212:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> n
    212:212:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1246 -> n
    1:101:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5358:5458 -> n0
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> n0
    102:102:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5458 -> n0
    1:23:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1250:1272 -> o
    24:38:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1268:1282 -> o
    39:53:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1278:1292 -> o
    54:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1286:1286 -> o
    55:94:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1259:1298 -> o
    95:95:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> o
    95:95:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1298 -> o
    1:22:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5462:5483 -> o0
    23:33:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5480:5490 -> o0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> o0
    34:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5490 -> o0
    35:36:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5490:5491 -> o0
    37:64:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5470:5497 -> o0
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> o0
    65:65:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5497 -> o0
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> o0
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> o0
    66:66:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5497 -> o0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> o0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> o0
    67:67:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5497 -> o0
    1:27:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1302:1328 -> p
    28:49:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1324:1345 -> p
    50:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1344:1348 -> p
    55:58:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1347:1350 -> p
    59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
    59:59:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1350 -> p
    60:77:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1350:1367 -> p
    78:89:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1364:1375 -> p
    90:104:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1371:1385 -> p
    105:116:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1382:1393 -> p
    117:136:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1389:1408 -> p
    137:156:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1402:1421 -> p
    157:169:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1418:1430 -> p
    170:183:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1426:1439 -> p
    184:195:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1435:1446 -> p
    196:207:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1443:1454 -> p
    208:221:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1450:1463 -> p
    222:226:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1462:1466 -> p
    227:230:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1465:1468 -> p
    231:231:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
    231:231:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1468 -> p
    232:243:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1468:1479 -> p
    244:246:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1478:1480 -> p
    247:247:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
    247:247:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1480 -> p
    248:258:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1480:1490 -> p
    259:262:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1488:1491 -> p
    263:263:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1486:1486 -> p
    264:444:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1316:1496 -> p
    445:445:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> p
    445:445:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1496 -> p
    446:446:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> p
    446:446:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> p
    446:446:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1496 -> p
    447:447:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> p
    447:447:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> p
    447:447:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1496 -> p
    1:23:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5501:5523 -> p0
    24:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5520:5530 -> p0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5530 -> p0
    36:37:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5530:5531 -> p0
    38:66:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5509:5537 -> p0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> p0
    67:67:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5537 -> p0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> p0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> p0
    68:68:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5537 -> p0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> p0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> p0
    69:69:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5537 -> p0
    1:25:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1500:1524 -> q
    26:50:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1520:1544 -> q
    51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
    51:51:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1544 -> q
    52:71:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1544:1563 -> q
    72:84:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1559:1571 -> q
    85:102:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1567:1584 -> q
    103:115:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1581:1593 -> q
    116:129:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1589:1602 -> q
    130:141:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1598:1609 -> q
    142:153:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1606:1617 -> q
    154:170:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1613:1629 -> q
    171:171:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
    171:171:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1629 -> q
    172:183:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1629:1640 -> q
    184:184:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
    184:184:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1640 -> q
    185:195:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1640:1650 -> q
    196:199:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1648:1651 -> q
    200:200:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1646:1646 -> q
    201:345:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1512:1656 -> q
    346:346:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> q
    346:346:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1656 -> q
    347:347:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> q
    347:347:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> q
    347:347:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1656 -> q
    348:348:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> q
    348:348:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> q
    348:348:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1656 -> q
    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5541:5557 -> q0
    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5553:5553 -> q0
    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5547:5563 -> q0
    36:36:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> q0
    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5563 -> q0
    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1660:1681 -> r
    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1678:1689 -> r
    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1685:1699 -> r
    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1698:1700 -> r
    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1696:1709 -> r
    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1708:1711 -> r
    71:73:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1710:1712 -> r
    74:74:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> r
    74:74:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1712 -> r
    75:84:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1712:1721 -> r
    85:97:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1718:1730 -> r
    98:113:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1727:1742 -> r
    114:126:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1738:1750 -> r
    127:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1746:1761 -> r
    143:145:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1760:1762 -> r
    146:146:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> r
    146:146:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1762 -> r
    147:157:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1762:1772 -> r
    158:161:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1770:1773 -> r
    162:162:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1768:1768 -> r
    163:270:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1671:1778 -> r
    271:271:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> r
    271:271:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1778 -> r
    272:272:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> r
    272:272:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> r
    272:272:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1778 -> r
    273:273:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> r
    273:273:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> r
    273:273:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1778 -> r
    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5567:5583 -> r0
    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5579:5579 -> r0
    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5573:5589 -> r0
    36:36:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> r0
    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5589 -> r0
    1:25:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1782:1806 -> s
    26:37:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1803:1814 -> s
    38:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1810:1824 -> s
    53:55:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1823:1825 -> s
    56:67:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1821:1832 -> s
    68:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1831:1833 -> s
    71:85:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1829:1843 -> s
    86:86:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s
    86:86:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1843 -> s
    87:96:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1843:1852 -> s
    97:109:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1849:1861 -> s
    110:115:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1858:1863 -> s
    116:116:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> s
    116:116:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1863 -> s
    117:128:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1863:1874 -> s
    129:140:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1871:1882 -> s
    141:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1878:1891 -> s
    155:166:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1888:1899 -> s
    167:182:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1895:1910 -> s
    183:200:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1904:1921 -> s
    201:201:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s
    201:201:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1921 -> s
    202:212:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1921:1931 -> s
    213:216:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1929:1932 -> s
    217:217:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1927:1927 -> s
    218:359:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1796:1937 -> s
    360:360:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> s
    360:360:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1937 -> s
    361:361:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> s
    361:361:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> s
    361:361:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1937 -> s
    362:362:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> s
    362:362:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> s
    362:362:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1937 -> s
    1:40:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5593:5632 -> s0
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5632 -> s0
    42:52:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5632:5642 -> s0
    53:53:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5639:5639 -> s0
    54:98:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5603:5647 -> s0
    99:99:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> s0
    99:99:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5647 -> s0
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> s0
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> s0
    100:100:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5647 -> s0
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> s0
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> s0
    101:101:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5647 -> s0
    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1941:1962 -> t
    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1959:1970 -> t
    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1966:1980 -> t
    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1979:1981 -> t
    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1977:1990 -> t
    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1989:1992 -> t
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t
    71:71:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1992 -> t
    72:81:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1992:2001 -> t
    82:94:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1998:2010 -> t
    95:110:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2007:2022 -> t
    111:123:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2018:2030 -> t
    124:139:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2026:2041 -> t
    140:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2040:2042 -> t
    143:143:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t
    143:143:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2042 -> t
    144:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2042:2052 -> t
    155:158:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2050:2053 -> t
    159:159:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2048:2048 -> t
    160:266:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1952:2058 -> t
    267:267:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> t
    267:267:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2058 -> t
    268:268:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> t
    268:268:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> t
    268:268:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2058 -> t
    269:269:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> t
    269:269:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> t
    269:269:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2058 -> t
    1:36:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5651:5686 -> t0
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    37:37:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5686 -> t0
    38:49:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5686:5697 -> t0
    50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    50:50:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5697 -> t0
    51:70:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5697:5716 -> t0
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    71:71:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5716 -> t0
    72:84:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5716:5728 -> t0
    85:85:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    85:85:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5728 -> t0
    86:91:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5728:5733 -> t0
    92:107:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5731:5746 -> t0
    108:108:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    108:108:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5746 -> t0
    109:119:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5746:5756 -> t0
    120:120:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5753:5753 -> t0
    121:218:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5664:5761 -> t0
    219:219:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> t0
    219:219:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5761 -> t0
    220:220:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> t0
    220:220:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> t0
    220:220:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5761 -> t0
    221:221:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> t0
    221:221:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> t0
    221:221:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5761 -> t0
    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2063:2075 -> u
    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2074:2076 -> u
    17:29:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2072:2084 -> u
    30:33:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2082:2085 -> u
    34:34:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2080:2080 -> u
    35:56:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2068:2089 -> u
    57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> u
    57:57:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2089 -> u
    1:29:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5765:5793 -> u0
    30:42:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5790:5802 -> u0
    43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> u0
    43:43:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5802 -> u0
    44:46:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5802:5804 -> u0
    47:82:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5774:5809 -> u0
    83:83:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> u0
    83:83:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5809 -> u0
    84:84:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> u0
    84:84:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> u0
    84:84:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5809 -> u0
    85:85:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> u0
    85:85:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> u0
    85:85:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5809 -> u0
    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2093:2105 -> v
    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2104:2106 -> v
    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2102:2113 -> v
    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2112:2114 -> v
    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2110:2110 -> v
    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2098:2118 -> v
    54:54:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> v
    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2118 -> v
    1:29:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5814:5842 -> v0
    30:30:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> v0
    30:30:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5842 -> v0
    31:43:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5842:5854 -> v0
    44:56:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5851:5863 -> v0
    57:70:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5859:5872 -> v0
    71:84:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5868:5881 -> v0
    85:98:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5877:5890 -> v0
    99:112:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5886:5899 -> v0
    113:126:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5895:5908 -> v0
    127:140:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5904:5917 -> v0
    141:154:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5913:5926 -> v0
    155:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5922:5933 -> v0
    167:178:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5930:5941 -> v0
    179:193:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5937:5951 -> v0
    194:194:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> v0
    194:194:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5951 -> v0
    195:197:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5951:5953 -> v0
    198:334:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5822:5958 -> v0
    335:335:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> v0
    335:335:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5958 -> v0
    336:336:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> v0
    336:336:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> v0
    336:336:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5958 -> v0
    337:337:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> v0
    337:337:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> v0
    337:337:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5958 -> v0
    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2123:2135 -> w
    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2134:2136 -> w
    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2132:2143 -> w
    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2142:2144 -> w
    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2140:2140 -> w
    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2128:2148 -> w
    54:54:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> w
    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2148 -> w
    1:26:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5962:5987 -> w0
    27:27:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w0
    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5987 -> w0
    28:40:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5987:5999 -> w0
    41:53:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5996:6008 -> w0
    54:67:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6004:6017 -> w0
    68:81:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6013:6026 -> w0
    82:95:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6022:6035 -> w0
    96:109:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6031:6044 -> w0
    110:123:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6040:6053 -> w0
    124:135:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6049:6060 -> w0
    136:147:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6057:6068 -> w0
    148:162:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6064:6078 -> w0
    163:163:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w0
    163:163:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6078 -> w0
    164:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6078:6080 -> w0
    167:282:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5970:6085 -> w0
    283:283:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> w0
    283:283:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6085 -> w0
    284:284:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> w0
    284:284:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> w0
    284:284:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6085 -> w0
    285:285:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> w0
    285:285:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> w0
    285:285:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6085 -> w0
    1:17:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2152:2168 -> x
    18:18:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2164:2164 -> x
    19:41:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2159:2181 -> x
    42:42:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> x
    42:42:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2181 -> x
    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6089:6110 -> x0
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x0
    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6110 -> x0
    24:36:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6110:6122 -> x0
    37:49:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6119:6131 -> x0
    50:63:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6127:6140 -> x0
    64:77:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6136:6149 -> x0
    78:91:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6145:6158 -> x0
    92:103:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6154:6165 -> x0
    104:115:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6162:6173 -> x0
    116:129:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6169:6182 -> x0
    130:130:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x0
    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6182 -> x0
    131:133:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6182:6184 -> x0
    134:226:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6097:6189 -> x0
    227:227:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> x0
    227:227:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6189 -> x0
    228:228:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> x0
    228:228:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> x0
    228:228:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6189 -> x0
    229:229:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> x0
    229:229:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> x0
    229:229:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6189 -> x0
    1:18:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2185:2202 -> y
    19:33:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2198:2212 -> y
    34:47:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2208:2221 -> y
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y
    48:48:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2221 -> y
    49:56:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2221:2228 -> y
    57:57:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y
    57:57:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2228 -> y
    58:60:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2228:2230 -> y
    61:102:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2193:2234 -> y
    103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> y
    103:103:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2234 -> y
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> y
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> y
    104:104:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2234 -> y
    105:105:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> y
    105:105:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> y
    105:105:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2234 -> y
    1:24:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6193:6216 -> y0
    25:25:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6215:6215 -> y0
    26:26:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y0
    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6215 -> y0
    27:42:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6215:6230 -> y0
    43:59:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6224:6240 -> y0
    60:60:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6239:6239 -> y0
    61:61:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y0
    61:61:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6239 -> y0
    62:66:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6239:6243 -> y0
    67:113:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6201:6247 -> y0
    114:114:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> y0
    114:114:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6247 -> y0
    115:115:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> y0
    115:115:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> y0
    115:115:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6247 -> y0
    116:116:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> y0
    116:116:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> y0
    116:116:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6247 -> y0
    1:18:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2238:2255 -> z
    19:33:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2251:2265 -> z
    34:47:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2261:2274 -> z
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> z
    48:48:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2274 -> z
    49:56:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2274:2281 -> z
    57:57:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> z
    57:57:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2281 -> z
    58:60:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2281:2283 -> z
    61:102:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2246:2287 -> z
    103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> z
    103:103:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2287 -> z
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> z
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> z
    104:104:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2287 -> z
    105:105:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> z
    105:105:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> z
    105:105:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2287 -> z
    1:93:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6251:6343 -> z0
    94:154:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6337:6397 -> z0
    155:215:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6391:6451 -> z0
    216:276:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6445:6505 -> z0
    277:337:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6499:6559 -> z0
    338:398:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6553:6613 -> z0
    399:459:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6607:6667 -> z0
    460:520:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6661:6721 -> z0
    521:580:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6715:6774 -> z0
    581:585:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6771:6775 -> z0
    586:635:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6769:6818 -> z0
    636:636:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6814:6814 -> z0
    637:1165:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6295:6823 -> z0
com.android.tools.r8.ir.desugar.backports.BooleanMethodRewrites -> com.android.tools.r8.internal.x5:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter createRewriter(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode):15:15 -> a
    2:2:com.android.tools.r8.cf.code.CfInstruction lambda$createRewriter$0(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):15:15 -> a
    3:3:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLogicalAnd():19:19 -> a
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLogicalOr():23:23 -> b
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLogicalXor():27:27 -> c
com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators -> com.android.tools.r8.internal.Ub:
    1:1:com.android.tools.r8.graph.CfCode generateListOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):31:31 -> a
    2:21:com.android.tools.r8.graph.CfCode generateFixedMethods(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.graph.DexType):40:59 -> a
    22:22:com.android.tools.r8.graph.CfCode generateFixedMethods(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.graph.DexType):56:56 -> a
    23:33:com.android.tools.r8.graph.CfCode generateFixedMethods(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.graph.DexType):53:63 -> a
    1:1:com.android.tools.r8.graph.CfCode generateSetOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):35:35 -> b
com.android.tools.r8.ir.desugar.backports.CollectionMethodRewrites -> com.android.tools.r8.internal.Vb:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteListOfEmpty():16:16 -> a
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToCollectionMethod(java.lang.String):28:28 -> a
    3:5:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToCollectionMethod$0(java.lang.String,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):29:31 -> a
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteMapOfEmpty():24:24 -> b
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteSetOfEmpty():20:20 -> c
com.android.tools.r8.ir.desugar.backports.FloatMethodRewrites -> com.android.tools.r8.internal.Dk:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteHashCode():16:16 -> a
    2:5:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteHashCode$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):17:20 -> a
    6:6:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteHashCode$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):19:19 -> a
com.android.tools.r8.ir.desugar.backports.LongMethodRewrites -> com.android.tools.r8.internal.QC:
    1:1:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteCompare$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):17:17 -> a
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteCompare():17:17 -> a
com.android.tools.r8.ir.desugar.backports.NumericMethodRewrites -> com.android.tools.r8.internal.NH:
    1:2:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToAddInstruction$1(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):30:31 -> a
    3:3:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteAsIdentity():36:36 -> a
    1:4:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToInvokeMath$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):20:23 -> b
    5:5:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToAddInstruction():29:29 -> b
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToInvokeMath():19:19 -> c
com.android.tools.r8.ir.desugar.backports.NumericMethodRewrites$1 -> com.android.tools.r8.internal.MH:
    1:1:void <init>():36:36 -> <init>
    1:1:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):41:41 -> a
com.android.tools.r8.ir.desugar.backports.ObjectsMethodRewrites -> com.android.tools.r8.internal.hK:
    1:4:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToArraysHashCode$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):24:27 -> a
    5:5:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteRequireNonNull():33:33 -> a
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToArraysHashCode():23:23 -> b
com.android.tools.r8.ir.desugar.backports.ObjectsMethodRewrites$1 -> com.android.tools.r8.internal.gK:
    1:1:void <init>():33:33 -> <init>
    1:2:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):39:40 -> a
com.android.tools.r8.ir.desugar.backports.OptionalMethodRewrites -> com.android.tools.r8.internal.zK:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter createRewriter(java.util.function.Function,java.lang.String):20:20 -> a
    2:5:com.android.tools.r8.cf.code.CfInstruction lambda$createRewriter$0(java.util.function.Function,java.lang.String,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):21:24 -> a
    6:6:com.android.tools.r8.cf.code.CfInstruction lambda$createRewriter$0(java.util.function.Function,java.lang.String,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):23:23 -> a
    7:7:com.android.tools.r8.graph.DexType lambda$rewriteDoubleOrElseGet$2(com.android.tools.r8.graph.DexItemFactory):33:33 -> a
    8:8:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteDoubleOrElseGet():33:33 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$rewriteIntOrElseGet$3(com.android.tools.r8.graph.DexItemFactory):37:37 -> b
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteIntOrElseGet():37:37 -> b
    1:1:com.android.tools.r8.graph.DexType lambda$rewriteLongOrElseGet$4(com.android.tools.r8.graph.DexItemFactory):41:41 -> c
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLongOrElseGet():41:41 -> c
    1:1:com.android.tools.r8.graph.DexType lambda$rewriteOrElseGet$1(com.android.tools.r8.graph.DexItemFactory):29:29 -> d
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteOrElseGet():29:29 -> d
com.android.tools.r8.ir.desugar.backports.SparseArrayMethodRewrites -> com.android.tools.r8.internal.kV:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteSet():17:17 -> a
    2:2:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteSet$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):18:18 -> a
com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass -> com.android.tools.r8.internal.sd:
    com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference reference -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean isFinalBootstrapMethodReferenceOnInterface -> i
    com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass$Behaviour behaviour -> f
    boolean $assertionsDisabled -> k
    com.android.tools.r8.graph.DexMethod finalBootstrapMethodReference -> h
    com.android.tools.r8.graph.DexMethod bootstrapMethodReference -> g
    com.android.tools.r8.graph.DexField constantValueField -> d
    com.android.tools.r8.graph.DexMethod getConstMethod -> e
    com.android.tools.r8.graph.DexField initializedValueField -> c
    com.android.tools.r8.graph.DexProgramClass clazz -> j
    1:1:void <clinit>():70:70 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):100:100 -> <init>
    2:17:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):93:108 -> <init>
    18:22:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):107:111 -> <init>
    23:29:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):110:116 -> <init>
    30:49:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):113:132 -> <init>
    50:50:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):131:131 -> <init>
    51:67:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):130:146 -> <init>
    68:73:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):145:150 -> <init>
    74:98:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):143:167 -> <init>
    99:102:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):166:169 -> <init>
    1:8:java.util.Collection desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):186:193 -> a
    9:13:java.util.Collection com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.desugarToThrow(com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$MethodSynthesizerConsumer,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):204:208 -> a
    9:13:java.util.Collection desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):190 -> a
    14:15:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):240:241 -> a
    14:15:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    16:16:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPrivateStaticSynthetic():75:75 -> a
    16:16:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):242 -> a
    16:16:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    17:17:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):242:242 -> a
    17:17:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    18:18:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    18:18:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):243 -> a
    18:18:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    19:21:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):244:246 -> a
    19:21:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    22:22:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPrivateStaticSynthetic():75:75 -> a
    22:22:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):247 -> a
    22:22:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    23:23:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):247:247 -> a
    23:23:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    24:24:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    24:24:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):248 -> a
    24:24:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    25:25:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):249:249 -> a
    25:25:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    26:26:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):239:239 -> a
    26:26:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    27:27:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):238:238 -> a
    27:27:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    28:30:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):255:257 -> a
    28:30:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    31:44:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):281:294 -> a
    31:44:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    31:44:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    45:45:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    45:45:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):294 -> a
    45:45:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    45:45:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    46:53:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):294:301 -> a
    46:53:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    46:53:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    54:58:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):264:268 -> a
    54:58:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    54:58:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    54:58:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    59:59:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    59:59:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):268 -> a
    59:59:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    59:59:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    59:59:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    60:66:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):268:274 -> a
    60:66:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    60:66:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    60:66:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    67:67:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    67:67:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):274 -> a
    67:67:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    67:67:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    67:67:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    68:68:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):274:274 -> a
    68:68:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    68:68:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    68:68:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    69:78:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):304:313 -> a
    69:78:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    69:78:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    79:82:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):311:314 -> a
    79:82:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    79:82:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    83:99:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):309:325 -> a
    83:99:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    83:99:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    100:103:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):323:326 -> a
    100:103:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    100:103:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    104:133:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):321:350 -> a
    104:133:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    104:133:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    134:149:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):340:355 -> a
    134:149:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    134:149:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    150:150:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    150:150:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):355 -> a
    150:150:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    150:150:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    151:151:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):355 -> a
    151:151:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    151:151:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    152:152:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):355 -> a
    152:152:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    152:152:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    153:155:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258:260 -> a
    153:155:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    156:156:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254:254 -> a
    156:156:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    157:157:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):253:253 -> a
    157:157:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    158:159:com.android.tools.r8.graph.DexProgramClass getConstantDynamicProgramClass():361:362 -> a
    160:162:void setClass(com.android.tools.r8.graph.DexProgramClass):366:368 -> a
    163:163:com.android.tools.r8.graph.DexType mapLookupTypeToObject(com.android.tools.r8.graph.DexType):416:416 -> a
    164:171:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):420:427 -> a
    172:172:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    172:172:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):426 -> a
    173:180:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):432:439 -> a
    181:181:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    181:181:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):439 -> a
    182:182:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    182:182:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    182:182:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):439 -> a
    183:183:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    183:183:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    183:183:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):439 -> a
    184:185:com.android.tools.r8.cf.code.CfInstruction lambda$adaptCode$1(com.android.tools.r8.cf.code.CfInstruction):429:430 -> a
    1:33:void rewriteBootstrapMethodSignatureIfNeeded():372:404 -> b
    34:34:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    34:34:void rewriteBootstrapMethodSignatureIfNeeded():404 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    35:35:void rewriteBootstrapMethodSignatureIfNeeded():404 -> b
    36:44:void rewriteBootstrapMethodSignatureIfNeeded():404:412 -> b
    45:60:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteBootstrapMethodSignatureIfNeeded$0(com.android.tools.r8.graph.DexEncodedMethod):383:398 -> b
    1:2:boolean shouldRewriteBootstrapMethodSignature():175:176 -> c
com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring -> com.android.tools.r8.internal.td:
    java.util.Map dynamicConstantSyntheticsPerClass -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):33:33 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):30:34 -> <init>
    1:1:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):39:39 -> a
    2:2:boolean com.android.tools.r8.cf.code.CfInstruction.isConstDynamic():0:0 -> a
    2:2:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):39 -> a
    3:3:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):52:52 -> a
    4:4:boolean com.android.tools.r8.cf.code.CfInstruction.isConstDynamic():0:0 -> a
    4:4:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):52 -> a
    5:5:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):54:54 -> a
    6:7:java.util.Collection com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring.desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):72:73 -> a
    6:7:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):53 -> a
    8:8:java.util.Map lambda$ensureConstantDynamicClass$0(com.android.tools.r8.graph.DexType):92:92 -> a
    9:15:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass createConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):115:121 -> a
    16:27:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass createConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):119:130 -> a
    28:28:void lambda$createConstantDynamicClass$1(com.android.tools.r8.utils.Box,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):124:124 -> a
    1:3:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass ensureConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):90:92 -> b
    4:17:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass ensureConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):91:104 -> b
com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference -> com.android.tools.r8.internal.ud:
    java.lang.Object[] bootstrapMethodArguments -> d
    com.android.tools.r8.graph.DexString name -> a
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType type -> b
    com.android.tools.r8.graph.DexMethodHandle bootstrapMethod -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethodHandle,java.lang.Object[]):21:26 -> <init>
    1:1:com.android.tools.r8.graph.DexMethodHandle getBootstrapMethod():38:38 -> a
    1:1:java.lang.Object[] getBootstrapMethodArguments():42:42 -> b
    1:1:com.android.tools.r8.graph.DexString getName():30:30 -> c
    1:1:com.android.tools.r8.graph.DexType getType():34:34 -> d
    1:7:boolean equals(java.lang.Object):48:54 -> equals
    1:1:int hashCode():59:59 -> hashCode
com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender -> com.android.tools.r8.internal.Ef:
    com.android.tools.r8.graph.AppView appView -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):34:35 -> <init>
    1:1:void run(com.android.tools.r8.graph.AppView):24:24 -> a
    2:5:void run(com.android.tools.r8.graph.AppView,java.util.Map):28:31 -> a
    6:6:void run(java.util.Map):39:39 -> a
    7:7:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):43:43 -> a
    8:8:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    8:8:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):44 -> a
    9:19:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):56:66 -> a
    20:27:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):46:53 -> a
    28:28:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):49:49 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification -> com.android.tools.r8.internal.Pf:
    1:1:void <clinit>():17:17 -> <clinit>
    java.lang.String getJsonSource() -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp) -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,java.nio.file.Path) -> a
    1:2:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path):55:56 -> a
    boolean isLibraryCompilation() -> b
    com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationApiLevel() -> c
    java.util.List getExtraKeepRules() -> d
    java.lang.String getSynthesizedLibraryClassesPackagePrefix() -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification$1 -> com.android.tools.r8.internal.Of:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():55:55 -> <clinit>
com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.Qf:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:20:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification parseDesugaredLibrarySpecification(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):30:49 -> a
    21:21:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification parseDesugaredLibrarySpecification(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):39:39 -> a
    22:40:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification parseDesugaredLibrarySpecificationforTesting(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int,java.util.function.Consumer):59:77 -> a
    41:41:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification parseDesugaredLibrarySpecificationforTesting(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int,java.util.function.Consumer):68:68 -> a
    42:51:boolean isHumanSpecification(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):82:91 -> a
    52:52:boolean isHumanSpecification(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):83:83 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder -> com.android.tools.r8.internal.uY:
    com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder setSupportAllCallbacksFromLibrary(boolean) -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer -> com.android.tools.r8.internal.sf:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set trackedCallBackAPIs -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():33:33 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView):41:48 -> <init>
    1:1:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):58:58 -> a
    2:3:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():88:89 -> a
    2:3:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):58 -> a
    4:5:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isAPIConversionSyntheticType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,com.android.tools.r8.graph.AppView):128:129 -> a
    4:5:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89 -> a
    4:5:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):58 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89:89 -> a
    6:6:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):58 -> a
    7:12:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):59:64 -> a
    13:37:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):102:126 -> a
    13:37:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    38:38:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    38:38:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    39:39:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    39:39:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):126 -> a
    39:39:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    40:41:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):130:131 -> a
    40:41:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    42:42:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    42:42:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):131 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    43:43:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    43:43:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):131 -> a
    43:43:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    44:44:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):134:134 -> a
    44:44:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    45:51:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):66:72 -> a
    52:68:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.generateCallbackMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryAPICallbackSynthesizorEventConsumer):195:211 -> a
    52:68:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):70 -> a
    69:77:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):74:82 -> a
    78:79:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():88:89 -> a
    78:79:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):82 -> a
    80:81:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isAPIConversionSyntheticType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,com.android.tools.r8.graph.AppView):128:129 -> a
    80:81:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89 -> a
    80:81:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):82 -> a
    82:82:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89:89 -> a
    82:82:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):82 -> a
    83:83:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.generateTrackingWarnings():216:216 -> a
    83:83:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):83 -> a
    84:86:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):139:141 -> a
    87:88:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    87:88:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):141 -> a
    89:98:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):144:153 -> a
    99:100:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    99:100:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):153 -> a
    101:102:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):154:155 -> a
    103:103:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    103:103:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157 -> a
    104:104:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157:157 -> a
    105:105:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    105:105:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    106:106:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    106:106:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157 -> a
    107:113:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldGenerateCallbacksForEmulateInterfaceAPIs(com.android.tools.r8.graph.DexClass):181:187 -> a
    107:113:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):160 -> a
    114:120:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):163:169 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter -> com.android.tools.r8.internal.Df:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set precedingDesugarings -> c
    java.util.Set emulatedMethods -> d
    java.util.Set trackedAPIs -> f
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> e
    1:1:void <clinit>():64:64 -> <clinit>
    1:10:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Set):80:89 -> <init>
    1:4:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):103:106 -> a
    5:7:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):327:329 -> a
    5:7:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    8:11:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):346:349 -> a
    8:11:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    8:11:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    12:15:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):137:140 -> a
    12:15:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):352 -> a
    12:15:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    12:15:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    16:16:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    16:16:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):140 -> a
    16:16:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):352 -> a
    16:16:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    16:16:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    17:17:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):144:144 -> a
    17:17:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):352 -> a
    17:17:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    17:17:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    18:20:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):142:144 -> a
    18:20:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):352 -> a
    18:20:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    18:20:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    21:22:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):353:354 -> a
    21:22:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    21:22:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    23:24:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):333:334 -> a
    23:24:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    25:25:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):364:364 -> a
    25:25:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    25:25:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    26:29:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeReturnConversion(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,com.android.tools.r8.graph.ProgramMethod):294:297 -> a
    26:29:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):365 -> a
    26:29:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    26:29:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    30:37:com.android.tools.r8.graph.DexMethod[] com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversions(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,com.android.tools.r8.graph.ProgramMethod):307:314 -> a
    30:37:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):367 -> a
    30:37:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    30:37:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    38:43:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):375:380 -> a
    38:43:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    38:43:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    44:56:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.addInlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList):492:504 -> a
    44:56:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):388 -> a
    44:56:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    44:56:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    57:62:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):391:396 -> a
    57:62:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    57:62:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    63:66:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):117:120 -> a
    67:68:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isAPIConversionSyntheticType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,com.android.tools.r8.graph.AppView):128:129 -> a
    67:68:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):120 -> a
    69:69:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123:123 -> a
    70:73:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):137:140 -> a
    70:73:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):149 -> a
    70:73:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    74:74:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    74:74:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):140 -> a
    74:74:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):149 -> a
    74:74:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    75:75:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):144:144 -> a
    75:75:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):149 -> a
    75:75:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    76:78:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):142:144 -> a
    76:78:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):149 -> a
    76:78:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    79:83:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):154:158 -> a
    79:83:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    84:84:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    84:84:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):159 -> a
    84:84:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    85:85:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isEmulatedInterfaceOverride(com.android.tools.r8.graph.DexClassAndMethod):174:174 -> a
    85:85:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):162 -> a
    85:85:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    86:86:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    86:86:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isEmulatedInterfaceOverride(com.android.tools.r8.graph.DexClassAndMethod):174 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):162 -> a
    86:86:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    87:87:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    87:87:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isEmulatedInterfaceOverride(com.android.tools.r8.graph.DexClassAndMethod):174 -> a
    87:87:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):162 -> a
    87:87:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    88:100:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isEmulatedInterfaceOverride(com.android.tools.r8.graph.DexClassAndMethod):174:186 -> a
    88:100:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):162 -> a
    88:100:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    101:104:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):165:168 -> a
    101:104:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    105:105:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):190:190 -> a
    106:106:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    106:106:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):190 -> a
    107:107:boolean lambda$isAlreadyDesugared$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):191:191 -> a
    108:122: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):196:210 -> a
    123:133:void generateTrackDesugaredAPIWarnings(java.util.Set,java.lang.String,com.android.tools.r8.graph.AppView):219:229 -> a
    134:134:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    135:135:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":377,"2":378,"3":379}}
    377:377:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    378:378:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    379:379:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    372:372:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):237:237 -> a
    373:376:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):236:239 -> a
    380:393:com.android.tools.r8.graph.DexMethod getConvertedAPI(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):269:282 -> a
    394:399:com.android.tools.r8.graph.DexMethod getConvertedAPI(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):280:285 -> a
    400:409:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.invalidType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):248:257 -> a
    400:409:com.android.tools.r8.graph.DexMethod getConvertedAPI(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):286 -> a
    410:410:com.android.tools.r8.graph.DexMethod getConvertedAPI(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):284:284 -> a
    411:416:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    417:424:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):415:422 -> a
    425:441:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):420:436 -> a
    442:453:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):435:446 -> a
    454:454:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    454:454:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
    455:456:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446:447 -> a
    457:457:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):752:752 -> a
    457:457:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    458:459:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):752:753 -> a
    458:459:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    460:460:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):448:448 -> a
    461:461:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    461:461:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    462:462:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":471,"2":472,"3":473,"4":474,"5":475}}
    471:471:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    471:471:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    472:472:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    472:472:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    473:473:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    473:473:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    474:474:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    474:474:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    475:475:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    475:475:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    463:463:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):755:755 -> a
    463:463:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    464:464:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):450:450 -> a
    465:465:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    465:465:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):450 -> a
    466:470:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):450:454 -> a
    476:480:void lambda$addOutlineParameterConversionInstructions$2(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.synthesis.SyntheticMethodBuilder):426:430 -> a
    481:481:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432:432 -> a
    482:495:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):459:472 -> a
    482:495:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    496:496:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):762:762 -> a
    496:496:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    496:496:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    497:497:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):762:762 -> a
    497:497:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    497:497:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    498:498:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):777:777 -> a
    498:498:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763 -> a
    498:498:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    498:498:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    499:500:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:768 -> a
    499:500:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    499:500:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    501:501:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):473:473 -> a
    501:501:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    502:502:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    502:502:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    502:502:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    503:503:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":517,"2":518,"3":519,"4":520,"5":521}}
    517:517:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    517:517:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    517:517:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    518:518:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    518:518:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    518:518:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    519:519:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    519:519:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    519:519:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    520:520:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    520:520:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    520:520:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    521:521:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    521:521:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    521:521:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    504:504:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:765 -> a
    504:504:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    504:504:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    505:516:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):475:486 -> a
    505:516:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    522:526:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):513:517 -> a
    527:530:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeReturnConversion(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,com.android.tools.r8.graph.ProgramMethod):294:297 -> a
    527:530:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):518 -> a
    531:538:com.android.tools.r8.graph.DexMethod[] com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversions(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,com.android.tools.r8.graph.ProgramMethod):307:314 -> a
    531:538:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):520 -> a
    539:544:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):521:526 -> a
    545:565:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):524:544 -> a
    566:570:void lambda$createOutlinedAPIConversion$4(com.android.tools.r8.graph.DexProto,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.synthesis.SyntheticMethodBuilder):530:534 -> a
    571:577:com.android.tools.r8.graph.Code lambda$createOutlinedAPIConversion$3(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):536:542 -> a
    1:1:void generateTrackingWarnings():214:214 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryEnumConversionSynthesizer -> com.android.tools.r8.internal.Ff:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():29:29 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):34:36 -> <init>
    com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithoutCode$10(com.android.tools.r8.graph.DexMethod) -> a
    1:5:void buildEnumConvert(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):44:48 -> a
    6:11:void buildEnumConvert(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):47:52 -> a
    12:53:void buildEnumMethodsWithCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):60:101 -> a
    54:54:void lambda$buildEnumMethodsWithCode$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.Iterable,com.android.tools.r8.synthesis.SyntheticMethodBuilder):65:65 -> a
    55:61:com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithCode$0(java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):70:76 -> a
    62:62:void lambda$buildEnumMethodsWithCode$5(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.synthesis.SyntheticMethodBuilder):93:93 -> a
    63:65:com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithCode$4(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):98:100 -> a
    66:78:void buildEnumMethodsWithoutCode(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):115:127 -> a
    79:79:void lambda$buildEnumMethodsWithoutCode$11(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):123:123 -> a
    80:83:com.android.tools.r8.graph.DexMethod ensureEnumConversionMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):137:140 -> a
    84:86:com.android.tools.r8.graph.DexMethod ensureEnumConversionMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):139:141 -> a
    87:93:com.android.tools.r8.graph.DexMethod getExistingProgramEnumConversionMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):147:153 -> a
    94:96:com.android.tools.r8.graph.DexMethod getExistingProgramEnumConversionMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):152:154 -> a
    97:101:com.android.tools.r8.graph.DexProgramClass ensureProgramEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):160:164 -> a
    102:102:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    102:102:com.android.tools.r8.graph.DexProgramClass ensureProgramEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):164 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    103:103:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    103:103:com.android.tools.r8.graph.DexProgramClass ensureProgramEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):164 -> a
    104:110:com.android.tools.r8.graph.DexProgramClass ensureProgramEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):164:170 -> a
    111:111:void lambda$ensureProgramEnumConversionClass$16(java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):174:174 -> a
    112:124:com.android.tools.r8.graph.DexClass ensureEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):180:192 -> a
    125:125:com.android.tools.r8.graph.DexClass ensureEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):190:190 -> a
    126:126:void lambda$ensureEnumConversionClass$17(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):194:194 -> a
    com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithoutCode$12(com.android.tools.r8.graph.DexMethod) -> b
    1:1:void lambda$buildEnumMethodsWithCode$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.Iterable,com.android.tools.r8.synthesis.SyntheticMethodBuilder):79:79 -> b
    2:8:com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithCode$2(java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):84:90 -> b
    9:9:void lambda$buildEnumMethodsWithCode$7(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.synthesis.SyntheticMethodBuilder):103:103 -> b
    10:12:com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithCode$6(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):108:110 -> b
    13:13:void lambda$buildEnumMethodsWithoutCode$13(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):126:126 -> b
    com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithoutCode$14(com.android.tools.r8.graph.DexMethod) -> c
    1:1:void lambda$buildEnumMethodsWithoutCode$15(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):129:129 -> c
    com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithoutCode$8(com.android.tools.r8.graph.DexMethod) -> d
    1:1:void lambda$buildEnumMethodsWithoutCode$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):120:120 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer -> com.android.tools.r8.internal.Sf:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryEnumConversionSynthesizer enumConverter -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():94:94 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):100:103 -> <init>
    com.android.tools.r8.graph.Code lambda$buildConversionMethod$7(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod) -> a
    void lambda$getExistingProgramConversionMethod$5(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder) -> a
    1:4:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):116:119 -> a
    5:9:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canConvert(com.android.tools.r8.graph.DexType):191:195 -> a
    5:9:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):122 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canGenerateWrapper(com.android.tools.r8.graph.DexType):223:223 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canConvert(com.android.tools.r8.graph.DexType):196 -> a
    10:10:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):122 -> a
    11:15:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:204 -> a
    11:15:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    16:16:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":33,"2":34,"3":35}}
    33:33:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:204 -> a
    33:33:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    34:34:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:204 -> a
    34:34:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    35:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:204 -> a
    35:35:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    17:28:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:215 -> a
    17:28:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    29:29:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    29:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):215 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    30:30:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    30:30:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):215 -> a
    30:30:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    31:31:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):218:218 -> a
    31:31:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    32:32:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:216 -> a
    32:32:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    36:44:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):134:142 -> a
    45:45:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canGenerateWrapper(com.android.tools.r8.graph.DexType):223:223 -> a
    45:45:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):142 -> a
    46:53:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):142:149 -> a
    54:64:com.android.tools.r8.graph.DexMethod getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):175:185 -> a
    65:69:com.android.tools.r8.graph.DexMethod getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):183:187 -> a
    70:70:com.android.tools.r8.graph.DexMethod getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):186:186 -> a
    71:77:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):227:233 -> a
    78:78:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    78:78:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233 -> a
    79:79:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233:233 -> a
    80:80:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    80:80:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    81:81:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    81:81:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233 -> a
    82:83:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233:234 -> a
    84:85:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):263:264 -> a
    86:86:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299:299 -> a
    86:86:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    87:87:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    87:87:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    87:87:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    88:88:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    88:88:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299 -> a
    88:88:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    89:90:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299:300 -> a
    89:90:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    91:91:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> a
    91:91:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):300 -> a
    91:91:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    92:92:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):301:301 -> a
    92:92:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    93:93:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> a
    93:93:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):301 -> a
    93:93:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    94:94:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> a
    94:94:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):302 -> a
    94:94:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    95:95:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> a
    95:95:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):303 -> a
    95:95:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    96:98:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):304:306 -> a
    96:98:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    99:104:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):267:272 -> a
    105:105:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.vivifiedTypeFor(com.android.tools.r8.graph.DexType):239:239 -> a
    105:105:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):273 -> a
    106:125:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):274:293 -> a
    126:126:java.util.Collection lambda$ensureWrappers$0(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):281:281 -> a
    127:129:com.android.tools.r8.graph.DexMethod getConversion(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):314:316 -> a
    130:132:com.android.tools.r8.graph.DexMethod getConversion(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):315:317 -> a
    133:134:com.android.tools.r8.graph.DexEncodedField getWrapperUniqueEncodedField(com.android.tools.r8.graph.DexClass):321:322 -> a
    135:135:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> a
    135:135:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):378 -> a
    136:136:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> a
    136:136:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):379 -> a
    137:140:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):380:383 -> a
    141:141:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):585:585 -> a
    141:141:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):383 -> a
    142:142:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):577:577 -> a
    142:142:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):383 -> a
    143:143:com.android.tools.r8.graph.DexProgramClass ensureProgramWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):335:335 -> a
    144:144:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    144:144:com.android.tools.r8.graph.DexProgramClass ensureProgramWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):335 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    145:145:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    145:145:com.android.tools.r8.graph.DexProgramClass ensureProgramWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):335 -> a
    146:150:com.android.tools.r8.graph.DexProgramClass ensureProgramWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):335:339 -> a
    151:151:void lambda$ensureProgramWrapper$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):343:343 -> a
    152:155:com.android.tools.r8.graph.DexClasspathClass ensureClasspathWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,java.util.function.Function):356:359 -> a
    156:156:void lambda$ensureClasspathWrapper$4(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryClass,java.util.function.Function,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):366:366 -> a
    157:163:void lambda$ensureClasspathWrapper$4(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryClass,java.util.function.Function,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):365:371 -> a
    164:166:void lambda$ensureClasspathWrapper$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):369:369 -> a
    167:170:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.computeProgramConversionMethodCode(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass):400:403 -> a
    167:170:void lambda$getExistingProgramConversionMethod$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):394 -> a
    171:171:void lambda$getExistingProgramConversionMethod$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):391:391 -> a
    172:176:void buildConversionMethod(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.CfCode):408:412 -> a
    177:182:void buildConversionMethod(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.CfCode):411:416 -> a
    183:188:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):424:429 -> a
    189:189:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.wrappedValueField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):553:553 -> a
    189:189:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.synthesizeWrappedValueEncodedField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):557 -> a
    189:189:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):429 -> a
    190:193:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.synthesizeWrappedValueEncodedField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):560:563 -> a
    190:193:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):429 -> a
    194:194:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    194:194:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.synthesizeWrappedValueEncodedField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):565 -> a
    194:194:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):429 -> a
    195:195:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.synthesizeWrappedValueEncodedField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):566:566 -> a
    195:195:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):429 -> a
    196:199:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):431:434 -> a
    200:204:void buildWrapperConstructor(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.synthesis.SyntheticMethodBuilder):440:444 -> a
    205:210:void buildWrapperConstructor(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.synthesis.SyntheticMethodBuilder):443:448 -> a
    211:212:com.android.tools.r8.graph.Code lambda$buildWrapperConstructor$9(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexMethod):450:451 -> a
    213:220:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):532:539 -> a
    221:222:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):538:539 -> a
    223:223:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiLevelCompute.computeApiLevelForDefinition(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.androidapi.ComputedApiLevel):44:44 -> a
    223:223:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):539 -> a
    224:230:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):543:549 -> a
    231:252:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):575:596 -> a
    253:262:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):582:591 -> a
    263:266:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):603:606 -> a
    263:266:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    267:267:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    267:267:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):606 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    267:267:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    268:268:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    268:268:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):606 -> a
    268:268:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    269:271:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):606:608 -> a
    269:271:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    272:272:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.vivifiedTypeFor(com.android.tools.r8.graph.DexType):239:239 -> a
    272:272:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):610 -> a
    272:272:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    273:275:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):609:611 -> a
    273:275:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    276:276:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.vivifiedTypeFor(com.android.tools.r8.graph.DexType):239:239 -> a
    276:276:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):615 -> a
    276:276:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    277:285:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):612:620 -> a
    277:285:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    286:287:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):625:626 -> a
    288:288:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> a
    288:288:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):626 -> a
    289:289:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):629:629 -> a
    290:290:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):628:628 -> a
    291:294:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):627:630 -> a
    295:295:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> a
    295:295:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):631 -> a
    296:296:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):634:634 -> a
    297:297:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):633:633 -> a
    298:298:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):632:632 -> a
    1:2:boolean isSyntheticWrapper(com.android.tools.r8.graph.DexType):107:108 -> b
    3:9:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):155:161 -> b
    10:10:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299:299 -> b
    10:10:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    11:11:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> b
    11:11:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    12:12:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> b
    12:12:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299 -> b
    12:12:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    13:14:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299:300 -> b
    13:14:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    15:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> b
    15:15:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):300 -> b
    15:15:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    16:16:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):301:301 -> b
    16:16:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    17:17:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> b
    17:17:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):301 -> b
    17:17:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    18:18:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> b
    18:18:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):302 -> b
    18:18:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    19:19:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> b
    19:19:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):303 -> b
    19:19:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    20:22:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):304:306 -> b
    20:22:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    23:25:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):166:168 -> b
    26:26:java.util.Collection lambda$ensureWrappers$1(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):290:290 -> b
    27:27:void lambda$buildWrapper$8(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.synthesis.SyntheticMethodBuilder):434:434 -> b
    1:14:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):497:510 -> c
    15:15:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> c
    15:15:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):510 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> c
    16:16:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):510 -> c
    17:21:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):510:514 -> c
    22:34:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):513:525 -> c
    1:18:java.util.Collection synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):456:473 -> d
    19:39:java.util.Collection synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):470:490 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions -> com.android.tools.r8.internal.Rf:
    com.android.tools.r8.graph.DexMethod vivifiedConversion -> b
    com.android.tools.r8.graph.DexMethod conversion -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):247:249 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getConversion():253:253 -> a
    1:1:com.android.tools.r8.graph.DexMethod getVivifiedConversion():257:257 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer -> com.android.tools.r8.internal.Tf:
    void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> b
    void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser -> com.android.tools.r8.internal.C0:
    java.util.Map modifiers -> b
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:8:void <clinit>():22:29 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexItemFactory):33:34 -> <init>
    void argType(com.android.tools.r8.graph.DexType) -> a
    void methodEnd() -> a
    void methodName(com.android.tools.r8.graph.DexString) -> a
    void modifier(int) -> a
    1:5:void parseMethod(java.lang.String):40:44 -> a
    6:7:int com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser.parseModifiers(java.lang.String[]):61:62 -> a
    6:7:void parseMethod(java.lang.String):45 -> a
    8:8:void parseMethod(java.lang.String):46:46 -> a
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser.stringTypeToDexType(java.lang.String):56:56 -> a
    9:9:void parseMethod(java.lang.String):46 -> a
    10:11:void parseMethod(java.lang.String):46:47 -> a
    12:12:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser.stringTypeToDexType(java.lang.String):56:56 -> a
    12:12:void parseMethod(java.lang.String):47 -> a
    13:16:void parseMethod(java.lang.String):47:50 -> a
    17:17:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser.stringTypeToDexType(java.lang.String):56:56 -> a
    17:17:void parseMethod(java.lang.String):50 -> a
    18:20:void parseMethod(java.lang.String):50:52 -> a
    21:21:void parseMethod(java.lang.String):42:42 -> a
    22:22:void parseMethod(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
    26:26:void parseMethod(java.lang.String):42:42 -> a
    27:27:void parseMethod(java.lang.String):42:42 -> a
    28:28:void parseMethod(java.lang.String):42:42 -> a
    29:29:void parseMethod(java.lang.String):42:42 -> a
    30:30:void parseMethod(java.lang.String):42:42 -> a
    23:23:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    23:23:void parseMethod(java.lang.String):42 -> a
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    24:24:void parseMethod(java.lang.String):42 -> a
    25:25:void parseMethod(java.lang.String):42:42 -> a
    void holderType(com.android.tools.r8.graph.DexType) -> b
    void methodStart() -> b
    void returnType(com.android.tools.r8.graph.DexType) -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification -> com.android.tools.r8.internal.Sm:
    com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags topLevelFlags -> b
    com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags rewritingFlags -> c
    boolean libraryCompilation -> a
    1:4:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,boolean):32:35 -> <init>
    1:1:java.lang.String getJsonSource():146:146 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):156:156 -> a
    3:3:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification.isLibraryCompilation():64:64 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):159 -> a
    4:5:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):159:160 -> a
    6:6:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):157:157 -> a
    7:7:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,java.nio.file.Path):167:167 -> a
    8:8:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification.isLibraryCompilation():64:64 -> a
    8:8:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,java.nio.file.Path):168 -> a
    9:9:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,java.nio.file.Path):168:168 -> a
    1:1:boolean isLibraryCompilation():64:64 -> b
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationApiLevel():59:59 -> c
    1:1:java.util.List getExtraKeepRules():141:141 -> d
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():69:69 -> e
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags getRewritingFlags():77:77 -> f
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags getTopLevelFlags():73:73 -> g
    1:1:boolean isEmpty():40:40 -> isEmpty
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.Tm:
    com.android.tools.r8.com.google.gson.JsonObject jsonConfig -> g
    com.android.tools.r8.origin.Origin origin -> f
    int minAPILevel -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanMethodParser methodParser -> b
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    com.android.tools.r8.utils.Reporter reporter -> c
    boolean libraryCompilation -> d
    1:1:void <clinit>():31:31 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):71:76 -> <init>
    void lambda$parse$1(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags.builder():54:54 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):170 -> a
    2:18:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):172:188 -> a
    19:25:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):187:193 -> a
    26:45:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):192:211 -> a
    46:46:com.android.tools.r8.com.google.gson.JsonObject getJsonConfig():88:88 -> a
    47:53:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):97:103 -> a
    54:54:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):98:98 -> a
    55:55:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":154,"2":155,"3":156,"4":157,"5":158,"6":159}}
    154:154:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):98:98 -> a
    155:155:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):98:98 -> a
    156:156:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):98:98 -> a
    157:157:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):98:98 -> a
    158:158:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):98:98 -> a
    159:159:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):98:98 -> a
    153:153:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):98:98 -> a
    160:160:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject):113:113 -> a
    161:167:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):121:127 -> a
    168:172:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():157:161 -> a
    168:172:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):129 -> a
    173:177:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseFlagsList(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):215:219 -> a
    173:177:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():161 -> a
    173:177:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):129 -> a
    178:178:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():163:163 -> a
    178:178:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):129 -> a
    179:183:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseFlagsList(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):215:219 -> a
    179:183:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():162 -> a
    179:183:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):129 -> a
    184:184:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():165:165 -> a
    184:184:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):129 -> a
    185:188:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):131:134 -> a
    189:190:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.setOrigin(com.android.tools.r8.StringResource):152:153 -> a
    189:190:java.lang.String parseJson(com.android.tools.r8.StringResource):139 -> a
    191:195:java.lang.String parseJson(com.android.tools.r8.StringResource):142:146 -> a
    196:208:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):225:237 -> a
    209:218:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):236:245 -> a
    219:220:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseMethod(java.lang.String):300:301 -> a
    219:220:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):245 -> a
    221:221:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):246:246 -> a
    222:232:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):244:254 -> a
    233:243:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):252:262 -> a
    244:254:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):260:270 -> a
    255:268:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):268:281 -> a
    269:270:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseMethod(java.lang.String):300:301 -> a
    269:270:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):281 -> a
    271:284:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):281:294 -> a
    285:285:com.android.tools.r8.graph.DexType stringDescriptorToDexType(java.lang.String):305:305 -> a
    1:2:com.android.tools.r8.origin.Origin getOrigin():92:93 -> b
    1:1:com.android.tools.r8.utils.Reporter reporter():84:84 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanMethodParser -> com.android.tools.r8.internal.Um:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.DexString methodName -> f
    com.android.tools.r8.graph.DexMethod method -> h
    com.android.tools.r8.graph.DexType returnType -> d
    java.util.List argTypes -> g
    com.android.tools.r8.graph.MethodAccessFlags$Builder flagBuilder -> c
    com.android.tools.r8.graph.DexType holder -> e
    com.android.tools.r8.graph.MethodAccessFlags flags -> i
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):29:29 -> <init>
    1:2:void modifier(int):48:49 -> a
    3:4:void methodName(com.android.tools.r8.graph.DexString):60:61 -> a
    5:7:void methodEnd():77:79 -> a
    8:9:void argType(com.android.tools.r8.graph.DexType):90:91 -> a
    1:2:void holderType(com.android.tools.r8.graph.DexType):54:55 -> b
    3:9:void methodStart():66:72 -> b
    1:2:com.android.tools.r8.graph.MethodAccessFlags getFlags():42:43 -> c
    3:4:void returnType(com.android.tools.r8.graph.DexType):84:85 -> c
    1:2:com.android.tools.r8.graph.DexMethod getMethod():37:38 -> d
    1:1:boolean parsingFinished():33:33 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags -> com.android.tools.r8.internal.Wm:
    java.util.Map rewritePrefix -> a
    java.util.Set dontRewriteInvocation -> g
    java.util.Map rewriteDerivedPrefix -> b
    java.util.Set dontRetarget -> h
    java.util.Map emulatedInterfaces -> c
    java.util.Set wrapperConversions -> i
    java.util.Map retargetMethod -> d
    java.util.Map amendLibraryMethod -> j
    java.util.Map legacyBackport -> e
    java.util.Map customConversions -> f
    1:11:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Map):46:56 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder builder(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):74:74 -> a
    2:14:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder.<init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):157:157 -> a
    2:14:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder builder(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):74 -> a
    15:15:java.util.Map getAmendLibraryMethod():130:130 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder newBuilder(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):78:78 -> b
    2:2:java.util.Map getCustomConversions():114:114 -> b
    1:1:java.util.Set getDontRetarget():122:122 -> c
    1:1:java.util.Set getDontRewriteInvocation():118:118 -> d
    1:1:java.util.Map getEmulatedInterfaces():102:102 -> e
    1:1:java.util.Map getLegacyBackport():110:110 -> f
    1:1:java.util.Map getRetargetMethod():106:106 -> g
    1:1:java.util.Map getRewriteDerivedPrefix():98:98 -> h
    1:1:java.util.Map getRewritePrefix():94:94 -> i
    1:1:java.util.Set getWrapperConversions():126:126 -> j
    1:4:boolean isEmpty():134:137 -> k
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder -> com.android.tools.r8.internal.Vm:
    java.util.Map rewritePrefix -> c
    java.util.Set dontRewriteInvocation -> i
    java.util.Map rewriteDerivedPrefix -> d
    java.util.Set dontRetarget -> j
    com.android.tools.r8.origin.Origin origin -> b
    java.util.Map amendLibraryMethod -> l
    java.util.Map emulatedInterfaces -> e
    java.util.Set wrapperConversions -> k
    com.android.tools.r8.utils.Reporter reporter -> a
    java.util.Map retargetMethod -> f
    java.util.Map legacyBackport -> g
    java.util.Map customConversions -> h
    1:16:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Map):184:199 -> <init>
    1:12:void put(java.util.Map,java.lang.Object,java.lang.Object,java.lang.String):204:215 -> a
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putRewritePrefix(java.lang.String,java.lang.String):219:219 -> a
    14:16:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putRewriteDerivedPrefix(java.lang.String,java.lang.String,java.lang.String):229:231 -> a
    17:17:java.util.Map lambda$putRewriteDerivedPrefix$0(java.lang.String):230:230 -> a
    18:18:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):249:249 -> a
    19:19:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder retargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):263:263 -> a
    20:20:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRewriteInvocation(com.android.tools.r8.graph.DexMethod):281:281 -> a
    21:21:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRetargetLibMember(com.android.tools.r8.graph.DexType):286:286 -> a
    22:22:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):291:291 -> a
    23:34:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags build():296:307 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putEmulatedInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):240:240 -> b
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addWrapperConversion(com.android.tools.r8.graph.DexType):258:258 -> b
    3:5:void validate():311:313 -> b
    6:6:void validate():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":327,"2":328,"3":329}}
    327:327:void validate():313:313 -> b
    328:328:void validate():313:313 -> b
    329:329:void validate():313:313 -> b
    324:324:void validate():318:318 -> b
    325:325:void validate():317:317 -> b
    326:326:void validate():313:313 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putLegacyBackport(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):272:272 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags -> com.android.tools.r8.internal.dn:
    java.util.List extraKeepRules -> f
    boolean supportAllCallbacksFromLibrary -> e
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    java.lang.String jsonSource -> d
    1:7:void <init>(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String,java.lang.String,boolean,java.util.List):34:40 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder builder():54:54 -> a
    1:1:java.util.List getExtraKeepRules():78:78 -> b
    1:1:java.lang.String getIdentifier():66:66 -> c
    1:1:java.lang.String getJsonSource():70:70 -> d
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationAPILevel():58:58 -> e
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():62:62 -> f
    1:1:boolean supportAllCallbacksFromLibrary():74:74 -> g
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder -> com.android.tools.r8.internal.cn:
    java.lang.Boolean supportAllCallbacksFromLibrary -> e
    java.util.List extraKeepRules -> f
    boolean $assertionsDisabled -> g
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    java.lang.String jsonSource -> d
    1:1:void <clinit>():81:81 -> <clinit>
    1:1:void <init>():90:90 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setRequiredCompilationAPILevel(com.android.tools.r8.utils.AndroidApiLevel):93:93 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setDesugaredLibraryIdentifier(java.lang.String):103:103 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder.setSupportAllCallbacksFromLibrary(boolean):114:114 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder setSupportAllCallbacksFromLibrary(boolean):81 -> a
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setExtraKeepRules(java.util.List):119:119 -> a
    5:12:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags build():124:131 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setJsonSource(java.lang.String):108:108 -> b
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setSupportAllCallbacksFromLibrary(boolean):114:114 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setSynthesizedLibraryClassesPackagePrefix(java.lang.String):98:98 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification -> com.android.tools.r8.internal.wF:
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags topLevelFlags -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap commonFlags -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap libraryFlags -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap programFlags -> e
    1:6:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):24:29 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getCommonFlags():41:41 -> a
    1:1:java.util.Map getCommonFlagsForTesting():53:53 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getLibraryFlags():45:45 -> c
    1:1:java.util.Map getLibraryFlagsForTesting():57:57 -> d
    1:1:com.android.tools.r8.origin.Origin getOrigin():33:33 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getProgramFlags():49:49 -> f
    1:1:java.util.Map getProgramFlagsForTesting():61:61 -> g
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags getTopLevelFlags():37:37 -> h
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator -> com.android.tools.r8.internal.xF:
    1:6:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):26:31 -> a
    7:7:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    7:7:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    7:7:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):31 -> a
    8:8:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32:32 -> a
    9:31:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter,int):41:63 -> a
    9:31:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32 -> a
    32:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.putNewFlags(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):72:76 -> a
    32:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter,int):65 -> a
    32:36:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32 -> a
    37:41:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.putNewFlags(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):72:76 -> a
    37:41:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter,int):66 -> a
    37:41:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32 -> a
    42:46:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.putNewFlags(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):72:76 -> a
    42:46:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter,int):67 -> a
    42:46:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32 -> a
    47:50:void deduplicateAmendLibraryMemberFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):133:136 -> a
    51:54:void lambda$deduplicateAmendLibraryMemberFlags$0(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):138:141 -> a
    55:61:void lambda$deduplicateRewriteDifferentPrefix$3(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.util.Map):155:161 -> a
    62:62:void lambda$deduplicateRewriteDifferentPrefix$1(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String,java.lang.String):157:157 -> a
    63:66:void lambda$deduplicateRewriteDifferentPrefix$2(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):163:166 -> a
    67:71:void lambda$deduplicateRewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):182:186 -> a
    72:72:void deduplicateFlags(java.util.Map,java.util.Map,java.util.function.BiConsumer,java.util.function.BiConsumer):196:196 -> a
    73:76:void lambda$deduplicateFlags$5(java.util.Map,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexType):198:201 -> a
    77:77:void deduplicateFlags(java.util.Set,java.util.Set,java.util.function.Consumer,java.util.function.Consumer):208:208 -> a
    78:81:void lambda$deduplicateFlags$6(java.util.Set,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.graph.DexItem):210:213 -> a
    1:6:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):85:90 -> b
    7:14:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):88:95 -> b
    15:22:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):93:100 -> b
    23:30:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):98:105 -> b
    31:39:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):103:111 -> b
    40:47:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):109:116 -> b
    48:55:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):114:121 -> b
    56:62:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):119:125 -> b
    1:2:void deduplicateRewriteDifferentPrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):152:153 -> c
    1:2:void deduplicateRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):179:180 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter -> com.android.tools.r8.internal.zF:
    1:1:void <init>():48:48 -> <init>
    1:1:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):52:52 -> a
    2:7:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):58:63 -> a
    2:7:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    8:13:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):61:66 -> a
    8:13:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    14:19:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):64:69 -> a
    14:19:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    20:30:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):67:77 -> a
    20:30:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    31:31:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583:583 -> a
    31:31:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):78 -> a
    31:31:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    32:32:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):602:602 -> a
    32:32:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    32:32:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):78 -> a
    32:32:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    33:34:void com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable):647:648 -> a
    33:34:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):603 -> a
    33:34:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    33:34:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):78 -> a
    33:34:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    35:35:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):604:604 -> a
    35:35:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    35:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):78 -> a
    35:35:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    36:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):79:79 -> a
    36:36:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    37:37:void com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable):650:650 -> a
    37:37:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):603 -> a
    37:37:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    37:37:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):78 -> a
    37:37:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53 -> a
    38:79:java.util.List rewritingFlagsToString(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):84:125 -> a
    80:80:void lambda$rewritingFlagsToString$0(java.util.TreeMap,java.lang.String,java.util.Map):98:98 -> a
    81:81:void lambda$amendLibraryToString$1(java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):133:133 -> a
    82:82:void lambda$setToString$2(java.util.Set,com.android.tools.r8.graph.DexItem):139:139 -> a
    83:83:void lambda$mapToString$3(java.util.Map,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexItem):145:145 -> a
    84:106:java.lang.String toString(com.android.tools.r8.graph.DexItem):150:172 -> a
    107:107:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> a
    107:107:java.util.Set amendLibraryToString(java.util.Map):131 -> a
    108:108:java.util.Set amendLibraryToString(java.util.Map):132:132 -> a
    109:109:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> a
    109:109:java.util.Set setToString(java.util.Set):138 -> a
    110:110:java.util.Set setToString(java.util.Set):139:139 -> a
    1:2:java.util.Map mapToString(java.util.Map):144:145 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter$1 -> com.android.tools.r8.internal.yF:
    1:1:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter):79:79 -> <init>
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.AF:
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):20:20 -> <init>
    void lambda$parseMultiLevelConfiguration$0(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> b
    1:10:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification parseMultiLevelConfiguration(com.android.tools.r8.StringResource):26:35 -> b
    11:21:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):39:49 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.RA:
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags rewritingFlags -> c
    boolean libraryCompilation -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags topLevelFlags -> b
    1:4:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags,boolean):39:42 -> <init>
    1:1:java.lang.String getJsonSource():154:154 -> a
    2:3:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):160:161 -> a
    4:8:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.util.List,com.android.tools.r8.utils.InternalOptions):98:102 -> a
    4:8:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):161 -> a
    9:9:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):162:162 -> a
    10:10:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,java.nio.file.Path):168:168 -> a
    11:12:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):108:109 -> a
    11:12:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,java.nio.file.Path):169 -> a
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,java.nio.file.Path):170:170 -> a
    1:1:boolean isLibraryCompilation():79:79 -> b
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationApiLevel():74:74 -> c
    1:1:java.util.List getExtraKeepRules():149:149 -> d
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():84:84 -> e
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification empty():32:32 -> f
    2:8:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags.empty():47:53 -> f
    2:8:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification empty():33 -> f
    9:17:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags.empty():60:68 -> f
    9:17:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification empty():33 -> f
    18:18:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification empty():33:33 -> f
    1:1:java.util.Map getCustomConversions():132:132 -> g
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags getRewritingFlags():65:65 -> h
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags getTopLevelFlags():61:61 -> i
    1:1:boolean isEmpty():47:47 -> isEmpty
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.SA:
    com.android.tools.r8.com.google.gson.JsonObject jsonConfig -> f
    com.android.tools.r8.utils.SemanticVersion MIN_SUPPORTED_VERSION -> g
    com.android.tools.r8.origin.Origin origin -> e
    int minAPILevel -> d
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.Reporter reporter -> b
    boolean libraryCompilation -> c
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:4:void <clinit>():28:31 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):68:72 -> <init>
    void lambda$parse$0(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags.builder():67:67 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):167 -> a
    2:32:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):169:199 -> a
    33:39:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):198:204 -> a
    40:59:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):203:222 -> a
    60:60:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):184:184 -> a
    61:61:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):174:174 -> a
    62:62:com.android.tools.r8.graph.DexItemFactory dexItemFactory():76:76 -> a
    63:69:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):93:99 -> a
    70:70:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    71:71:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":166,"2":167,"3":168,"4":169,"5":170,"6":171}}
    166:166:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    167:167:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    168:168:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    169:169:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    170:170:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    171:171:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    165:165:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    172:173:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource):103:104 -> a
    174:174:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject):109:109 -> a
    175:181:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):117:123 -> a
    182:187:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():153:158 -> a
    182:187:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    188:192:void com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseFlagsList(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder):226:230 -> a
    188:192:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():158 -> a
    188:192:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    193:193:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():160:160 -> a
    193:193:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    194:198:void com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseFlagsList(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder):226:230 -> a
    194:198:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():159 -> a
    194:198:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    199:199:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():162:162 -> a
    199:199:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    200:203:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):127:130 -> a
    204:248:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder):236:280 -> a
    void lambda$parse$1(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> b
    1:1:com.android.tools.r8.com.google.gson.JsonObject getJsonConfig():84:84 -> b
    2:3:void com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.setOrigin(com.android.tools.r8.StringResource):148:149 -> b
    2:3:java.lang.String parseJson(com.android.tools.r8.StringResource):135 -> b
    4:8:java.lang.String parseJson(com.android.tools.r8.StringResource):138:142 -> b
    1:2:com.android.tools.r8.origin.Origin getOrigin():88:89 -> c
    1:1:com.android.tools.r8.utils.Reporter reporter():80:80 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags -> com.android.tools.r8.internal.TA:
    java.util.Map rewritePrefix -> a
    java.util.Set dontRetargetLibMember -> g
    java.util.Map emulateLibraryInterface -> b
    java.util.Set wrapperConversions -> h
    java.util.Map retargetCoreLibMember -> c
    java.util.Map backportCoreLibraryMember -> d
    java.util.List dontRewriteInvocation -> f
    java.util.Map customConversions -> e
    1:9:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.List,java.util.Set,java.util.Set):48:56 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder builder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):72:72 -> a
    2:14:void com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.<init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):144:144 -> a
    2:14:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder builder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):72 -> a
    15:15:java.util.Map getBackportCoreLibraryMember():103:103 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder newBuilder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):76:76 -> b
    2:2:java.util.Map getCustomConversions():107:107 -> b
    1:1:java.util.Set getDontRetargetLibMember():115:115 -> c
    1:1:java.util.List getDontRewriteInvocation():111:111 -> d
    1:1:java.util.Map getEmulateLibraryInterface():95:95 -> e
    1:1:java.util.Map getRetargetCoreLibMember():99:99 -> f
    1:1:java.util.Map getRewritePrefix():91:91 -> g
    1:1:java.util.Set getWrapperConversions():119:119 -> h
    1:3:boolean isEmpty():123:125 -> i
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder -> com.android.tools.r8.internal.TA$a:
    java.util.Map rewritePrefix -> d
    java.util.Set dontRetargetLibMember -> j
    com.android.tools.r8.origin.Origin origin -> c
    boolean $assertionsDisabled -> l
    java.util.List dontRewriteInvocation -> i
    java.util.Map emulateLibraryInterface -> e
    java.util.Set wrapperConversions -> k
    java.util.Map retargetCoreLibMember -> f
    com.android.tools.r8.utils.Reporter reporter -> b
    java.util.Map backportCoreLibraryMember -> g
    com.android.tools.r8.graph.DexItemFactory factory -> a
    java.util.Map customConversions -> h
    1:1:void <clinit>():128:128 -> <clinit>
    1:14:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.List,java.util.Set,java.util.Set):169:182 -> <init>
    1:12:void put(java.util.Map,java.lang.Object,java.lang.Object,java.lang.String):187:198 -> a
    13:13:void put(java.util.Map,java.lang.Object,java.lang.Object,java.lang.String):188:188 -> a
    14:16:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putBackportCoreLibraryMember(java.lang.String,java.lang.String):256:258 -> a
    17:17:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRetargetLibMember(java.lang.String):276:276 -> a
    18:27:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags build():294:303 -> a
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putCustomConversion(java.lang.String,java.lang.String):223:225 -> b
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267:267 -> b
    5:6:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):281:282 -> b
    5:6:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    7:11:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):268:268 -> b
    12:12:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283:283 -> b
    12:12:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    13:13:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283 -> b
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    14:14:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    14:14:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    14:14:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283 -> b
    14:14:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    15:15:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283:283 -> b
    15:15:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    16:18:void validate():307:309 -> b
    19:19:void validate():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":336,"2":337,"3":338}}
    336:336:void validate():309:309 -> b
    337:337:void validate():309:309 -> b
    338:338:void validate():309:309 -> b
    333:333:void validate():314:314 -> b
    334:334:void validate():313:313 -> b
    335:335:void validate():309:309 -> b
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putEmulateLibraryInterface(java.lang.String,java.lang.String):212:214 -> c
    4:5:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addWrapperConversion(java.lang.String):234:235 -> c
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240:240 -> d
    2:3:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):281:282 -> d
    2:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    4:10:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):241:247 -> d
    11:11:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283:283 -> d
    11:11:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    12:12:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> d
    12:12:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283 -> d
    12:12:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> d
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> d
    13:13:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283 -> d
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    14:14:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283:283 -> d
    14:14:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    15:15:com.android.tools.r8.graph.DexType stringClassToDexType(java.lang.String):290:290 -> d
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRewritePrefix(java.lang.String,java.lang.String):202:202 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags -> com.android.tools.r8.internal.WA:
    java.util.List extraKeepRules -> f
    boolean supportAllCallbacksFromLibrary -> e
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    java.lang.String jsonSource -> d
    1:7:void <init>(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String,java.lang.String,boolean,java.util.List):37:43 -> <init>
    1:1:java.util.List getExtraKeepRules():91:91 -> a
    1:1:java.lang.String getIdentifier():79:79 -> b
    1:1:java.lang.String getJsonSource():83:83 -> c
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationAPILevel():71:71 -> d
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():75:75 -> e
    1:1:boolean supportAllCallbacksFromLibrary():87:87 -> f
    1:7:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags testing():57:63 -> g
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder -> com.android.tools.r8.internal.VA:
    java.util.List extraKeepRules -> f
    boolean supportAllCallbacksFromLibrary -> e
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    java.lang.String jsonSource -> d
    1:1:void <init>():104:104 -> <init>
    2:6:void <init>():97:101 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setRequiredCompilationAPILevel(com.android.tools.r8.utils.AndroidApiLevel):107:107 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setDesugaredLibraryIdentifier(java.lang.String):117:117 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder.setSupportAllCallbacksFromLibrary(boolean):128:128 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder setSupportAllCallbacksFromLibrary(boolean):94 -> a
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setExtraKeepRules(java.util.List):133:133 -> a
    5:5:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags build():138:138 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setJsonSource(java.lang.String):122:122 -> b
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setSupportAllCallbacksFromLibrary(boolean):128:128 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setSynthesizedLibraryClassesPackagePrefix(java.lang.String):112:112 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.BF:
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap commonFlags -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap libraryFlags -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap programFlags -> e
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags topLevelFlags -> b
    1:6:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):23:28 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getCommonFlags():40:40 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getLibraryFlags():44:44 -> b
    1:1:com.android.tools.r8.origin.Origin getOrigin():32:32 -> c
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getProgramFlags():48:48 -> d
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags getTopLevelFlags():36:36 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.CF:
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):20:20 -> <init>
    1:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):39:51 -> a
    void lambda$parseMultiLevelConfiguration$0(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> c
    1:10:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification parseMultiLevelConfiguration(com.android.tools.r8.StringResource):26:35 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.CustomConversionDescriptor -> com.android.tools.r8.internal.Wd:
    com.android.tools.r8.graph.DexMethod from -> b
    com.android.tools.r8.graph.DexMethod to -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):13:17 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getFrom():25:25 -> a
    1:1:com.android.tools.r8.graph.DexMethod getTo():21:21 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod -> com.android.tools.r8.internal.hf:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind holderKind -> b
    com.android.tools.r8.graph.DexMethod method -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):28:30 -> <init>
    1:1:com.android.tools.r8.graph.DexType getHolderContext():38:38 -> a
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getHolderKind():34:34 -> b
    1:1:com.android.tools.r8.graph.DexMethod getMethod():42:42 -> c
    1:1:com.android.tools.r8.graph.DexString getName():46:46 -> d
    1:1:com.android.tools.r8.graph.DexProto getProto():50:50 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor -> com.android.tools.r8.internal.Wh:
    java.util.LinkedHashMap dispatchCases -> d
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod emulatedDispatchMethod -> b
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod interfaceMethod -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod forwardingMethod -> c
    1:5:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,java.util.LinkedHashMap):48:52 -> <init>
    1:1:java.util.LinkedHashMap getDispatchCases():68:68 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod getEmulatedDispatchMethod():60:60 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod getForwardingMethod():64:64 -> c
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod getInterfaceMethod():56:56 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor -> com.android.tools.r8.internal.Yh:
    java.util.Map emulatedMethods -> b
    com.android.tools.r8.graph.DexType rewrittenType -> a
    1:3:void <init>(com.android.tools.r8.graph.DexType,java.util.Map):16:18 -> <init>
    1:1:java.util.Map getEmulatedMethods():26:26 -> a
    1:1:com.android.tools.r8.graph.DexType getRewrittenType():22:22 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification -> com.android.tools.r8.internal.XC:
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags rewritingFlags -> c
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags topLevelFlags -> b
    boolean libraryCompilation -> a
    1:4:void <init>(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags):44:47 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags.builder():23:23 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification withOnlyRewriteTypeForTesting(java.util.Map):35 -> a
    2:3:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification withOnlyRewriteTypeForTesting(java.util.Map):36:37 -> a
    4:5:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags.empty():28:29 -> a
    4:5:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification withOnlyRewriteTypeForTesting(java.util.Map):38 -> a
    6:6:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification withOnlyRewriteTypeForTesting(java.util.Map):38:38 -> a
    7:7:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification empty():24:24 -> a
    8:9:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags.empty():28:29 -> a
    8:9:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification empty():25 -> a
    10:10:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags.builder():23:23 -> a
    10:10:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification empty():25 -> a
    11:11:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification empty():25:25 -> a
    12:12:void forEachRetargetMethod(java.util.function.Consumer):103:103 -> a
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedInterfaceEmulatedDispatchMethodDescriptor(com.android.tools.r8.graph.DexMethod):112:112 -> a
    14:14:boolean isCustomConversionRewrittenType(com.android.tools.r8.graph.DexType):116:116 -> a
    15:22:boolean isSupported(com.android.tools.r8.graph.DexReference):153:160 -> a
    23:23:java.util.Map com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification.getStaticRetarget():87:87 -> a
    23:23:boolean isSupported(com.android.tools.r8.graph.DexReference):161 -> a
    24:24:boolean isSupported(com.android.tools.r8.graph.DexReference):161:161 -> a
    25:25:java.util.Map com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification.getNonEmulatedVirtualRetarget():91:91 -> a
    25:25:boolean isSupported(com.android.tools.r8.graph.DexReference):162 -> a
    26:26:boolean isSupported(com.android.tools.r8.graph.DexReference):162:162 -> a
    27:27:java.util.Map com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification.getEmulatedVirtualRetarget():95:95 -> a
    27:27:boolean isSupported(com.android.tools.r8.graph.DexReference):163 -> a
    28:28:boolean isSupported(com.android.tools.r8.graph.DexReference):163:163 -> a
    29:29:java.util.Map com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification.getEmulatedInterfaces():107:107 -> a
    29:29:boolean isSupported(com.android.tools.r8.graph.DexReference):167 -> a
    30:31:boolean isSupported(com.android.tools.r8.graph.DexReference):167:168 -> a
    1:1:boolean isEmulatedInterfaceRewrittenType(com.android.tools.r8.graph.DexType):120:120 -> b
    2:2:java.util.Map getAmendLibraryMethods():140:140 -> b
    1:1:java.util.Map getCustomConversions():136:136 -> c
    1:1:java.util.Set getDontRetarget():132:132 -> d
    1:1:java.util.Map getEmulatedInterfaces():107:107 -> e
    1:1:java.util.Map getEmulatedVirtualRetarget():95:95 -> f
    1:1:java.util.Map getEmulatedVirtualRetargetThroughEmulatedInterface():99:99 -> g
    1:1:java.lang.String getIdentifier():63:63 -> h
    1:1:java.util.Map getLegacyBackport():128:128 -> i
    1:1:java.util.Map getNonEmulatedVirtualRetarget():91:91 -> j
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationApiLevel():176:176 -> k
    1:1:java.util.Map getRewriteDerivedTypeOnly():83:83 -> l
    1:1:java.util.Map getRewriteType():79:79 -> m
    1:1:java.util.Map getStaticRetarget():87:87 -> n
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():59:59 -> o
    1:1:java.util.Map getWrappers():124:124 -> p
    1:1:boolean hasEmulatedInterfaces():148:148 -> q
    1:1:boolean hasRetargeting():144:144 -> r
    1:1:boolean isLibraryCompilation():51:51 -> s
    1:1:boolean supportAllCallbacksFromLibrary():71:71 -> t
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification$1 -> com.android.tools.r8.internal.WC:
    1:1:void <init>(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags):25:25 -> <init>
    boolean isSupported(com.android.tools.r8.graph.DexReference) -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags -> com.android.tools.r8.internal.ZC:
    java.util.Map rewriteType -> a
    java.util.Map rewriteDerivedTypeOnly -> b
    java.util.Map staticRetarget -> c
    java.util.Map nonEmulatedVirtualRetarget -> d
    java.util.Set dontRetarget -> j
    java.util.Map legacyBackport -> i
    java.util.Map customConversions -> k
    java.util.Map amendLibraryMethod -> l
    java.util.Map emulatedVirtualRetarget -> e
    java.util.Map emulatedVirtualRetargetThroughEmulatedInterface -> f
    java.util.Map emulatedInterfaces -> g
    java.util.Map wrappers -> h
    1:14:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Map,java.util.Map):38:51 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder builder():23:23 -> a
    2:4:void forEachRetargetMethod(java.util.function.Consumer):112:114 -> a
    5:6:boolean isCustomConversionRewrittenType(com.android.tools.r8.graph.DexType):134:135 -> a
    7:7:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    7:7:boolean isCustomConversionRewrittenType(com.android.tools.r8.graph.DexType):134 -> a
    8:9:boolean lambda$isCustomConversionRewrittenType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.CustomConversionDescriptor):137:138 -> a
    10:10:boolean lambda$isEmulatedInterfaceRewrittenType$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):157:157 -> a
    11:14:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedInterfaceEmulatedDispatchMethodDescriptor(com.android.tools.r8.graph.DexMethod):166:169 -> a
    1:1:java.util.Map getAmendLibraryMethod():146:146 -> b
    2:3:boolean isEmulatedInterfaceRewrittenType(com.android.tools.r8.graph.DexType):156:157 -> b
    4:4:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    4:4:boolean isEmulatedInterfaceRewrittenType(com.android.tools.r8.graph.DexType):156 -> b
    1:1:java.util.Map getCustomConversions():142:142 -> c
    1:1:java.util.Set getDontRetarget():130:130 -> d
    1:1:java.util.Map getEmulatedInterfaces():118:118 -> e
    1:1:java.util.Map getEmulatedVirtualRetarget():104:104 -> f
    1:1:java.util.Map getEmulatedVirtualRetargetThroughEmulatedInterface():108:108 -> g
    1:1:java.util.Map getLegacyBackport():126:126 -> h
    1:1:java.util.Map getNonEmulatedVirtualRetarget():100:100 -> i
    1:1:java.util.Map getRewriteDerivedTypeOnly():92:92 -> j
    1:1:java.util.Map getRewriteType():88:88 -> k
    1:1:java.util.Map getStaticRetarget():96:96 -> l
    1:1:java.util.Map getWrappers():122:122 -> m
    1:1:boolean hasEmulatedInterfaces():161:161 -> n
    1:3:boolean hasRetargeting():150:152 -> o
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder -> com.android.tools.r8.internal.YC:
    boolean $assertionsDisabled -> m
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder dontRetarget -> j
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder amendLibraryMethod -> l
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder customConversions -> k
    java.util.Map rewriteType -> a
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder legacyBackport -> i
    java.util.Map rewriteDerivedTypeOnly -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder wrappers -> h
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder emulatedInterfaces -> g
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder emulatedVirtualRetargetThroughEmulatedInterface -> f
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder emulatedVirtualRetarget -> e
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder nonEmulatedVirtualRetarget -> d
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder staticRetarget -> c
    1:1:void <clinit>():172:172 -> <clinit>
    1:21:void <init>():174:194 -> <init>
    1:1:void putEmulatedInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):217:217 -> a
    2:2:void putEmulatedVirtualRetarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):221:221 -> a
    3:3:void putEmulatedVirtualRetargetThroughEmulatedInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):225:225 -> a
    4:4:void addWrapper(com.android.tools.r8.graph.DexType,java.util.List):229:229 -> a
    5:5:void putLegacyBackport(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):233:233 -> a
    6:6:void addDontRetarget(com.android.tools.r8.graph.DexType):237:237 -> a
    7:7:void putCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.CustomConversionDescriptor):241:241 -> a
    8:8:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):245:245 -> a
    9:21:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags build():253:265 -> a
    1:1:void rewriteDerivedTypeOnly(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):205:205 -> b
    2:2:void putNonEmulatedVirtualRetarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):213:213 -> b
    3:3:com.android.tools.r8.graph.DexType getRewrittenType(com.android.tools.r8.graph.DexType):249:249 -> b
    1:5:void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):197:201 -> c
    6:6:void putStaticRetarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):209:209 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags -> com.android.tools.r8.internal.aD:
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    boolean supportAllCallbacksFromLibrary -> d
    1:6:void <init>(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String,java.lang.String,boolean,java.util.List):38:43 -> <init>
    1:1:java.lang.String getIdentifier():56:56 -> a
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationAPILevel():48:48 -> b
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():52:52 -> c
    1:1:boolean supportAllCallbacksFromLibrary():64:64 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter -> com.android.tools.r8.internal.Jf:
    java.util.Map staticRetarget -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map nonEmulatedVirtualRetarget -> d
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> b
    boolean $assertionsDisabled -> f
    java.util.Map emulatedVirtualRetarget -> e
    1:1:void <clinit>():34:34 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView):43:50 -> <init>
    1:3:void visit(java.util.function.Consumer):55:57 -> a
    4:12:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):70:78 -> a
    13:13:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):77:77 -> a
    14:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    15:17:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult ensureInvokeRetargetingResult(com.android.tools.r8.graph.DexMethod):88:90 -> a
    18:18:com.android.tools.r8.graph.DexMethod lambda$ensureInvokeRetargetingResult$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):93:93 -> a
    19:28:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNonStaticRetarget(com.android.tools.r8.graph.DexMethod,boolean):168:177 -> a
    29:30:com.android.tools.r8.graph.DexMethod lambda$computeNonStaticRetarget$1(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):174:174 -> a
    31:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.forwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):63:64 -> a
    31:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.ensureForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):70 -> a
    31:32:com.android.tools.r8.graph.DexMethod lambda$computeNonStaticRetarget$1(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):174 -> a
    33:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.ensureForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):70:70 -> a
    33:33:com.android.tools.r8.graph.DexMethod lambda$computeNonStaticRetarget$1(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):174 -> a
    34:34:com.android.tools.r8.graph.DexMethod lambda$computeNonStaticRetarget$1(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):175:175 -> a
    1:7:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):128:134 -> b
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> b
    8:8:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):135 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:30:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):135:156 -> b
    31:31:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> b
    31:31:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):157 -> b
    32:33:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):159:160 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult -> com.android.tools.r8.internal.If:
    boolean hasNewInvokeTarget -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult NO_REWRITING -> c
    java.util.function.Function newInvokeTargetSupplier -> b
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():98:100 -> <clinit>
    1:1:void <init>(boolean,java.util.function.Function,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$1):98:98 -> <init>
    2:4:void <init>(boolean,java.util.function.Function):110:112 -> <init>
    1:1:boolean hasNewInvokeTarget():116:116 -> a
    2:2:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):121:121 -> a
    3:3:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult.hasNewInvokeTarget():116:116 -> a
    3:3:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):121 -> a
    4:5:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):121:122 -> a
    com.android.tools.r8.graph.DexMethod lambda$static$0(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer) -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer -> com.android.tools.r8.internal.Kf:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):30:32 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView):19:19 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView):19 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView):19 -> a
    4:12:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView):19:27 -> a
    13:17:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):37:41 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor -> com.android.tools.r8.internal.Lf:
    java.util.Map emulatedDispatchMethods -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():33:33 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView):39:43 -> <init>
    1:1:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52:52 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    2:2:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    3:3:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52 -> a
    4:5:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52:53 -> a
    6:6:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59:59 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    7:7:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    8:8:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59 -> a
    9:9:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59:59 -> a
    10:10:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> a
    10:10:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):60 -> a
    11:21:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):61:71 -> a
    22:22:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    22:22:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):75 -> a
    23:25:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):75:77 -> a
    26:27:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$0(java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):63:64 -> a
    28:28:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79:79 -> a
    29:33:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):92:96 -> a
    29:33:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    34:34:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    34:34:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):97 -> a
    34:34:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    35:39:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):100:104 -> a
    35:39:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    40:40:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98:98 -> a
    40:40:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    41:44:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):167:170 -> a
    41:44:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    41:44:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    45:45:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    45:45:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):171 -> a
    45:45:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    45:45:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    46:52:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):172:178 -> a
    46:52:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    46:52:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    53:53:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    53:53:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):180 -> a
    53:53:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    53:53:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    54:54:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):180:180 -> a
    54:54:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    54:54:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    55:55:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):179:179 -> a
    55:55:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    55:55:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    56:56:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):175:175 -> a
    56:56:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    56:56:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    57:76:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):117:136 -> a
    57:76:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    77:82:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):135:140 -> a
    77:82:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    83:83:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass):153:153 -> a
    83:83:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):141 -> a
    83:83:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    84:85:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.forwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):63:64 -> a
    84:85:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass):153 -> a
    84:85:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):141 -> a
    84:85:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    86:92:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass):154:160 -> a
    86:92:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):141 -> a
    86:92:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    93:95:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass):159:161 -> a
    93:95:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):141 -> a
    93:95:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    96:97:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):142:143 -> a
    96:97:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer -> com.android.tools.r8.internal.Mf:
    void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper -> com.android.tools.r8.internal.Nf:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):29:30 -> <init>
    void lambda$ensureRetargetMethod$0(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> a
    1:1:com.android.tools.r8.graph.DexMethod ensureRetargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):35:35 -> a
    2:2:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    2:2:com.android.tools.r8.graph.DexMethod ensureRetargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):36 -> a
    3:14:com.android.tools.r8.graph.DexMethod ensureRetargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):39:50 -> a
    15:27:com.android.tools.r8.graph.DexMethod ensureRetargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):46:58 -> a
    28:29:void lambda$ensureRetargetMethod$1(com.android.tools.r8.synthesis.SyntheticMethodBuilder):56:57 -> a
    30:32:com.android.tools.r8.graph.DexMethod emulatedHolderDispatchMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):74:76 -> a
    33:34:com.android.tools.r8.graph.DexMethod emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):86:87 -> a
    35:36:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):80:81 -> a
    35:36:com.android.tools.r8.graph.DexMethod emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):87 -> a
    37:37:com.android.tools.r8.graph.DexMethod emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):88:88 -> a
    38:43:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):95:100 -> a
    44:44:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    44:44:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):100 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    45:45:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    45:45:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):100 -> a
    46:50:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):101:105 -> a
    51:74:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):104:127 -> a
    75:75:void lambda$ensureEmulatedHolderDispatchMethod$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):122:122 -> a
    76:76:void lambda$ensureProgramEmulatedHolderDispatchMethod$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):146:146 -> a
    77:77:void lambda$ensureEmulatedInterfaceDispatchMethod$4(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):169:169 -> a
    78:78:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):176:176 -> a
    79:79:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    79:79:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):176 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    80:80:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    80:80:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):176 -> a
    81:88:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):176:183 -> a
    89:89:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):182:182 -> a
    90:90:void lambda$ensureEmulatedInterfaceDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186:186 -> a
    91:92:void buildInterfaceDispatchMethod(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):193:194 -> a
    93:93:void lambda$buildInterfaceDispatchMethod$6(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticMethodBuilder):198:198 -> a
    94:95:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):80:81 -> a
    94:95:void lambda$buildInterfaceDispatchMethod$6(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticMethodBuilder):197 -> a
    96:104:void lambda$buildInterfaceDispatchMethod$6(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticMethodBuilder):200:208 -> a
    105:105:void buildHolderDispatchMethod(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):217:217 -> a
    106:106:void lambda$buildHolderDispatchMethod$8(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.synthesis.SyntheticMethodBuilder):221:221 -> a
    107:115:void lambda$buildHolderDispatchMethod$8(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.synthesis.SyntheticMethodBuilder):220:228 -> a
    116:116:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):230:230 -> a
    117:117:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    117:117:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):230 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    118:118:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    118:118:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):230 -> a
    119:120:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.forwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):63:64 -> a
    119:120:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.ensureForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):70 -> a
    119:120:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):242 -> a
    119:120:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    121:121:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.ensureForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):70:70 -> a
    121:121:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):242 -> a
    121:121:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    122:123:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):86:87 -> a
    122:123:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):243 -> a
    122:123:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    124:125:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):80:81 -> a
    124:125:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):87 -> a
    124:125:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):243 -> a
    124:125:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    126:126:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):88:88 -> a
    126:126:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):243 -> a
    126:126:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    127:130:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):244:247 -> a
    127:130:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    1:2:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):134:135 -> b
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> b
    3:3:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):135 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> b
    4:4:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):135 -> b
    5:13:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):135:143 -> b
    14:14:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):142:142 -> b
    15:18:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):153:156 -> b
    19:19:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> b
    19:19:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):156 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> b
    20:20:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):156 -> b
    21:29:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):157:165 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter -> com.android.tools.r8.internal.Xm:
    java.util.Map emulatedInterfaceHierarchy -> b
    java.util.Set missingEmulatedInterface -> c
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):37:37 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):34:38 -> <init>
    1:19:void convertEmulatedInterfaces(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):46:64 -> a
    20:23:void convertEmulatedInterfaces(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):63:66 -> a
    24:24:boolean lambda$convertEmulatedInterfaces$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):57:57 -> a
    25:27:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):60:62 -> a
    28:35:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):71:78 -> a
    28:35:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    36:40:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):75:79 -> a
    36:40:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    41:41:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    41:41:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):79 -> a
    41:41:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    42:42:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):80:80 -> a
    42:42:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    43:50:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):93:100 -> a
    43:50:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    43:50:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    51:52:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):131:132 -> a
    51:52:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):100 -> a
    51:52:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    51:52:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    53:53:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    53:53:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):133 -> a
    53:53:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):100 -> a
    53:53:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    53:53:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    54:60:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):134:140 -> a
    54:60:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):100 -> a
    54:60:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    54:60:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    61:62:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    61:62:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):140 -> a
    61:62:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):100 -> a
    61:62:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    61:62:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    63:63:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):101:101 -> a
    63:63:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    63:63:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    64:64:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2642:2642 -> a
    64:64:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):101 -> a
    64:64:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    64:64:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    65:69:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):102:106 -> a
    65:69:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    65:69:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    70:70:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    70:70:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):106 -> a
    70:70:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    70:70:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    71:90:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):106:125 -> a
    71:90:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    71:90:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    91:91:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):83:83 -> a
    91:91:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    92:92:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):59:59 -> a
    93:97:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map):148:152 -> a
    98:108:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):161:171 -> a
    109:109:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    109:109:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):172 -> a
    110:116:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):173:179 -> a
    117:118:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    117:118:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):179 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter -> com.android.tools.r8.internal.Ym:
    java.util.Map descriptorPrefix -> d
    java.util.Set usedPrefix -> f
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    java.lang.String synthesizedPrefix -> c
    java.util.Map descriptorDifferentPrefix -> e
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder builder -> b
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):34:34 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):28:40 -> <init>
    1:10:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteClasses():91:100 -> a
    1:10:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):45 -> a
    11:11:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):46:46 -> a
    12:13:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):85:86 -> a
    12:13:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):46 -> a
    14:14:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):47:47 -> a
    15:16:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):85:86 -> a
    15:16:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):47 -> a
    17:18:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):48:49 -> a
    19:20:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):73:74 -> a
    19:20:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    21:25:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):62:66 -> a
    21:25:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):74 -> a
    21:25:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    26:26:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38}}
    36:36:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):66:66 -> a
    36:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):74 -> a
    36:36:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    37:37:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):66:66 -> a
    37:37:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):74 -> a
    37:37:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    38:38:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):66:66 -> a
    38:38:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):74 -> a
    38:38:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    27:27:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):69:69 -> a
    27:27:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):74 -> a
    27:27:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    28:28:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):68:68 -> a
    28:28:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):74 -> a
    28:28:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    29:29:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):67:67 -> a
    29:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):74 -> a
    29:29:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    30:30:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):75:75 -> a
    30:30:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    31:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.warnIfUnusedPrefix(java.util.function.BiConsumer):54:58 -> a
    31:35:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):50 -> a
    39:39:void registerDifferentType(com.android.tools.r8.graph.DexType):112:112 -> a
    40:42:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):132:134 -> a
    40:42:void registerDifferentType(com.android.tools.r8.graph.DexType):112 -> a
    43:43:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    43:43:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):134 -> a
    43:43:void registerDifferentType(com.android.tools.r8.graph.DexType):112 -> a
    44:56:void registerDifferentType(com.android.tools.r8.graph.DexType):116:128 -> a
    57:63:void lambda$registerDifferentType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):120:126 -> a
    64:64:void lambda$registerDifferentType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):124:124 -> a
    65:66:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):155:156 -> a
    67:68:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):172:173 -> a
    67:68:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):157 -> a
    69:69:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":74,"2":75,"3":76}}
    74:74:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:173 -> a
    74:74:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):157 -> a
    75:75:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:173 -> a
    75:75:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):157 -> a
    76:76:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:173 -> a
    76:76:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):157 -> a
    70:70:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> a
    70:70:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):157 -> a
    71:73:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):157:159 -> a
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):142:142 -> b
    1:1:void registerType(com.android.tools.r8.graph.DexType):105 -> b
    2:3:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):132:133 -> b
    2:3:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):142 -> b
    2:3:void registerType(com.android.tools.r8.graph.DexType):105 -> b
    4:4:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> b
    4:4:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):134 -> b
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):142 -> b
    4:4:void registerType(com.android.tools.r8.graph.DexType):105 -> b
    5:7:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):146:148 -> b
    5:7:void registerType(com.android.tools.r8.graph.DexType):105 -> b
    8:11:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):147:150 -> b
    8:11:void registerType(com.android.tools.r8.graph.DexType):105 -> b
    12:12:void registerType(com.android.tools.r8.graph.DexType):107:107 -> b
    13:14:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):164:165 -> b
    15:16:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):172:173 -> b
    15:16:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    17:17:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":27,"2":28,"3":29}}
    27:27:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:173 -> b
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    28:28:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:173 -> b
    28:28:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    29:29:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:173 -> b
    29:29:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    18:18:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> b
    18:18:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166:166 -> b
    20:21:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):172:173 -> b
    20:21:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":30,"2":31,"3":32}}
    30:30:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:173 -> b
    30:30:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    31:31:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:173 -> b
    31:31:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    32:32:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:173 -> b
    32:32:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    23:23:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> b
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166 -> b
    24:26:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):166:168 -> b
    1:1:void rewriteEmulatedInterface(java.util.Map):80:80 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter -> com.android.tools.r8.internal.Zm:
    java.util.Set missingMethods -> c
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):34:34 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):32:36 -> <init>
    1:5:void convertRetargetFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):44:48 -> a
    6:13:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):56:63 -> a
    6:13:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    14:14:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    14:14:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):66 -> a
    14:14:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    15:15:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):66:66 -> a
    15:15:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    16:22:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):78:84 -> a
    16:22:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    16:22:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    23:28:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):83:88 -> a
    23:28:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    23:28:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    29:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    29:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):88 -> a
    29:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    29:29:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    30:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):89:94 -> a
    30:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    30:35:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    36:42:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.validateNoOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo):103:109 -> a
    36:42:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):94 -> a
    36:42:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    36:42:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    43:43:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    43:43:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.validateNoOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo):109 -> a
    43:43:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):94 -> a
    43:43:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    43:43:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    44:48:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.validateNoOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo):110:114 -> a
    44:48:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):94 -> a
    44:48:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    44:48:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    49:49:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.validateNoOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo):109:109 -> a
    49:49:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):94 -> a
    49:49:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    49:49:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    50:50:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):96:96 -> a
    50:50:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    50:50:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    51:51:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):95:95 -> a
    51:51:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70 -> a
    51:51:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    52:52:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetCoreLibMemberFlag(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):67:67 -> a
    52:52:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):47 -> a
    53:71:boolean isEmulatedInterfaceDispatch(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):124:142 -> a
    72:74:com.android.tools.r8.utils.TraversalContinuation lambda$isEmulatedInterfaceDispatch$1(java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):139:141 -> a
    75:75:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.continueIf(boolean):17:17 -> a
    75:75:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.breakIf(boolean):13 -> a
    75:75:com.android.tools.r8.utils.TraversalContinuation lambda$isEmulatedInterfaceDispatch$1(java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):138 -> a
    76:76:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):166:166 -> a
    77:83:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertNonEmulatedRetarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo,java.util.function.BiConsumer):151:157 -> a
    77:83:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):166 -> a
    84:84:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    84:84:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertNonEmulatedRetarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo,java.util.function.BiConsumer):157 -> a
    84:84:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):166 -> a
    85:86:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertNonEmulatedRetarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo,java.util.function.BiConsumer):158:159 -> a
    85:86:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):166 -> a
    87:87:void lambda$convertNonEmulatedVirtualRetarget$2(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):175:175 -> a
    88:88:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withExtraArgumentPrepended(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):304:304 -> a
    88:88:void lambda$convertNonEmulatedVirtualRetarget$2(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):174 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:91:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withExtraArgumentPrepended(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):304:304 -> a
    89:91:void lambda$convertNonEmulatedVirtualRetarget$2(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):174 -> a
    92:92:void lambda$convertNonEmulatedVirtualRetarget$2(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):172:172 -> a
    1:1:void convertStaticRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):180:180 -> b
    2:8:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertNonEmulatedRetarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo,java.util.function.BiConsumer):151:157 -> b
    2:8:void convertStaticRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):180 -> b
    9:9:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> b
    9:9:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertNonEmulatedRetarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo,java.util.function.BiConsumer):157 -> b
    9:9:void convertStaticRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):180 -> b
    10:11:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertNonEmulatedRetarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.SubtypingInfo,java.util.function.BiConsumer):158:159 -> b
    10:11:void convertStaticRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):180 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter -> com.android.tools.r8.internal.an:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set missingCustomConversions -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():40:40 -> <clinit>
    1:4:void <init>():40:43 -> <init>
    1:11:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,java.util.List,java.util.List,com.android.tools.r8.utils.InternalOptions):51:61 -> a
    12:18:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):70:76 -> a
    19:40:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags convertRewritingFlags(java.lang.String,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):108:129 -> a
    41:56:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.convertCustomConversion(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):137:152 -> a
    41:56:void lambda$convertRewritingFlags$0(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):124 -> a
    57:62:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.readApp(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):156:161 -> a
    57:62:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):82 -> a
    63:67:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):83:87 -> a
    68:74:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):84:90 -> a
    75:77:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):89:91 -> a
    78:84:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags):97:103 -> a
    78:84:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):91 -> a
    85:86:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):92:93 -> a
    87:88:void warnMissingDexString(java.lang.String,java.util.Set):172:173 -> a
    89:92:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.warn(java.lang.String,java.util.List):178:181 -> a
    89:92:void warnMissingDexString(java.lang.String,java.util.Set):174 -> a
    1:2:void warnMissingReferences(java.lang.String,java.util.Set):166:167 -> b
    3:6:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.warn(java.lang.String,java.util.List):178:181 -> b
    3:6:void warnMissingReferences(java.lang.String,java.util.Set):168 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter -> com.android.tools.r8.internal.bn:
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    java.util.Set missingClasses -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):28:28 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):26:29 -> <init>
    1:9:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):36:44 -> a
    10:42:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass):55:87 -> a
    10:42:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):46 -> a
    43:43:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass):87:87 -> a
    52:52:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):46 -> a
    53:53:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass):87:87 -> a
    53:53:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):46 -> a
    54:54:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass):87:87 -> a
    54:54:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):46 -> a
    44:46:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass):87:89 -> a
    44:46:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):46 -> a
    47:51:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer) -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter -> com.android.tools.r8.internal.UA:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.utils.AndroidApiLevel legacyHackLevel -> a
    1:1:void <clinit>():49:49 -> <clinit>
    1:4:void <init>():49:52 -> <init>
    1:2:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):72:73 -> a
    3:5:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.readApp(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):184:186 -> a
    3:5:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):74 -> a
    6:6:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):75:75 -> a
    7:14:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags):280:287 -> a
    7:14:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):75 -> a
    15:17:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags):286:288 -> a
    15:17:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):75 -> a
    18:22:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):77:81 -> a
    23:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.legacyLibraryFlagHacks(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):141:147 -> a
    23:29:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):83 -> a
    30:30:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.DexApplication.dexItemFactory():61:61 -> a
    30:30:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.legacyLibraryFlagHacks(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):148 -> a
    30:30:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):83 -> a
    31:32:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.legacyLibraryFlagHacks(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):148:149 -> a
    31:32:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):83 -> a
    33:36:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):85:88 -> a
    37:48:void legacyLibraryFlagHacks(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):157:168 -> a
    49:60:void legacyLibraryFlagHacks(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):166:177 -> a
    61:66:void legacyLibraryFlagHacks(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):175:180 -> a
    67:69:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.readApp(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):184:186 -> a
    67:69:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):115 -> a
    70:71:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):118:119 -> a
    72:76:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):116:120 -> a
    77:84:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags):280:287 -> a
    77:84:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):120 -> a
    85:87:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags):286:288 -> a
    85:87:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):120 -> a
    88:94:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):125:131 -> a
    95:95:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.DexApplication.dexItemFactory():61:61 -> a
    95:95:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):132 -> a
    96:100:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification internalConvert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):132:136 -> a
    101:102:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap convertRewritingFlagMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):191:192 -> a
    103:103:void lambda$convertRewritingFlagMap$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin,java.lang.Integer,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags):192:192 -> a
    104:122:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags convertRewritingFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):198:216 -> a
    123:123:void lambda$convertRewritingFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):202:202 -> a
    124:128:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertDontRewriteInvocation(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.Pair):243:247 -> a
    124:128:void lambda$convertRewritingFlags$3(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.Pair):214 -> a
    129:129:void convertRetargetCoreLibMember(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.Map):256:256 -> a
    130:134:void lambda$convertRetargetCoreLibMember$5(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):258:262 -> a
    135:137:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):268:270 -> a
    138:138:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":411,"2":412,"3":413}}
    411:411:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):270:270 -> a
    412:412:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):270:270 -> a
    413:413:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):270:270 -> a
    410:410:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):272:272 -> a
    414:414:boolean lambda$findMethodsWithName$6(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):269:269 -> a
    1:1:void lambda$convertRewritingFlags$2(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.Map):211:211 -> b
    2:3:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):233:234 -> b
    4:4:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":239,"2":240,"3":241}}
    239:239:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):234:234 -> b
    240:240:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):234:234 -> b
    241:241:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):234:234 -> b
    238:238:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):234:234 -> b
    1:17:void rewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):222:238 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LibraryValidator -> com.android.tools.r8.internal.uB:
    1:12:void validate(com.android.tools.r8.graph.DexApplication,boolean,com.android.tools.r8.utils.AndroidApiLevel):25:36 -> a
    13:13:void validate(com.android.tools.r8.graph.DexApplication,boolean,com.android.tools.r8.utils.AndroidApiLevel):30:30 -> a
com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring -> com.android.tools.r8.internal.I1:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():35:35 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):39:40 -> <init>
    1:2:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):53:54 -> a
    3:3:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):65:65 -> a
    4:8:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):69:73 -> a
    9:9:boolean com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring.shouldRewriteInvokeToThrow(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult):83:83 -> a
    9:9:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):74 -> a
    10:10:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring.shouldRewriteInvokeToThrow(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult):83 -> a
    10:10:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):74 -> a
    11:16:boolean com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring.shouldRewriteInvokeToThrow(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult):86:91 -> a
    11:16:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):74 -> a
    17:20:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):75:78 -> a
    21:37:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeAsThrowRewrite(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult):96:112 -> a
    38:38:java.util.Collection lambda$computeInvokeAsThrowRewrite$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):104:104 -> a
    39:53:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):125:139 -> a
    54:54:boolean com.android.tools.r8.graph.MethodResolutionResult.isIncompatibleClassChangeErrorResult():0:0 -> a
    54:54:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):141 -> a
    55:87:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):142:174 -> a
    88:110:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):170:192 -> a
    111:118:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):189:196 -> a
com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo -> com.android.tools.r8.internal.Au:
    com.android.tools.r8.graph.CfCode virtualMethodCode -> d
    com.android.tools.r8.graph.ProgramMethod newDirectMethod -> b
    com.android.tools.r8.graph.ProgramMethod virtualMethod -> c
    1:4:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.CfCode):17:20 -> <init>
    1:1:com.android.tools.r8.graph.ProgramMethod getNewDirectMethod():24:24 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getVirtualMethod():28:28 -> b
    1:1:com.android.tools.r8.graph.CfCode getVirtualMethodCode():32:32 -> c
    1:1:int compareTo(java.lang.Object):10:10 -> compareTo
    2:2:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.getNewDirectMethod():24:24 -> compareTo
    2:2:int com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.compareTo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):37 -> compareTo
    2:2:int compareTo(java.lang.Object):10 -> compareTo
    3:3:int com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.compareTo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):37:37 -> compareTo
    3:3:int compareTo(java.lang.Object):10 -> compareTo
    4:4:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.getNewDirectMethod():24:24 -> compareTo
    4:4:int com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.compareTo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):37 -> compareTo
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:int compareTo(java.lang.Object):10 -> compareTo
    5:5:int com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.compareTo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):37:37 -> compareTo
    5:5:int compareTo(java.lang.Object):10 -> compareTo
com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring -> com.android.tools.r8.internal.Bu:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):35:36 -> <init>
    1:2:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):41:42 -> a
    3:3:com.android.tools.r8.graph.ProgramMethod needsDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):49:49 -> a
    4:4:boolean com.android.tools.r8.cf.code.CfInvoke.isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):141:141 -> a
    4:4:com.android.tools.r8.graph.ProgramMethod needsDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):49 -> a
    5:14:com.android.tools.r8.graph.ProgramMethod needsDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):53:62 -> a
    15:15:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    15:15:com.android.tools.r8.graph.ProgramMethod needsDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):62 -> a
    16:17:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):79:80 -> a
    18:26:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):89:97 -> a
    18:26:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    27:27:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    27:27:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    28:28:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):136:136 -> a
    28:28:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    28:28:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    28:28:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    29:29:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):136:136 -> a
    59:59:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    59:59:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    59:59:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    60:60:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):136:136 -> a
    60:60:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    60:60:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    60:60:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    61:61:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):136:136 -> a
    61:61:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    61:61:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    61:61:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    30:30:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    30:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):138 -> a
    30:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    30:30:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    30:30:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    31:31:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):138:138 -> a
    31:31:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    31:31:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    31:31:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    32:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    32:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):137 -> a
    32:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    32:32:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    32:32:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(4)"]}
    33:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    33:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):137 -> a
    33:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    33:33:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    33:33:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    34:54:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):110:130 -> a
    34:54:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    34:54:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    55:57:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):103:103 -> a
    55:57:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    58:58:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):130:130 -> a
    58:58:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    58:58:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor -> com.android.tools.r8.internal.Da:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> c
    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> d
    boolean $assertionsDisabled -> l
    boolean needsLibraryInfo -> e
    java.util.Map interfaceInfo -> i
    java.util.Map newSyntheticMethods -> j
    java.util.Map newExtraInterfaceSignatures -> k
    java.util.function.Predicate isLiveMethod -> f
    java.util.Map classInfo -> g
    java.util.Map libraryClassInfo -> h
    1:1:void <clinit>():65:65 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Predicate):373:373 -> <init>
    2:29:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Predicate):352:379 -> <init>
    1:1:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isLiveMethod(com.android.tools.r8.graph.DexClassAndMethod):383:383 -> a
    1:1:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):668 -> a
    2:2:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isLiveMethod(com.android.tools.r8.graph.DexClassAndMethod):383 -> a
    2:2:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):668 -> a
    3:3:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isLiveMethod(com.android.tools.r8.graph.DexClassAndMethod):384:384 -> a
    3:3:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):668 -> a
    4:5:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):668:669 -> a
    6:24:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):801:819 -> a
    6:24:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):670 -> a
    25:31:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):818:824 -> a
    25:31:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):670 -> a
    32:32:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):807:807 -> a
    32:32:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):670 -> a
    33:33:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    33:33:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):810 -> a
    33:33:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):670 -> a
    34:35:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):810:811 -> a
    34:35:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):670 -> a
    36:37:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer):399:400 -> a
    38:38:void lambda$process$0(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):405:405 -> a
    39:44:void finalizeProcessing(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer):412:417 -> a
    45:46:void lambda$finalizeProcessing$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet):414:415 -> a
    47:50:void lambda$finalizeProcessing$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):419:422 -> a
    51:54:void lambda$finalizeProcessing$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):421:424 -> a
    55:61:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures getDefaultMethods(com.android.tools.r8.graph.DexClass):455:461 -> a
    62:62:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.create(java.util.Set):73:73 -> a
    62:62:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures getDefaultMethods(com.android.tools.r8.graph.DexClass):461 -> a
    63:66:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):498:501 -> a
    67:67:java.util.Set com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.getEmulatedInterfaces():238:238 -> a
    67:67:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):501 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    68:69:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):501:502 -> a
    70:70:java.util.Set com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.getEmulatedInterfaces():238:238 -> a
    70:70:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):503 -> a
    71:74:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):503:506 -> a
    75:75:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    75:75:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):506 -> a
    76:78:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):506:506 -> a
    80:90:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):508:518 -> a
    91:91:java.util.Set com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.getEmulatedInterfaces():238:238 -> a
    91:91:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):521 -> a
    92:135:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):521:564 -> a
    136:145:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):550:559 -> a
    146:146:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):553:553 -> a
    147:147:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":707,"2":708,"3":709}}
    707:707:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):553:553 -> a
    708:708:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):553:553 -> a
    709:709:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):553:553 -> a
    702:704:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):555:557 -> a
    705:705:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    705:705:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):557 -> a
    706:706:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):557:557 -> a
    710:723:void collectEmulatedInterfaces(com.android.tools.r8.graph.DexClass,java.util.Set,java.util.Map):572:585 -> a
    724:728:void lambda$collectEmulatedInterfaces$4(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):575:579 -> a
    729:735:void lambda$collectEmulatedInterfaces$4(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):576:582 -> a
    736:736:void lambda$collectEmulatedInterfaces$4(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):581:581 -> a
    737:739:void lambda$collectEmulatedInterfaces$5(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):587:589 -> a
    740:743:void lambda$collectEmulatedInterfaces$5(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):588:591 -> a
    744:765:void collectEmulatedInterfacesWithPropagatedTypeArguments(com.android.tools.r8.graph.DexType,java.util.List,java.util.Set,java.util.Map):602:623 -> a
    766:770:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$6(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):612:616 -> a
    771:776:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$6(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):613:618 -> a
    777:783:void resolveForwardingMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):660:666 -> a
    784:784:void resolveForwardingMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):664:664 -> a
    785:797:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):680:692 -> a
    798:798:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    798:798:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):693 -> a
    799:799:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):695:695 -> a
    800:806:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):694:700 -> a
    807:807:boolean com.android.tools.r8.graph.MethodResolutionResult.isIncompatibleClassChangeErrorResult():0:0 -> a
    807:807:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):701 -> a
    808:808:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addICCEThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):746:746 -> a
    808:808:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):702 -> a
    809:809:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):705:705 -> a
    810:810:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addNoSuchMethodErrorThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):754:754 -> a
    810:810:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):706 -> a
    811:811:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):709:709 -> a
    812:812:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addIllegalAccessErrorThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):750:750 -> a
    812:812:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):710 -> a
    813:813:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):714:714 -> a
    814:814:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    814:814:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):714 -> a
    815:818:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):714:717 -> a
    819:819:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    819:819:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):720 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    820:820:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    820:820:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):720 -> a
    821:824:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):721:721 -> a
    830:832:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):727:729 -> a
    833:838:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):728:733 -> a
    839:839:void lambda$resolveForwardForSignature$9(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):692:692 -> a
    840:842:void addSyntheticMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):740:742 -> a
    843:843:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    843:843:void addSyntheticMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):742 -> a
    844:844:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$addSyntheticMethod$10(com.android.tools.r8.graph.DexProgramClass):741:741 -> a
    845:848:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):758:761 -> a
    849:849:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic():355:355 -> a
    849:849:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):761 -> a
    850:855:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):761:766 -> a
    856:859:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.itf.ClassProcessor.createExceptionThrowingCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):779:782 -> a
    856:859:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):768 -> a
    860:870:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.itf.ClassProcessor.createExceptionThrowingCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):780:790 -> a
    860:870:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):768 -> a
    871:875:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):767:771 -> a
    876:877:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):868:869 -> a
    878:878:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    878:878:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):869 -> a
    879:881:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):870:872 -> a
    882:893:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):847:858 -> a
    882:893:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):872 -> a
    894:894:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):872:872 -> a
    895:895:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):859:859 -> a
    895:895:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):872 -> a
    896:897:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):878:879 -> a
    896:897:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    898:903:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):831:836 -> a
    898:903:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):863 -> a
    898:903:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):879 -> a
    898:903:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    904:904:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):864:864 -> a
    904:904:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):879 -> a
    904:904:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    905:905:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):880:880 -> a
    905:905:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    906:906:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():394:394 -> a
    906:906:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):893 -> a
    906:906:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):880 -> a
    906:906:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    907:907:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):894:894 -> a
    907:907:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):880 -> a
    907:907:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    908:911:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):831:834 -> a
    908:911:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):896 -> a
    908:911:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):880 -> a
    908:911:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    912:912:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):340:340 -> a
    912:912:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):834 -> a
    912:912:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):896 -> a
    912:912:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):880 -> a
    912:912:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    913:913:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):897:897 -> a
    913:913:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):880 -> a
    913:913:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    914:914:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):883:883 -> a
    914:914:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    915:915:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo.isEmpty():142:142 -> a
    915:915:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):883 -> a
    915:915:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    916:916:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194:194 -> a
    916:916:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):883 -> a
    916:916:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    917:917:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    917:917:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    917:917:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):883 -> a
    917:917:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    918:918:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    918:918:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194 -> a
    918:918:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):883 -> a
    918:918:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    919:919:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194:194 -> a
    919:919:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):883 -> a
    919:919:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    920:922:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):883:885 -> a
    920:922:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    923:928:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):831:836 -> a
    923:928:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):918 -> a
    923:928:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):886 -> a
    923:928:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    929:929:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):919:919 -> a
    929:929:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):886 -> a
    929:929:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    930:930:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):886:886 -> a
    930:930:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    931:936:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):474:479 -> a
    931:936:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    931:936:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    937:945:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):639:647 -> a
    937:945:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):479 -> a
    937:945:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    937:945:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    946:946:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    946:946:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):647 -> a
    946:946:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):479 -> a
    946:946:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    946:946:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    947:947:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):647:647 -> a
    947:947:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):479 -> a
    947:947:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    947:947:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    948:948:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo.contains(com.android.tools.r8.graph.DexType):286:286 -> a
    948:948:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):648 -> a
    948:948:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):479 -> a
    948:948:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    948:948:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    949:949:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.contains(com.android.tools.r8.graph.DexType):234:234 -> a
    949:949:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo.contains(com.android.tools.r8.graph.DexType):286 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    949:949:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):648 -> a
    949:949:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):479 -> a
    949:949:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    949:949:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    950:950:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.contains(com.android.tools.r8.graph.DexType):234:234 -> a
    950:950:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo.contains(com.android.tools.r8.graph.DexType):286 -> a
    950:950:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):648 -> a
    950:950:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):479 -> a
    950:950:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    950:950:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    951:951:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.emulatedInterfaceSignaturesToForward():190:190 -> a
    951:951:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):484 -> a
    951:951:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    951:951:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    952:954:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.withoutAll(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):99:101 -> a
    952:954:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.emulatedInterfaceSignaturesToForward():190 -> a
    952:954:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):484 -> a
    952:954:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    952:954:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    955:961:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):481:487 -> a
    955:961:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    955:961:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    962:964:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo.create(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):136:138 -> a
    962:964:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):487 -> a
    962:964:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    962:964:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    965:965:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):490:490 -> a
    965:965:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    965:965:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    966:968:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo.create(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):136:138 -> a
    966:968:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):489 -> a
    966:968:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    966:968:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):872 -> a
    969:969:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):909:909 -> a
    970:970:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():394:394 -> a
    970:970:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):893 -> a
    970:970:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):909 -> a
    971:971:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):894:894 -> a
    971:971:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):909 -> a
    972:975:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):831:834 -> a
    972:975:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):896 -> a
    972:975:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):909 -> a
    976:976:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):340:340 -> a
    976:976:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):834 -> a
    976:976:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):896 -> a
    976:976:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):909 -> a
    977:977:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):897:897 -> a
    977:977:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):909 -> a
    978:979:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):910:911 -> a
    980:983:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):831:834 -> a
    980:983:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):918 -> a
    980:983:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):912 -> a
    984:984:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):919:919 -> a
    984:984:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):912 -> a
    985:985:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):912:912 -> a
    1:1:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    1:1:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):923 -> b
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():394:394 -> b
    2:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):923 -> b
    3:5:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):924:926 -> b
    6:17:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):847:858 -> b
    6:17:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):926 -> b
    18:18:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):926:926 -> b
    19:19:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):859:859 -> b
    19:19:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):926 -> b
    20:23:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$7(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):625:628 -> b
    24:28:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$7(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):626:630 -> b
    29:29:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):901:901 -> b
    30:30:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    30:30:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):902 -> b
    31:32:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):903:904 -> b
    33:44:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):847:858 -> b
    33:44:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):903 -> b
    45:45:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):903:903 -> b
    46:46:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):859:859 -> b
    46:46:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):903 -> b
    47:47:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):905:905 -> b
    48:50:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):931:933 -> b
    48:50:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    51:56:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):831:836 -> b
    51:56:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):918 -> b
    51:56:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):934 -> b
    51:56:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    57:57:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):919:919 -> b
    57:57:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):934 -> b
    57:57:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    58:60:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):934:936 -> b
    58:60:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    61:63:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeEmulatedInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):444:446 -> b
    61:63:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):937 -> b
    61:63:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    64:64:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.needsLibraryInfo():390:390 -> b
    64:64:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeEmulatedInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):447 -> b
    64:64:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):937 -> b
    64:64:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    65:69:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeEmulatedInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):447:451 -> b
    65:69:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):937 -> b
    65:69:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    70:72:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):431:433 -> b
    70:72:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):938 -> b
    70:72:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    73:73:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    73:73:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):435 -> b
    73:73:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):938 -> b
    73:73:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    74:74:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.needsLibraryInfo():390:390 -> b
    74:74:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):435 -> b
    74:74:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):938 -> b
    74:74:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
    75:77:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):435:437 -> b
    75:77:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):938 -> b
    75:77:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):927 -> b
com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo -> com.android.tools.r8.internal.wa:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo parent -> a
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo EMPTY -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList forwardedMethodTargets -> b
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo emulatedInterfaceInfo -> c
    1:2:void <clinit>():110:111 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):126:129 -> <init>
    1:5:boolean isTargetedByForwards(com.android.tools.r8.graph.DexClassAndMethod):146:150 -> a
    6:6:boolean lambda$isTargetedByForwards$0(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexEncodedMethod):149:149 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo -> com.android.tools.r8.internal.xa:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures signatures -> a
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces emulatedInterfaces -> b
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo EMPTY -> c
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():255:257 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces,com.android.tools.r8.ir.desugar.itf.ClassProcessor$1):255:255 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):264:266 -> <init>
    1:8:com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):270:277 -> a
    9:9:boolean isEmpty():281:281 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():230:230 -> a
    10:10:boolean isEmpty():281 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():230:230 -> a
    11:11:boolean isEmpty():281 -> a
    12:12:boolean isEmpty():281:281 -> a
    13:13:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    13:13:boolean isEmpty():281 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    14:14:boolean isEmpty():281 -> a
    15:16:boolean isEmpty():281:282 -> a
    17:17:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():230:230 -> a
    17:17:boolean isEmpty():282 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():230:230 -> a
    18:18:boolean isEmpty():282 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces -> com.android.tools.r8.internal.ya:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces EMPTY -> b
    java.util.Set emulatedInterfaces -> a
    1:1:void <clinit>():217:217 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):221:222 -> <init>
    3:4:void <init>(java.util.Set):225:226 -> <init>
    1:4:com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):242:245 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext -> com.android.tools.r8.internal.za:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext LIBRARY_CONTEXT -> d
    1:1:void <clinit>():327:327 -> <clinit>
    1:1:void <init>():330:330 -> <init>
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext forClass(com.android.tools.r8.graph.DexClass) -> a
    void reportMissingType(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):340:340 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures -> com.android.tools.r8.internal.Aa:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures EMPTY -> b
    java.util.Set signatures -> a
    1:1:void <clinit>():70:70 -> <clinit>
    1:2:void <init>(java.util.Set):78:79 -> <init>
    1:1:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    1:1:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):83 -> a
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    2:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    3:3:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):86 -> a
    4:6:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):89:91 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext -> com.android.tools.r8.internal.Ba:
    com.android.tools.r8.graph.DexClass directSubClass -> a
    com.android.tools.r8.graph.DexProgramClass closestProgramSubClass -> b
    java.util.function.BiConsumer reportMissingTypeCallback -> c
    1:4:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer):300:303 -> <init>
    1:5:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext forClass(com.android.tools.r8.graph.DexClass):307:311 -> a
    6:6:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):316:316 -> a
    7:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):162:165 -> a
    7:10:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):316 -> a
    11:11:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):166 -> a
    11:11:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):316 -> a
    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):167:167 -> a
    12:12:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):316 -> a
    13:13:void reportMissingType(com.android.tools.r8.graph.DexType):320:320 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo -> com.android.tools.r8.internal.Ca:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo EMPTY -> c
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures signatures -> a
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo emulatedInterfaceInfo -> b
    1:1:void <clinit>():158:158 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):165:167 -> <init>
    1:1:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    1:1:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withSignatures(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):198 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    2:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withSignatures(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):198 -> a
    3:4:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withSignatures(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):201:202 -> a
    5:5:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194:194 -> a
    5:5:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):178 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):178 -> a
    7:7:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    7:7:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194 -> a
    7:7:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):178 -> a
    8:8:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194:194 -> a
    8:8:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):178 -> a
    9:9:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194:194 -> a
    9:9:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):181 -> a
    11:11:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():95:95 -> a
    11:11:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194 -> a
    11:11:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):181 -> a
    12:12:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():194:194 -> a
    12:12:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):181 -> a
    13:15:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):184:186 -> a
    16:20:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withEmulatedInterfaceInfo(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):207:211 -> a
com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper -> com.android.tools.r8.internal.Se:
    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.itf.DefaultMethodsHelper$Collection):60:61 -> a
    3:8:void hideMatches(com.android.tools.r8.graph.DexMethod):65:70 -> a
    9:9:void addDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):76:76 -> a
    10:13:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection wrapInCollection():81:84 -> a
com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection -> com.android.tools.r8.internal.Re:
    java.util.List hidden -> b
    java.util.List live -> a
    com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection EMPTY -> c
    1:2:void <clinit>():29:30 -> <clinit>
    1:1:void <init>(java.util.List,java.util.List,com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$1):28:28 -> <init>
    2:4:void <init>(java.util.List,java.util.List):37:39 -> <init>
    1:1:java.util.List access$000(com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection):28:28 -> a
    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.itf.DefaultMethodsHelper$Collection):28:28 -> b
com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter -> com.android.tools.r8.internal.Xh:
    java.util.Map emulatedInterfaces -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():22:22 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView):27:34 -> <init>
    1:1:void lambda$new$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):36:36 -> a
    2:2:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):41:41 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    3:3:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    4:4:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):41 -> a
    5:8:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):41:44 -> a
    9:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):56:62 -> a
    9:15:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    16:19:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.renameHolder(java.lang.Iterable,com.android.tools.r8.graph.DexType):119:122 -> a
    16:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):62 -> a
    16:19:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    20:20:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):63:63 -> a
    20:20:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    21:24:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.renameHolder(java.lang.Iterable,com.android.tools.r8.graph.DexType):119:122 -> a
    21:24:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):63 -> a
    21:24:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    25:33:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):64:72 -> a
    25:33:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    34:34:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    34:34:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):73 -> a
    34:34:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    35:50:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):74:89 -> a
    35:50:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    51:66:java.util.List com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.getRewrittenInterfacesOfEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):97:112 -> a
    51:66:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):91 -> a
    51:66:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    67:67:java.util.List com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.getRewrittenInterfacesOfEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):111:111 -> a
    67:67:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):91 -> a
    67:67:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    68:68:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):90:90 -> a
    68:68:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    69:74:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45:50 -> a
com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringForTesting -> com.android.tools.r8.internal.zt:
    1:1:java.lang.String getCompanionClassNameSuffix():16:16 -> a
    2:2:java.lang.String getCompanionClassDescriptor(java.lang.String):28:28 -> a
    3:3:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):135:135 -> a
    3:3:java.lang.String getCompanionClassDescriptor(java.lang.String):28 -> a
    1:1:java.lang.String getDefaultMethodPrefix():20:20 -> b
    1:1:java.lang.String getEmulateLibraryClassNameSuffix():12:12 -> c
    1:1:java.lang.String getPrivateMethodPrefix():24:24 -> d
com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper -> com.android.tools.r8.internal.At:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.cf.CfVersion MAX_INTERFACE_DESUGARED_CF_VERSION -> c
    java.util.function.Predicate shouldIgnoreFromReportsPredicate -> b
    boolean $assertionsDisabled -> d
    1:5:void <clinit>():51:55 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):69:71 -> <init>
    void lambda$ensureEmulatedInterfaceDispatchMethod$1(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> a
    void lambda$ensureEmulatedInterfaceMarkerInterface$0(com.android.tools.r8.graph.DexClasspathClass) -> a
    1:1:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96:96 -> a
    2:2:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    2:2:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96 -> a
    3:3:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96:96 -> a
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    4:4:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    5:5:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96 -> a
    6:10:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96:100 -> a
    11:25:boolean isCompatibleDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):104:118 -> a
    26:26:boolean isCompatibleDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):111:111 -> a
    27:29:com.android.tools.r8.graph.DexMethod emulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.graph.DexType):124:126 -> a
    30:31:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):140:141 -> a
    32:32:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):135:135 -> a
    32:32:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):142 -> a
    33:33:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):143:143 -> a
    34:36:com.android.tools.r8.graph.DexClasspathClass ensureEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexType):168:170 -> a
    37:44:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod computeEmulatedInterfaceForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):232:239 -> a
    45:45:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    45:45:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod computeEmulatedInterfaceForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):239 -> a
    46:47:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod computeEmulatedInterfaceForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):242:243 -> a
    48:54:com.android.tools.r8.graph.DexMethod ensureEmulatedInterfaceForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):247:253 -> a
    55:62:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):259:266 -> a
    63:63:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    63:63:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):266 -> a
    64:64:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):267:267 -> a
    65:65:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    65:65:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):267 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    66:66:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):267 -> a
    67:73:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):267:273 -> a
    74:86:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):271:283 -> a
    87:95:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):282:290 -> a
    96:96:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):286:286 -> a
    97:98:void lambda$ensureEmulatedInterfaceDispatchMethod$3(com.android.tools.r8.synthesis.SyntheticMethodBuilder):296:297 -> a
    99:99:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):301:301 -> a
    100:100:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    100:100:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):301 -> a
    101:105:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):302:306 -> a
    106:106:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):403:403 -> a
    106:106:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):306 -> a
    107:107:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    108:108:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):312:312 -> a
    109:109:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    109:109:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):312 -> a
    110:110:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):314:314 -> a
    111:114:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):313:316 -> a
    115:117:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):379:381 -> a
    115:117:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):317 -> a
    118:118:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):318:318 -> a
    119:121:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):323:325 -> a
    122:122:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):403:403 -> a
    122:122:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):325 -> a
    123:125:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):327:329 -> a
    126:126:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):326:326 -> a
    127:137:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):332:342 -> a
    138:143:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):339:344 -> a
    144:146:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):343:345 -> a
    147:147:com.android.tools.r8.graph.Code lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$4(com.android.tools.r8.graph.DexMethod):345:345 -> a
    148:160:void lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$8(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):360:372 -> a
    161:169:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):388:396 -> a
    170:170:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":570,"2":571,"3":572}}
    570:570:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):396:396 -> a
    571:571:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):396:396 -> a
    572:572:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):396:396 -> a
    566:567:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):396:397 -> a
    568:568:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):394:394 -> a
    573:573:com.android.tools.r8.graph.DexMethod defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):403:403 -> a
    574:577:com.android.tools.r8.graph.DexClassAndMethod ensureMethodOfClasspathCompanionClassStub(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView):419:422 -> a
    578:578:com.android.tools.r8.graph.DexClassAndMethod ensureMethodOfClasspathCompanionClassStub(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView):420:420 -> a
    579:579:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$16(com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):459:459 -> a
    580:591:com.android.tools.r8.graph.ProgramMethod ensureMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):464:475 -> a
    592:596:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):480:484 -> a
    597:597:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):481:481 -> a
    598:598:boolean lambda$findExistingStaticClinitFieldToTriggerInterfaceInitialization$19(com.android.tools.r8.graph.DexEncodedField):513:513 -> a
    599:602:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):521:524 -> a
    603:611:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):523:531 -> a
    612:612:com.android.tools.r8.graph.FieldAccessFlags$Builder com.android.tools.r8.graph.FieldAccessFlags.builder():48:48 -> a
    612:612:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):531 -> a
    613:613:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):531:531 -> a
    614:616:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):530:532 -> a
    617:617:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    617:617:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):534 -> a
    618:618:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):535:535 -> a
    619:619:boolean lambda$createStaticClinitFieldToTriggerInterfaceInitialization$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField):527:527 -> a
    620:620:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):542:542 -> a
    621:623:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):541:543 -> a
    624:624:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):58:58 -> a
    624:624:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):543 -> a
    625:625:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    625:625:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):58 -> a
    625:625:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):543 -> a
    626:627:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):543:544 -> a
    628:634:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):546:552 -> a
    635:635:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):551:551 -> a
    636:639:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.ensureStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):493:496 -> a
    636:639:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):557 -> a
    640:649:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):558:567 -> a
    650:650:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):563:563 -> a
    651:657:java.util.function.Predicate getShouldIgnoreFromReportsPredicate(com.android.tools.r8.graph.AppView):573:579 -> a
    658:660:boolean lambda$getShouldIgnoreFromReportsPredicate$22(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):580:582 -> a
    661:664:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isRewrittenEmulatedInterface(com.android.tools.r8.graph.DexType):83:86 -> a
    661:664:boolean lambda$getShouldIgnoreFromReportsPredicate$22(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):583 -> a
    665:667:boolean lambda$getShouldIgnoreFromReportsPredicate$22(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):583:585 -> a
    668:668:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.shouldIgnoreFromReports(com.android.tools.r8.graph.DexType):590:590 -> a
    668:668:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):597 -> a
    669:669:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):600:600 -> a
    void lambda$ensureMethodOfClasspathCompanionClassStub$10(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> b
    void lambda$ensureMethodOfClasspathCompanionClassStub$11(com.android.tools.r8.graph.DexClasspathClass) -> b
    1:3:com.android.tools.r8.graph.DexType getEmulatedInterface(com.android.tools.r8.graph.DexType):90:92 -> b
    4:4:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):158:158 -> b
    5:5:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> b
    5:5:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):158 -> b
    6:11:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):158:163 -> b
    12:12:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):194:194 -> b
    13:13:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> b
    13:13:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.requiresEmulatedDispatch(com.android.tools.r8.graph.DexClassAndMethod):211 -> b
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):195 -> b
    14:19:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.requiresEmulatedDispatch(com.android.tools.r8.graph.DexClassAndMethod):212:217 -> b
    14:19:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):195 -> b
    20:26:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.lookupMaximallySpecificIncludingSelf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):180:186 -> b
    20:26:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):199 -> b
    27:31:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):203:207 -> b
    32:32:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):206:206 -> b
    33:33:com.android.tools.r8.graph.Code lambda$ensureEmulatedInterfaceDispatchMethod$2(com.android.tools.r8.graph.DexMethod):297:297 -> b
    34:34:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):352:352 -> b
    35:35:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):409:409 -> b
    35:35:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):352 -> b
    36:40:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):353:357 -> b
    41:41:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):354:354 -> b
    42:42:com.android.tools.r8.graph.DexMethod privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):413:413 -> b
    43:43:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):409:409 -> b
    43:43:com.android.tools.r8.graph.DexMethod privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):413 -> b
    44:45:void lambda$ensureMethodOfClasspathCompanionClassStub$13(com.android.tools.r8.synthesis.SyntheticMethodBuilder):430:431 -> b
    46:48:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):436:438 -> b
    49:51:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):379:381 -> b
    49:51:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):440 -> b
    52:56:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):441:445 -> b
    57:57:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):442:442 -> b
    58:67:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$15(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):448:457 -> b
    68:68:void lambda$ensureCompanionClassInitializesInterface$17(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):486:486 -> b
    69:69:boolean lambda$hasStaticMethodThatTriggersNonTrivialClassInitializer$18(com.android.tools.r8.graph.DexEncodedMethod):505:505 -> b
    70:70:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):513:513 -> b
    71:71:java.lang.Iterable com.android.tools.r8.graph.DexClass.staticFields(java.util.function.Predicate):377:377 -> b
    71:71:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):513 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    72:72:java.lang.Iterable com.android.tools.r8.graph.DexClass.staticFields(java.util.function.Predicate):377:377 -> b
    72:72:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):513 -> b
    73:73:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):513:513 -> b
    void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$6(com.android.tools.r8.graph.ProgramMethod) -> c
    1:1:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType):153:153 -> c
    2:2:com.android.tools.r8.graph.Code lambda$ensureMethodOfClasspathCompanionClassStub$12(com.android.tools.r8.graph.DexMethod):431:431 -> c
    3:6:boolean hasStaticMethodThatTriggersNonTrivialClassInitializer(com.android.tools.r8.graph.DexProgramClass):502:505 -> c
    void lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$9(com.android.tools.r8.graph.ProgramMethod) -> d
    1:5:boolean isEmulatedInterface(com.android.tools.r8.graph.DexType):75:79 -> d
    6:6:com.android.tools.r8.graph.Code lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$7(com.android.tools.r8.graph.DexMethod):372:372 -> d
    1:1:com.android.tools.r8.graph.Code lambda$ensureStaticAsMethodOfProgramCompanionClassStub$14(com.android.tools.r8.graph.DexMethod):457:457 -> e
    2:2:boolean shouldIgnoreFromReports(com.android.tools.r8.graph.DexType):590:590 -> e
com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer -> com.android.tools.r8.internal.Ct:
    void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod) -> a
    void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> a
com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade -> com.android.tools.r8.internal.Dt:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.itf.ClassProcessor classProcessor -> d
    com.android.tools.r8.ir.desugar.itf.InterfaceProcessor interfaceProcessor -> c
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor flavour -> b
    1:36:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):0:35 -> <init>
    1:1:boolean lambda$processClassesConcurrently$0(com.android.tools.r8.graph.DexProgramClass):51:51 -> a
    2:5:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade.shouldProcess(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor):39:42 -> a
    2:5:boolean lambda$processClassesConcurrently$0(com.android.tools.r8.graph.DexProgramClass):51 -> a
    6:6:void lambda$processClassesConcurrently$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass):52:52 -> a
    7:7:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):64:64 -> a
    1:3:void processClassesConcurrently(java.util.Collection,com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):50:50 -> b
    7:8:void processClassesConcurrently(java.util.Collection,com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):54:55 -> b
com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter -> com.android.tools.r8.internal.Ft:
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> d
    com.android.tools.r8.graph.DexItemFactory factory -> c
    java.util.Set precedingDesugarings -> h
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> i
    com.android.tools.r8.utils.InternalOptions options -> b
    java.util.Set emulatedMethods -> e
    com.android.tools.r8.utils.collections.ProgramMethodSet synthesizedMethods -> f
    java.util.Map cache -> g
    1:1:void <clinit>():85:85 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):112:112 -> <init>
    2:28:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):92:118 -> <init>
    boolean hasPreciseNeedsDesugaring() -> a
    1:12:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions):122:133 -> a
    13:14:void lambda$checkForAssumedLibraryTypes$0(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):128:129 -> a
    15:17:void lambda$checkForAssumedLibraryTypes$1(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.CustomConversionDescriptor):135:137 -> a
    18:19:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):142:143 -> a
    20:20:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    20:20:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):144 -> a
    21:22:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):144:145 -> a
    23:28:void lambda$registerType$2(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexEncodedMethod):147:152 -> a
    29:29:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):178:178 -> a
    30:30:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    30:30:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):178 -> a
    31:31:boolean lambda$isAlreadyDesugared$3(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):179:179 -> a
    32:32:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):227:227 -> a
    33:33:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):605:605 -> a
    33:33:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):227 -> a
    34:36:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):227:229 -> a
    37:37:void lambda$computeInvokeStatic$5(com.android.tools.r8.graph.ProgramMethod):338:338 -> a
    38:43:java.util.Collection lambda$computeInvokeStatic$9(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):381:386 -> a
    44:64:java.util.Collection lambda$computeInvokeStatic$9(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):384:404 -> a
    65:67:void lambda$computeInvokeStatic$8(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.synthesis.SyntheticMethodBuilder):390:392 -> a
    68:71:com.android.tools.r8.graph.Code lambda$computeInvokeStatic$7(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod):394:397 -> a
    72:75:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):457:460 -> a
    76:76:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.computeEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.MethodResolutionResult):223:223 -> a
    76:76:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):460 -> a
    77:79:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.computeEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.MethodResolutionResult):222:224 -> a
    77:79:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):460 -> a
    80:93:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):464:477 -> a
    94:96:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):482:484 -> a
    97:97:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    97:97:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):487 -> a
    98:154:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):495:551 -> a
    155:178:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):550:573 -> a
    179:179:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):570:570 -> a
    180:180:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):488:488 -> a
    181:181:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":684,"2":685,"3":686}}
    684:684:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):488:488 -> a
    685:685:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):488:488 -> a
    686:686:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):488:488 -> a
    672:673:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):491:492 -> a
    674:675:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):809:810 -> a
    674:675:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    676:676:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> a
    676:676:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):810 -> a
    676:676:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    677:680:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):811:814 -> a
    677:680:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    681:681:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    681:681:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):814 -> a
    681:681:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    682:682:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    682:682:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    682:682:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    683:683:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492:492 -> a
    687:688:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeAsThrowRewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):578:579 -> a
    689:689:java.util.Collection getInvokeStaticInstructions(com.android.tools.r8.graph.DexMethod):584:584 -> a
    690:690:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):605:605 -> a
    690:690:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):211 -> a
    691:691:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):214:214 -> a
    692:692:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):605:605 -> a
    692:692:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):193 -> a
    693:698:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):194:199 -> a
    699:699:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    699:699:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):199 -> a
    700:700:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):199:199 -> a
    701:702:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):190:191 -> a
    701:702:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):200 -> a
    703:703:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):189:189 -> a
    703:703:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):200 -> a
    704:706:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):200:202 -> a
    707:716:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.isStringConcatInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexItemFactory):225:234 -> a
    707:716:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):201 -> a
    717:717:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203:203 -> a
    718:718:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611:611 -> a
    718:718:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    719:726:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):771:778 -> a
    719:726:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    719:726:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    727:727:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":744,"2":745,"3":746}}
    744:744:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    744:744:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    744:744:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    745:745:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    745:745:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    745:745:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    746:746:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    746:746:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    746:746:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    728:728:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):780:780 -> a
    728:728:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    728:728:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    729:730:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):612:613 -> a
    729:730:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    731:731:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    731:731:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):613 -> a
    731:731:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    732:732:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614:614 -> a
    732:732:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    733:740:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):771:778 -> a
    733:740:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    733:740:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    741:741:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":747,"2":748,"3":749}}
    747:747:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    747:747:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    747:747:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    748:748:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    748:748:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    748:748:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    749:749:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    749:749:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    749:749:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    742:742:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):780:780 -> a
    742:742:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    742:742:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    743:743:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):205:205 -> a
    750:750:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):623:623 -> a
    751:751:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    751:751:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):623 -> a
    752:753:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):623:624 -> a
    754:754:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    754:754:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):624 -> a
    755:755:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):625:625 -> a
    756:756:void lambda$rewriteInvokeSuper$14(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):637:637 -> a
    757:757:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):670:670 -> a
    758:758:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    758:758:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):672 -> a
    759:761:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):673:675 -> a
    762:766:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):674:678 -> a
    767:772:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):677:682 -> a
    773:778:java.util.Collection lambda$rewriteInvokeSuper$16(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):694:699 -> a
    779:781:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.amendDefaultMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):790:792 -> a
    779:781:java.util.Collection lambda$rewriteInvokeSuper$16(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):699 -> a
    782:786:java.util.Collection lambda$rewriteInvokeSuper$16(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):700:704 -> a
    787:788:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):715:716 -> a
    789:789:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    789:789:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):716 -> a
    790:793:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):717:720 -> a
    794:794:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    794:794:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):720 -> a
    795:832:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):720:757 -> a
    833:836:java.util.Collection lambda$computeEmulatedInterfaceInvokeSpecial$17(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):729:732 -> a
    837:839:java.util.Collection lambda$computeEmulatedInterfaceInvokeSpecial$18(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):755:755 -> a
    840:840:com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getPostProcessingDesugaringD8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):798:798 -> a
    841:841:com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getPostProcessingDesugaringR8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):805:805 -> a
    842:842:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):819:819 -> a
    843:849:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):830:836 -> a
    843:849:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    850:850:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    850:850:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):767 -> a
    850:850:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):845 -> a
    850:850:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    851:851:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):767:767 -> a
    851:851:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):845 -> a
    851:851:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    852:878:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):850:876 -> a
    852:878:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    879:879:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):824:824 -> a
    880:880:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):837:837 -> a
    880:880:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    881:881:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":887,"2":888,"3":889}}
    887:887:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):837:837 -> a
    887:887:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    888:888:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):837:837 -> a
    888:888:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    889:889:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):837:837 -> a
    889:889:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    882:882:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":891,"2":892,"3":893}}
    891:891:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):839:839 -> a
    891:891:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    892:892:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):839:839 -> a
    892:892:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    893:893:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):839:839 -> a
    893:893:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    883:883:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):841:841 -> a
    883:883:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    884:884:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    884:884:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):841 -> a
    884:884:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    885:885:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    885:885:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    885:885:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):841 -> a
    885:885:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    886:886:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):841:841 -> a
    886:886:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    894:897:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):882:885 -> a
    898:898:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    898:898:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):885 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    899:900:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):809:810 -> a
    899:900:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):886 -> a
    901:901:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> a
    901:901:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):810 -> a
    901:901:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):886 -> a
    902:905:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):811:814 -> a
    902:905:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):886 -> a
    906:906:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    906:906:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):814 -> a
    906:906:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):886 -> a
    907:908:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):887:888 -> a
    909:909:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):893:893 -> a
    910:910:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    910:910:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):893 -> a
    911:912:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):893:894 -> a
    913:913:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    913:913:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):894 -> a
    914:915:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):894:895 -> a
    916:916:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    916:916:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):897 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    917:918:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):899:900 -> a
    919:919:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    919:919:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportDependencyEdge(com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexClass):912 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    919:919:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):901 -> a
    920:920:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportDependencyEdge(com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexClass):914:914 -> a
    920:920:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):901 -> a
    921:922:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):903:904 -> a
    923:923:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    923:923:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportDependencyEdge(com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexClass):912 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    923:923:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):904 -> a
    924:924:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportDependencyEdge(com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexClass):914:914 -> a
    924:924:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):904 -> a
    1:1:java.util.Set getEmulatedMethods():160:160 -> b
    2:11:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):240:249 -> b
    12:12:boolean com.android.tools.r8.cf.code.CfInvoke.isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):141:141 -> b
    12:12:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):249 -> b
    13:18:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):250:255 -> b
    19:22:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):290:293 -> b
    19:22:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    23:23:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> b
    23:23:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):293 -> b
    23:23:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    24:45:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):295:316 -> b
    24:45:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    46:46:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod) -> b
    46:46:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):316 -> b
    46:46:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    47:47:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):317:317 -> b
    47:47:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    48:48:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> b
    48:48:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):318 -> b
    48:48:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    49:51:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):321:323 -> b
    49:51:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    52:52:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):314:314 -> b
    52:52:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    53:53:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):259:259 -> b
    54:54:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> b
    54:54:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):259 -> b
    55:68:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):261:274 -> b
    69:86:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):263:280 -> b
    87:90:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):328:331 -> b
    87:90:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):281 -> b
    91:94:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):283:286 -> b
    95:110:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeInvokeVirtualDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):438:453 -> b
    95:110:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):284 -> b
    111:114:void lambda$computeDescription$4(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):269:272 -> b
    115:123:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):336:344 -> b
    124:124:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    124:124:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):767 -> b
    124:124:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):346 -> b
    125:125:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):767:767 -> b
    125:125:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):346 -> b
    126:184:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):356:414 -> b
    185:185:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.shouldRewriteToInvokeToThrow(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,boolean):763:763 -> b
    185:185:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):414 -> b
    186:204:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):415:433 -> b
    205:205:void lambda$computeInvokeStatic$6(com.android.tools.r8.graph.ProgramMethod):359:359 -> b
    206:211:java.util.Collection lambda$computeEmulatedInterfaceVirtualDispatchOrNull$11(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):472:472 -> b
    212:212:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):523:523 -> b
    213:213:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> b
    213:213:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):524 -> b
    214:216:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):525:527 -> b
    217:232:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):526:541 -> b
    boolean lambda$getPostProcessingDesugaringD8$19(com.android.tools.r8.graph.ProgramMethod) -> c
    1:8:void initializeEmulatedInterfaceVariables():164:171 -> c
    9:12:java.util.Collection lambda$computeInvokeDirect$13(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):561:564 -> c
    13:14:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):630:631 -> c
    15:15:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> c
    15:15:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):631 -> c
    16:23:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):636:643 -> c
    24:24:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.shouldRewriteToInvokeToThrow(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,boolean):763:763 -> c
    24:24:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):643 -> c
    25:28:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):644:647 -> c
    29:29:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> c
    29:29:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):647 -> c
    30:83:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):657:710 -> c
    1:3:java.util.Collection lambda$computeInvokeStatic$10(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):429:431 -> d
    4:8:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):594:598 -> d
    9:9:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> d
    9:9:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):598 -> d
    10:13:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):597:600 -> d
com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor -> com.android.tools.r8.internal.Et:
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor ExcludeDexResources -> c
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor IncludeAllResources -> b
    1:3:void <clinit>():106:108 -> <clinit>
    1:1:void <init>(java.lang.String,int):104:104 -> <init>
com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup -> com.android.tools.r8.internal.Gt:
    com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens graphLens -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens):17:19 -> <init>
    1:11:void run():23:33 -> a
    12:12:com.android.tools.r8.graph.EnclosingMethodAttribute com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):41:41 -> a
    12:12:void run():33 -> a
    13:18:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupDexMethodForEnclosingMethod(com.android.tools.r8.graph.DexMethod):53:58 -> a
    13:18:com.android.tools.r8.graph.EnclosingMethodAttribute com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):42 -> a
    13:18:void run():33 -> a
    19:19:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    19:19:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupDexMethodForEnclosingMethod(com.android.tools.r8.graph.DexMethod):58 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:com.android.tools.r8.graph.EnclosingMethodAttribute com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):42 -> a
    19:19:void run():33 -> a
    20:20:com.android.tools.r8.graph.EnclosingMethodAttribute com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):44:44 -> a
    20:20:void run():33 -> a
    21:21:void run():32:32 -> a
com.android.tools.r8.ir.desugar.itf.InterfaceProcessor -> com.android.tools.r8.internal.Kt:
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> b
    java.util.Map postProcessingInterfaceInfos -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):61:61 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView):58:63 -> <init>
    1:5:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):72:76 -> a
    6:10:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.processDirectInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):124:128 -> a
    6:10:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):77 -> a
    11:11:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):79:79 -> a
    12:15:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.processVirtualInterfaceMethod(com.android.tools.r8.graph.ProgramMethod):115:118 -> a
    12:15:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):80 -> a
    16:17:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):81:82 -> a
    18:19:com.android.tools.r8.graph.ProgramMethod ensureCompanionMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):95:96 -> a
    20:20:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):105:105 -> a
    21:26:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):104:109 -> a
    27:27:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):108:108 -> a
    28:28:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):105:105 -> a
    29:30:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):133:134 -> a
    31:42:boolean com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.canMoveToCompanionClass(com.android.tools.r8.graph.ProgramMethod):194:205 -> a
    31:42:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):141 -> a
    43:46:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):148:151 -> a
    47:47:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    47:47:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151 -> a
    48:48:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
    49:49:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":545,"2":546,"3":547}}
    545:545:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
    546:546:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
    547:547:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
    202:214:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):153:165 -> a
    215:230:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):159:174 -> a
    231:235:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):173:177 -> a
    236:240:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):176:180 -> a
    241:241:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
    242:242:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":548,"2":549,"3":550}}
    548:548:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
    549:549:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
    550:550:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
    387:388:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):145:146 -> a
    389:389:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    389:389:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    389:389:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):146 -> a
    390:390:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):146:146 -> a
    391:391:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
    392:392:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":551,"2":552,"3":553}}
    551:551:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
    552:552:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
    553:553:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
    530:531:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):138:139 -> a
    532:532:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    532:532:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    532:532:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):139 -> a
    533:533:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):139:139 -> a
    554:562:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):224:232 -> a
    563:567:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.addSuperTypes(com.android.tools.r8.graph.DexClass,java.util.Deque):250:254 -> a
    563:567:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):233 -> a
    568:570:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):234:236 -> a
    571:572:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):214:215 -> a
    571:572:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    573:576:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):162:165 -> a
    573:576:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215 -> a
    573:576:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    577:577:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    577:577:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):166 -> a
    577:577:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215 -> a
    577:577:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    578:578:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):167:167 -> a
    578:578:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215 -> a
    578:578:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    579:579:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):216:216 -> a
    579:579:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    580:583:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):237:240 -> a
    584:588:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.addSuperTypes(com.android.tools.r8.graph.DexClass,java.util.Deque):250:254 -> a
    584:588:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):243 -> a
    589:589:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):263:263 -> a
    590:593:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):184:187 -> a
    590:593:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):264 -> a
    594:594:void com.android.tools.r8.graph.MethodCollection.setSingleDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):314:314 -> a
    594:594:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):187 -> a
    594:594:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):264 -> a
    595:595:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):189:189 -> a
    595:595:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):264 -> a
    596:613:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):266:283 -> a
    614:627:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.removeBridges(com.android.tools.r8.graph.DexProgramClass):291:304 -> a
    614:627:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):284 -> a
    628:633:void lambda$postProcessInterfaces$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):270:275 -> a
    634:634:void lambda$postProcessInterfaces$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):274:274 -> a
    635:637:void finalizeProcessing():314:316 -> a
    638:638:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo getPostProcessingInterfaceInfo(com.android.tools.r8.graph.DexProgramClass):321:321 -> a
    639:639:void forEachMethodToMove(java.util.function.BiConsumer):326:326 -> a
    640:641:void lambda$forEachMethodToMove$4(java.util.function.BiConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):328:329 -> a
    1:1:com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper getHelper():67:67 -> b
    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo lambda$getPostProcessingInterfaceInfo$3(com.android.tools.r8.graph.DexProgramClass):322:322 -> b
    1:1:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():260:260 -> c
    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens.builder():429:429 -> c
    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():260 -> c
    3:29:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():261:287 -> c
com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens -> com.android.tools.r8.internal.It:
    int $r8$clinit -> o
    com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap extraNewMethodSignatures -> n
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap):402:403 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418:418 -> e
    2:2:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> e
    2:2:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):419 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):419:419 -> e
    4:4:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> e
    4:4:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418:418 -> e
    1:1:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):424:424 -> f
    2:2:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeValueOrDefault(java.lang.Object,java.lang.Object):29:29 -> f
    2:2:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):425 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):425:425 -> f
    4:4:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeValueOrDefault(java.lang.Object,java.lang.Object):29:29 -> f
    4:4:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):424 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):424:424 -> f
    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap getExtraNewMethodSignatures():408:408 -> o
com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder -> com.android.tools.r8.internal.Ht:
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap extraNewMethodSignatures -> d
    1:3:void <init>():432:434 -> <init>
    1:4:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens build(com.android.tools.r8.graph.AppView):443:446 -> a
    1:1:void recordCodeMovedToCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):438:438 -> b
com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo -> com.android.tools.r8.internal.Jt:
    java.util.Map defaultMethodsToImplementation -> a
    java.util.Map methodsToMove -> b
    boolean hasNonClinitDirectMethods -> c
    boolean hasBridgesToRemove -> d
    1:1:void <init>():334:334 -> <init>
    1:1:java.util.Map access$000(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):334:334 -> a
    2:5:void mapDefaultMethodToCompanionMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):342:345 -> a
    6:6:java.util.Map getDefaultMethodsToImplementation():349:349 -> a
    7:10:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):357:360 -> a
    1:1:java.util.Map getMethodsToMove():364:364 -> b
    1:1:boolean hasBridgesToRemove():380:380 -> c
    1:1:boolean hasDefaultMethodsToImplementationMap():353:353 -> d
    1:1:boolean hasMethodsToMove():368:368 -> e
    1:1:boolean hasNonClinitDirectMethods():372:372 -> f
    1:1:void setHasBridgesToRemove():384:384 -> g
    1:1:void setHasNonClinitDirectMethods():376:376 -> h
com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer -> com.android.tools.r8.internal.GM:
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():28:28 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):41:43 -> <init>
    1:3:com.android.tools.r8.graph.DexProgramClass synthesizeProgramEmulatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$L8ProgramEmulatedInterfaceSynthesizerEventConsumer):50:52 -> a
    4:4:void lambda$synthesizeProgramEmulatedInterface$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):57:57 -> a
    5:5:boolean lambda$synthesizeEmulateInterfaceMethods$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.graph.DexEncodedMethod):67:67 -> a
    6:6:void lambda$synthesizeEmulateInterfaceMethods$3(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.graph.ProgramMethod):69:69 -> a
    7:8:void lambda$synthesizeEmulateInterfaceMethods$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.synthesis.SyntheticMethodBuilder):73:74 -> a
    9:9:void lambda$synthesizeEmulateInterfaceMethods$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.synthesis.SyntheticMethodBuilder):71:71 -> a
    10:13:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):94:97 -> a
    14:16:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):96:98 -> a
    17:18:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.emulatedInterfaceInterfaceMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):130:131 -> a
    17:18:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):98 -> a
    19:26:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):99:106 -> a
    27:33:com.android.tools.r8.graph.Code lambda$synthesizeEmulatedInterfaceMethod$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.LinkedHashMap,com.android.tools.r8.graph.DexMethod):108:114 -> a
    34:37:java.util.LinkedHashMap resolveDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):119:122 -> a
    38:40:void lambda$resolveDispatchCases$5(java.util.LinkedHashMap,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):124:124 -> a
    41:41:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):131:131 -> a
    42:42:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    42:42:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):131 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    43:43:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    43:43:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):131 -> a
    44:49:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):131:136 -> a
    50:59:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):138:147 -> a
    60:60:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):154:154 -> a
    60:60:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    61:61:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67}}
    65:65:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):154:154 -> a
    65:65:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    66:66:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):154:154 -> a
    66:66:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    67:67:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):154:154 -> a
    67:67:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    62:64:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):157:159 -> a
    62:64:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    1:1:void synthesizeEmulateInterfaceMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):66:66 -> b
com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer -> com.android.tools.r8.internal.Nk:
    void lambda$emptyForcefullyMovedLambdaMethodConsumer$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer emptyForcefullyMovedLambdaMethodConsumer():14:14 -> a
    void acceptForcefullyMovedLambdaMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> b
com.android.tools.r8.ir.desugar.lambda.LambdaDeserializationMethodRemover -> com.android.tools.r8.internal.BA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:4:void run(com.android.tools.r8.graph.AppView,java.util.Collection):24:27 -> a
com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring -> com.android.tools.r8.internal.DA:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set directTargetedLambdaImplementationMethods -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):54:54 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView):47:55 -> <init>
    1:2:boolean isDirectTargetedLambdaImplementationMethod(com.android.tools.r8.graph.DexMethodHandle):50:51 -> a
    3:7:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):60:64 -> a
    8:8:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    8:8:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):64 -> a
    9:9:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):65:65 -> a
    10:10:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):81:81 -> a
    11:11:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    11:11:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):81 -> a
    12:12:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):83:83 -> a
    13:13:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):82:82 -> a
    14:14:java.util.Collection lambda$desugarInstruction$0(com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator):90:90 -> a
    15:29:java.util.Collection desugarInvokeDynamicInstruction(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.lambda.LambdaDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):117:131 -> a
    30:30:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaClass.getType():120:120 -> a
    30:30:java.util.Collection desugarInvokeDynamicInstruction(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.lambda.LambdaDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):131 -> a
    31:46:java.util.Collection desugarInvokeDynamicInstruction(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.lambda.LambdaDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):131:146 -> a
    47:50:void lambda$desugarInvokeDynamicInstruction$1(com.android.tools.r8.ir.desugar.FreshLocalProvider,java.util.Deque,com.android.tools.r8.graph.DexType):135:138 -> a
    51:62:com.android.tools.r8.ir.desugar.LambdaClass createLambdaClass(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):158:169 -> a
    63:73:com.android.tools.r8.ir.desugar.LambdaClass createLambdaClass(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):167:177 -> a
    74:74:void lambda$createLambdaClass$2(com.android.tools.r8.utils.Box,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):172:172 -> a
    75:75:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):183:183 -> a
    76:76:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):188:188 -> a
    76:76:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):183 -> a
    77:77:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    77:77:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):188 -> a
    77:77:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):183 -> a
    78:79:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):190:191 -> a
    78:79:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):183 -> a
    80:80:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):189:189 -> a
    80:80:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):183 -> a
com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke -> com.android.tools.r8.internal.CA:
    java.util.Collection desugarInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator) -> a
com.android.tools.r8.ir.desugar.nest.AccessBridgeFactory -> com.android.tools.r8.internal.v1:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:12:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):20:31 -> a
    13:26:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):25:38 -> a
    27:35:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):32:40 -> a
    36:36:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.graph.DexEncodedField.getApiLevel():112:112 -> a
    36:36:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):40 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:38:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):40:41 -> a
    39:39:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.graph.DexEncodedField.getApiLevel():112:112 -> a
    39:39:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:41:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):41:42 -> a
    42:54:com.android.tools.r8.graph.ProgramMethod createInitializerAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):47:59 -> a
    55:55:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.setConstructorTarget(com.android.tools.r8.graph.DexMethod):125:125 -> a
    55:55:com.android.tools.r8.graph.ProgramMethod createInitializerAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):59 -> a
    56:56:com.android.tools.r8.graph.ProgramMethod createInitializerAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    57:65:com.android.tools.r8.graph.ProgramMethod createInitializerAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):56:64 -> a
    66:66:void lambda$createMethodAccessorBridge$0(com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):88:88 -> a
    1:14:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):69:82 -> b
    15:26:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):76:87 -> b
    27:31:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):86:90 -> b
    32:43:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):83:94 -> b
    44:44:void lambda$createMethodAccessorBridge$1(com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):89:89 -> b
com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring -> com.android.tools.r8.internal.ge:
    1:1:void <init>(com.android.tools.r8.graph.AppView):36:36 -> <init>
    void lambda$clearNestAttributes$3(com.android.tools.r8.graph.DexClass) -> a
    1:2:void lambda$clearNestAttributes$2(com.android.tools.r8.ir.desugar.nest.Nest):61:62 -> a
    3:4:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.ir.conversion.MethodProcessor,java.util.concurrent.ExecutorService):71:72 -> a
    5:5:void com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.forEachNest(java.util.function.Consumer):87:87 -> a
    5:5:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.ir.conversion.MethodProcessor,java.util.concurrent.ExecutorService):72 -> a
    6:24:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.ir.conversion.MethodProcessor,java.util.concurrent.ExecutorService):80:98 -> a
    25:25:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$4(java.util.List,com.android.tools.r8.ir.desugar.nest.Nest):74:74 -> a
    26:26:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    26:26:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$4(java.util.List,com.android.tools.r8.ir.desugar.nest.Nest):74 -> a
    27:29:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$4(java.util.List,com.android.tools.r8.ir.desugar.nest.Nest):75:77 -> a
    30:30:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$5(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.DexClasspathClass):100:100 -> a
    31:31:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):106:106 -> a
    32:32:void com.android.tools.r8.graph.DexClasspathClass.forEachClasspathMethod(java.util.function.Consumer):76:76 -> a
    32:32:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):106 -> a
    33:33:void com.android.tools.r8.graph.DexClasspathClass.forEachClasspathMethod(java.util.function.Consumer):76:76 -> a
    33:33:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108:108 -> a
    35:35:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):17:17 -> a
    35:35:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:38:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):17:19 -> a
    36:38:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
    39:39:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    39:39:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):20 -> a
    39:39:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
    40:40:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):22:22 -> a
    40:40:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
    1:8:void lambda$reportDesugarDependencies$0(com.android.tools.r8.ir.desugar.nest.Nest):42:49 -> b
    9:9:void lambda$reportDesugarDependencies$0(com.android.tools.r8.ir.desugar.nest.Nest):43:43 -> b
    10:10:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54:54 -> b
    11:11:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):969:969 -> b
    11:11:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):969:969 -> b
    12:12:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    13:13:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> b
    13:13:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):971 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    14:14:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):971:971 -> b
    14:14:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    15:15:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):975:975 -> b
    15:15:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):971 -> b
    15:15:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    16:16:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":21,"2":22,"3":23}}
    21:21:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):976:976 -> b
    21:21:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):971 -> b
    21:21:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    22:22:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):976:976 -> b
    22:22:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):971 -> b
    22:22:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    23:23:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):976:976 -> b
    23:23:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):971 -> b
    23:23:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    17:18:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):976:977 -> b
    17:18:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):971 -> b
    17:18:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    19:19:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):971:971 -> b
    19:19:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    20:20:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):969:969 -> b
    20:20:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    24:24:void clearNestAttributes():59:59 -> b
    1:1:void reportDesugarDependencies():40:40 -> c
com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring$1 -> com.android.tools.r8.internal.ee:
    com.android.tools.r8.ir.conversion.MethodProcessor val$methodProcessor -> a
    1:1:void <init>(com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring,com.android.tools.r8.ir.conversion.MethodProcessor):81:81 -> <init>
    1:1:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):85:85 -> b
    1:1:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):95:95 -> c
    1:1:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):90:90 -> d
com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring$NestBasedAccessDesugaringUseRegistry -> com.android.tools.r8.internal.fe:
    com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring this$0 -> f
    com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer eventConsumer -> e
    1:3:void <init>(com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring,com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):117:119 -> <init>
    1:2:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):123:124 -> a
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    3:3:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):124 -> a
    4:4:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    4:4:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    4:4:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):124 -> a
    5:5:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    5:5:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    5:5:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    5:5:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):124 -> a
    6:7:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):125:126 -> a
    8:8:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):143:143 -> a
    9:9:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):173:173 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):148:148 -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):168:168 -> c
    void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):153:153 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):178:178 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):158:158 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):163:163 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):183:183 -> g
    1:5:void registerInvoke(com.android.tools.r8.graph.DexMethod):131:135 -> h
    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> h
    6:6:void registerInvoke(com.android.tools.r8.graph.DexMethod):135 -> h
    7:9:void registerInvoke(com.android.tools.r8.graph.DexMethod):135:137 -> h
com.android.tools.r8.ir.desugar.nest.Nest -> com.android.tools.r8.internal.jG:
    com.android.tools.r8.graph.DexClass hostClass -> a
    java.util.List members -> b
    java.util.List missingMembers -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):22:25 -> <init>
    1:23:com.android.tools.r8.ir.desugar.nest.Nest create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Consumer):34:56 -> a
    24:28:void lambda$create$0(com.android.tools.r8.graph.AppView,java.util.List,java.util.List,com.android.tools.r8.graph.DexType):49:53 -> a
    29:31:java.lang.Iterable getClasspathMembers():60:60 -> a
    1:1:com.android.tools.r8.graph.DexClass getHostClass():65:65 -> b
    1:1:java.util.List getMembers():69:69 -> c
    1:1:java.util.List getMissingMembers():73:73 -> d
    1:1:boolean hasMissingMembers():81:81 -> e
com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring -> com.android.tools.r8.internal.lG:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.util.Map syntheticNestConstructorTypes -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):72:72 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):70:74 -> <init>
    1:1:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    1:1:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):342 -> a
    2:2:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):343:343 -> a
    3:18:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.ensureFieldAccessBridge(com.android.tools.r8.graph.ProgramField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):354:369 -> a
    3:18:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):343 -> a
    19:19:boolean com.android.tools.r8.graph.Definition.isClasspathField():0:0 -> a
    19:19:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):345 -> a
    20:22:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):346:348 -> a
    23:23:boolean com.android.tools.r8.graph.Definition.isLibraryField():0:0 -> a
    23:23:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):348 -> a
    24:25:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):348:349 -> a
    26:26:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):335:335 -> a
    26:26:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):349 -> a
    27:27:com.android.tools.r8.ir.desugar.nest.Nest com.android.tools.r8.ir.desugar.nest.Nest.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):29:29 -> a
    27:27:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):335 -> a
    27:27:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):349 -> a
    28:29:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):336:337 -> a
    28:29:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):349 -> a
    30:30:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    30:30:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):405 -> a
    31:31:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):406:406 -> a
    32:48:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.ensureMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):417:433 -> a
    32:48:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):406 -> a
    49:49:boolean com.android.tools.r8.graph.Definition.isClasspathMethod():0:0 -> a
    49:49:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):408 -> a
    50:52:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):409:411 -> a
    53:53:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    53:53:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):411 -> a
    54:55:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):411:412 -> a
    56:56:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):335:335 -> a
    56:56:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):412 -> a
    57:57:com.android.tools.r8.ir.desugar.nest.Nest com.android.tools.r8.ir.desugar.nest.Nest.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):29:29 -> a
    57:57:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):335 -> a
    57:57:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):412 -> a
    58:59:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):336:337 -> a
    58:59:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):412 -> a
    void lambda$getMethodBridgeReference$4(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder) -> a
    void lambda$getMethodBridgeReference$5(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> a
    void lambda$getMethodBridgeReference$6(com.android.tools.r8.graph.DexClasspathClass) -> a
    60:60:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring create(com.android.tools.r8.graph.AppView):78:78 -> a
    61:61:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1842:1842 -> a
    61:61:boolean com.android.tools.r8.utils.InternalOptions.shouldDesugarNests():522 -> a
    61:61:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring create(com.android.tools.r8.graph.AppView):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    62:64:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring create(com.android.tools.r8.graph.AppView):79:81 -> a
    65:73:void forEachNest(java.util.function.Consumer,java.util.function.Consumer):91:99 -> a
    74:78:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):130:134 -> a
    79:84:void lambda$prepare$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.cf.code.CfInstruction):136:141 -> a
    85:94:void lambda$prepare$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.cf.code.CfInstruction):139:148 -> a
    95:95:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarFieldInstruction$1(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget,boolean):166:166 -> a
    96:96:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarFieldInstruction$1(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget,boolean):165:165 -> a
    97:100:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarMethodInstruction$2(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget):179:182 -> a
    101:107:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarMethodInstruction$2(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget):180:186 -> a
    108:108:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarMethodInstruction$2(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget):184:184 -> a
    109:115:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):192:198 -> a
    109:115:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):172 -> a
    116:116:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    116:116:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):198 -> a
    116:116:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):172 -> a
    117:121:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):199:203 -> a
    117:121:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):172 -> a
    122:126:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):173:177 -> a
    127:127:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):176:176 -> a
    128:128:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):211:211 -> a
    128:128:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    129:129:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    129:129:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):211 -> a
    129:129:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    130:130:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    130:130:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    130:130:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):212 -> a
    130:130:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    131:131:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    131:131:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    131:131:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    131:131:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):212 -> a
    131:131:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    132:135:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):213:216 -> a
    132:135:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    136:141:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):158:163 -> a
    142:142:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):162:162 -> a
    143:147:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):239:243 -> a
    148:151:boolean needsDesugaring(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):249:252 -> a
    152:152:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    152:152:boolean needsDesugaring(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):252 -> a
    153:154:boolean needsDesugaring(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):253:254 -> a
    155:158:boolean needsDesugaring(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClassAndMethod):258:261 -> a
    159:160:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):274:275 -> a
    161:161:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290:290 -> a
    161:161:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    162:162:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):211:211 -> a
    162:162:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    162:162:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    163:163:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    163:163:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):211 -> a
    163:163:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    163:163:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    164:164:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    164:164:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    164:164:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):212 -> a
    164:164:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    164:164:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    165:165:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    165:165:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    165:165:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    165:165:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):212 -> a
    165:165:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    165:165:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    166:169:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):213:216 -> a
    166:169:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    166:169:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    170:170:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):295:295 -> a
    170:170:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    171:171:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    171:171:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):295 -> a
    171:171:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    172:172:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):296:296 -> a
    172:172:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    173:180:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):295:302 -> a
    173:180:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    181:181:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):298:298 -> a
    181:181:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    182:184:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):277:279 -> a
    185:185:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):310:310 -> a
    185:185:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    186:192:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):192:198 -> a
    186:192:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):313 -> a
    186:192:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    193:193:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    193:193:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):198 -> a
    193:193:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):313 -> a
    193:193:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    194:198:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):199:203 -> a
    194:198:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):313 -> a
    194:198:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    199:199:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):318:318 -> a
    199:199:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    200:200:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    200:200:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):318 -> a
    200:200:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    201:201:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):319:319 -> a
    201:201:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    202:211:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):318:327 -> a
    202:211:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    212:218:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):325:331 -> a
    212:218:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    219:219:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):330:330 -> a
    219:219:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    220:231:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):374:385 -> a
    232:241:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):390:399 -> a
    232:241:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    242:242:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":247,"2":248,"3":249}}
    247:247:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399:399 -> a
    247:247:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    248:248:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399:399 -> a
    248:248:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    249:249:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399:399 -> a
    249:249:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    243:243:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    243:243:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    243:243:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    244:244:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    244:244:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399 -> a
    244:244:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    245:245:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399:399 -> a
    245:245:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    246:246:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):384:384 -> a
    250:253:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):438:441 -> a
    254:279:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):440:465 -> a
    280:282: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):2658:2660 -> a
    280:282:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):465 -> a
    283:286: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):2659:2662 -> a
    283:286:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):465 -> a
    287:287:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466:466 -> a
    288:288:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    288:288:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    289:289:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    289:289:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466 -> a
    290:293:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):469:472 -> a
    294:297:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):477:480 -> a
    294:297:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    298:298:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":302,"2":303,"3":304}}
    302:302:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    302:302:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    303:303:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    303:303:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    304:304:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    304:304:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    299:299:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    299:299:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480 -> a
    299:299:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    300:300:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    300:300:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    301:301:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472:472 -> a
    305:305:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):443:443 -> a
    306:306:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    306:306:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):443 -> a
    307:311:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):444:448 -> a
    312:319:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):446:453 -> a
    320:320:boolean com.android.tools.r8.graph.Definition.isClasspathMethod():0:0 -> a
    320:320:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):453 -> a
    321:326:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):453:458 -> a
    327:333:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):456:462 -> a
com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget -> com.android.tools.r8.internal.kG:
    com.android.tools.r8.graph.DexClassAndMember target -> b
    com.android.tools.r8.graph.DexMethod bridge -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():104:104 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMember):108:111 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getBridge():115:115 -> a
    1:1:com.android.tools.r8.graph.DexClassAndMember getTarget():119:119 -> b
    1:1:boolean shouldAddBridge():123:123 -> c
com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer -> com.android.tools.r8.internal.mG:
    void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod) -> b
    void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> c
    void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod) -> d
com.android.tools.r8.ir.desugar.records.RecordCfMethods -> com.android.tools.r8.internal.LP:
    1:17:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):52:68 -> a
    18:21:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):66:69 -> a
    22:36:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):64:78 -> a
    37:37:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):75:75 -> a
    38:64:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):58:84 -> a
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    65:65:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):84 -> a
    1:27:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):88:114 -> b
    28:44:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):111:127 -> b
    45:45:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    45:45:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):127 -> b
    46:56:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):127:137 -> b
    57:60:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136:139 -> b
    61:75:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):134:148 -> b
    76:76:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    76:76:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):148 -> b
    77:82:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):148:153 -> b
    83:83:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):152:152 -> b
    84:96:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):151:163 -> b
    97:111:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):160:174 -> b
    112:123:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):171:182 -> b
    124:137:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):178:191 -> b
    138:158:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):187:207 -> b
    159:159:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    159:159:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):207 -> b
    160:178:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):207:225 -> b
    179:192:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):221:234 -> b
    193:208:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):230:245 -> b
    209:232:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):241:264 -> b
    233:250:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):260:277 -> b
    251:251:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    251:251:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):277 -> b
    252:266:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):277:291 -> b
    267:267:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    267:267:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):291 -> b
    268:279:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):291:302 -> b
    280:294:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):298:312 -> b
    295:295:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):309:309 -> b
    296:507:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):106:317 -> b
    508:508:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> b
    508:508:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):317 -> b
    509:509:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> b
    509:509:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b
    509:509:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):317 -> b
    510:510:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> b
    510:510:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b
    510:510:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):317 -> b
com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter -> com.android.tools.r8.internal.MP:
    com.android.tools.r8.graph.AppView appView -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):42:43 -> <init>
    1:2:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):34:35 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    3:3:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):35 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    4:4:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):35 -> a
    5:6:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):36:37 -> a
    7:7:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):49:49 -> a
    8:8:boolean com.android.tools.r8.ir.desugar.records.RecordRewriterHelper.isInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):28:28 -> a
    8:8:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):49 -> a
    9:15:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):52:58 -> a
    16:18:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):57:59 -> a
    19:23:com.android.tools.r8.graph.DexField[] com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.computePresentFields(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):66:70 -> a
    19:23:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):59 -> a
    24:24:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    24:24:com.android.tools.r8.graph.DexField[] com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.computePresentFields(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):71 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):59 -> a
    25:32:com.android.tools.r8.graph.DexField[] com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.computePresentFields(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):71:78 -> a
    25:32:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):59 -> a
    33:33:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):61:61 -> a
    34:49:com.android.tools.r8.cf.code.CfInvokeDynamic com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.writeRecordInvokeDynamic(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):84:99 -> a
    34:49:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):60 -> a
    50:50:com.android.tools.r8.cf.code.CfInvokeDynamic com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.writeRecordInvokeDynamic(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):97:97 -> a
    50:50:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):60 -> a
com.android.tools.r8.ir.desugar.records.RecordDesugaring -> com.android.tools.r8.internal.QP:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexProto recordToStringHelperProto -> c
    com.android.tools.r8.graph.DexProto recordHashCodeHelperProto -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():65:65 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView):86:93 -> <init>
    1:3:void com.android.tools.r8.ir.desugar.records.RecordCfMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):46:48 -> a
    1:3:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):81 -> a
    4:4:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):82:82 -> a
    5:6:void com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordEqualsCfCodeProvider.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):151:152 -> a
    5:6:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):83 -> a
    7:7:com.android.tools.r8.ir.desugar.records.RecordDesugaring create(com.android.tools.r8.graph.AppView):77:77 -> a
    8:10:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):98:100 -> a
    11:11:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    11:11:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):100 -> a
    12:13:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):100:101 -> a
    14:25:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.prepareInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):108:119 -> a
    14:25:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):101 -> a
    26:26:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.prepareInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):112:112 -> a
    26:26:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):101 -> a
    27:28:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):125:126 -> a
    29:29:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):137:137 -> a
    29:29:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    30:30:boolean com.android.tools.r8.cf.code.CfInstruction.isInitClass():0:0 -> a
    30:30:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):137 -> a
    30:30:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    31:48:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):137:154 -> a
    31:48:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    49:49:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    49:49:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):154 -> a
    49:49:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    50:50:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):155:155 -> a
    50:50:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    51:51:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):172:172 -> a
    52:52:boolean com.android.tools.r8.cf.code.CfInstruction.isInitClass():0:0 -> a
    52:52:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):172 -> a
    53:54:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):172:173 -> a
    55:55:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    55:55:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):176 -> a
    56:56:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):178:178 -> a
    57:67:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):199:209 -> a
    57:67:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    68:68:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeRecordEquals(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):322:322 -> a
    68:68:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):210 -> a
    68:68:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    69:72:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.equalsRecordMethod(com.android.tools.r8.graph.DexType):274:274 -> a
    69:72:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeRecordEquals(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):322 -> a
    69:72:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):210 -> a
    69:72:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    73:74:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeRecordEquals(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):323:324 -> a
    73:74:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):210 -> a
    73:74:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    75:75:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):212:212 -> a
    75:75:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    76:82:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):184:190 -> a
    83:83:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):189:189 -> a
    84:84:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeEqualsRecordMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):217:217 -> a
    84:84:com.android.tools.r8.graph.ProgramMethod lambda$ensureEqualsRecord$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):253 -> a
    85:96:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.synthetic.SyntheticCfCodeProvider,com.android.tools.r8.graph.DexMethod):232:243 -> a
    85:96:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeEqualsRecordMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):217 -> a
    85:96:com.android.tools.r8.graph.ProgramMethod lambda$ensureEqualsRecord$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):253 -> a
    97:99:com.android.tools.r8.graph.DexMethod ensureEqualsRecord(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):248:250 -> a
    100:103:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.equalsRecordMethod(com.android.tools.r8.graph.DexType):274:274 -> a
    100:103:com.android.tools.r8.graph.DexMethod ensureEqualsRecord(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):250 -> a
    104:105:com.android.tools.r8.graph.DexMethod ensureEqualsRecord(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):251:252 -> a
    106:106:com.android.tools.r8.graph.ProgramMethod lambda$ensureGetFieldsAsObjects$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.graph.DexMethod):264:264 -> a
    107:107:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeGetFieldsAsObjectsMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.DexMethod):223:223 -> a
    107:107:com.android.tools.r8.graph.ProgramMethod lambda$ensureGetFieldsAsObjects$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.graph.DexMethod):264 -> a
    108:119:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.synthetic.SyntheticCfCodeProvider,com.android.tools.r8.graph.DexMethod):232:243 -> a
    108:119:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeGetFieldsAsObjectsMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.DexMethod):223 -> a
    108:119:com.android.tools.r8.graph.ProgramMethod lambda$ensureGetFieldsAsObjects$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.graph.DexMethod):264 -> a
    120:124:com.android.tools.r8.graph.ProgramMethod synthesizeRecordHelper(com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):284:288 -> a
    125:125:com.android.tools.r8.graph.ProgramMethod synthesizeRecordHelper(com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):286:286 -> a
    126:129:void lambda$synthesizeRecordHelper$3(com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.synthesis.SyntheticMethodBuilder):292:295 -> a
    130:130:com.android.tools.r8.graph.Code lambda$synthesizeRecordHelper$2(java.util.function.BiFunction,com.android.tools.r8.graph.DexMethod):294:294 -> a
    131:132:java.util.List desugarInvokeRecordHashCode(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):303:304 -> a
    133:135:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.getFieldsAsObjectsMethod(com.android.tools.r8.graph.DexType):269:269 -> a
    133:135:java.util.List desugarInvokeRecordHashCode(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):304 -> a
    136:148:java.util.List desugarInvokeRecordHashCode(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):305:317 -> a
    149:149:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):360:360 -> a
    150:150:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    150:150:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):360 -> a
    151:151:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):361:361 -> a
    152:152:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.needsDesugaring(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod):437:437 -> a
    152:152:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):361 -> a
    153:153:boolean com.android.tools.r8.ir.desugar.records.RecordRewriterHelper.isInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):28:28 -> a
    153:153:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.needsDesugaring(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod):437 -> a
    153:153:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):361 -> a
    154:156:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):363:365 -> a
    157:157:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.needsDesugaring(com.android.tools.r8.graph.DexMethod,boolean):433:433 -> a
    157:157:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):365 -> a
    158:158:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):371:371 -> a
    159:163:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):387:391 -> a
    159:163:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    164:164:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":171,"2":172,"3":173}}
    171:171:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):391:391 -> a
    171:171:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    172:172:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):391:391 -> a
    172:172:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    173:173:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):391:391 -> a
    173:173:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    165:167:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):391:393 -> a
    165:167:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    168:170:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):373:375 -> a
    174:174:boolean refersToRecord(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):401:401 -> a
    175:175:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    175:175:boolean refersToRecord(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):401 -> a
    176:177:boolean refersToRecord(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):401:402 -> a
    178:178:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    178:178:boolean refersToRecord(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):402 -> a
    179:179:boolean refersToRecord(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):406:406 -> a
    180:180:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    180:180:boolean refersToRecord(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):406 -> a
    181:181:boolean refersToRecord(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):409:409 -> a
    182:182:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):413:413 -> a
    183:183:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    183:183:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):413 -> a
    184:184:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):416:416 -> a
    185:185:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexItemFactory):420:420 -> a
    185:185:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):416 -> a
    186:186:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    186:186:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexItemFactory):421 -> a
    186:186:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):416 -> a
    187:203:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.DexMethod,boolean):442:458 -> a
    204:204:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.DexMethod,boolean):449:449 -> a
    205:205:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    205:205:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.DexMethod,boolean):449 -> a
    206:206:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.DexMethod,boolean):449:449 -> a
    207:218:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeRecordInitMethod():463:474 -> a
    207:218:void lambda$ensureRecordClass$4(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):380 -> a
    219:219:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeRecordInitMethod():473:473 -> a
    219:219:void lambda$ensureRecordClass$4(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):380 -> a
    220:220:void lambda$ensureRecordClass$4(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):381:381 -> a
    221:222:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):480:481 -> a
    223:226:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):491:494 -> a
    1:2:com.android.tools.r8.graph.DexMethod ensureGetFieldsAsObjects(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):259:260 -> b
    3:5:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.getFieldsAsObjectsMethod(com.android.tools.r8.graph.DexType):269:269 -> b
    3:5:com.android.tools.r8.graph.DexMethod ensureGetFieldsAsObjects(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):260 -> b
    6:7:com.android.tools.r8.graph.DexMethod ensureGetFieldsAsObjects(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):261:262 -> b
    8:9:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):332:333 -> b
    10:12:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.getFieldsAsObjectsMethod(com.android.tools.r8.graph.DexType):269:269 -> b
    10:12:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):333 -> b
    13:23:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):334:344 -> b
    24:37:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):341:354 -> b
com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer -> com.android.tools.r8.internal.RP:
    void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass) -> a
com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter -> com.android.tools.r8.internal.WP:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    com.android.tools.r8.ir.conversion.IRConverter irConverter -> b
    1:1:void <clinit>():32:32 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):46:48 -> <init>
    1:4:com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter create(com.android.tools.r8.graph.AppView):38:41 -> a
    5:11:void rewriteRecordFieldValues():54:60 -> a
    12:22:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):68:78 -> a
    12:22:void rewriteRecordFieldValues():61 -> a
    23:23:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> a
    23:23:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):78 -> a
    23:23:void rewriteRecordFieldValues():61 -> a
    24:24:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):80:80 -> a
    24:24:void rewriteRecordFieldValues():61 -> a
    25:25:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95:95 -> a
    25:25:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    25:25:void rewriteRecordFieldValues():61 -> a
    26:34:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):159:167 -> a
    26:34:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    26:34:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    26:34:void rewriteRecordFieldValues():61 -> a
    35:35:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    35:35:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    35:35:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    35:35:void rewriteRecordFieldValues():61 -> a
    36:36:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):167:167 -> a
    36:36:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    36:36:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    36:36:void rewriteRecordFieldValues():61 -> a
    37:37:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    37:37:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):167 -> a
    37:37:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    37:37:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    37:37:void rewriteRecordFieldValues():61 -> a
    38:39:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):168:169 -> a
    38:39:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    38:39:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    38:39:void rewriteRecordFieldValues():61 -> a
    40:40:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):96:96 -> a
    40:40:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    40:40:void rewriteRecordFieldValues():61 -> a
    41:41:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    41:41:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):96 -> a
    41:41:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    41:41:void rewriteRecordFieldValues():61 -> a
    42:54:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):98:110 -> a
    42:54:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    42:54:void rewriteRecordFieldValues():61 -> a
    55:55:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    55:55:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):111 -> a
    55:55:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    55:55:void rewriteRecordFieldValues():61 -> a
    56:68:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):112:124 -> a
    56:68:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    56:68:void rewriteRecordFieldValues():61 -> a
    69:71:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):85:87 -> a
    69:71:void rewriteRecordFieldValues():61 -> a
    72:72:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):86:86 -> a
    72:72:void rewriteRecordFieldValues():61 -> a
    73:90:void splitIfCatchHandlers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.ListIterator):133:150 -> a
com.android.tools.r8.ir.desugar.records.RecordRewriterHelper -> com.android.tools.r8.internal.YP:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():24:24 -> <clinit>
    1:31:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):33:63 -> a
    32:32:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    32:32:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63 -> a
    33:44:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):64:75 -> a
    45:51:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):74:80 -> a
    52:52:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInstanceGet():141:141 -> a
    52:52:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):80 -> a
    53:71:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):80:98 -> a
    72:72:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
    73:73:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic parseInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):106:106 -> a
    74:74:boolean com.android.tools.r8.ir.desugar.records.RecordRewriterHelper.isInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):28:28 -> a
    74:74:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic parseInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):106 -> a
    75:87:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic parseInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):106:118 -> a
com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic -> com.android.tools.r8.internal.XP:
    com.android.tools.r8.graph.DexString methodName -> a
    com.android.tools.r8.graph.DexString fieldNames -> c
    com.android.tools.r8.graph.DexField[] fields -> d
    com.android.tools.r8.graph.DexProto methodProto -> b
    com.android.tools.r8.graph.DexProgramClass recordClass -> e
    1:1:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$1):122:122 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.DexProgramClass):135:140 -> <init>
    1:1:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic withFieldNamesAndFields(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[]):144:144 -> a
    2:2:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic.getFieldNames():160:160 -> a
    2:2:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo computeRecordFieldNamesComputationInfo():172 -> a
    3:3:com.android.tools.r8.graph.DexField[] com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic.getFields():148:148 -> a
    3:3:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo computeRecordFieldNamesComputationInfo():172 -> a
    4:4:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo computeRecordFieldNamesComputationInfo():172:172 -> a
    1:1:com.android.tools.r8.graph.DexString getFieldNames():160:160 -> b
    1:1:com.android.tools.r8.graph.DexField[] getFields():148:148 -> c
    1:1:com.android.tools.r8.graph.DexString getMethodName():164:164 -> d
    1:1:com.android.tools.r8.graph.DexProto getMethodProto():168:168 -> e
    1:1:com.android.tools.r8.graph.DexProgramClass getRecordClass():156:156 -> f
    1:1:com.android.tools.r8.graph.DexType getRecordType():152:152 -> g
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring -> com.android.tools.r8.internal.wW:
    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> b
    java.util.Map paramTypeToAppendMethod -> c
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):56:56 -> <init>
    2:17:void <init>(com.android.tools.r8.graph.AppView):54:69 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$000(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring):49:49 -> a
    2:2:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):82:82 -> a
    3:3:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    3:3:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):82 -> a
    4:8:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):85:89 -> a
    9:19:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcat(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator):105:115 -> a
    9:19:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):90 -> a
    20:27:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcat(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator):112:119 -> a
    20:27:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):90 -> a
    28:28:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):92:92 -> a
    29:30:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):127:128 -> a
    29:30:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    31:31:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    31:31:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):129 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    31:31:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    32:65:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):130:163 -> a
    32:65:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    66:78:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):162:174 -> a
    66:78:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    79:79:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):171:171 -> a
    79:79:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    80:94:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):167:181 -> a
    80:94:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    95:96:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):241:242 -> a
    95:96:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    95:96:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    97:97:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181:181 -> a
    97:97:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    98:98:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":154,"2":155,"3":156}}
    154:154:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):244:244 -> a
    154:154:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    154:154:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    155:155:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):244:244 -> a
    155:155:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    155:155:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    156:156:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):244:244 -> a
    156:156:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    156:156:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    99:99:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):246:246 -> a
    99:99:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    99:99:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    100:100:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):244:244 -> a
    100:100:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    100:100:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    101:134:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):179:212 -> a
    101:134:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    135:140:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):211:216 -> a
    135:140:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    141:141:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":157,"2":158,"3":159}}
    157:157:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    157:157:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    158:158:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    158:158:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    159:159:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    159:159:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    142:145:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):202:205 -> a
    142:145:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    146:146:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    146:146:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    147:147:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":160,"2":161,"3":162}}
    160:160:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    160:160:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    161:161:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    161:161:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    162:162:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    162:162:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    148:150:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):192:194 -> a
    148:150:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    151:151:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    151:151:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    152:152:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):140:140 -> a
    152:152:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    153:153:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):134:134 -> a
    153:153:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    163:163:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):221:221 -> a
    164:173:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.isStringConcatInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexItemFactory):225:234 -> a
    164:173:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):221 -> a
    174:174:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    175:175:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":599,"2":600,"3":601}}
    599:599:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    600:600:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    601:601:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    597:597:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):422:422 -> a
    598:598:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    598:598:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):422 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods access$100(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring):49:49 -> b
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk -> com.android.tools.r8.internal.sW:
    int variableIndex -> c
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,int):376:377 -> <init>
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk asArgumentChunk() -> a
    1:1:int getVariableIndex():381:381 -> d
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk -> com.android.tools.r8.internal.tW:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.graph.DexMethod method -> a
    1:1:void <clinit>():337:337 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):341:342 -> <init>
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk asArgumentChunk() -> a
    1:1:com.android.tools.r8.graph.DexMethod access$200(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk):337:337 -> a
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk asConstantChunk() -> b
    1:1:com.android.tools.r8.ir.code.ValueType getValueType():350:350 -> c
    2:2:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> c
    2:2:com.android.tools.r8.ir.code.ValueType getValueType():350 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> c
    3:3:com.android.tools.r8.ir.code.ValueType getValueType():350 -> c
    4:5:com.android.tools.r8.ir.code.ValueType getValueType():350:351 -> c
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConcatBuilder -> com.android.tools.r8.internal.uW:
    java.util.List chunks -> a
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring this$0 -> e
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk biggestArgumentChunk -> b
    boolean $assertionsDisabled -> f
    int argumentChunksStackSize -> d
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk firstConstantChunk -> c
    1:1:void <clinit>():249:249 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring):257:257 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring):251:255 -> <init>
    1:6:void addChunk(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk):260:265 -> a
    7:9:void addChunk(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk):270:272 -> a
    10:12:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):294:296 -> a
    13:13:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk.isArgumentChunk():0:0 -> a
    13:13:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):296 -> a
    14:16:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):297:299 -> a
    17:24:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):298:305 -> a
    25:28:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):304:307 -> a
    29:29:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk.isArgumentChunk():0:0 -> a
    29:29:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):307 -> a
    30:32:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):308:310 -> a
    33:36:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):309:312 -> a
    37:37:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk.isConstantChunk():0:0 -> a
    37:37:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):312 -> a
    38:54:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):312:328 -> a
    55:59:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):326:330 -> a
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk -> com.android.tools.r8.internal.vW:
    com.android.tools.r8.graph.DexString stringConstant -> c
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexString):400:401 -> <init>
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk asConstantChunk() -> b
    1:1:com.android.tools.r8.graph.DexString getStringConstant():405:405 -> d
com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring -> com.android.tools.r8.internal.TY:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexProto twrCloseResourceProto -> c
    com.android.tools.r8.graph.DexMethod getSuppressed -> e
    com.android.tools.r8.graph.DexMethod addSuppressed -> d
    1:8:void <init>(com.android.tools.r8.graph.AppView):41:48 -> <init>
    1:1:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):61:61 -> a
    2:3:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceInvoke(com.android.tools.r8.cf.code.CfInstruction):187:188 -> a
    2:3:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):64 -> a
    4:4:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceMethod(com.android.tools.r8.graph.DexMethod):192:192 -> a
    4:4:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceInvoke(com.android.tools.r8.cf.code.CfInstruction):188 -> a
    4:4:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):64 -> a
    5:12:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):65:72 -> a
    13:22:java.util.Collection rewriteTwrAddSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):81:90 -> a
    23:23:java.util.Collection rewriteTwrAddSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):84:84 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableList rewriteTwrCloseResourceInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):114:114 -> a
    25:30:com.android.tools.r8.com.google.common.collect.ImmutableList createAndCallSyntheticMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.function.BiConsumer,com.android.tools.r8.graph.ProgramMethod):130:135 -> a
    31:43:com.android.tools.r8.com.google.common.collect.ImmutableList createAndCallSyntheticMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.function.BiConsumer,com.android.tools.r8.graph.ProgramMethod):133:145 -> a
    44:47:void lambda$createAndCallSyntheticMethod$1(com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.synthesis.SyntheticMethodBuilder):140:143 -> a
    48:48:com.android.tools.r8.graph.Code lambda$createAndCallSyntheticMethod$0(java.util.function.BiFunction,com.android.tools.r8.graph.DexMethod):143:143 -> a
    49:49:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):150:150 -> a
    50:51:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceInvoke(com.android.tools.r8.cf.code.CfInstruction):187:188 -> a
    50:51:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):153 -> a
    52:52:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceMethod(com.android.tools.r8.graph.DexMethod):192:192 -> a
    52:52:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceInvoke(com.android.tools.r8.cf.code.CfInstruction):188 -> a
    52:52:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):153 -> a
    53:55:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):153:155 -> a
    56:57:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):159:160 -> a
    58:58:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):164:164 -> a
    58:58:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    59:70:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):170:181 -> a
    59:70:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    59:70:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    71:71:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):176:176 -> a
    71:71:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    71:71:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    72:72:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":76,"2":77,"3":78}}
    76:76:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):176:176 -> a
    76:76:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    76:76:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    77:77:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):176:176 -> a
    77:77:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    77:77:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    78:78:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):176:176 -> a
    78:78:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    78:78:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    73:73:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82,"4":83}}
    80:80:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    80:80:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    80:80:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    81:81:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    81:81:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    81:81:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    82:82:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    82:82:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    82:82:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    83:83:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    83:83:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    83:83:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    74:74:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    74:74:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178 -> a
    74:74:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    74:74:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    75:75:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    75:75:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    75:75:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    1:4:java.util.Collection rewriteTwrGetSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):96:99 -> b
    5:13:java.util.Collection rewriteTwrGetSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):98:106 -> b
    14:14:java.util.Collection rewriteTwrGetSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):100:100 -> b
com.android.tools.r8.ir.optimize.AssertionsRewriter -> com.android.tools.r8.internal.C3:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString kotlinTransformation -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString defaultConfiguration -> c
    java.util.List configuration -> d
    boolean enabled -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():43:43 -> <clinit>
    1:20:void <init>(com.android.tools.r8.graph.AppView):117:136 -> <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):133:133 -> a
    2:2:boolean isEnabled(com.android.tools.r8.utils.InternalOptions):142:142 -> a
    3:8:boolean com.android.tools.r8.utils.AssertionConfigurationWithDefault.isPassthroughAll():31:36 -> a
    3:8:boolean isEnabled(com.android.tools.r8.utils.InternalOptions):143 -> a
    9:9:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString com.android.tools.r8.ir.optimize.AssertionsRewriter.getTransformationForMethod(com.android.tools.r8.graph.DexEncodedMethod):147:147 -> a
    9:9:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):349 -> a
    10:31:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):350:371 -> a
    32:32:java.util.LinkedList com.android.tools.r8.ir.code.IRCode.getBlocks():1350:1350 -> a
    32:32:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):372 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:62:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):372:401 -> a
    63:63:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    63:63:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):403 -> a
    64:69:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):404:409 -> a
    70:83:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):479:492 -> a
    70:83:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    84:84:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    84:84:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):493 -> a
    84:84:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    85:86:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):494:495 -> a
    85:86:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    87:87:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    87:87:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):497 -> a
    87:87:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    88:88:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):498:498 -> a
    88:88:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    89:89:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    89:89:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):499 -> a
    89:89:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    90:92:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):500:502 -> a
    90:92:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    93:93:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    93:93:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):503 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:93:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    94:94:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    94:94:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):503 -> a
    94:94:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    95:95:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):507:507 -> a
    95:95:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    96:96:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    96:96:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):507 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    96:96:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    97:97:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    97:97:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):506 -> a
    97:97:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    98:98:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):412:412 -> a
    99:99:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    99:99:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):412 -> a
    100:104:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):415:419 -> a
    105:105:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    105:105:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):421 -> a
    106:114:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):422:430 -> a
    115:115:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):429:429 -> a
    116:116:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    116:116:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):428 -> a
    117:122:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):434:439 -> a
    123:123:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):438:438 -> a
    124:124:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    124:124:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):437 -> a
    125:133:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):445:453 -> a
    134:134:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    134:134:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):453 -> a
    135:143:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):455:463 -> a
    144:144:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    144:144:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):459 -> a
    145:145:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):464:464 -> a
    146:147:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
    146:147:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):464 -> a
    148:150:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):465:467 -> a
    151:175:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType) -> a
    176:179:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):167:170 -> a
    180:203:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter.isDescriptorForClassOrInnerClass(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):191:214 -> a
    180:203:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):170 -> a
    204:205:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):158:159 -> a
    206:206:boolean com.android.tools.r8.graph.DexString.contains(com.android.tools.r8.graph.DexString):466:466 -> a
    206:206:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):159 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    207:212:boolean com.android.tools.r8.graph.DexString.contains(com.android.tools.r8.graph.DexString):466:471 -> a
    207:212:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):159 -> a
    213:213:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):162:162 -> a
    214:214:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    214:214:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):162 -> a
    215:215:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):178:178 -> a
    216:220:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):340:344 -> a
    221:221:com.android.tools.r8.ir.code.DominatorTree lambda$runInternal$1(com.android.tools.r8.ir.code.IRCode):371:371 -> a
    222:222:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
    222:222:com.android.tools.r8.ir.code.DominatorTree lambda$runInternal$1(com.android.tools.r8.ir.code.IRCode):371 -> a
    223:230:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):375:382 -> a
    231:236:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):381:386 -> a
    237:237:java.util.List com.android.tools.r8.ir.code.DominatorTree.dominatedBlocks(com.android.tools.r8.ir.code.BasicBlock):171:171 -> a
    237:237:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):386 -> a
    238:253:com.android.tools.r8.ir.code.Throw com.android.tools.r8.ir.optimize.AssertionsRewriter.isAlwaysThrowingEntry(com.android.tools.r8.ir.code.BasicBlock,java.util.List):545:560 -> a
    238:253:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):387 -> a
    254:256:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):389:391 -> a
    257:257:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):390:390 -> a
    258:259:boolean isUsingJavaAssertionsDisabledField(com.android.tools.r8.ir.code.FieldInstruction):519:520 -> a
    260:268:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):528:536 -> a
    269:269:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter.isUsingAssertionsControlField(com.android.tools.r8.ir.code.FieldInstruction):512:512 -> a
    269:269:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):537 -> a
    270:270:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter.isUsingKotlinAssertionsEnabledField(com.android.tools.r8.ir.code.FieldInstruction):524:524 -> a
    270:270:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter.isUsingAssertionsControlField(com.android.tools.r8.ir.code.FieldInstruction):513 -> a
    270:270:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):537 -> a
    271:271:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):538:538 -> a
    272:272:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():353:353 -> a
    272:272:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):538 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    273:273:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():353:353 -> a
    273:273:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):538 -> a
    274:274:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):539:539 -> a
com.android.tools.r8.ir.optimize.AssertionsRewriter$1 -> com.android.tools.r8.internal.A3:
    int[] $SwitchMap$com$android$tools$r8$AssertionsConfiguration$AssertionTransformationScope -> a
    1:1:void <clinit>():53:53 -> <clinit>
com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString -> com.android.tools.r8.internal.B3:
    com.android.tools.r8.graph.DexString value -> b
    com.android.tools.r8.AssertionsConfiguration entry -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():45:45 -> <clinit>
    1:1:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.optimize.AssertionsRewriter$1):45:45 -> <init>
    2:35:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):51:84 -> <init>
    36:36:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":190,"2":191,"3":192}}
    190:190:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):70:70 -> <init>
    191:191:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):70:70 -> <init>
    192:192:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):70:70 -> <init>
    110:111:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):74:75 -> <init>
    112:112:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):71:71 -> <init>
    113:114:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):55:56 -> <init>
    115:115:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":193,"2":194,"3":195}}
    193:193:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    194:194:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    195:195:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    177:178:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):62:63 -> <init>
    179:179:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):59:59 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration access$100(com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString):45:45 -> a
    2:2:com.android.tools.r8.references.MethodReference getAssertionHandler():105:105 -> a
    3:3:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString.isAssertionHandler():101:101 -> a
    3:3:com.android.tools.r8.references.MethodReference getAssertionHandler():105 -> a
    4:5:com.android.tools.r8.references.MethodReference getAssertionHandler():105:106 -> a
    1:1:com.android.tools.r8.graph.DexString access$200(com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString):45:45 -> b
    2:2:boolean isAssertionHandler():101:101 -> b
    1:1:boolean isCompileTimeDisabled():93:93 -> c
    1:1:boolean isCompileTimeEnabled():89:89 -> d
    1:1:boolean isPassthrough():97:97 -> e
com.android.tools.r8.ir.optimize.AssumeInserter -> com.android.tools.r8.internal.T3:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():62:62 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):66:67 -> <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):71:71 -> 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):79:79 -> a
    3:3:void com.android.tools.r8.ir.optimize.AssumeInserter.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:89 -> 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):80 -> a
    4:11:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate):122:129 -> a
    4:11:void com.android.tools.r8.ir.optimize.AssumeInserter.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):90 -> 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):80 -> a
    12:12:void com.android.tools.r8.ir.optimize.AssumeInserter.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):91:91 -> 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):80 -> a
    13:13:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():803:803 -> a
    13:13:void com.android.tools.r8.ir.optimize.AssumeInserter.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):92 -> 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):80 -> a
    14:21:void com.android.tools.r8.ir.optimize.AssumeInserter.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):96:103 -> 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):80 -> a
    22:22:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():803:803 -> a
    22:22:void com.android.tools.r8.ir.optimize.AssumeInserter.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):104 -> 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):80 -> a
    23:23:void com.android.tools.r8.ir.optimize.AssumeInserter.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:108 -> 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):80 -> a
    24:24:void com.android.tools.r8.ir.optimize.AssumeInserter.removeRedundantDominatedAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,java.util.Map):489:489 -> a
    24:24:void com.android.tools.r8.ir.optimize.AssumeInserter.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):109 -> 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):80 -> a
    25:25:void com.android.tools.r8.ir.optimize.AssumeInserter.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):110:110 -> 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):80 -> a
    26:26:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():803:803 -> a
    26:26:void com.android.tools.r8.ir.optimize.AssumeInserter.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):111 -> 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):80 -> a
    27:29:void com.android.tools.r8.ir.optimize.AssumeInserter.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):115:117 -> 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):80 -> 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):81:81 -> 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):142:161 -> 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):160:165 -> a
    57:73:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):284:300 -> a
    57: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):165 -> a
    74:74:boolean com.android.tools.r8.shaking.ProguardMemberRuleReturnValue.isNonNull():64:64 -> a
    74:74:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):300 -> a
    74:74: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):165 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    75:75:boolean com.android.tools.r8.shaking.ProguardMemberRuleReturnValue.isNonNull():64:64 -> a
    75:75:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):300 -> a
    75:75: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):165 -> a
    76:82:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):301:307 -> a
    76: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):165 -> a
    83:83:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):306:306 -> a
    83:83: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):165 -> a
    84:89: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):174:179 -> a
    90:90:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.peekPrevious():28:28 -> a
    90: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):179 -> a
    91:101: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):179:189 -> a
    102:102:boolean com.android.tools.r8.ir.code.If.isNullTest():94:94 -> a
    102:102:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():98 -> a
    102:102: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):190 -> a
    103:103:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():98:98 -> a
    103:103: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):190 -> a
    104:108: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):191:195 -> a
    109:115: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):202:208 -> a
    116:122:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesFromArrayClone(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):217:223 -> a
    116:122: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 -> a
    123:123:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    123:123:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    123:123:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesFromArrayClone(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):223 -> a
    123:123: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 -> a
    124:124:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    124:124:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesFromArrayClone(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):223 -> a
    124:124: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 -> a
    125:125:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesFromArrayClone(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):224:224 -> a
    125:125: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 -> a
    126:126: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):212:212 -> a
    127:150:boolean computeAssumedValuesForOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):314:337 -> a
    151:151:void removeRedundantAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):344:344 -> a
    152:155:java.util.Map computeDominanceForAssumedValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):384:387 -> a
    156: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):390:392 -> a
    159:159:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.hasDynamicTypeInfo():700:700 -> a
    159:159:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isSubsumedBy(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):733 -> 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):394 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    160:160:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isSubsumedBy(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):733:733 -> 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):394 -> a
    161:161:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.unknown():954:954 -> a
    161:161:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.redundant():945 -> 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):397 -> a
    162:162:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):737:737 -> 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):401 -> a
    163:163:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setNotNull():729:729 -> a
    163:163:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):738 -> 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):401 -> a
    164:164:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.hasDynamicTypeInfo():700:700 -> a
    164:164:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):740 -> 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):401 -> a
    165:165:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):708:708 -> a
    165:165:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):741 -> 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):401 -> a
    166:166: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):406:406 -> a
    167:167:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():933:933 -> a
    167:167: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):407 -> a
    168:184: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):414:430 -> a
    185:185:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everythingElse():937:937 -> a
    185:185: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):436 -> a
    186:190:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):626:630 -> a
    186:190: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):441 -> a
    191:191: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":688,"2":689,"3":690}}
    688:688:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    688:688: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):441 -> a
    689:689:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    689:689: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):441 -> a
    690:690:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    690:690: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):441 -> a
    634:637: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):443:443 -> a
    644:646: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):450:452 -> a
    647:647: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):929:929 -> a
    647:647: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):455 -> a
    648:666: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):456:474 -> a
    667:672:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.AssumeInserter.findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):638:643 -> a
    667:672: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):476 -> a
    673:673:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    673:673:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.AssumeInserter.findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):643 -> a
    673:673: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):476 -> a
    674:682:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.AssumeInserter.findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):645:653 -> a
    674:682: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):476 -> a
    683:687: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):477:481 -> a
    691:691:java.util.Set lambda$computeDominanceForAssumedValues$3(com.android.tools.r8.ir.code.DominatorTree,com.android.tools.r8.ir.code.BasicBlock):453:453 -> a
    692:692:java.util.Map lambda$computeDominanceForAssumedValues$5(com.android.tools.r8.ir.code.Instruction):470:470 -> a
    693:693:boolean lambda$materializeAssumeInstructions$7(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):524:524 -> a
    694:694:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    694:694:boolean lambda$materializeAssumeInstructions$7(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):524 -> a
    695:701:void lambda$materializeAssumeInstructions$9(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.Map):533:539 -> a
    702:702: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):554:554 -> a
    703:707: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):556:560 -> a
    708:712:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):626:630 -> a
    708:712: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 -> a
    713:713: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":780,"2":781,"3":782}}
    780:780:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    780:780: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 -> a
    781:781:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    781:781: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 -> a
    782:782:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    782:782: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 -> a
    714:714:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDominance():692:692 -> a
    714:714: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):563 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    715:716:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isNull():720:721 -> a
    715:716: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):565 -> a
    717:722: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):566:571 -> a
    723:728: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):567:572 -> a
    729:729:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    729:729: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):572 -> a
    730:730: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):573:573 -> a
    731:731:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverythingElse():0:0 -> a
    731:731: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):574 -> a
    732:733: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):575:576 -> a
    734:734:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isSomething():0:0 -> a
    734:734: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):577 -> a
    735:752: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):578:595 -> a
    753:758: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):592:597 -> a
    759:760:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isNull():720:721 -> a
    759:760: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):600 -> a
    761:779: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):601:619 -> a
    783:788: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):583:588 -> a
    789:789:java.util.Map lambda$materializeSelectedAssumeInstructions$12(com.android.tools.r8.ir.code.BasicBlock):617:617 -> a
    790:791:boolean com.android.tools.r8.ir.optimize.AssumeInserter.isNullableReferenceType(com.android.tools.r8.ir.code.Value):662:663 -> a
    790:791:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):668 -> a
    792:795:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):669:672 -> a
    796:796:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.hasDynamicTypeInfo():700:700 -> a
    796:796: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):347 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    797:805: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):351:359 -> a
    806:806: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):798:798 -> a
    806:806: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):365 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    807:808: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):798:799 -> a
    807:808: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):365 -> a
    809:809: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):370:370 -> a
    810:810:com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDynamicTypeAssumption():704:704 -> a
    810:810: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):374 -> a
    811:811:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):708:708 -> a
    811:811: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):373 -> a
    boolean lambda$materializeSelectedAssumeInstructions$10(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> b
    1:12: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):230:241 -> b
    13:20:com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfoLookup.lookupAssumeInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClassAndMethod):22:29 -> b
    13:20: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
    21:22: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):244:245 -> b
    23:23:boolean com.android.tools.r8.shaking.ProguardMemberRuleReturnValue.isNonNull():64:64 -> b
    23:23: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):245 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:boolean com.android.tools.r8.shaking.ProguardMemberRuleReturnValue.isNonNull():64:64 -> b
    24:24: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):245 -> b
    25:40: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):246:261 -> b
    41:54: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):260:273 -> b
    55:55:boolean lambda$computeDominanceForAssumedValues$1(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):420:420 -> b
    56:107:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):493:544 -> b
    108:108:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
    108:108:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):544 -> b
    109:109:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):544:544 -> b
    110:110:boolean lambda$materializeAssumeInstructions$8(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):530:530 -> b
    111:111:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> b
    111:111:boolean lambda$materializeAssumeInstructions$8(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):530 -> b
    112:112:java.util.List lambda$materializeSelectedAssumeInstructions$13(com.android.tools.r8.ir.code.Instruction):618:618 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance -> com.android.tools.r8.internal.K3:
    1:1:void <init>():902:902 -> <init>
    com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance asSomething() -> a
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance$Builder -> com.android.tools.r8.internal.J3:
    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>():957:957 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$1):957:957 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Value):964:964 -> <init>
    3:7:void <init>(com.android.tools.r8.ir.code.Value):961:965 -> <init>
    1:3:void addDominatedUser(com.android.tools.r8.ir.code.Instruction):969:971 -> a
    4:6:void addDominatedPhiUser(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):975:977 -> a
    7:7:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():981:981 -> a
    8:8:com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.nothing():941:941 -> a
    8:8:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():982 -> a
    9:11:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():984:984 -> a
    13:13:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():986:986 -> 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):950:950 -> a
    14:14:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():986 -> a
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo -> com.android.tools.r8.internal.L3:
    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
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():681:681 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):687:688 -> <init>
    1:1:boolean isNonNull():725:725 -> a
    1:1:void setNotNull():729:729 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues -> com.android.tools.r8.internal.N3:
    java.util.Map assumedValues -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():746:746 -> <clinit>
    1:2:void <init>(java.util.Map):755:756 -> <init>
    1:14:void computeDominance(com.android.tools.r8.utils.TriFunction):765:778 -> a
    15:15:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    15:15:void computeDominance(com.android.tools.r8.utils.TriFunction):778 -> a
    16:20:void computeDominance(com.android.tools.r8.utils.TriFunction):779:783 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isUnknown():0:0 -> a
    21:21:void computeDominance(com.android.tools.r8.utils.TriFunction):783 -> a
    22:24:void computeDominance(com.android.tools.r8.utils.TriFunction):783:785 -> a
    25:25:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isNothing():0:0 -> a
    25:25:void computeDominance(com.android.tools.r8.utils.TriFunction):785 -> a
    26:26:void computeDominance(com.android.tools.r8.utils.TriFunction):785:785 -> a
    27:27:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isUnknown():0:0 -> a
    27:27:void computeDominance(com.android.tools.r8.utils.TriFunction):785 -> a
    28:28:void computeDominance(com.android.tools.r8.utils.TriFunction):786:786 -> a
    29:29:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDominance(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):696:696 -> a
    29:29:void computeDominance(com.android.tools.r8.utils.TriFunction):788 -> a
    30:31:void computeDominance(com.android.tools.r8.utils.TriFunction):791:792 -> a
    32:32:boolean lambda$computeDominance$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):780:780 -> a
    33:33:void removeAll(java.util.Map):815:815 -> a
    34:38:void lambda$removeAll$3(com.android.tools.r8.ir.code.Instruction,java.util.Map):817:821 -> a
    39:56:void removeIf(com.android.tools.r8.utils.TriPredicate):828:845 -> a
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder -> com.android.tools.r8.internal.M3:
    java.util.Map assumedValues -> a
    java.util.Set nonNullValuesKnownToDominateAllUsers -> b
    1:7:void <init>():850:856 -> <init>
    1:5: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):863:867 -> a
    6:6:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    6:6: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):868 -> a
    7:8: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):868:869 -> a
    9:9:java.util.Map lambda$updateAssumedValueInfo$0(com.android.tools.r8.ir.code.Instruction):865:865 -> a
    10:10: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):866:866 -> a
    11:11:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):879:879 -> a
    12:14:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):712:714 -> a
    12:14:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):879 -> a
    15:15:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setNotNull():729:729 -> a
    15:15:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):715 -> a
    15:15:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):879 -> a
    16:16:boolean isMaybeNull(com.android.tools.r8.ir.code.Value):893:893 -> a
    17:17:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues build():897:897 -> a
    18:18:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():933:933 -> a
    18:18:void addAssumedValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):878 -> a
    19:19:void addAssumedValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):878:878 -> a
    20:20:void addAssumedValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):875:875 -> a
    21:21:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():933:933 -> a
    21:21:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):884 -> a
    22:22:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):884:884 -> a
    23:23:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):883:883 -> a
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.unknown():954:954 -> b
    1:1:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):889 -> b
    2:2:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):889:889 -> b
    3:3:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):888:888 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance -> com.android.tools.r8.internal.O3:
    com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance INSTANCE -> a
    1:1:void <clinit>():993:993 -> <clinit>
    1:1:void <init>():995:995 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance getInstance():998:998 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance -> com.android.tools.r8.internal.P3:
    com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance INSTANCE -> a
    1:1:void <clinit>():1009:1009 -> <clinit>
    1:1:void <init>():1012:1012 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance getInstance():1015:1015 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance -> com.android.tools.r8.internal.Q3:
    com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance INSTANCE -> a
    1:1:void <clinit>():1026:1026 -> <clinit>
    1:1:void <init>():1028:1028 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance getInstance():1031:1031 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance -> com.android.tools.r8.internal.R3:
    java.util.Map dominatedPhiUsers -> b
    java.util.Set dominatedUsers -> a
    1:3:void <init>(java.util.Set,java.util.Map):1046:1048 -> <init>
    com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance asSomething() -> a
    1:1:java.util.Map getDominatedPhiUsers():1056:1056 -> b
    1:1:java.util.Set getDominatedUsers():1052:1052 -> c
com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance -> com.android.tools.r8.internal.S3:
    com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance INSTANCE -> a
    1:1:void <clinit>():1072:1072 -> <clinit>
    1:1:void <init>():1074:1074 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance getInstance():1077:1077 -> b
com.android.tools.r8.ir.optimize.AssumeRemover -> com.android.tools.r8.internal.U3:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set affectedValues -> c
    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,java.util.Set):45:45 -> <init>
    2:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.Set):37:48 -> <init>
    1:3:void markUnusedAssumeValuesForRemoval(java.util.Collection):72:74 -> a
    4:4:void com.android.tools.r8.ir.optimize.AssumeRemover.markForRemoval(com.android.tools.r8.ir.code.Assume):80:80 -> a
    4:4:void markUnusedAssumeValuesForRemoval(java.util.Collection):74 -> a
    5:19:void removeIfMarked(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.code.InstructionListIterator):85:99 -> a
    20:28:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):108:116 -> a
    29:29:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    29:29:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):116 -> a
    30:30:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):117:117 -> a
    31:32:void finish():126:127 -> a
    33:33:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    33:33:void finish():127 -> a
    34:34:void finish():127:127 -> a
    35:35:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    35:35:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):60 -> a
    36:36:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    36:36:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:38:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):60:61 -> a
    39:39:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    39:39:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):61 -> a
    40:42:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):62:64 -> a
    43:43:void com.android.tools.r8.ir.optimize.AssumeRemover.markForRemoval(com.android.tools.r8.ir.code.Assume):80:80 -> a
    43:43:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):65 -> a
    1:1:java.util.Set getAffectedValues():52:52 -> b
    1:1:boolean mayHaveIntroducedTrivialPhi():56:56 -> c
com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence -> com.android.tools.r8.internal.C4:
    com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> a
    int[] hashes -> b
    boolean $assertionsDisabled -> c
    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:1:boolean doEquivalent(java.lang.Object,java.lang.Object):16:16 -> a
    2:2:int doHash(java.lang.Object):16:16 -> a
    3:9:int com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.doHash(com.android.tools.r8.ir.code.BasicBlock):79:85 -> a
    3:9:int doHash(java.lang.Object):16 -> a
    10:33:boolean com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.hasIdenticalInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):29:52 -> a
    10:33:boolean doEquivalent(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):70 -> a
    34:38:boolean com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.verifyAllSuccessors(java.util.List,java.util.List):57:61 -> a
    34:38:boolean com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.hasIdenticalInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):52 -> a
    34:38:boolean doEquivalent(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):70 -> a
    39:39:boolean com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.hasIdenticalInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):52:52 -> a
    39:39:boolean doEquivalent(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):70 -> a
    40:40:void clearComputedHash(com.android.tools.r8.ir.code.BasicBlock):74:74 -> a
    1:12:int computeHash(com.android.tools.r8.ir.code.BasicBlock):90:101 -> b
com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization -> com.android.tools.r8.internal.X9:
    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>():62:62 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):128:128 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):126:131 -> <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):135:205 -> a
    72:72:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> 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):209 -> 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):210:236 -> a
    100:100:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> 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):237 -> 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):237:237 -> a
    102:105:void com.android.tools.r8.utils.IteratorUtils.removeIf(java.util.Iterator,java.util.function.Predicate):140:143 -> a
    102:105:void com.android.tools.r8.utils.IteratorUtils.removeIf(com.android.tools.r8.ir.code.InstructionListIterator,java.util.function.Predicate):155 -> a
    102:105:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):237 -> a
    106:159:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):243:296 -> a
    160:164: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):167:171 -> a
    165:189:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):300:324 -> a
    165:189: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):171 -> a
    190:227:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):328:365 -> a
    190:227:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):324 -> a
    190: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):171 -> a
    228:228: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
    228:228:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):365 -> a
    228:228:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):324 -> 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):171 -> a
    229:231:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):365:367 -> a
    229:231:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):324 -> a
    229:231: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):171 -> a
    232:232: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):171:171 -> a
    233:233:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):367:367 -> a
    233:233:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):324 -> a
    233:233: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):171 -> a
    234:242: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:180 -> a
    243:243:boolean com.android.tools.r8.ir.code.ConstNumber.getBooleanValue():82:82 -> a
    243:243: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):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    244: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):181:197 -> a
    261:264: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:176 -> a
    265:265:com.android.tools.r8.graph.DexField lambda$optimize$1(com.android.tools.r8.graph.DexEncodedField):256:256 -> a
    266:266:void lambda$optimize$2(java.util.Set,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):274:274 -> a
    267:268:void lambda$optimize$3():282:283 -> a
    269:269:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> a
    269:269:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):373 -> a
    270:270:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> a
    270:270:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):374 -> a
    271:281:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):375:385 -> a
    282:282:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):629:629 -> a
    282:282:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):386 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    283:388:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):387:492 -> a
    389:389:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    389:389:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):389 -> a
    390:492:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set) -> a
    493:587:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):398:492 -> a
    588:593:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):405:410 -> a
    594:598:boolean com.android.tools.r8.ir.code.Value.isDexItemBasedConstStringThatNeedsToComputeClassName():820:824 -> a
    594:598:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):415 -> a
    599:624:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):418:443 -> a
    625:632:boolean com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.StaticPut):526:533 -> a
    625:632:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):443 -> a
    633:680:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):445:492 -> a
    681:706:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):467:492 -> a
    707:726:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):473:492 -> a
    727:734:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):487:494 -> a
    735:735:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):492:492 -> a
    736:736:java.util.Set lambda$findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts$4(com.android.tools.r8.graph.DexField):461:461 -> a
    737:737:java.util.Map validateFinalFieldPuts(java.util.Map,java.util.Map):519:519 -> a
    738:740:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):537:539 -> a
    741:741:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    741:741:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):539 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    742:742:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    742:742:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):539 -> a
    743:745:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):542:544 -> a
    746:746:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    746:746:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):544 -> a
    747:748:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):544:545 -> a
com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult -> com.android.tools.r8.internal.V9:
    java.util.Map fieldsWithStaticValues -> a
    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult EMPTY -> b
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():64: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:9:com.android.tools.r8.graph.DexValue getStaticValue(com.android.tools.r8.graph.DexEncodedField):94:99 -> a
    1:3:boolean hasStaticValue(com.android.tools.r8.graph.DexEncodedField):86:88 -> b
com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction -> com.android.tools.r8.internal.W9:
    java.util.Map fieldsWithStaticValues -> b
    1:1:void <init>(java.util.Map):107:107 -> <init>
    2:5:void <init>(java.util.Map):105:108 -> <init>
    1:1:void join(java.util.Map):112:112 -> a
    2:2:void execute():118:118 -> a
com.android.tools.r8.ir.optimize.CodeRewriter -> com.android.tools.r8.internal.Cb:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> c
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():150:150 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):167:170 -> <init>
    boolean lambda$computeConstantArrayValues$8(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:boolean lambda$removedTrivialGotos$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):244:244 -> a
    2:2:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):496:496 -> a
    3:3:boolean com.android.tools.r8.ir.code.IRCode.hasCatchHandlers():677:677 -> a
    3:3:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):496 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:boolean com.android.tools.r8.ir.code.IRCode.hasCatchHandlers():677:678 -> a
    4:5:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):496 -> a
    6:17:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):503:514 -> a
    18:18:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    18:18:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):515 -> a
    19:26:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):516:523 -> a
    27:61: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):675:709 -> a
    62:62:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    62:62: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):709 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    63:63:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    63:63: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):709 -> a
    64:64:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):539:539 -> a
    64:64: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):709 -> a
    65:79: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):710:724 -> a
    80:80:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    80:80: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):725 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    81:81:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    81:81: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):725 -> a
    82:82:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):539:539 -> a
    82:82: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):725 -> a
    83:92: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):726:735 -> a
    93:106: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):785:798 -> a
    107:107: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):795:795 -> a
    108:119:void tryAddToBiggestSavings(java.util.Set,java.util.PriorityQueue,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,int):808:819 -> a
    120:120:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):824:824 -> a
    121:121:int com.android.tools.r8.ir.code.If.estimatedSize(com.android.tools.r8.utils.InternalOutputMode):160:160 -> a
    121:121:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):824 -> a
    122:125:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):824:827 -> a
    126:126:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    126:126:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    126:126:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():32 -> a
    126:126:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):829 -> a
    127:127:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):829:829 -> a
    128:128:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    128:128:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    128:128:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):829 -> a
    129:131:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):829:831 -> a
    132:139:void rewriteSingleKeySwitchToIf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1051:1058 -> a
    140:140:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IntSwitch.materializeFirstKey(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56:56 -> a
    140:140:void rewriteSingleKeySwitchToIf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1060 -> a
    141:141:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    141:141:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IntSwitch.materializeFirstKey(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    141:141:void rewriteSingleKeySwitchToIf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1060 -> a
    142:149:void rewriteSingleKeySwitchToIf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1061:1068 -> a
    150:176: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):1077:1103 -> a
    177:177:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    177:177: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):1103 -> a
    178:192: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):1104:1118 -> a
    193:193:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    193:193: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):1118 -> a
    194:229: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):1120:1155 -> a
    230:230:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    230:230: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):1155 -> a
    231:231: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):1157:1157 -> a
    232:242:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):843:853 -> a
    232:242: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):1158 -> a
    243:243:int com.android.tools.r8.ir.optimize.CodeRewriter.codeUnitMargin():838:838 -> a
    243:243:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):854 -> a
    243:243: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):1158 -> a
    244:245:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):856:857 -> a
    244:245: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):1158 -> a
    246:246: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
    246:246:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):857 -> a
    246:246: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):1158 -> a
    247:258:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):863:874 -> a
    247:258: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):1158 -> a
    259:259:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    259:259:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):874 -> a
    259:259: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):1158 -> a
    260:265:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):875:880 -> a
    260:265: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):1158 -> a
    266:266:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    266:266:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    266:266:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):880 -> a
    266:266: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):1158 -> a
    267:267:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    267:267:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    267:267:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):880 -> a
    267:267: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):1158 -> a
    268:289:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):883:904 -> a
    268:289: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):1158 -> a
    290:290:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    290:290:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    290:290:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):904 -> a
    290:290: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):1158 -> a
    291:291:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    291:291:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    291:291:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):904 -> a
    291:291: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):1158 -> a
    292:306:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):908:922 -> a
    292:306: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):1158 -> a
    307:307:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    307:307:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    307:307:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):922 -> a
    307:307: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):1158 -> a
    308:308:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    308:308:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    308:308:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):922 -> a
    308:308: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):1158 -> a
    309:309:int com.android.tools.r8.ir.optimize.CodeRewriter.codeUnitMargin():838:838 -> a
    309:309:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):923 -> a
    309:309: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):1158 -> a
    310:310:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):924:924 -> a
    310:310: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):1158 -> a
    311:311: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
    311:311:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):925 -> a
    311:311: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):1158 -> a
    312:312:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):930:930 -> a
    312:312: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):1158 -> a
    313:319: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):1162:1168 -> a
    320:320:int com.android.tools.r8.ir.optimize.CodeRewriter.codeUnitMargin():838:838 -> a
    320:320: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):1169 -> a
    321:321: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):1170:1170 -> a
    322:322: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):1099:1099 -> a
    323:338:boolean disableSwitchToIfRewritingForClassIdComparisons(com.android.tools.r8.ir.code.IntSwitch):1178:1193 -> a
    339:339:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1251:1251 -> a
    340:340:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    340:340:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1251 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    341:351:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1252:1262 -> a
    352:352:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":417,"2":418,"3":419}}
    417:417:void com.android.tools.r8.ir.optimize.CodeRewriter.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):406:406 -> a
    417:417:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    418:418:void com.android.tools.r8.ir.optimize.CodeRewriter.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):406:406 -> a
    418:418:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    419:419:void com.android.tools.r8.ir.optimize.CodeRewriter.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):406:406 -> a
    419:419:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    353:353:void com.android.tools.r8.ir.optimize.CodeRewriter.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):410:410 -> a
    353:353:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    354:354:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":430,"2":431,"3":432}}
    430:430:void com.android.tools.r8.ir.optimize.CodeRewriter.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):417:417 -> a
    430:430:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    431:431:void com.android.tools.r8.ir.optimize.CodeRewriter.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):417:417 -> a
    431:431:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    432:432:void com.android.tools.r8.ir.optimize.CodeRewriter.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):417:417 -> a
    432:432:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    355:355:void com.android.tools.r8.ir.optimize.CodeRewriter.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):424:424 -> a
    355:355:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    356:357:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):394:395 -> a
    356:357:void com.android.tools.r8.ir.optimize.CodeRewriter.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):424 -> a
    356:357:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    358:359:void com.android.tools.r8.ir.optimize.CodeRewriter.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):428:429 -> a
    358:359:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    360:360:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1265:1265 -> a
    361:378:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):449:466 -> a
    361:378:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    379:379:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":433,"2":434,"3":435}}
    433:433:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):467:467 -> a
    433:433:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    434:434:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):467:467 -> a
    434:434:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    435:435:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):467:467 -> a
    435:435:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    380:380:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):467:467 -> a
    380:380:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    381:381:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1268:1268 -> a
    382:395:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseNonFallthroughSwitchTargets(com.android.tools.r8.ir.code.BasicBlock):473:486 -> a
    382:395:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1269 -> a
    396:404:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1273:1281 -> a
    405:405:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":436,"2":437,"3":438}}
    436:436:void com.android.tools.r8.ir.optimize.CodeRewriter.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):406:406 -> a
    436:436:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    437:437:void com.android.tools.r8.ir.optimize.CodeRewriter.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):406:406 -> a
    437:437:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    438:438:void com.android.tools.r8.ir.optimize.CodeRewriter.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):406:406 -> a
    438:438:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    406:406:void com.android.tools.r8.ir.optimize.CodeRewriter.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):410:410 -> a
    406:406:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    407:407:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":449,"2":450,"3":451}}
    449:449:void com.android.tools.r8.ir.optimize.CodeRewriter.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):417:417 -> a
    449:449:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    450:450:void com.android.tools.r8.ir.optimize.CodeRewriter.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):417:417 -> a
    450:450:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    451:451:void com.android.tools.r8.ir.optimize.CodeRewriter.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):417:417 -> a
    451:451:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    408:408:void com.android.tools.r8.ir.optimize.CodeRewriter.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):424:424 -> a
    408:408:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    409:410:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):394:395 -> a
    409:410:void com.android.tools.r8.ir.optimize.CodeRewriter.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):424 -> a
    409:410:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    411:412:void com.android.tools.r8.ir.optimize.CodeRewriter.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):428:429 -> a
    411:412:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    413:415:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286:1288 -> a
    416:416:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    416:416:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1289 -> a
    452:485:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1392:1425 -> a
    486:486:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    486:486:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1425 -> a
    487:487:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1426:1426 -> a
    488:488:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    488:488:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1427 -> a
    489:496:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1429:1436 -> a
    497:508:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1482:1493 -> a
    497:508:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    509:509:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    509:509:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1493 -> a
    509:509:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    510:510:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    510:510:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1493 -> a
    510:510:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    511:528:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1494:1511 -> a
    511:528:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    529:529:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    529:529:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1511 -> a
    529:529:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    530:530:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1513:1513 -> a
    530:530:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    531:531:boolean com.android.tools.r8.ir.analysis.type.Nullability.lessThanOrEqual(com.android.tools.r8.ir.analysis.type.Nullability):83:83 -> a
    531:531:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1513 -> a
    531:531:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    532:559:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1513:1540 -> a
    532:559:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    560:560:boolean com.android.tools.r8.graph.DexType.isAlwaysNull(com.android.tools.r8.graph.AppView):153:153 -> a
    560:560:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1541 -> a
    560:560:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    561:561:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1542:1542 -> a
    561:561:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    562:562:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    562:562:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1544 -> a
    562:562:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    563:574:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1545:1556 -> a
    563:574:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    575:575:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    575:575:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1556 -> a
    575:575:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    576:576:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1557:1557 -> a
    576:576:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    577:577:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    577:577:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1557 -> a
    577:577:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    578:579:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1557:1558 -> a
    578:579:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    580:580:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    580:580:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1558 -> a
    580:580:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    581:583:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1558:1560 -> a
    581:583:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    584:584:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    584:584:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1561 -> a
    584:584:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    585:585:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1562:1562 -> a
    585:585:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    586:586:boolean com.android.tools.r8.ir.code.Instruction.isSafeCheckCast():0:0 -> a
    586:586:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1568 -> a
    586:586:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    587:588:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1570:1571 -> a
    587:588:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    589:589:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    589:589:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1571 -> a
    589:589:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    590:594:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1572:1576 -> a
    590:594:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    595:595:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    595:595:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1586 -> a
    595:595:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    596:597:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1586:1587 -> a
    596:597:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    598:601:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1444:1447 -> a
    602:602:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> a
    602:602:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1449 -> a
    603:605:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1450:1452 -> a
    606:606:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1451:1451 -> a
    607:607:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> a
    607:607:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1464 -> a
    608:612:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1465:1469 -> a
    613:619:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1597:1603 -> a
    620:620:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    620:620:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1605 -> a
    621:621:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    621:621:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1605 -> a
    622:631:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1606:1615 -> a
    632:632:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    632:632:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1618 -> a
    633:684:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1620:1671 -> a
    685:685:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    685:685:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1672 -> a
    686:686:boolean lambda$removeInstanceOfInstructionIfTrivial$2(com.android.tools.r8.ir.code.Value):1649:1649 -> a
    687:691:boolean isNeverInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexType):1679:1683 -> a
    692:693: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):1688:1689 -> a
    694:694:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    694:694: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):1690 -> a
    695:701: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):1692:1698 -> a
    702:710:boolean isBinopWithLit8OrLit16(com.android.tools.r8.ir.code.Instruction):1819:1827 -> a
    711:711:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1914:1914 -> a
    712:712:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    712:712:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1915 -> a
    713:713:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1915:1915 -> a
    714:720: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):1977:1983 -> a
    721:724: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):2011:2014 -> a
    725:725:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    725:725: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):2021 -> a
    726:726:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    726:726: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):2021 -> a
    727:815: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):2022:2110 -> a
    816:818: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):46:48 -> a
    816:818: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):2110 -> a
    819:820: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):2111:2112 -> a
    821:866:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2148:2193 -> a
    867:867:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3063,"2":3064,"3":3065}}
    3063:3063:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2193:2193 -> a
    3064:3064:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2193:2193 -> a
    3065:3065:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2193:2193 -> a
    3061:3062:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2194:2195 -> a
    3066:3072:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2706:2712 -> a
    3073:3074:void com.android.tools.r8.ir.optimize.CodeRewriter.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):2843:2844 -> a
    3073:3074:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2712 -> a
    3075:3079:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2716:2720 -> a
    3080:3081:void com.android.tools.r8.ir.optimize.CodeRewriter.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):2843:2844 -> a
    3080:3081:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2720 -> a
    3082:3086:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2724:2728 -> a
    3087:3088:void com.android.tools.r8.ir.optimize.CodeRewriter.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):2843:2844 -> a
    3087:3088:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2729 -> a
    3089:3137:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2733:2781 -> a
    3138:3163:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2770:2795 -> a
    3164:3164:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleConstClassValue():0:0 -> a
    3164:3164:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2795 -> a
    3165:3166:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2796:2797 -> a
    3167:3167:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleConstClassValue():0:0 -> a
    3167:3167:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2797 -> a
    3168:3176:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2798:2806 -> a
    3177:3177:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2805:2805 -> a
    3178:3199:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2801:2822 -> a
    3200:3200:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    3200:3200:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2822 -> a
    3201:3201:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2823:2823 -> a
    3202:3202:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    3202:3202:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2824 -> a
    3203:3203:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2825:2825 -> a
    3204:3204:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    3204:3204:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2825 -> a
    3205:3205:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2827:2827 -> a
    3206:3206:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    3206:3206:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2828 -> a
    3207:3207:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2829:2829 -> a
    3208:3208:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2848:2848 -> a
    3209:3210:void com.android.tools.r8.ir.optimize.CodeRewriter.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):2843:2844 -> a
    3209:3210:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2848 -> a
    3211:3238: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):3020:3047 -> a
    3239:3239:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> a
    3239:3239: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):3051 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3240:3240:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> a
    3240:3240: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):3051 -> a
    3241:3255: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):3066:3080 -> a
    3256:3265:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3300:3309 -> a
    3266:3266:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> a
    3266:3266:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3309 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3267:3267:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> a
    3267:3267:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3309 -> a
    3268:3269:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3315:3316 -> a
    3270:3270:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    3270:3270:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3316 -> a
    3271:3275:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3317:3321 -> a
    3276:3276:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    3276:3276:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3321 -> a
    3277:3277:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3325:3325 -> a
    3278:3280: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):3336:3338 -> a
    3281:3283:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):115:117 -> a
    3281:3283: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):3338 -> a
    3284:3284: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):3339:3339 -> a
    3285:3285: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6626,"2":6627,"3":6628}}
    6626:6626: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):3340:3340 -> a
    6627:6627: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):3340:3340 -> a
    6628:6628: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):3340:3340 -> a
    6625:6625: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):3340:3340 -> a
    6629:6649:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3460:3480 -> a
    6650:6650: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):38:38 -> a
    6650:6650:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3480 -> a
    6651:6667:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3480:3496 -> a
    6668:6668:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3495:3495 -> a
    6669:6680:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3494:3505 -> a
    6681:6703:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3516:3538 -> a
    6704:6705:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    6704:6705:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    6704:6705:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3538 -> a
    6706:6706:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3539:3539 -> a
    6707:6708:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3576:3577 -> a
    6707:6708:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3543 -> a
    6709:6709:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> a
    6709:6709:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3577 -> a
    6709:6709:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3543 -> a
    6710:6710:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3578:3578 -> a
    6710:6710:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3543 -> a
    6711:6711:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> a
    6711:6711:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3578 -> a
    6711:6711:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3543 -> a
    6712:6741:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3581:3610 -> a
    6712:6741:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3543 -> a
    6742:6745:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3544:3547 -> a
    6746:6746:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.<init>():120:120 -> a
    6746:6746:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3547 -> a
    6747:6747:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3548:3548 -> a
    6748:6748:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.<init>():120:120 -> a
    6748:6748:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3548 -> a
    6749:6759:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3549:3559 -> a
    6760:6760:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    6760:6760:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3561 -> a
    6761:6762:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3562:3563 -> a
    6763:6767:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3621:3625 -> a
    6763:6767:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3563 -> a
    6768:6769:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    6768:6769:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    6768:6769:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3625 -> a
    6768:6769:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3563 -> a
    6770:6774:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3626:3630 -> a
    6770:6774:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3563 -> a
    6775:6775:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3564:3564 -> a
    6776:6780:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3621:3625 -> a
    6776:6780:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3564 -> a
    6781:6782:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    6781:6782:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    6781:6782:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3625 -> a
    6781:6782:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3564 -> a
    6783:6787:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3626:3630 -> a
    6783:6787:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3564 -> a
    6788:6788:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3566:3566 -> a
    6789:6789: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
    6789:6789:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3566 -> a
    6790:6792: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):3635:3637 -> a
    6793:6814:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3647:3668 -> a
    6815:6824:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3667:3676 -> a
    6825:6845:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3674:3694 -> a
    6846:6846:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6846:6846:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3698 -> a
    6847:6861:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3698:3712 -> a
    6862:6862:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6862:6862:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3714 -> a
    6863:6863:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3714:3714 -> a
    6864:6867: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):1464:1467 -> a
    6864:6867:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3714 -> a
    6868:6868:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3715:3715 -> a
    6869:6869:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6869:6869:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3718 -> a
    6870:6871:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3718:3719 -> a
    6872:6872:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6872:6872:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3721 -> a
    6873:6889:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3721:3737 -> a
    6890:6890: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):436:436 -> a
    6890:6890:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3737 -> a
    6891:6894:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3737:3740 -> a
    6895:6911:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3738:3754 -> a
    6912:6919:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3758:3765 -> a
    6920:6930:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3798:3808 -> a
    6920:6930:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3765 -> a
    6931:6936:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3766:3771 -> a
    6937:6937:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3768:3768 -> a
    6938:6938:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6938:6938:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3768 -> a
    6939:6939:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    6939:6939:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    6939:6939:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3768 -> a
    6940:6940:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3768:3768 -> a
    6941:6941:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3806:3806 -> a
    6941:6941:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3765 -> a
    6942:6942:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6942:6942:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3806 -> a
    6942:6942:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3765 -> a
    6943:6943:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    6943:6943:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    6943:6943:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3806 -> a
    6943:6943:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3765 -> a
    6944:6944:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3806:3806 -> a
    6944:6944:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3765 -> a
    6945:6945:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3802:3802 -> a
    6945:6945:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3765 -> a
    6946:6946:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6946:6946:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3802 -> a
    6946:6946:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3765 -> a
    6947:6947:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    6947:6947:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    6947:6947:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3802 -> a
    6947:6947:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3765 -> a
    6948:6948:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3802:3802 -> a
    6948:6948:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3765 -> a
    6949:6955:void recursiveAddOperands(com.android.tools.r8.ir.code.Phi,java.util.Set,java.util.Set):3812:3818 -> a
    1:3:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):183:185 -> b
    4:4:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    4:4:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):185 -> b
    5:17:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):187:199 -> b
    18:18:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    18:18:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):199 -> b
    19:28:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):200:209 -> b
    29:29:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> b
    29:29:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):221 -> b
    30:31:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):224:225 -> b
    32:32:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
    32:32:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):225 -> b
    33:36:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):225:228 -> b
    37:46:void unlinkTrivialGotoBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):434:443 -> b
    47:47:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1923:1923 -> b
    48:48:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> b
    48:48:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1923 -> b
    49:49:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1923:1923 -> b
    50:50:java.util.Map lambda$shortenLiveRangesInsideBlock$7(com.android.tools.r8.ir.code.BasicBlock):2106:2106 -> b
    51:51:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2510:2510 -> b
    52:53:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2498:2499 -> b
    52:53:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2511 -> b
    54:55:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2489:2490 -> b
    54:55:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2500 -> b
    54:55:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2511 -> b
    56:56:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> b
    56:56:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2491 -> b
    56:56:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2500 -> b
    56:56:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2511 -> b
    57:59:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2492:2494 -> b
    57:59:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2500 -> b
    57:59:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2511 -> b
    60:60:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2504:2504 -> b
    60:60:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2511 -> b
    61:63:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2513:2515 -> b
    64:64:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> b
    64:64:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2515 -> b
    65:72:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2516:2523 -> b
    73:74:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2489:2490 -> b
    73:74:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2524 -> b
    75:75:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> b
    75:75:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2491 -> b
    75:75:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2524 -> b
    76:78:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2492:2494 -> b
    76:78:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2524 -> b
    79:83:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2525:2529 -> b
    84:93:boolean com.android.tools.r8.ir.optimize.CodeRewriter.shareCatchHandlers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2476:2485 -> b
    84:93:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2530 -> b
    94:110:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2531:2547 -> b
    111:111:boolean lambda$logArgumentTypes$11(com.android.tools.r8.ir.code.Instruction):3657:3657 -> b
    112:138:void replaceTrivialNewInstancePhis(com.android.tools.r8.ir.code.Value):3831:3857 -> b
    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$redundantConstNumberRemoval$10(com.android.tools.r8.ir.code.IRCode):2881:2881 -> c
    2:2:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> c
    2:2:com.android.tools.r8.ir.code.DominatorTree lambda$redundantConstNumberRemoval$10(com.android.tools.r8.ir.code.IRCode):2881 -> c
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap com.android.tools.r8.ir.optimize.CodeRewriter.getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2985:2985 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2880 -> 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 com.android.tools.r8.ir.optimize.CodeRewriter.getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2985 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2880 -> d
    3:16:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap com.android.tools.r8.ir.optimize.CodeRewriter.getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2988:3001 -> d
    3:16:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2880 -> d
    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$shortenLiveRanges$3(com.android.tools.r8.ir.code.IRCode):1902:1902 -> 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):1902 -> e
    1:24:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3090:3113 -> f
    25:25:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> f
    25:25:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3115 -> f
    26:28:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3120:3122 -> f
    29:29:java.lang.Object com.android.tools.r8.ir.code.CatchHandlers$CatchHandler.getTarget():30:30 -> f
    29:29:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3123 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:68:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3123:3161 -> f
    69:69:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo.hasNonNullParamOrThrow():44:44 -> f
    69:69:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3165 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    70:96:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3166:3192 -> f
    97:97:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> f
    97:97:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3192 -> f
    98:100:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3192:3194 -> f
    1:51:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2869:2919 -> g
    52:52:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    52:52:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2920 -> g
    53:62:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2922:2931 -> g
    63:63:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2930:2930 -> g
    64:64:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    64:64:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2937 -> g
    65:65:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3009:3009 -> g
    65:65:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2940 -> g
    66:66:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    66:66:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3009 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2940 -> g
    67:68:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3009:3010 -> g
    67:68:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2940 -> g
    69:82:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2939:2952 -> g
    83:83:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2951:2951 -> g
    84:84:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    84:84:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2958 -> g
    85:85:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3009:3009 -> g
    85:85:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2961 -> g
    86:86:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    86:86:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3009 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2961 -> g
    87:88:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3009:3010 -> g
    87:88:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2961 -> g
    89:108:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2960:2979 -> g
    1:10:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):232:241 -> h
    11:11:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":511,"2":512,"3":513}}
    511:511:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):242:242 -> h
    512:512:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):242:242 -> h
    513:513:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):242:242 -> h
    254:255:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):243:244 -> h
    256:262:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):241:247 -> h
    263:263:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":511,"2":512,"3":513}}
    511:511:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):247:247 -> h
    512:512:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):247:247 -> h
    513:513:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):247:247 -> h
    510:510:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):247:247 -> h
    1:1:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> i
    1:1:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3413 -> i
    2:4:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3414:3416 -> i
    5:5:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> i
    5:5:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3416 -> i
    6:24:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3420:3438 -> i
    25:25:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> i
    25:25:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3438 -> i
    26:43:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3439:3456 -> i
    1:1:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1315:1315 -> j
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> j
    2:2:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1315 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> j
    3:3:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1315 -> j
    4:8:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1315:1319 -> j
    9:9:void com.android.tools.r8.ir.optimize.AssumeRemover.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:42 -> j
    9:9:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1319 -> j
    10:34:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1322:1346 -> j
    35:35:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1295:1295 -> j
    35:35:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1348 -> j
    36:36:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> j
    36:36:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.CodeRewriter.getArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1304 -> j
    36:36:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1297 -> j
    36:36:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1348 -> j
    37:42:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.CodeRewriter.getArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1305:1310 -> j
    37:42:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1297 -> j
    37:42:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1348 -> j
    43:46:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1297:1300 -> j
    43:46:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1348 -> j
    47:67:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1349:1369 -> j
    68:68:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> j
    68:68:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1370 -> j
    69:70:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1371:1372 -> j
    71:71:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> j
    71:71:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1373 -> j
    72:73:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1375:1376 -> j
    74:74:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> j
    74:74:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1376 -> j
    75:77:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1376:1378 -> j
    1:1:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):939:939 -> k
    1:1:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isSwitchRewritingEnabled():1907:1907 -> k
    2:2:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):939 -> k
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isSwitchRewritingEnabled():1907:1907 -> k
    3:3:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):939 -> k
    3:3:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    4:4:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):942:942 -> k
    4:4:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    5:13:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1001:1009 -> k
    5:13:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    5:13:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    14:53:com.android.tools.r8.ir.optimize.SwitchCaseEliminator com.android.tools.r8.ir.optimize.CodeRewriter.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):1201:1240 -> k
    14:53:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1011 -> k
    14:53:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    14:53:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    54:83:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1013:1042 -> k
    54:83:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    54:83:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    84:84:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> k
    84:84:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1042 -> k
    84:84:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    84:84:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    85:88:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1042:1045 -> k
    85:88:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    85:88:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    1:1:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):949:949 -> l
    2:27:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchForMaxIntOnly(com.android.tools.r8.ir.code.IRCode):957:982 -> l
    2:27:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):951 -> l
    28:47:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchForMaxIntOnly(com.android.tools.r8.ir.code.IRCode):976:995 -> l
    28:47:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):951 -> l
    1:12:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):256:267 -> m
    13:13:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1541:1541 -> m
    13:13:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):267 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1541:1541 -> m
    14:14:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):267 -> m
    15:33:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):271:289 -> m
    34:34:boolean com.android.tools.r8.ir.code.Value.isConstZero():808:808 -> m
    34:34:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):290 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.ir.code.Value.isConstZero():808:808 -> m
    35:35:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):290 -> m
    36:45:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):290:299 -> m
    46:46:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> m
    46:46:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):299 -> m
    47:47:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):303:303 -> m
    48:48:boolean com.android.tools.r8.ir.code.Value.isConstZero():808:808 -> m
    48:48:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):306 -> m
    49:65:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):311:327 -> m
    66:76:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(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.Position):3350:3360 -> m
    66:76:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    77:77:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":139,"2":140,"3":141}}
    139:139:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(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.Position):3361:3361 -> m
    139:139:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    140:140:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(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.Position):3361:3361 -> m
    140:140:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    141:141:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(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.Position):3361:3361 -> m
    141:141:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    78:78:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(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.Position):3361:3361 -> m
    78:78:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    79:133:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):333:387 -> m
    134:134:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> m
    134:134:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):387 -> m
    135:138:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):387:390 -> m
    1:43:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1901:1943 -> n
    44:44:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> n
    44:44:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1944 -> n
    45:53:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1945:1953 -> n
    54:54:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> n
    54:54:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1954 -> n
    55:55:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> n
    55:55:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1955 -> n
    56:71:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1956:1971 -> n
    72:72:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> n
    72:72:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1971 -> n
    73:73:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1974:1974 -> n
    74:75:void com.android.tools.r8.ir.optimize.CodeRewriter.forEachUse(com.android.tools.r8.ir.code.Instruction,java.util.function.Consumer):2001:2002 -> n
    74:75:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1974 -> n
    76:85:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1988:1997 -> n
    1:1:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2225:2225 -> o
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> o
    2:2:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2225 -> o
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> o
    3:3:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2225 -> o
    4:12:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2228:2236 -> o
    13:29:boolean com.android.tools.r8.ir.optimize.CodeRewriter.allowNewFilledArrayConstruction(com.android.tools.r8.ir.code.Instruction):2201:2217 -> o
    13:29:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2237 -> o
    30:61:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2240:2271 -> o
    62:78:short[] com.android.tools.r8.ir.optimize.CodeRewriter.computeArrayFilledData(com.android.tools.r8.ir.code.ConstInstruction[],int,int):2121:2137 -> o
    62:78:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2272 -> o
    79:120:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2276:2317 -> o
    121:121:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2444,"2":2445,"3":2446}}
    2444:2444:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2317:2317 -> o
    2445:2445:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2317:2317 -> o
    2446:2446:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2317:2317 -> o
    2439:2443:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2318:2322 -> o
    1:2:boolean simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):2570:2571 -> p
    1:6:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2359:2364 -> q
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> q
    7:7:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2364 -> q
    8:13:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2365:2370 -> q
    14:36:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasLocalOrLineChangeBetween(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):2328:2350 -> q
    14:36:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2372 -> q
    37:49:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2373:2385 -> q
    50:50:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasLocalOrLineChangeBetween(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):2355:2355 -> q
    50:50:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2372 -> q
    1:9:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2576:2584 -> r
    10:15:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3392:3397 -> r
    10:15:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2585 -> r
    16:26:boolean com.android.tools.r8.ir.code.BasicBlock.isSimpleAlwaysThrowingPath():1580:1590 -> r
    16:26:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3397 -> r
    16:26:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2585 -> r
    27:27:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3397:3397 -> r
    27:27:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2585 -> r
    28:38:boolean com.android.tools.r8.ir.code.BasicBlock.isSimpleAlwaysThrowingPath():1580:1590 -> r
    28:38:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3397 -> r
    28:38:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2585 -> r
    39:40:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3405:3406 -> r
    39:40:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2585 -> r
    41:43:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):115:117 -> r
    41:43:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3407 -> r
    41:43:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2585 -> r
    44:44:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3408:3408 -> r
    44:44:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2585 -> r
    45:55:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3365:3375 -> r
    45:55:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2586 -> r
    56:58:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):115:117 -> r
    56:58:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3376 -> r
    56:58:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2586 -> r
    59:63:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3377:3381 -> r
    59:63:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2586 -> r
    64:66:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):115:117 -> r
    64:66:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3382 -> r
    64:66:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2586 -> r
    67:67:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3383:3383 -> r
    67:67:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2586 -> r
    68:70:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3228:3230 -> r
    68:70:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    71:71:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> r
    71:71:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3230 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    72:90:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3231:3249 -> r
    72:90:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    91:91:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    91:91:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3250 -> r
    91:91:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    92:92:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    92:92:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3250 -> r
    92:92:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    93:95:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3251:3253 -> r
    93:95:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    96:96:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    96:96:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3254 -> r
    96:96:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    97:97:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    97:97:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3254 -> r
    97:97:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    98:100:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3255:3257 -> r
    98:100:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    101:101:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    101:101:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3258 -> r
    101:101:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    102:102:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    102:102:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3258 -> r
    102:102:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    103:105:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3259:3261 -> r
    103:105:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    106:106:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    106:106:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3262 -> r
    106:106:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    107:107:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    107:107:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3262 -> r
    107:107:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    108:110:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3263:3265 -> r
    108:110:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    111:111:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> r
    111:111:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3266 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    111:111:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    112:112:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> r
    112:112:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3266 -> r
    112:112:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    113:134:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3268:3289 -> r
    113:134:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2590 -> r
    135:142:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2592:2599 -> r
    143:147:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2628:2632 -> r
    143:147:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    148:149:void com.android.tools.r8.ir.optimize.CodeRewriter.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):2843:2844 -> r
    148:149:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2633 -> r
    148:149:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    150:150:boolean com.android.tools.r8.ir.code.If.isNullTest():94:94 -> r
    150:150:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2637 -> r
    150:150:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    151:154:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2638:2641 -> r
    151:154:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    155:156:void com.android.tools.r8.ir.optimize.CodeRewriter.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):2843:2844 -> r
    155:156:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2641 -> r
    155:156:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    157:158:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2645:2646 -> r
    157:158:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    159:160:void com.android.tools.r8.ir.optimize.CodeRewriter.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):2843:2844 -> r
    159:160:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2646 -> r
    159:160:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    161:166:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2651:2656 -> r
    161:166:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    167:168:void com.android.tools.r8.ir.optimize.CodeRewriter.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):2843:2844 -> r
    167:168:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2656 -> r
    167:168:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    169:206:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2661:2698 -> r
    169:206:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    207:208:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2688:2689 -> r
    207:208:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    209:210:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2677:2678 -> r
    209:210:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2600 -> r
    211:220:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2605:2614 -> r
    221:222:void com.android.tools.r8.ir.optimize.CodeRewriter.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):2843:2844 -> r
    221:222:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2614 -> r
    223:225:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2619:2621 -> r
    226:226:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> r
    226:226:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2621 -> r
    227:230:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2621:2624 -> r
    1:30:void splitRangeInvokeConstants(com.android.tools.r8.ir.code.IRCode):1706:1735 -> s
    1:14:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1746:1759 -> t
    15:18:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1846:1849 -> t
    15:18:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1759 -> t
    19:20:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1760:1761 -> t
    21:21:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1851:1851 -> t
    21:21:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1759 -> t
    22:35:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1763:1776 -> t
    36:36:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> t
    36:36:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1776 -> t
    37:55:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1776:1794 -> t
    56:59:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1846:1849 -> t
    56:59:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1862 -> t
    56:59:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1795 -> t
    60:72:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1863:1875 -> t
    60:72:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1795 -> t
    73:73:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):434:434 -> t
    73:73:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1875 -> t
    73:73:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1795 -> t
    74:74:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1876:1876 -> t
    74:74:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1795 -> t
    75:75:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> t
    75:75:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1876 -> t
    75:75:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1795 -> t
    76:89:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1877:1890 -> t
    76:89:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1795 -> t
    90:95:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16Constant(com.android.tools.r8.ir.code.Instruction):1833:1838 -> t
    90:95:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1797 -> t
    96:106:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1798:1808 -> t
    107:107:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16Constant(com.android.tools.r8.ir.code.Instruction):1840:1840 -> t
    107:107:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1797 -> t
    108:108:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1851:1851 -> t
    108:108:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1862 -> t
    108:108:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1795 -> t
    109:109:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1814:1814 -> t
    1:7:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3864:3870 -> u
    8:8:boolean com.android.tools.r8.ir.code.Instruction.isNeg():0:0 -> u
    8:8:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3870 -> u
    9:41:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3871:3903 -> u
com.android.tools.r8.ir.optimize.CodeRewriter$1 -> com.android.tools.r8.internal.vb:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():2671:2671 -> <clinit>
com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence -> com.android.tools.r8.internal.wb:
    com.android.tools.r8.utils.InternalOptions options -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():2392:2392 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.optimize.CodeRewriter$1):2392:2392 -> <init>
    2:3:void <init>(com.android.tools.r8.utils.InternalOptions):2396:2397 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):2392:2392 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2405:2405 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):2392 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> a
    3:3:boolean com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2405 -> a
    3:3:boolean doEquivalent(java.lang.Object,java.lang.Object):2392 -> a
    4:23:boolean com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2405:2424 -> a
    4:23:boolean doEquivalent(java.lang.Object,java.lang.Object):2392 -> a
    24:24:int doHash(java.lang.Object):2392:2392 -> a
    25:30:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2435:2440 -> a
    25:30:int doHash(java.lang.Object):2392 -> a
    31:36:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2467:2467 -> a
    31:36:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2441 -> a
    31:36:int doHash(java.lang.Object):2392 -> a
    38:40:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2469:2471 -> a
    38:40:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2441 -> a
    38:40:int doHash(java.lang.Object):2392 -> a
    41:45:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2467:2471 -> a
    41:45:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2443 -> a
    41:45:int doHash(java.lang.Object):2392 -> a
    46:50:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2467:2471 -> a
    46:50:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2444 -> a
    46:50:int doHash(java.lang.Object):2392 -> a
    51:51:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2448:2448 -> a
    51:51:int doHash(java.lang.Object):2392 -> a
    52:56:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2467:2471 -> a
    52:56:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2449 -> a
    52:56:int doHash(java.lang.Object):2392 -> a
    57:62:boolean identicalValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):2456:2461 -> a
com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult -> com.android.tools.r8.internal.xb:
    boolean anyAffectedValues -> a
    boolean anySimplifications -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():2550:2550 -> <clinit>
    1:1:void <init>(boolean,boolean,com.android.tools.r8.ir.optimize.CodeRewriter$1):2550:2550 -> <init>
    2:5:void <init>(boolean,boolean):2554:2557 -> <init>
    1:1:boolean anyAffectedValues():2561:2561 -> a
    1:1:boolean anySimplifications():2565:2565 -> b
com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder -> com.android.tools.r8.internal.yb:
    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
    int right -> e
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():604:604 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRCode):612:613 -> <init>
    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setLeft(com.android.tools.r8.ir.code.Value):622:622 -> a
    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setRight(int):627:627 -> a
    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):637:637 -> a
    4:9:com.android.tools.r8.ir.code.BasicBlock build():642:647 -> a
    10:10:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    10:10:com.android.tools.r8.ir.code.BasicBlock build():647 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:13:com.android.tools.r8.ir.code.BasicBlock build():648:650 -> a
    14: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,com.android.tools.r8.ir.code.Instruction[]):1482:1488 -> a
    14:20:com.android.tools.r8.ir.code.BasicBlock build():650 -> a
    21:22:com.android.tools.r8.ir.code.BasicBlock build():652:653 -> a
    23:26: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):1464:1467 -> a
    23:26:com.android.tools.r8.ir.code.BasicBlock build():653 -> a
    27:29:com.android.tools.r8.ir.code.BasicBlock build():655:657 -> a
    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setTarget(com.android.tools.r8.ir.code.BasicBlock):632:632 -> b
com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder -> com.android.tools.r8.internal.zb:
    com.android.tools.r8.ir.code.Position position -> b
    int blockNumber -> a
    1:2:void <init>(com.android.tools.r8.ir.code.Position):532:533 -> <init>
com.android.tools.r8.ir.optimize.CodeRewriter$Interval -> com.android.tools.r8.internal.Ab:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList keys -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():738:738 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):742:742 -> <init>
    2:8:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):740:746 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList access$000(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):738:738 -> a
    2:2:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):776:776 -> a
    3:3:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
    3:3:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
    3:3:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):776 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    4:4:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):776:776 -> a
    1:1:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMax():755:755 -> b
    1:1:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):764 -> b
    2:2:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMin():751:751 -> b
    2:2:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):764 -> b
    3:3:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):765:765 -> 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):769 -> b
    5:5:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):769:769 -> b
    6:6:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> b
    6:6:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):769 -> b
    7:7:int com.android.tools.r8.ir.code.IntSwitch.basePackedSize(com.android.tools.r8.utils.InternalOutputMode):109:109 -> b
    7:7:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):771 -> b
    8:8:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):771:771 -> b
    9:9:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759:759 -> b
    10:10:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMax():755:755 -> b
    10:10:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759 -> b
    11:11:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMin():751:751 -> b
    11:11:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMin():751:751 -> b
    12:12:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759 -> b
    13:14:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759:760 -> b
    15:15:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> b
    15:15:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):760 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> b
    16:16:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):760 -> b
com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder -> com.android.tools.r8.internal.Bb:
    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):550:550 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Position):546:546 -> <init>
    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setValue(com.android.tools.r8.ir.code.Value):559:559 -> a
    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder addKeyAndTarget(int,com.android.tools.r8.ir.code.BasicBlock):564:564 -> a
    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):569:569 -> a
    4:4:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):575:575 -> a
    5:5:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.<init>():176:176 -> a
    5:5:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):575 -> a
    6:26:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):576:596 -> a
    27:30: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):1494:1497 -> a
    27:30:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):596 -> a
    31:31:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> a
    31:31:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):597 -> a
    32:33:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):597:598 -> a
    34:34:java.lang.Integer lambda$build$0(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,com.android.tools.r8.ir.code.BasicBlock):587:587 -> 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):593:593 -> b
com.android.tools.r8.ir.optimize.ConstantCanonicalizer -> com.android.tools.r8.internal.qd:
    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
    int numberOfConstClassCanonicalization -> e
    boolean $assertionsDisabled -> h
    int numberOfConstNumberCanonicalization -> b
    int numberOfConstStringCanonicalization -> c
    1:1:void <clinit>():46:46 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.CodeRewriter):59:59 -> <init>
    2:14:void <init>(com.android.tools.r8.ir.optimize.CodeRewriter):52:64 -> <init>
    1:3:void logResults():69:71 -> a
    4:7:void logResults():70:73 -> a
    8:12:void logResults():72:76 -> a
    13:17:void logResults():74:78 -> a
    18:23:void logResults():77:82 -> a
    24:30:void logResults():79:85 -> a
    31:33:void lambda$logResults$0(java.lang.Long,java.lang.Integer):86:86 -> a
    34:35:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):92:93 -> a
    36:36:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy):184:184 -> a
    36:36:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):93 -> a
    37:40:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):127:130 -> a
    41:41:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    41:41:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):135 -> a
    42:42:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):135:135 -> a
    43:43:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    43:43:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):141 -> a
    44:44:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    44:44:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):141 -> a
    45:45:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):142:142 -> a
    46:46:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    46:46:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):147 -> a
    47:60:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):148:161 -> a
    61:61:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    61:61:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):163 -> a
    62:68:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):164:170 -> a
    69:70:boolean com.android.tools.r8.ir.optimize.ConstantCanonicalizer.constantUsedByInvokeRange(com.android.tools.r8.ir.code.Instruction):292:293 -> a
    69:70:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):178 -> a
    71:130:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):181:240 -> a
    131:133: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):46:48 -> a
    131:133:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):240 -> a
    134:134:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):257:257 -> a
    135:158:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):231:254 -> a
    159:164:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):243:248 -> a
    165:165:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):247:247 -> a
    166:168: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):48:50 -> a
    166:168:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):247 -> a
    169:172:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):225:228 -> a
    173:175: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):60:62 -> a
    173:175:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):228 -> a
    176:176:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):259:259 -> a
    177:188:void com.android.tools.r8.ir.optimize.ConstantCanonicalizer.insertCanonicalizedConstant(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):277:288 -> a
    177:188:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):260 -> a
    189:192:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):261:264 -> a
    193:193:boolean com.android.tools.r8.ir.code.Value.hasUserThatMatches(java.util.function.Predicate):426:426 -> a
    193:193:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):264 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    194:195:boolean com.android.tools.r8.ir.code.Value.hasUserThatMatches(java.util.function.Predicate):426:427 -> a
    194:195:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):264 -> a
    196:204:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):265:273 -> a
    205:205:java.util.List lambda$canonicalize$1(com.android.tools.r8.ir.code.Instruction):182:182 -> a
    206:206:boolean lambda$canonicalize$2(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):199:199 -> a
    207:207: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):209:209 -> a
    1:1:boolean lambda$canonicalize$3(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):208:208 -> b
com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1 -> com.android.tools.r8.internal.pd:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():95:95 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.ConstantCanonicalizer):95:95 -> <init>
    1:1:boolean equals(java.lang.Object,java.lang.Object):95:95 -> a
    2:4:boolean com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.equals(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):120:122 -> a
    2:4:boolean equals(java.lang.Object,java.lang.Object):95 -> a
    5:5:int hashCode(java.lang.Object):95:95 -> a
    6:20:int com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.Instruction):99:113 -> a
    6:20:int hashCode(java.lang.Object):95 -> a
    21:28:int com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.Instruction):104:111 -> a
    21:28:int hashCode(java.lang.Object):95 -> a
    29:29:int com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.Instruction):109:109 -> a
    29:29:int hashCode(java.lang.Object):95 -> a
    30:30:int com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.Instruction):102:102 -> a
    30:30:int hashCode(java.lang.Object):95 -> a
com.android.tools.r8.ir.optimize.DeadCodeRemover -> com.android.tools.r8.internal.we:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():33:33 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter):38:40 -> <init>
    1:13:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):44:56 -> a
    14:20:void com.android.tools.r8.ir.optimize.DeadCodeRemover.removeDeadPhis(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):108:114 -> a
    14:20:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):57 -> a
    21:27:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):87:93 -> a
    21:27:void com.android.tools.r8.ir.optimize.DeadCodeRemover.removeDeadPhis(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):115 -> a
    21:27:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):57 -> a
    28:32:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):59:63 -> a
    33:48:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):122:137 -> a
    49:49:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    49:49:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):139 -> a
    50:50:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):139:139 -> a
    51:51:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    51:51:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):139 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    52:52:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    52:52:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):139 -> a
    53:57:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):140:144 -> a
    58:75:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):141:158 -> a
    76:76:boolean com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult.isNotDead():0:0 -> a
    76:76:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):158 -> a
    77:77:boolean com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult.isMaybeDead():0:0 -> a
    77:77:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):161 -> a
    78:89:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):163:174 -> a
    90:90:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):99:99 -> a
    90:90:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    91:97:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):87:93 -> a
    91:97:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):100 -> a
    91:97:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    98:98:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):102:102 -> a
    98:98:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    99:105:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):87:93 -> a
    99:105:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):103 -> a
    99:105:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    106:108:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):181:183 -> a
    109:112:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):189:192 -> a
    113:145:java.util.Collection com.android.tools.r8.ir.optimize.DeadCodeRemover.getDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):221:253 -> a
    113:145:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):193 -> a
    146:165:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):194:213 -> a
    166:166:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    166:166:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):213 -> a
    1:9:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):67:75 -> b
    10:14:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):73:77 -> b
    15:15:boolean com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult.isDeadIfOutValueIsDead():0:0 -> b
    15:15:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):77 -> b
    16:16:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):78:78 -> b
    17:17:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):77:77 -> b
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult -> com.android.tools.r8.internal.ve:
    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>():258:266 -> <clinit>
    1:1:void <init>():256:256 -> <init>
    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult deadIfOutValueIsDead():275:275 -> a
    2:2:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult deadIfInValueIsDead(com.android.tools.r8.ir.code.Value):283:283 -> a
    1:1:java.lang.Iterable getValuesRequiredToBeDead():318:318 -> b
    boolean isMaybeDead() -> c
    boolean isNotDead() -> d
    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult notDead():279:279 -> e
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$1 -> com.android.tools.r8.internal.se:
    1:1:void <init>():259:259 -> <init>
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$2 -> com.android.tools.r8.internal.te:
    1:1:void <init>():267:267 -> <init>
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$3 -> com.android.tools.r8.internal.ue:
    com.android.tools.r8.ir.code.Value val$inValueRequiredToBeDead -> c
    1:1:void <init>(com.android.tools.r8.ir.code.Value):283:283 -> <init>
    1:1:java.lang.Iterable getValuesRequiredToBeDead():296:296 -> b
    2:2:java.util.Iterator lambda$getValuesRequiredToBeDead$0(com.android.tools.r8.ir.code.Value):296:296 -> b
com.android.tools.r8.ir.optimize.DefaultInliningOracle -> com.android.tools.r8.internal.Le:
    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> c
    int instructionAllowance -> g
    com.android.tools.r8.utils.InternalOptions$InlinerOptions inlinerOptions -> b
    boolean $assertionsDisabled -> h
    com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy reasonStrategy -> f
    com.android.tools.r8.graph.ProgramMethod method -> d
    1:1:void <clinit>():56:56 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int):71:78 -> <init>
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement) -> a
    boolean isForcedInliningOracle() -> a
    1:18:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):100:117 -> a
    1:18:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):266 -> a
    19:32:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):338:351 -> a
    19:32:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    33:33:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    33:33:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):351 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    34:34:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    34:34:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):351 -> a
    34:34:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    35:36:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):351:352 -> a
    35:36:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    37:37:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    37:37:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):352 -> a
    37:37:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    38:38:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    38:38:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):352 -> a
    38:38:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    39:39:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):348:348 -> a
    39:39:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    40:41:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):271:272 -> a
    42:42:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":478,"2":479,"3":480}}
    478:478:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):272:272 -> a
    479:479:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):272:272 -> a
    480:480:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):272:272 -> a
    316:365:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):274:323 -> a
    366:474:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.canInlineInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):477:585 -> a
    366:474:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):321 -> a
    475:475:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):101:101 -> a
    475:475:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):266 -> a
    476:476:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":481,"2":482,"3":483}}
    481:481:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):101:101 -> a
    481:481:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):266 -> a
    482:482:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):101:101 -> a
    482:482:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):266 -> a
    483:483:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):101:101 -> a
    483:483:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):266 -> a
    477:477:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):103:103 -> a
    477:477:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):266 -> a
    484:486:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):133:135 -> a
    487:495:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):134:142 -> a
    496:496:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    496:496:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):142 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    497:497:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    497:497:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):142 -> a
    498:502:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):144:148 -> a
    503:503:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    503:503:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):148 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    504:504:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    504:504:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):148 -> a
    505:522:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):151:168 -> a
    523:523:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInSameFeatureOrBothInSameBase(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):199:199 -> a
    523:523:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):168 -> a
    524:524:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    524:524:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInSameFeatureOrBothInSameBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):204 -> a
    524:524:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInSameFeatureOrBothInSameBase(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):199 -> a
    524:524:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):168 -> a
    525:525:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):171:171 -> a
    526:526:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    526:526:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    526:526:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):171 -> a
    527:527:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    527:527:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):171 -> a
    528:533:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):172:177 -> a
    534:534:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    534:534:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):177 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    535:535:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    535:535:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):177 -> a
    536:557:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):177:198 -> a
    558:565:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):197:204 -> a
    566:566:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):203:203 -> a
    567:567:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):202:202 -> a
    568:568:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):253:253 -> a
    569:569:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    569:569:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):253 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    570:570:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    570:570:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):253 -> a
    571:572: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):364:365 -> a
    573:573:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    573:573: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):365 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    574:574:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    574:574: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):365 -> a
    575:581: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):367:373 -> a
    582:582:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    582:582: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):373 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    583:583:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    583:583: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):373 -> a
    584:590: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):373:379 -> a
    591:600: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):392:401 -> a
    601:615: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):415:429 -> a
    616:631: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):428:443 -> a
    632:632: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):422:422 -> a
    633:635:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):455:457 -> a
    636:636:boolean com.android.tools.r8.ir.optimize.Inliner$Reason.mustBeInlined():496:496 -> a
    636:636:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):457 -> a
    637:642:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):461:466 -> a
    643:643:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):592:592 -> a
    644:644:boolean com.android.tools.r8.ir.optimize.Inliner$Reason.mustBeInlined():496:496 -> a
    644:644:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):592 -> a
    645:647:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):595:597 -> a
    648:648: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):609:609 -> a
    649:649:boolean com.android.tools.r8.ir.optimize.Inliner$Reason.mustBeInlined():496:496 -> a
    649:649: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):609 -> a
    650:652:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedInstructionBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):620:622 -> a
    650:652: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):612 -> a
    653:653: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):613:613 -> a
    654:658:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):707:711 -> a
    654:658: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):614 -> a
    659:659:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1633 -> a
    659:659:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):712 -> a
    659:659: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):614 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    660:661:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1634 -> a
    660:661:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):712 -> a
    660:661: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):614 -> a
    662:667:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):718:723 -> a
    662:667: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):614 -> a
    668:700: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):642:674 -> a
    701:701:void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason):733:733 -> a
    1:1:com.android.tools.r8.graph.AppView appView():83:83 -> b
    2:4:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):210:212 -> b
    5:7:int com.android.tools.r8.ir.optimize.DefaultInliningOracle.getInliningInstructionLimitIncrement(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):226:228 -> b
    5:7:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):213 -> b
    8:8:int com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgumentIndex():79:79 -> b
    8:8:int com.android.tools.r8.ir.optimize.DefaultInliningOracle.getInliningInstructionLimitIncrement(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):229 -> b
    8:8:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):213 -> b
    9:22:int com.android.tools.r8.ir.optimize.DefaultInliningOracle.getInliningInstructionLimitIncrement(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):230:243 -> b
    9:22:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):213 -> b
    23:30:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):214:221 -> b
com.android.tools.r8.ir.optimize.Devirtualizer -> com.android.tools.r8.internal.Vf:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():50:50 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):55:57 -> <init>
    1:2:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):61:62 -> a
    3:3:void com.android.tools.r8.ir.optimize.AssumeRemover.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:42 -> a
    3:3:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):62 -> a
    4:6:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):63:65 -> a
    7:7:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
    7:7:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):65 -> a
    8:31:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):66:89 -> a
    32:32:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    32:32:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):89 -> a
    33:35:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):90:92 -> a
    36:36:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Assume.getAliasForOutValue():162:162 -> a
    36:36:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):92 -> a
    37:63:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):93:119 -> a
    64:64:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):118:118 -> a
    65:65:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    65:65:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):126 -> a
    66:79:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):127:140 -> a
    80:80:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.code.Value.getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1154:1154 -> a
    80:80:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):140 -> a
    81:90:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):136:145 -> a
    91:99:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):144:152 -> a
    100:100:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):325:325 -> a
    100:100:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):153 -> a
    101:101:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    101:101:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):325 -> a
    101:101:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):153 -> a
    102:113:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):330:341 -> a
    102:113:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):153 -> a
    114:114:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    114:114:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):341 -> a
    114:114:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):153 -> a
    115:115:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):345:345 -> a
    115:115:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):153 -> a
    116:116:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    116:116:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):345 -> a
    116:116:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):153 -> a
    117:124:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):347:354 -> a
    117:124:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):153 -> a
    125:126:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):155:156 -> a
    127:127:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):309:309 -> a
    127:127:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):156 -> a
    128:131:boolean com.android.tools.r8.ir.optimize.Devirtualizer.isRebindingNewClassIntoMainDex(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):417:420 -> a
    128:131:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):158 -> a
    132:138:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):159:159 -> a
    149:153:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):170:174 -> a
    154:183:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):369:398 -> a
    154:183:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):174 -> a
    184:184:boolean com.android.tools.r8.graph.AccessFlags.isAtLeastAsVisibleAs(com.android.tools.r8.graph.AccessFlags):126:126 -> a
    184:184:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):398 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    184:184:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):174 -> a
    185:185:boolean com.android.tools.r8.graph.AccessFlags.isAtLeastAsVisibleAs(com.android.tools.r8.graph.AccessFlags):126:126 -> a
    185:185:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):398 -> a
    185:185:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):174 -> a
    186:188:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):400:402 -> a
    186:188:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):174 -> a
    189:201:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):401:413 -> a
    189:201:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):174 -> a
    202:204:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):176:176 -> a
    205:205:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    205:205:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):182 -> a
    206:223:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):185:202 -> a
    224:227:boolean com.android.tools.r8.ir.optimize.Devirtualizer.isRebindingNewClassIntoMainDex(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):417:420 -> a
    224:227:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):202 -> a
    228:248:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):206:226 -> a
    249:270:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):225:246 -> a
    271:271:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> a
    271:271:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):247 -> a
    272:313:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):248:289 -> a
    314:314:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
    314:314:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):289 -> a
    315:330:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):291:306 -> a
    331:335:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):305:309 -> a
    336:336:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> a
    336:336:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):315 -> a
    337:339:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):316:318 -> a
    340:340:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    340:340:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):318 -> a
    341:343:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):318:320 -> a
com.android.tools.r8.ir.optimize.DynamicTypeOptimization -> com.android.tools.r8.internal.Ah:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):22:23 -> <init>
    1:2:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):32:33 -> a
    3:3:java.util.LinkedList com.android.tools.r8.ir.code.IRCode.getBlocks():1350:1350 -> a
    3:3:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):34 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:8:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):34:38 -> a
    9:9:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    9:9:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):38 -> a
    10:13:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):38:41 -> a
com.android.tools.r8.ir.optimize.ForcedInliningOracle -> com.android.tools.r8.internal.Mk:
    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:1:void <clinit>():25:25 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.Map):34:37 -> <init>
    boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    boolean isForcedInliningOracle() -> a
    void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason) -> a
    boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> 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
    1:5:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):62:66 -> a
    6:6:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    6:6:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    7:7:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):66 -> a
    8:15:com.android.tools.r8.ir.optimize.Inliner$InlineAction com.android.tools.r8.ir.optimize.ForcedInliningOracle.computeForInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):93:100 -> a
    8:15:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):79 -> a
    16:16:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):83:83 -> a
    17:21:com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement):144:148 -> a
    22:22:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    22:22:com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement):148 -> a
    23:23:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    23:23:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    23:23:com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement):148 -> a
    24:24:com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement):148:148 -> a
    1:1:com.android.tools.r8.graph.AppView appView():42:42 -> b
com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer -> com.android.tools.r8.internal.Bn:
    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
    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>
    1:3:void logResults():77:79 -> a
    4:7:void logResults():78:81 -> a
    8:12:void logResults():80:84 -> a
    13:16:void lambda$logResults$0(java.lang.Long,java.lang.Integer):87:90 -> a
    17:17:void lambda$logResults$0(java.lang.Long,java.lang.Integer):86:86 -> a
    18:18:void canonicalize(com.android.tools.r8.ir.code.IRCode):95:95 -> a
    19:19:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy):184:184 -> a
    19:19:void canonicalize(com.android.tools.r8.ir.code.IRCode):95 -> a
    20:33:void canonicalize(com.android.tools.r8.ir.code.IRCode):113:126 -> a
    34:37:boolean com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer.isIdempotentLibraryMethodInvoke(com.android.tools.r8.ir.code.InvokeMethod):278:281 -> a
    34:37:void canonicalize(com.android.tools.r8.ir.code.IRCode):130 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer.isIdempotentLibraryMethodInvoke(com.android.tools.r8.ir.code.InvokeMethod):281 -> a
    38:38:void canonicalize(com.android.tools.r8.ir.code.IRCode):130 -> a
    39:40:boolean com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer.isIdempotentLibraryMethodInvoke(com.android.tools.r8.ir.code.InvokeMethod):281:282 -> a
    39:40:void canonicalize(com.android.tools.r8.ir.code.IRCode):130 -> a
    41:110:void canonicalize(com.android.tools.r8.ir.code.IRCode):131:200 -> a
    111:111:java.util.HashMap com.android.tools.r8.com.google.common.collect.Maps.newHashMap():226:226 -> a
    111:111:void canonicalize(com.android.tools.r8.ir.code.IRCode):203 -> a
    112:181:void canonicalize(com.android.tools.r8.ir.code.IRCode):205:274 -> a
    182:182:java.util.List lambda$canonicalize$1(com.android.tools.r8.ir.code.InvokeMethod):190:190 -> a
    183:183:boolean lambda$canonicalize$2(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):207:207 -> a
    184:184: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):215:215 -> a
    185:188:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):219:222 -> a
    189:204:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):221:236 -> a
    205:205: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):230:230 -> a
    205:205:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):231 -> a
    206:209:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):242:245 -> a
    210:220:void com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer.insertCanonicalizedInvokeWithoutInValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Invoke):314:324 -> a
    210:220:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):247 -> a
    221:222:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):249:250 -> a
    223:245:void insertCanonicalizedInvokeWithInValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Invoke):287:309 -> a
    246:246:boolean lambda$insertCanonicalizedInvokeWithInValues$6(com.android.tools.r8.ir.code.Instruction):304:304 -> a
    1:1:boolean lambda$canonicalize$3(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):214:214 -> b
com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1 -> com.android.tools.r8.internal.An:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():97:97 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer):97:97 -> <init>
    1:1:boolean equals(java.lang.Object,java.lang.Object):97:97 -> a
    2:6:boolean com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1.equals(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod):105:109 -> a
    2:6:boolean equals(java.lang.Object,java.lang.Object):97 -> a
    7:7:int hashCode(java.lang.Object):97:97 -> a
    8:8:int com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1.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.internal.tp:
    java.util.Set singleCallerInlinedPrunedMethodsForTesting -> g
    com.android.tools.r8.ir.optimize.MultiCallerInliner multiCallerInliner -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.conversion.LensCodeRewriter lensCodeRewriter -> c
    boolean $assertionsDisabled -> i
    com.android.tools.r8.androidapi.AvailableApiExceptions availableApiExceptions -> h
    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder singleInlineCallers -> d
    java.util.Map singleCallerInlinedMethodsInWave -> f
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    1:1:void <clinit>():86:86 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.LensCodeRewriter):111:111 -> <init>
    2:23:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.LensCodeRewriter):101:122 -> <init>
    boolean lambda$performInliningImpl$1(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    1:7:boolean returnsIntAsBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):162:168 -> a
    8:8:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> a
    8:8:boolean returnsIntAsBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):168 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):179:179 -> a
    10:16: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):851:857 -> a
    17:17: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):852:852 -> a
    18:23: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):885:890 -> a
    24:32: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):887:895 -> a
    33:35:com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy createDefaultInliningReasonStrategy(com.android.tools.r8.ir.conversion.MethodProcessor):901:903 -> a
    36:36: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):904:904 -> a
    37:37:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):924:924 -> a
    38:38: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):941:941 -> a
    39:39:void com.android.tools.r8.ir.optimize.AssumeRemover.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:42 -> a
    39:39: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):941 -> a
    40:72: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):942:974 -> a
    73:74:boolean com.android.tools.r8.ir.optimize.Inliner.tryInlineMethodWithoutSideEffects(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.DexClassAndMethod,com.android.tools.r8.ir.optimize.AssumeRemover):1117:1118 -> a
    73:74: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):973 -> a
    75:75:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    75:75:boolean com.android.tools.r8.ir.optimize.Inliner.tryInlineMethodWithoutSideEffects(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.DexClassAndMethod,com.android.tools.r8.ir.optimize.AssumeRemover):1121 -> a
    75:75: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):973 -> a
    76:78:boolean com.android.tools.r8.ir.optimize.Inliner.tryInlineMethodWithoutSideEffects(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.DexClassAndMethod,com.android.tools.r8.ir.optimize.AssumeRemover):1122:1122 -> a
    76:78: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):973 -> a
    87:87:boolean com.android.tools.r8.ir.optimize.Inliner.tryInlineMethodWithoutSideEffects(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.DexClassAndMethod,com.android.tools.r8.ir.optimize.AssumeRemover):1131:1131 -> a
    87:87: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):973 -> a
    88:110: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):979:1001 -> a
    111:111:boolean com.android.tools.r8.ir.optimize.Inliner$InlineResult.isRetryAction():0:0 -> a
    111:111: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1005 -> a
    112:112:void com.android.tools.r8.ir.optimize.Inliner.enqueueMethodForReprocessing(com.android.tools.r8.graph.ProgramMethod):1246:1246 -> a
    112:112: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1006 -> a
    113:121: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1010:1018 -> a
    122:163: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1017:1058 -> a
    164:180: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1052:1068 -> a
    181: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1067:1096 -> a
    211:211:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    211:211: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1098 -> a
    212:221: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.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1099:1108 -> a
    222:228:boolean com.android.tools.r8.ir.optimize.Inliner.containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1136:1142 -> a
    222:228:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):135 -> a
    229:229:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    229:229:boolean com.android.tools.r8.ir.optimize.Inliner.containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1143 -> a
    229:229:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):135 -> a
    230:231:boolean com.android.tools.r8.ir.optimize.Inliner.containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1143:1144 -> a
    230:231:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):135 -> a
    232:244:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):136:148 -> a
    245:247:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.Inliner.instructionAllowedForInlining(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):127:129 -> a
    245:247:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):150 -> a
    248:248:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):156:156 -> a
    249:262:void postProcessInlineeBlocks(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):1180:1193 -> a
    263:263:void com.android.tools.r8.ir.optimize.Inliner.rewindBlockIterator(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):1227:1227 -> a
    263:263:void postProcessInlineeBlocks(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):1196 -> a
    264:264:void postProcessInlineeBlocks(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):1197:1197 -> a
    265:265:void com.android.tools.r8.ir.optimize.Inliner.rewindBlockIterator(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):1227:1227 -> a
    265:265:void postProcessInlineeBlocks(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):1200 -> a
    266:267:void lambda$postProcessInlineeBlocks$2(java.util.Set,java.util.Set,com.android.tools.r8.ir.code.BasicBlock):1189:1190 -> a
    268:270:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.Set,com.android.tools.r8.utils.Timing):1208:1210 -> a
    271:275:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set):1217:1221 -> a
    276:276:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    276:276:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set):1221 -> a
    277:279:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set):1221:1223 -> a
    280:287:void rewindBlockIterator(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer):1235:1242 -> a
    288:317:void onWaveDone():1259:1288 -> a
    318:336:void lambda$onWaveDone$4(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet):1262:1280 -> a
    337:342:void lambda$onWaveDone$4(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet):1279:1284 -> a
    343:347:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1296:1300 -> a
    348:348:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    348:348:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1300 -> a
    349:350:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1300:1301 -> a
    351:358:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1298:1305 -> a
    359:359:boolean lambda$onLastWaveDone$5(com.android.tools.r8.graph.ProgramMethod):1303:1303 -> a
    360:360:boolean lambda$verifyAllSingleCallerMethodsHaveBeenPruned$6(com.android.tools.r8.graph.DexEncodedMethod):1312:1312 -> a
    361:363:void lambda$verifyAllSingleCallerMethodsHaveBeenPruned$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):1314:1314 -> a
    364:364:boolean verifyIsPrunedDueToSingleCallerInlining(com.android.tools.r8.graph.DexMethod):1322:1322 -> a
    365:367:boolean verifyAllMultiCallerInlinedMethodsHaveBeenPruned(com.android.tools.r8.graph.AppView):1327:1329 -> a
    1:6:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):800:805 -> b
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    7:7:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):811 -> b
    8:15:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):817:824 -> b
    16:19:boolean lambda$onWaveDone$3(com.android.tools.r8.graph.ProgramMethod):1266:1269 -> b
    20:21:boolean verifyAllSingleCallerMethodsHaveBeenPruned(com.android.tools.r8.graph.AppView):1310:1311 -> b
    1:1:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1255:1255 -> c
    1:1:void com.android.tools.r8.ir.optimize.Inliner.onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1255:1255 -> d
    1:1:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1250 -> d
    2:2:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1251:1251 -> d
com.android.tools.r8.ir.optimize.Inliner$Constraint -> com.android.tools.r8.ir.optimize.a:
    com.android.tools.r8.ir.optimize.Inliner$Constraint SAMENEST -> e
    com.android.tools.r8.ir.optimize.Inliner$Constraint[] $VALUES -> i
    com.android.tools.r8.ir.optimize.Inliner$Constraint SAMECLASS -> d
    com.android.tools.r8.ir.optimize.Inliner$Constraint NEVER -> c
    int value -> b
    com.android.tools.r8.ir.optimize.Inliner$Constraint ALWAYS -> h
    com.android.tools.r8.ir.optimize.Inliner$Constraint SUBCLASS -> g
    com.android.tools.r8.ir.optimize.Inliner$Constraint PACKAGE -> f
    1:18:void <clinit>():189:189 -> <clinit>
    43:47:void <clinit>():214:218 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):209:210 -> <init>
    1:1:com.android.tools.r8.ir.optimize.Inliner$Constraint[] values():189:189 -> a
    2:2:boolean isSet(int):229:229 -> a
com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget -> com.android.tools.r8.ir.optimize.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>():247:255 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint):257:260 -> <init>
    5:9:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint,com.android.tools.r8.graph.DexType):263:267 -> <init>
    1:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget deriveConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AccessFlags,com.android.tools.r8.graph.AppView):290:313 -> a
    25:36:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget classIsVisible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):319:330 -> a
    37:87: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):335:385 -> a
    88:98:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):462:472 -> a
    88:98: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):385 -> a
    99:106: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):386:393 -> a
    107:122:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):439:454 -> a
    107:122: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):393 -> a
    123:156: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):397:430 -> a
    1:5:boolean equals(java.lang.Object):280:284 -> equals
    1:4:int hashCode():272:275 -> hashCode
    5:5:int com.android.tools.r8.graph.DexType.computeHashCode():124:124 -> hashCode
    5:5:int hashCode():275 -> hashCode
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:int com.android.tools.r8.graph.DexType.computeHashCode():124:124 -> hashCode
    6:6:int hashCode():275 -> hashCode
com.android.tools.r8.ir.optimize.Inliner$InlineAction -> com.android.tools.r8.internal.np:
    com.android.tools.r8.ir.optimize.Inliner$Reason reason -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexProgramClass downcastClass -> e
    com.android.tools.r8.graph.ProgramMethod target -> a
    com.android.tools.r8.ir.code.Invoke invoke -> b
    boolean shouldEnsureStaticInitialization -> d
    1:1:void <clinit>():511:511 -> <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):521:524 -> <init>
    com.android.tools.r8.ir.optimize.Inliner$InlineAction asInlineAction() -> a
    1:1:void setDowncastClass(com.android.tools.r8.graph.DexProgramClass):537:537 -> a
    2:15: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.conversion.LensCodeRewriter):550:563 -> a
    16:25:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.handleSimpleEffectAnalysisResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer,java.util.function.Consumer):716:725 -> a
    16: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.conversion.LensCodeRewriter):559 -> a
    26:26:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.handleSimpleEffectAnalysisResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer,java.util.function.Consumer):722:722 -> a
    26:26: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.conversion.LensCodeRewriter):559 -> a
    27: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.conversion.LensCodeRewriter):574:575 -> a
    29:29:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    29:29: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.conversion.LensCodeRewriter):575 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:30:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    30:30: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.conversion.LensCodeRewriter):575 -> a
    31:31:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    31: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.conversion.LensCodeRewriter):575 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:32:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    32:32: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.conversion.LensCodeRewriter):575 -> a
    33:36: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.conversion.LensCodeRewriter):576:579 -> a
    37:37:boolean com.android.tools.r8.ir.code.Value.isMaybeNull():481:481 -> a
    37:37: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.conversion.LensCodeRewriter):579 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:39: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.conversion.LensCodeRewriter):582:583 -> a
    40:49:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.handleSimpleEffectAnalysisResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer,java.util.function.Consumer):716:725 -> a
    40:49: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.conversion.LensCodeRewriter):581 -> a
    50:50:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.handleSimpleEffectAnalysisResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer,java.util.function.Consumer):722:722 -> a
    50:50: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.conversion.LensCodeRewriter):581 -> a
    51:53: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.conversion.LensCodeRewriter):589:591 -> a
    54:60: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.conversion.LensCodeRewriter):590:596 -> a
    61:61:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    61:61: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.conversion.LensCodeRewriter):597 -> a
    62:72: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.conversion.LensCodeRewriter):597:607 -> a
    73:73:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    73:73: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.conversion.LensCodeRewriter):612 -> a
    74:74: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.conversion.LensCodeRewriter):612:612 -> a
    75:82: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.conversion.LensCodeRewriter):611:618 -> a
    83:96: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.conversion.LensCodeRewriter):616:629 -> a
    97:97: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):1196:1196 -> a
    97:97: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.conversion.LensCodeRewriter):631 -> a
    98: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.conversion.LensCodeRewriter):632:671 -> a
    138:140: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.conversion.LensCodeRewriter):670:672 -> a
    141:141:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    141:141: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.conversion.LensCodeRewriter):672 -> a
    142:178: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.conversion.LensCodeRewriter):672:708 -> a
    179:179:com.android.tools.r8.ir.code.Value lambda$buildInliningIR$2(com.android.tools.r8.ir.code.BasicBlock):634:634 -> a
    180:180:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):732:732 -> a
    180:180:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    181:181:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    181:181:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):735 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    181:181:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    182:182:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    182:182:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):735 -> a
    182:182:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    183:189:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):735:741 -> a
    183:189:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    190:193:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):746:749 -> a
    190:193:void lambda$buildInliningIR$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):585 -> a
    194:194:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    194:194:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):753 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    194:194:void lambda$buildInliningIR$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):585 -> a
    195:195:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    195:195:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):753 -> a
    195:195:void lambda$buildInliningIR$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):585 -> a
    196:204:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):753:761 -> a
    196:204:void lambda$buildInliningIR$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):585 -> a
    205:214:void setRemoveInnerFramePositionForReceiverUse(com.android.tools.r8.ir.code.Instruction):766:775 -> a
    215:215:void setRemoveInnerFramePositionForReceiverUse(com.android.tools.r8.ir.code.Instruction):774:774 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getDowncastClass():533:533 -> b
    1:1:void setShouldEnsureStaticInitialization():541:541 -> c
com.android.tools.r8.ir.optimize.Inliner$InlineResult -> com.android.tools.r8.internal.op:
    1:1:void <init>():500:500 -> <init>
    com.android.tools.r8.ir.optimize.Inliner$InlineAction asInlineAction() -> a
com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason -> com.android.tools.r8.internal.pp:
    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):792:794 -> <init>
com.android.tools.r8.ir.optimize.Inliner$InliningInfo -> com.android.tools.r8.internal.qp:
    com.android.tools.r8.graph.DexProgramClass receiverClass -> b
    com.android.tools.r8.graph.ProgramMethod target -> a
    1:3:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):838:840 -> <init>
com.android.tools.r8.ir.optimize.Inliner$Reason -> com.android.tools.r8.internal.rp:
    com.android.tools.r8.ir.optimize.Inliner$Reason NEVER -> g
    com.android.tools.r8.ir.optimize.Inliner$Reason MULTI_CALLER_CANDIDATE -> e
    com.android.tools.r8.ir.optimize.Inliner$Reason SIMPLE -> f
    com.android.tools.r8.ir.optimize.Inliner$Reason ALWAYS -> c
    com.android.tools.r8.ir.optimize.Inliner$Reason SINGLE_CALLER -> d
    com.android.tools.r8.ir.optimize.Inliner$Reason FORCE -> b
    1:8:void <clinit>():485:492 -> <clinit>
    1:1:void <init>(java.lang.String,int):484:484 -> <init>
com.android.tools.r8.ir.optimize.Inliner$RetryAction -> com.android.tools.r8.internal.sp:
    1:1:void <init>():779:779 -> <init>
com.android.tools.r8.ir.optimize.InliningConstraints -> com.android.tools.r8.ir.optimize.c:
    com.android.tools.r8.graph.AppView appView -> a
    boolean allowStaticInterfaceMethodCalls -> b
    com.android.tools.r8.graph.GraphLens graphLens -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):48:48 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):34:50 -> <init>
    1:1:void disallowStaticInterfaceMethodCalls():62:62 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):98:98 -> a
    3:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):172:173 -> a
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):173 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):173:182 -> a
    16:20:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):231:235 -> a
    21:21:boolean isVerticalClassMerging():66:66 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):236 -> a
    22:22:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):239:239 -> a
    23:23:boolean isVerticalClassMerging():66:66 -> a
    23:23:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):239 -> a
    24:25:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):239:240 -> a
    26:26:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":274,"2":275,"3":276}}
    274:274:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):240:240 -> a
    275:275:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    275:275:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):240 -> a
    276:276:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    276:276:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):240 -> a
    266:268:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):240:242 -> a
    269:269:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63:63 -> a
    269:269:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):242 -> a
    270:273:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):246:249 -> a
    277:277:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):257:257 -> a
    278:278:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351:351 -> a
    278:278:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):134 -> a
    279:279:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    279:279:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    279:279:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):134 -> a
    280:284:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):352:356 -> a
    280:284:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):134 -> a
    285:285:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):353:353 -> a
    285:285:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):134 -> a
    286:294:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):382:390 -> a
    295:295:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):189:189 -> a
    295:295:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):387 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    296:296:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):190:190 -> a
    296:296:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):387 -> a
    297:297:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    297:297:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):190 -> a
    297:297:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):387 -> a
    298:300:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):393:395 -> a
    301:301:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":708,"2":709,"3":710}}
    708:708:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):395:395 -> a
    709:709:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    709:709:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):395 -> a
    710:710:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    710:710:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):395 -> a
    697:700:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):396:399 -> a
    701:707:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):398:404 -> a
    1:1:com.android.tools.r8.graph.AppView getAppView():54:54 -> b
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):102:102 -> b
    3:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):186:187 -> b
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> b
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):187 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):187:187 -> b
    7:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):361:373 -> b
    7:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):188 -> b
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):372:372 -> b
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):188 -> b
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351:351 -> b
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):142 -> b
    22:22:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> b
    22:22:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):142 -> b
    23:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):352:356 -> b
    23:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):142 -> b
    28:28:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):353:353 -> b
    28:28:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):142 -> b
    1:1:com.android.tools.r8.graph.GraphLens getGraphLens():58:58 -> c
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):130:130 -> c
    3:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:205 -> c
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> c
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):205 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:17:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):205:216 -> c
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> c
    18:18:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216 -> c
    19:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:221 -> c
    25:25:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351:351 -> c
    25:25:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):319 -> c
    26:26:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> c
    26:26:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:26:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):319 -> c
    27:31:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):352:356 -> c
    27:31:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):319 -> c
    32:32:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):353:353 -> c
    32:32:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):319 -> c
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):138:138 -> d
    2:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):261:262 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):262 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):262:262 -> d
    6:18:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):361:373 -> d
    6:18:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):263 -> d
    19:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):372:372 -> d
    19:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):263 -> d
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351:351 -> d
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticPut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):323 -> d
    21:21:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> d
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticPut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):323 -> d
    22:26:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):352:356 -> d
    22:26:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticPut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):323 -> d
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):353:353 -> d
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticPut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):323 -> d
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeMultiNewArray(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):192:192 -> e
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeNewArray(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):196:196 -> f
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forNewArrayEmpty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):287:287 -> g
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):299:299 -> h
com.android.tools.r8.ir.optimize.InliningOracle -> com.android.tools.r8.internal.xp:
    com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$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.InliningIRProvider,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.MethodResolutionResult$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.internal.zp:
    boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement) -> a
    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
    1:12:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.optimize.InliningStrategy.getDowncastTypeIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):75:86 -> a
    1:12:boolean setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):64 -> a
    13:13:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    13:13:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.optimize.InliningStrategy.getDowncastTypeIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):86 -> a
    13:13:boolean setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):64 -> a
    14:14:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    14:14:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    14:14:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.optimize.InliningStrategy.getDowncastTypeIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):86 -> a
    14:14:boolean setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):64 -> a
    15:17:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.optimize.InliningStrategy.getDowncastTypeIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):86:88 -> a
    15:17:boolean setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):64 -> a
    18:18:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    18:18:boolean setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66 -> a
    19:19:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    19:19:boolean setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66 -> a
    20:23:boolean setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66:69 -> a
    com.android.tools.r8.graph.AppView appView() -> b
com.android.tools.r8.ir.optimize.InstructionEquivalence -> com.android.tools.r8.internal.kq:
    com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> a
    1:2:void <init>(com.android.tools.r8.ir.regalloc.RegisterAllocator):14:15 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):11:11 -> a
    2:2:int doHash(java.lang.Object):11:11 -> a
    3:12:int com.android.tools.r8.ir.optimize.InstructionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):27:36 -> a
    3:12:int doHash(java.lang.Object):11 -> a
    13:14:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):20:21 -> a
com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool -> com.android.tools.r8.internal.ID:
    com.android.tools.r8.graph.DexClass clazz -> 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 -> g
    1:1:void <clinit>():161:161 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.DexClass):170:170 -> <init>
    2:8:void <init>(com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.DexClass):166:172 -> <init>
    1:2:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):0:0 -> a
    250:252:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):248:250 -> a
    253:253:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.here(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.util.function.BiFunction):240:240 -> a
    253:253:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):251 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    254:255:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.here(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.util.function.BiFunction):240:241 -> a
    254:255:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):251 -> a
    256:257:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):255:256 -> a
    258:259:void linkInterface(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):186:187 -> a
    260:260:void seen(java.lang.Object):191:191 -> a
    261:261:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200:200 -> a
    262:264:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.above(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,boolean,java.lang.Object,java.lang.Object,java.util.function.BiFunction):221:223 -> a
    262:264:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):263 -> a
    262:264:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    265:265:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.here(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.util.function.BiFunction):240:240 -> a
    265:265:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.above(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,boolean,java.lang.Object,java.lang.Object,java.util.function.BiFunction):225 -> a
    265:265:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):263 -> a
    265:265:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    266:267:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.here(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.util.function.BiFunction):240:241 -> a
    266:267:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.above(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,boolean,java.lang.Object,java.lang.Object,java.util.function.BiFunction):225 -> a
    266:267:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):263 -> a
    266:267:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    268:271:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.above(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,boolean,java.lang.Object,java.lang.Object,java.util.function.BiFunction):231:234 -> a
    268:271:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):263 -> a
    268:271:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    272:272:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):267:267 -> a
    272:272:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    273:273:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200:200 -> a
    274:274:java.lang.Boolean lambda$hasSeen$0(com.android.tools.r8.graph.DexClass,java.lang.Boolean):200:200 -> a
    1:2:void linkSubtype(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):181:182 -> b
    3:4:void seen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):195:196 -> b
    1:2:void linkSupertype(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):176:177 -> c
com.android.tools.r8.ir.optimize.MemberValuePropagation -> com.android.tools.r8.internal.TD:
    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
    1:3:void <clinit>():53:55 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):63:63 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):61:65 -> <init>
    1:14:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):143:156 -> a
    1:14:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    15:15:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    15:15:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):156 -> a
    15:15:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    16:18:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):160:162 -> a
    16:18:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    19:19:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    19:19:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):162 -> a
    19:19:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    20:27:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):165:172 -> a
    20:27:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    28:28:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110}}
    108:108:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):172:172 -> a
    108:108:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    109:109:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):172:172 -> a
    109:109:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    110:110:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):172:172 -> a
    110:110:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    29:29:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):175:175 -> a
    29:29:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    30:41:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):172:183 -> a
    30:41:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    42:45:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):182:185 -> a
    42:45:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    46:46:com.android.tools.r8.ir.code.StaticGet$Builder com.android.tools.r8.ir.code.StaticGet.builder():42:42 -> a
    46:46:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):185 -> a
    46:46:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    47:47:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):186:186 -> a
    47:47:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    48:48:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    48:48:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):187 -> a
    48:48:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    49:49:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    49:49:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):187 -> a
    49:49:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    50:59:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):187:196 -> a
    50:59:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    60:60:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":134,"2":135,"3":136}}
    134:134:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):196:196 -> a
    134:134:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    135:135:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):196:196 -> a
    135:135:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    136:136:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):196:196 -> a
    136:136:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    61:63:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):199:201 -> a
    61:63:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    64:64:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):196:196 -> a
    64:64:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):226 -> a
    65:66:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):229:230 -> a
    67:69:void com.android.tools.r8.ir.optimize.MemberValuePropagation.setValueRangeFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.Value):213:215 -> a
    67:69:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):230 -> a
    70:79:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):234:243 -> a
    80:80:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    80:80:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):245 -> a
    81:81:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):246:246 -> a
    82:82:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    82:82:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):247 -> a
    83:85:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):248:250 -> a
    86:107:boolean applyAssumeInfoIfPossible(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.assume.AssumeInfo):249:270 -> a
    137:145: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:372 -> a
    146: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):371:381 -> a
    157:157:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    157:157: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):381 -> a
    158:158:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    158:158:boolean com.android.tools.r8.ir.optimize.MemberValuePropagation.mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndField):126 -> a
    158:158: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):385 -> a
    159:162:boolean com.android.tools.r8.ir.optimize.MemberValuePropagation.mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndField):127:130 -> a
    159:162: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):385 -> a
    163:187: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):390:414 -> a
    188:208: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):412:432 -> a
    209:209:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    209:209: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):433 -> a
    210:211: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):434:435 -> a
    212:212:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    212:212: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):439 -> a
    213:217: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):440:444 -> a
    218:233: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):443:458 -> a
    234:234:java.lang.Boolean lambda$rewriteFieldGetWithConstantValues$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):372:372 -> a
    235:242:void run(com.android.tools.r8.ir.code.IRCode):504:511 -> a
    243:243:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    243:243:void run(com.android.tools.r8.ir.code.IRCode):511 -> a
    244:247:void run(com.android.tools.r8.ir.code.IRCode):511:514 -> a
    248:259:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):522:533 -> a
    260:294:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteArrayGet(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.ArrayGet):75:109 -> a
    260:294:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):532 -> a
    295:295:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    295:295:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteArrayGet(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.ArrayGet):109 -> a
    295:295:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):532 -> a
    296:307:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteArrayGet(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.ArrayGet):110:121 -> a
    296:307:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):532 -> a
    308:310:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):534:536 -> a
    311:328:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):282:299 -> a
    311:328:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    329:336:com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfoLookup.lookupAssumeInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClassAndMethod):22:29 -> a
    329:336:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):299 -> a
    329:336:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    337:337:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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:301 -> a
    337:337:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    338:338:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    338:338:boolean com.android.tools.r8.ir.optimize.MemberValuePropagation.mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndMethod):134 -> a
    338:338:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):306 -> a
    338:338:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    339:342:boolean com.android.tools.r8.ir.optimize.MemberValuePropagation.mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndMethod):135:138 -> a
    339:342:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):306 -> a
    339:342:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    343:358:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):311:326 -> a
    343:358:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    359:359:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    359:359:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):327 -> a
    359:359:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    360:366:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):328:334 -> a
    360:366:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    367:367:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    367:367:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):335 -> a
    367:367:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    368:370:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):336:336 -> a
    368:370:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    375:386:void com.android.tools.r8.ir.optimize.MemberValuePropagation.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):341:352 -> a
    375:386:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    387:389:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):537:539 -> a
    390:393:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):538:541 -> a
    394:406:void com.android.tools.r8.ir.optimize.MemberValuePropagation.replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):465:477 -> a
    394:406:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):541 -> a
    407:408:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):542:543 -> a
    409:422:void com.android.tools.r8.ir.optimize.MemberValuePropagation.replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):482:495 -> a
    409:422:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):543 -> a
    423:423:void com.android.tools.r8.ir.optimize.MemberValuePropagation.replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):494:494 -> a
    423:423:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):543 -> a
com.android.tools.r8.ir.optimize.MethodPoolCollection -> com.android.tools.r8.internal.FE:
    java.util.Map com.android.tools.r8.ir.optimize.MemberPoolCollection.memberPools -> d
    com.android.tools.r8.graph.AppView com.android.tools.r8.ir.optimize.MemberPoolCollection.appView -> b
    com.android.tools.r8.com.google.common.base.Equivalence com.android.tools.r8.ir.optimize.MemberPoolCollection.equivalence -> a
    boolean com.android.tools.r8.ir.optimize.MemberPoolCollection.$assertionsDisabled -> f
    com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.ir.optimize.MemberPoolCollection.subtypingInfo -> c
    java.util.function.Predicate methodTester -> e
    1:1:void com.android.tools.r8.ir.optimize.MemberPoolCollection.<clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):38:38 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.util.function.Predicate):45:45 -> <init>
    3:3:void com.android.tools.r8.ir.optimize.MemberPoolCollection.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.SubtypingInfo):44:44 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.util.function.Predicate):45 -> <init>
    4:12:void com.android.tools.r8.ir.optimize.MemberPoolCollection.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.SubtypingInfo):39:47 -> <init>
    4:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.util.function.Predicate):45 -> <init>
    13:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.util.function.Predicate):46:46 -> <init>
    void com.android.tools.r8.ir.optimize.MemberPoolCollection.buildAll(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean excludesPrivateInstanceMethod(com.android.tools.r8.graph.DexEncodedMethod):50:50 -> a
    2:2:java.lang.Runnable computeMemberPoolForClass(com.android.tools.r8.graph.DexClass):55:55 -> a
    3:4:void lambda$computeMemberPoolForClass$1(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexEncodedMethod):60:61 -> a
    5:5:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool lambda$computeMemberPoolForClass$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):69:69 -> a
    6:6:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):87:87 -> a
    6:6:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:7:boolean com.android.tools.r8.ir.optimize.MemberPoolCollection.hasPool(com.android.tools.r8.graph.DexClass):83:83 -> a
    7:7:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):87 -> a
    7:7:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:9:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):87:88 -> a
    8:9:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    10:15:boolean com.android.tools.r8.ir.optimize.MemberPoolCollection.markIfNotSeen(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMember):92:97 -> a
    10:15:boolean com.android.tools.r8.ir.optimize.MemberPoolCollection.markIfNotSeen(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMember):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    16:16:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submit(com.android.tools.r8.graph.DexClass,java.util.List,java.util.concurrent.ExecutorService):111:111 -> a
    16:16:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$buildAll$0(java.util.List,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexClass):60 -> a
    17:19:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):140:142 -> a
    20:20:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    20:20:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):142 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    21:21:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    21:21:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):142 -> a
    22:22:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):144:144 -> a
    23:23:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):226:226 -> a
    23:23:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):144 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):226:226 -> a
    24:24:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):144 -> a
    25:31:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):146:152 -> a
    32:32:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    32:32:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):152 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    33:33:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):152 -> a
    34:34:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):154:154 -> a
    35:35:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):226:226 -> a
    35:35:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):154 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):226:226 -> a
    36:36:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):154 -> a
    37:37:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$1(java.util.Deque,com.android.tools.r8.graph.DexType):143:143 -> a
    38:38:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> a
    38:38:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$1(java.util.Deque,com.android.tools.r8.graph.DexType):143 -> a
    1:13:void com.android.tools.r8.ir.optimize.MemberPoolCollection.buildAll(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):51:63 -> b
    14:14:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool lambda$computeMemberPoolForClass$0(com.android.tools.r8.graph.DexClass):57:57 -> b
    15:19:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):69:73 -> b
    20:20:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submitAll(java.lang.Iterable,java.util.List,java.util.concurrent.ExecutorService):105:105 -> b
    20:20:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):72 -> b
    21:21:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submit(com.android.tools.r8.graph.DexClass,java.util.List,java.util.concurrent.ExecutorService):111:111 -> b
    21:21:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submitAll(java.lang.Iterable,java.util.List,java.util.concurrent.ExecutorService):106 -> b
    21:21:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):72 -> b
    22:22:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:74 -> b
    23:23:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submitAll(java.lang.Iterable,java.util.List,java.util.concurrent.ExecutorService):105:105 -> b
    23:23:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74 -> b
    24:24:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submit(com.android.tools.r8.graph.DexClass,java.util.List,java.util.concurrent.ExecutorService):111:111 -> b
    24:24:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submitAll(java.lang.Iterable,java.util.List,java.util.concurrent.ExecutorService):106 -> b
    24:24:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74 -> b
    25:29:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):75:79 -> b
    30:30:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):77:77 -> b
    31:31:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool lambda$computeMemberPoolForClass$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):79:79 -> b
    32:42:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):118:128 -> b
    43:43:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> b
    43:43:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):128 -> b
    44:45:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):130:131 -> b
    46:46:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> b
    46:46:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):131 -> b
    47:47:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$2(java.util.Deque,com.android.tools.r8.graph.DexType):145:145 -> b
    48:48:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> b
    48:48:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$2(java.util.Deque,com.android.tools.r8.graph.DexType):145 -> b
    1:26:void lambda$computeMemberPoolForClass$4(com.android.tools.r8.graph.DexClass):56:81 -> c
    27:27:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$3(java.util.Deque,com.android.tools.r8.graph.DexType):153:153 -> c
    28:28:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> c
    28:28:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$3(java.util.Deque,com.android.tools.r8.graph.DexType):153 -> c
    1:1:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$4(java.util.Deque,com.android.tools.r8.graph.DexType):155:155 -> d
    2:2:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> d
    2:2:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$4(java.util.Deque,com.android.tools.r8.graph.DexType):155 -> d
com.android.tools.r8.ir.optimize.MoveEliminator -> com.android.tools.r8.internal.rF:
    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>
    2:6:void <init>(com.android.tools.r8.ir.regalloc.RegisterAllocator):14:18 -> <init>
    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.MultiCallerInliner -> com.android.tools.r8.internal.DF:
    com.android.tools.r8.graph.AppView appView -> a
    int[] multiCallerInliningInstructionLimits -> c
    com.android.tools.r8.utils.collections.ProgramMethodMap multiInlineCallEdges -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():42:42 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):53:53 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView):49:56 -> <init>
    1:5:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):61:65 -> a
    6:10:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):379:383 -> a
    6:10:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):65 -> a
    11:11:void lambda$recordCallEdgesForMultiCallerInlining$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):67:67 -> a
    12:12:com.android.tools.r8.ir.optimize.DefaultInliningOracle lambda$recordCallEdgesForMultiCallerInlining$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):76:76 -> a
    13:15:void recordCallEdgeForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):132:134 -> a
    16:32:void recordCallEdgeForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):133:149 -> a
    33:33:java.util.Optional lambda$recordCallEdgeForMultiCallerInlining$2():134:134 -> a
    34:50:void stopTrackingCallSitesForMethodIfDefinitelyIneligibleForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.collections.ProgramMethodMultiset):160:176 -> a
    51:51:void com.android.tools.r8.ir.optimize.MultiCallerInliner.stopTrackingCallSitesForMethod(com.android.tools.r8.graph.ProgramMethod):182:182 -> a
    51:51:void stopTrackingCallSitesForMethodIfDefinitelyIneligibleForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.collections.ProgramMethodMultiset):177 -> a
    52:53:void lambda$stopTrackingCallSitesForMethodIfDefinitelyIneligibleForMultiCallerInlining$4(com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.ProgramMethod,int):170:171 -> a
    54:64:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):194:204 -> a
    65:65:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph lambda$onLastWaveDone$5(java.util.concurrent.ExecutorService):198:198 -> a
    66:122:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder computeMultiInlineCallerMethods(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph):212:268 -> a
    123:172:void lambda$computeMultiInlineCallerMethods$9(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod,java.util.Optional):217:266 -> a
    173:173:boolean lambda$computeMultiInlineCallerMethods$7(com.android.tools.r8.graph.ProgramMethod):232:232 -> a
    174:175:void lambda$computeMultiInlineCallerMethods$8(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod,int):262:263 -> a
    1:30:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):72:101 -> b
    31:31:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> b
    31:31:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):101 -> b
    32:47:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):103:118 -> b
    48:48:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):110:110 -> b
    49:49:boolean com.android.tools.r8.ir.optimize.Inliner$InlineResult.isRetryAction():0:0 -> b
    49:49:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):119 -> b
    50:52:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):124:126 -> b
    53:53:void com.android.tools.r8.ir.optimize.MultiCallerInliner.stopTrackingCallSitesForMethod(com.android.tools.r8.graph.ProgramMethod):182:182 -> b
    53:53:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):120 -> b
    54:54:boolean lambda$stopTrackingCallSitesForMethodIfDefinitelyIneligibleForMultiCallerInlining$3(com.android.tools.r8.graph.ProgramMethod):160:160 -> b
    55:55:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder lambda$onLastWaveDone$6(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph):200:200 -> b
    1:1:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):186:186 -> c
com.android.tools.r8.ir.optimize.NestReducer -> com.android.tools.r8.internal.pG:
    com.android.tools.r8.graph.AppView appView -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):35:36 -> <init>
    1:2:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):40:41 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1842:1842 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.shouldDesugarNests():522 -> a
    3:3:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    4:9:void com.android.tools.r8.ir.optimize.NestReducer.removeNests():50:55 -> a
    4:9:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):42 -> a
    10:12:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):44:46 -> a
    13:25:void reduceNests(java.util.concurrent.ExecutorService):62:74 -> a
    26:27:boolean lambda$processNestHost$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.NestMemberClassAttribute):84:85 -> a
    28:28:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    28:28:boolean lambda$processNestHost$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.NestMemberClassAttribute):85 -> a
    29:33:boolean lambda$processNestHost$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.NestMemberClassAttribute):85:89 -> a
    34:34:boolean lambda$processNestHost$0(com.android.tools.r8.graph.DexProgramClass):90:90 -> a
    35:35:boolean com.android.tools.r8.utils.IterableUtils.hasNext(java.lang.Iterable):96:96 -> a
    35:35:boolean lambda$processNestHost$0(com.android.tools.r8.graph.DexProgramClass):90 -> a
    1:2:void processNestHost(com.android.tools.r8.graph.DexProgramClass):78:79 -> b
    3:3:boolean com.android.tools.r8.utils.IterableUtils.hasNext(java.lang.Iterable):96:96 -> b
    3:3:void processNestHost(com.android.tools.r8.graph.DexProgramClass):79 -> b
    4:7:void processNestHost(com.android.tools.r8.graph.DexProgramClass):79:82 -> b
    8:8:boolean com.android.tools.r8.utils.BooleanBox.isFalse():31:31 -> b
    8:8:void processNestHost(com.android.tools.r8.graph.DexProgramClass):93 -> b
    9:10:void processNestHost(com.android.tools.r8.graph.DexProgramClass):93:94 -> b
    1:2:void processNestMember(com.android.tools.r8.graph.DexProgramClass):99:100 -> c
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> c
    3:3:void processNestMember(com.android.tools.r8.graph.DexProgramClass):100 -> c
    4:6:void processNestMember(com.android.tools.r8.graph.DexProgramClass):100:102 -> c
com.android.tools.r8.ir.optimize.NestUtils -> com.android.tools.r8.internal.qG:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:14:boolean sameNest(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):28:41 -> a
    15:15:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):47:47 -> a
    16:16:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    16:16:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):47 -> a
    17:23:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):48:54 -> a
    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    24:24:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):54 -> a
    25:32:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):55:62 -> a
    33:33:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    33:33:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):61 -> a
    34:35:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):64:65 -> a
    36:36:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    36:36:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):64 -> a
    37:37:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    37:37:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):68 -> a
    38:42:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):68:72 -> a
    43:43:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    43:43:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):72 -> a
    44:54:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):73:83 -> a
    55:55:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    55:55:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):78 -> a
com.android.tools.r8.ir.optimize.OutlinerImpl -> com.android.tools.r8.internal.cL:
    java.util.Map outlineSites -> b
    java.util.Map generatedOutlines -> c
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.optimize.outliner.OutlineCollection outlineCollection -> a
    com.android.tools.r8.ir.optimize.InliningConstraints inliningConstraints -> f
    1:1:void <clinit>():120:120 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):1315:1315 -> <init>
    2:1191:void <init>(com.android.tools.r8.graph.AppView):129:1318 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$000(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> a
    2:2:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1328:1328 -> a
    3:5:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):1333:1335 -> a
    6:8:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1345:1347 -> a
    9:10:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.ir.optimize.OutlinerImpl.selectMethodsForOutlining():1501:1502 -> a
    9:10:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1348 -> a
    11:35:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1349:1373 -> a
    36:37:boolean com.android.tools.r8.ir.optimize.OutlinerImpl.checkAllOutlineSitesFoundAgain():1608:1609 -> a
    36:37:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1374 -> a
    38:40:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1375:1377 -> a
    41:42:void lambda$performOutlining$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.code.IRCode):1354:1355 -> a
    43:44:void forEachSelectedOutliningMethod(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.function.Consumer,java.util.concurrent.ExecutorService):1386:1387 -> a
    45:47:void lambda$forEachSelectedOutliningMethod$3(com.android.tools.r8.ir.conversion.IRConverter,java.util.function.Consumer,com.android.tools.r8.graph.ProgramMethod):1390:1392 -> a
    48:48:boolean com.android.tools.r8.graph.Code.isOutlineCode():0:0 -> a
    48:48:void lambda$forEachSelectedOutliningMethod$3(com.android.tools.r8.ir.conversion.IRConverter,java.util.function.Consumer,com.android.tools.r8.graph.ProgramMethod):1392 -> a
    49:57:void lambda$forEachSelectedOutliningMethod$3(com.android.tools.r8.ir.conversion.IRConverter,java.util.function.Consumer,com.android.tools.r8.graph.ProgramMethod):1392:1400 -> a
    58:63:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1414:1419 -> a
    64:64:boolean com.android.tools.r8.graph.Code.isOutlineCode():0:0 -> a
    64:64:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1419 -> a
    65:67:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1419:1421 -> a
    68:68:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.getMap(com.android.tools.r8.graph.AppView):239:239 -> a
    68:68:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> a
    68:68:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1421 -> a
    69:69:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243:243 -> a
    69:69:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1421 -> a
    70:70:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    70:70:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    70:70:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    70:70:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> a
    70:70:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1421 -> a
    71:71:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    71:71:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    71:71:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> a
    71:71:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1421 -> a
    72:80:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1425:1433 -> a
    81:81:void lambda$collectOutlineSites$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):1431:1431 -> a
    82:105:void getInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer):1439:1462 -> a
    106:133:void getInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer):1457:1484 -> a
    134:134:void lambda$identifyOutlineSites$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List):1497:1497 -> a
    135:135:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext lambda$buildOutlineMethods$6(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):1523:1523 -> a
    136:136:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1534:1534 -> a
    137:146:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1533:1542 -> a
    147:147:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    147:147:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1542 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    148:148:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    148:148:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1542 -> a
    149:149:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1544:1544 -> a
    150:150:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1543:1543 -> a
    151:151:com.android.tools.r8.graph.Code lambda$buildOutlineMethods$7(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.DexMethod):1541:1541 -> a
    152:152:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1577:1577 -> a
    153:153:boolean com.android.tools.r8.graph.Code.isOutlineCode():0:0 -> a
    153:153:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1577 -> a
    154:169:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1577:1592 -> a
    170:170:void lambda$applyOutliningCandidate$9(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Set,java.util.List):1584:1584 -> a
    171:177:void lambda$applyOutliningCandidate$10(java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction):1594:1600 -> a
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> b
    2:2:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1323:1323 -> b
    3:8:void lambda$performOutlining$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.code.IRCode):1365:1370 -> b
    9:9:void lambda$performOutlining$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.code.IRCode):1369:1369 -> b
    10:10:void rewriteWithLens():1409:1409 -> b
    11:12:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1491:1492 -> b
    13:13:boolean com.android.tools.r8.graph.Code.isOutlineCode():0:0 -> b
    13:13:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1492 -> b
    14:15:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1492:1493 -> b
    16:16:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.getMap(com.android.tools.r8.graph.AppView):239:239 -> b
    16:16:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> b
    16:16:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493 -> b
    17:17:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243:243 -> b
    17:17:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493 -> b
    18:18:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> b
    18:18:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> b
    18:18:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> b
    18:18:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> b
    18:18:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493 -> b
    19:19:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> b
    19:19:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> b
    19:19:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> b
    19:19:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493 -> b
    20:21:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493:1494 -> b
    1:1:com.android.tools.r8.ir.optimize.InliningConstraints access$200(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> c
    2:2:void lambda$performOutlining$2(com.android.tools.r8.graph.ProgramMethod):1375:1375 -> c
    3:5:java.util.List buildOutlineMethods():1507:1509 -> c
    6:10:java.util.List com.android.tools.r8.ir.optimize.OutlinerImpl.selectOutlines():1554:1558 -> c
    6:10:java.util.List buildOutlineMethods():1513 -> c
    11:14:java.util.List buildOutlineMethods():1514:1517 -> c
    15:18:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.OutlinerImpl.findDeterministicRepresentative(java.util.List):1566:1569 -> c
    15:18:java.util.List buildOutlineMethods():1519 -> c
    19:19:java.util.List buildOutlineMethods():1522:1522 -> c
    20:28:java.util.List buildOutlineMethods():1521:1529 -> c
    29:50:java.util.List buildOutlineMethods():1527:1548 -> c
    1:1:java.util.Map access$300(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> d
    1:1:java.util.Map access$400(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> e
com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction -> com.android.tools.r8.internal.QK:
    com.android.tools.r8.ir.code.NumericType numericType -> c
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType,com.android.tools.r8.ir.code.NumericType):229:230 -> <init>
    boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):234:234 -> a
    2:2:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):155:155 -> a
    2:2:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> a
    3:3:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):158 -> a
    3:3:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> a
    4:4:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):161 -> a
    4:4:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    5:5:boolean com.android.tools.r8.ir.code.Instruction.isDiv():0:0 -> a
    5:5:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):164 -> a
    5:5:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    6:6:boolean com.android.tools.r8.ir.code.Instruction.isRem():0:0 -> a
    6:6:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):167 -> a
    6:6:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    7:10:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):170:173 -> a
    7:10:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    11:11:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):236:236 -> a
    12:12:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):176:176 -> a
    12:12:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    13:13:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):255:255 -> a
    14:14:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):203:203 -> a
    14:14:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):256 -> a
    15:20:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):258:263 -> a
    21:21:java.lang.String getDetailsString():268:268 -> a
    22:26:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):288:292 -> a
    27:27:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    27:27:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):294 -> a
    28:30:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):296:296 -> a
    33:33:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):299:299 -> a
    34:34:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    34:34:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):301 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    35:35:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):301 -> a
    36:55:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):301:320 -> a
    56:56:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":401,"2":402,"3":403}}
    401:401:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):320:320 -> a
    402:402:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):320:320 -> a
    403:403:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):320:320 -> a
    376:376:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):320:320 -> a
    377:377:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):317:317 -> a
    378:378:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):314:314 -> a
    379:382:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):308:311 -> a
    383:400:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):305:322 -> a
    1:1:java.lang.String getInstructionName():273:273 -> b
    boolean hasOutValue() -> c
    int numberOfInputs() -> d
    1:5:boolean equals(java.lang.Object):246:250 -> equals
    1:1:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.hashCode():199:199 -> hashCode
    1:1:int hashCode():241 -> hashCode
    2:2:int hashCode():241:241 -> hashCode
com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction -> com.android.tools.r8.internal.RK:
    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
    1:1:void <clinit>():401:401 -> <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):414:420 -> <init>
    1:1:java.lang.String getDetailsString():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":490,"2":491,"3":492}}
    490:490:java.lang.String getDetailsString():488:488 -> a
    491:491:java.lang.String getDetailsString():488:488 -> a
    492:492:java.lang.String getDetailsString():488:488 -> a
    489:489:java.lang.String getDetailsString():488:488 -> a
    493:501:com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.InvokeMethod):424:432 -> a
    502:502:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    502:502:com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.InvokeMethod):434 -> a
    503:503:com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.InvokeMethod):434:434 -> a
    504:504:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):460:460 -> a
    505:505:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):203:203 -> a
    505:505:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):461 -> a
    506:525:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):463:482 -> a
    526:528:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):517:519 -> a
    529:529:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    529:529:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):521 -> a
    530:535:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction.getArgumentConstraint(int):507:512 -> a
    530:535:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):523 -> a
    536:541:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):523:528 -> a
    542:542:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    542:542:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):530 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    543:543:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    543:543:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):530 -> a
    544:547:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):530:533 -> a
    548:548: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):230:230 -> a
    548:548:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):533 -> a
    549:549:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):534:534 -> a
    550:550:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):540:540 -> a
    551:551:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    551:551:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):540 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    552:552:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):540:540 -> a
    1:1:java.lang.String getInstructionName():493:493 -> b
    1:1:boolean hasOutValue():498:498 -> c
    1:1:int numberOfInputs():503:503 -> d
    1:8:boolean equals(java.lang.Object):448:455 -> equals
    1:1:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.hashCode():199:199 -> hashCode
    1:1:int hashCode():439 -> hashCode
    2:6:int hashCode():439:443 -> hashCode
com.android.tools.r8.ir.optimize.OutlinerImpl$NewInstanceOutlineInstruction -> com.android.tools.r8.internal.SK:
    com.android.tools.r8.graph.DexType clazz -> c
    1:2:void <init>(com.android.tools.r8.graph.DexType):336:337 -> <init>
    1:1:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):357:357 -> a
    2:2:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):203:203 -> a
    2:2:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):358 -> a
    3:4:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):360:361 -> a
    5:5:java.lang.String getDetailsString():366:366 -> a
    6:7:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):386:387 -> a
    8:8:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    8:8:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):389 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    9:9:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):389 -> a
    10:12:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):389:391 -> a
    13:13:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397:397 -> a
    14:14:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":412,"2":413,"3":414}}
    412:412:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397:397 -> a
    413:413:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    413:413:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397 -> a
    414:414:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    414:414:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397 -> a
    411:411:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397:397 -> a
    1:1:java.lang.String getInstructionName():371:371 -> b
    boolean hasOutValue() -> c
    int numberOfInputs() -> d
    1:5:boolean equals(java.lang.Object):342:346 -> equals
    1:1:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.hashCode():199:199 -> hashCode
    1:1:int hashCode():352 -> hashCode
    2:2:int hashCode():352:352 -> hashCode
com.android.tools.r8.ir.optimize.OutlinerImpl$Outline -> com.android.tools.r8.internal.TK:
    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.OutlinerImpl this$0 -> g
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexType returnType -> e
    1:1:void <clinit>():566:566 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,java.util.List,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,int,int):583:583 -> <init>
    2:29:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,java.util.List,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,int,int):570:597 -> <init>
    30:30:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,java.util.List,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,int,int):591:591 -> <init>
    1:5:com.android.tools.r8.graph.DexProto buildProto():607:611 -> a
    6:6:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):623:623 -> a
    7:7:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1269,"2":1270,"3":1271}}
    1269:1269:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):624:624 -> a
    1270:1270:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1270:1270:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):624 -> a
    1271:1271:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1271:1271:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):624 -> a
    635:635:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628:628 -> a
    636:636:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1272,"2":1273,"3":1274}}
    1272:1272:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628:628 -> a
    1273:1273:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1273:1273:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628 -> a
    1274:1274:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1274:1274:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628 -> a
    1264:1267:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628:631 -> a
    1268:1268:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    1268:1268:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):631 -> a
    1275:1275:boolean lambda$needsLensRewriting$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):633:633 -> a
    1:1:com.android.tools.r8.ir.optimize.OutlinerImpl$Outline rewrittenWithLens(com.android.tools.r8.graph.GraphLens):615:615 -> b
    1:1:int compareTo(java.lang.Object):566:566 -> compareTo
    2:7:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):681:686 -> compareTo
    2:7:int compareTo(java.lang.Object):566 -> compareTo
    8:8:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> compareTo
    8:8:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):686 -> compareTo
    8:8:int compareTo(java.lang.Object):566 -> compareTo
    9:40:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):686:717 -> compareTo
    9:40:int compareTo(java.lang.Object):566 -> compareTo
    1:18:boolean equals(java.lang.Object):638:655 -> equals
    1:6:int hashCode():663:668 -> hashCode
    1:37:java.lang.String toString():724:760 -> toString
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineCode -> com.android.tools.r8.internal.UK:
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> e
    com.android.tools.r8.ir.optimize.OutlinerImpl$Outline outline -> d
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1772:1773 -> <init>
    java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper) -> a
    1:2: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):1799:1800 -> a
    3:3:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):1810:1810 -> a
    4:4:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):1815:1815 -> a
    1:1:boolean computeEquals(java.lang.Object):1825:1825 -> h
    1:1:int computeHashCode():1820:1820 -> m0
    int estimatedDexCodeSizeUpperBoundInBytes() -> q0
    int estimatedSizeForInlining() -> r0
    1:1:java.lang.String toString():1805:1805 -> toString
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction -> com.android.tools.r8.internal.WK:
    com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType type -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():140:140 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType):182:183 -> <init>
    int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction) -> a
    int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int) -> a
    java.lang.String getDetailsString() -> a
    boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens) -> a
    1:8:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Instruction):187:194 -> a
    java.lang.String getInstructionName() -> b
    boolean hasOutValue() -> c
    int numberOfInputs() -> d
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.VK:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String name(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineMethodIdentifier -> com.android.tools.r8.internal.XK:
    java.util.List outlinesForMethod -> p
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):1189:1190 -> <init>
    1:1:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1195:1195 -> a
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineRewriter -> com.android.tools.r8.internal.YK:
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> t
    boolean $assertionsDisabled -> u
    com.android.tools.r8.ir.code.IRCode code -> p
    java.util.Set toRemove -> q
    java.util.Set invokesToOutlineMethods -> r
    int argumentsMapIndex -> s
    1:1:void <clinit>():1215:1215 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.Set,java.util.Set):1226:1230 -> <init>
    1:9:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1235:1243 -> a
    10:10:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    10:10:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1243 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:27:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1243:1259 -> a
    28:33:java.util.List com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.orderedInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):806:811 -> a
    28:33:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1263 -> a
    34:63:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1264:1293 -> a
    64:69:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1290:1295 -> a
    70:70:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    70:70:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1296 -> a
    71:73:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1297:1299 -> a
    74:76:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1305:1307 -> a
    77:81:java.util.Optional com.android.tools.r8.utils.ListUtils.removeFirstMatch(java.util.List,java.util.function.Predicate):233:237 -> a
    77:81:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1306 -> a
    82:82:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1309:1309 -> a
    83:87:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1306:1310 -> a
    88:88:boolean lambda$removeMethodFromOutlineList$0(com.android.tools.r8.graph.ProgramMethod):1308:1308 -> a
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSiteIdentifier -> com.android.tools.r8.internal.ZK:
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> p
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List):1202:1203 -> <init>
    1:3:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1208:1210 -> a
    4:4:java.util.List lambda$handle$0(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1209:1209 -> a
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSourceCode -> com.android.tools.r8.internal.aL:
    com.android.tools.r8.ir.optimize.OutlinerImpl$Outline outline -> a
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> e
    boolean $assertionsDisabled -> f
    int argumentMapIndex -> d
    com.android.tools.r8.graph.DexMethod method -> b
    int position -> c
    1:1:void <clinit>():1614:1614 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.DexMethod):1621:1621 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.DexMethod):1619:1623 -> <init>
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:1:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):1659:1659 -> a
    2:2:void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean):1689:1689 -> a
    3:7:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):1700:1704 -> a
    8:8:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    8:8:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):1704 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    9:9:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):1704 -> a
    10:20:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):1704:1714 -> a
    21:21:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):1720:1720 -> a
    22:22:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):1726:1726 -> a
    23:23:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):1741:1741 -> a
    boolean verifyCurrentInstructionCanThrow() -> b
    boolean verifyRegister(int) -> b
    1:9:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):1673:1681 -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> c
    int instructionIndex(int) -> c
    void setUp() -> c
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    1:1:int instructionCount():1628:1628 -> d
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():1748:1748 -> e
    1:1:int getMoveExceptionRegister(int):1736:1736 -> f
    int instructionOffset(int) -> g
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter -> com.android.tools.r8.internal.bL:
    com.android.tools.r8.graph.DexType returnType -> j
    int returnValueUniqueUsersLeft -> l
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> n
    boolean $assertionsDisabled -> o
    int pendingNewInstanceIndex -> m
    int argumentRegisters -> i
    int index -> d
    int actualInstructions -> e
    com.android.tools.r8.graph.ProgramMethod method -> a
    int start -> c
    java.util.List currentCandidateInstructions -> b
    com.android.tools.r8.ir.code.Value returnValue -> k
    java.util.List arguments -> f
    java.util.List argumentsMap -> h
    java.util.List argumentTypes -> g
    1:1:void <clinit>():768:768 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List):787:787 -> <init>
    2:9:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List):784:791 -> <init>
    void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline) -> a
    1:2:void process():795:796 -> a
    3:6:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):822:825 -> a
    3:6:void process():796 -> a
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    7:7:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):832 -> a
    7:7:void process():796 -> a
    8:12:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):839:843 -> a
    8:12:void process():796 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    13:13:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1035 -> a
    13:13:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    13:13:void process():796 -> a
    14:16:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1036:1038 -> a
    14:16:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    14:16:void process():796 -> a
    17:21:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.adjustReturnValueUsersLeft(int):1119:1123 -> a
    17:21:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1038 -> a
    17:21:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    17:21:void process():796 -> a
    22:22:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1043:1043 -> a
    22:22:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    22:22:void process():796 -> a
    23:28:java.util.List com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.orderedInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):806:811 -> a
    23:28:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1043 -> a
    23:28:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    23:28:void process():796 -> a
    29:32:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1045:1048 -> a
    29:32:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    29:32:void process():796 -> a
    33:37:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.adjustReturnValueUsersLeft(int):1119:1123 -> a
    33:37:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1049 -> a
    33:37:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    33:37:void process():796 -> a
    38:40:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1054:1056 -> a
    38:40:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    38:40:void process():796 -> a
    41:48:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.updateReturnValueState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):1107:1114 -> a
    41:48:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1056 -> a
    41:48:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    41:48:void process():796 -> a
    49:52:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1060:1060 -> a
    49:52:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    49:52:void process():796 -> a
    55:62:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1063:1070 -> a
    55:62:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    55:62:void process():796 -> a
    63:63:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    63:63:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1070 -> a
    63:63:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    63:63:void process():796 -> a
    64:70:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1082:1088 -> a
    64:70:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    64:70:void process():796 -> a
    71:97:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1071:1097 -> a
    71:97:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    71:97:void process():796 -> a
    98:105:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.updateReturnValueState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):1107:1114 -> a
    98:105:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1095 -> a
    98:105:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    98:105:void process():796 -> a
    106:107:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1100:1101 -> a
    106:107:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    106:107:void process():796 -> a
    108:115:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.updateReturnValueState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):1107:1114 -> a
    108:115:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1099 -> a
    108:115:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    108:115:void process():796 -> a
    116:126:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):848:858 -> a
    116:126:void process():796 -> a
    127:128:void process():798:799 -> a
    129:132:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):865:868 -> a
    133:133:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    133:133:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):867 -> a
    134:172:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):874:912 -> a
    173:173:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    173:173:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):915 -> a
    174:201:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):916:943 -> a
    202:202:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    202:202:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):943 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    203:203:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    203:203:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):943 -> a
    204:210:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):946:952 -> a
    211:211:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):947:947 -> a
    212:212:boolean lambda$canIncludeInstruction$0(com.android.tools.r8.ir.code.Value):868:868 -> a
    213:213:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):958:958 -> a
    214:214:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    214:214:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):958 -> a
    215:215:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):960:960 -> a
    216:216:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    216:216:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):963 -> a
    217:222:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):965:970 -> a
    223:246:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):996:1019 -> a
    247:247:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> a
    247:247:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():64 -> a
    247:247:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    248:248:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> a
    248:248:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():65 -> a
    248:248:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    249:249:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> a
    249:249:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():66 -> a
    249:249:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    250:250:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> a
    250:250:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():67 -> a
    250:250:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    251:251:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    251:251:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():68 -> a
    251:251:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    252:252:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    252:252:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():69 -> a
    252:252:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    253:253:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    253:253:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():70 -> a
    253:253:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    254:254:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    254:254:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():71 -> a
    254:254:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    255:256:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019:1020 -> a
    257:257:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    257:257:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1021 -> a
    258:261:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1024:1027 -> a
    262:291:void candidate(int,int):1130:1159 -> a
    292:302:void reset(int):1164:1174 -> a
    1:7:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):975:981 -> b
    8:8:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    8:8:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):981 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    9:9:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):981 -> b
    10:16:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):984:990 -> b
com.android.tools.r8.ir.optimize.PeepholeOptimizer -> com.android.tools.r8.internal.wL:
    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
    2:17:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):487:502 -> a
    2:17:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    18:18:boolean com.android.tools.r8.ir.optimize.PeepholeOptimizer.constantSpilledAtDefinition(com.android.tools.r8.ir.code.ConstNumber):549:549 -> a
    18:18:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):502 -> a
    18:18:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    19:19:boolean com.android.tools.r8.ir.code.Value.isFixedRegisterValue():0:0 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.PeepholeOptimizer.constantSpilledAtDefinition(com.android.tools.r8.ir.code.ConstNumber):549 -> a
    19:19:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):502 -> a
    19:19:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    20:21:boolean com.android.tools.r8.ir.optimize.PeepholeOptimizer.constantSpilledAtDefinition(com.android.tools.r8.ir.code.ConstNumber):553:554 -> a
    20:21:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):502 -> a
    20:21:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    22:37:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):505:520 -> a
    22:37:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    38:40:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeWideConstantCovering(java.util.Map,int):542:544 -> a
    38:40:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):522 -> a
    38:40:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    41:43:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):527:529 -> a
    41:43:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    44:46:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeWideConstantCovering(java.util.Map,int):542:544 -> a
    44:46:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):533 -> a
    44:46:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    47:53:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.shareIdenticalBlockPrefix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):49:55 -> a
    47:53:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):42 -> a
    54:55:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):43:44 -> a
    56:56:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    56:56:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):44 -> a
    57:187:void shareIdenticalBlockPrefixFromNormalSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Set,com.android.tools.r8.ir.optimize.InstructionEquivalence):63:193 -> a
    188:188:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    188:188:void shareIdenticalBlockPrefixFromNormalSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Set,com.android.tools.r8.ir.optimize.InstructionEquivalence):196 -> a
    189:191:void shareIdenticalBlockPrefixFromNormalSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Set,com.android.tools.r8.ir.optimize.InstructionEquivalence):197:199 -> a
    192:194:boolean lambda$shareIdenticalBlockPrefixFromNormalSuccessors$0(com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction,int,com.android.tools.r8.ir.code.Value):134:136 -> a
    195:213:boolean mayShareIdenticalBlockPrefix(com.android.tools.r8.ir.code.BasicBlock):207:225 -> a
    214:214:boolean mayShareIdenticalBlockPrefix(com.android.tools.r8.ir.code.BasicBlock):224:224 -> a
    215:243:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):235:263 -> a
    244:253:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):262:271 -> a
    254:269:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):270:285 -> a
    270:270:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):407:407 -> a
    270:270:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    271:275:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):392:396 -> a
    271:275:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    271:275:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    276:276: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
    276:276:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):396 -> a
    276:276:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    276:276:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    277:278:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):397:398 -> a
    277:278:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    277:278:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    279:279:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    279:279:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):398 -> a
    279:279:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    279:279:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    280:280:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):399:399 -> a
    280:280:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    280:280:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    281:285:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):392:396 -> a
    281:285:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    281:285:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    286:286: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
    286:286:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):396 -> a
    286:286:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    286:286:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    287:288:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):397:398 -> a
    287:288:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    287:288:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    289:289:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    289:289:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):398 -> a
    289:289:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    289:289:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    290:290:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):399:399 -> a
    290:290:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    290:290:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    291:300:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409:418 -> a
    291:300:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    301:304:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287:290 -> a
    305:305:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    305:305:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):298 -> a
    306:308:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):324:326 -> a
    306:308:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    309:316:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):325:332 -> a
    309:316:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    317:317: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
    317:317:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):332 -> a
    317:317:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    318:322:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):333:337 -> a
    318:322:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    323:323:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    323:323:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):337 -> a
    323:323:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    324:341:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):338:355 -> a
    324:341:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    342:342:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    342:342:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):356 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    342:342:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    343:343:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    343:343:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):356 -> a
    343:343:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    344:373:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):357:386 -> a
    344:373:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    374:386:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):303:315 -> a
    387:387:java.util.List lambda$shareIdenticalBlockSuffix$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):263:263 -> a
    388:408:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):431:451 -> a
    409:409:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    409:409:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):452 -> a
    410:410:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    410:410:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):452 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    411:411:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    411:411:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):452 -> a
    412:412:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):452:452 -> a
    413:427:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):451:465 -> a
    428:428:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    428:428:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):466 -> a
    429:432:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):466:469 -> a
    1:1:java.util.List lambda$shareIdenticalBlockSuffix$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):271:271 -> b
com.android.tools.r8.ir.optimize.PhiOptimizations -> com.android.tools.r8.internal.zL:
    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
    7:8:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.predecessorsHaveNormalFlow(com.android.tools.r8.ir.code.BasicBlock):28:29 -> b
    7:8:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    7:8:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    9:9:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67}}
    65:65:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.predecessorsHaveNormalFlow(com.android.tools.r8.ir.code.BasicBlock):29:29 -> b
    65:65:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    65:65:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    66:66:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.predecessorsHaveNormalFlow(com.android.tools.r8.ir.code.BasicBlock):29:29 -> b
    66:66:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    66:66:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    67:67:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.predecessorsHaveNormalFlow(com.android.tools.r8.ir.code.BasicBlock):29:29 -> b
    67:67:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    67:67:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    10:14:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.singleUseOfPhiAndOperands(com.android.tools.r8.ir.code.Phi):37:41 -> b
    10:14:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    10:14:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    15:16:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):141:142 -> b
    15:16:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    17:30:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):58:71 -> b
    17:30:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
    17:30:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    31:31:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67}}
    65:65:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
    65:65:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
    65:65:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    66:66:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
    66:66:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
    66:66:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    67:67:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
    67:67:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
    67:67:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    32:33:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):148:149 -> b
    32:33:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    34:34:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> b
    34:34:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):149 -> b
    34:34:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    35:38:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):152:155 -> b
    35:38:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    39:50:int com.android.tools.r8.ir.optimize.PhiOptimizations.getStackHeightAtInstructionBackwards(com.android.tools.r8.ir.code.Instruction):88:99 -> b
    39:50:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):155 -> b
    39:50:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    51:64:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.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.RedundantFieldLoadAndStoreElimination -> com.android.tools.r8.internal.iQ:
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState activeState -> h
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> j
    java.util.Set affectedValues -> f
    boolean release -> e
    java.util.Map instructionsToRemove -> i
    com.android.tools.r8.ir.code.IRCode code -> c
    int maxCapacityPerBlock -> d
    com.android.tools.r8.graph.ProgramMethod method -> b
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates activeStates -> g
    1:1:void <clinit>():62:62 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):85:85 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):74:90 -> <init>
    1:1:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    1:1:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):276 -> a
    2:2:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):279:279 -> a
    3:3:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    3:3:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):279 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    4:4:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):279 -> a
    5:7:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):280:282 -> a
    8:8:java.util.Set access$000(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):62:62 -> a
    9:11:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):421:421 -> a
    13:20:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):423:430 -> a
    21:21:boolean lambda$processInstructionsToRemove$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):422:422 -> a
    22:41:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):451:470 -> a
    42:42:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):458:458 -> a
    43:50:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):473:480 -> a
    51:51:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    51:51:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):481 -> a
    52:60:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):482:490 -> a
    61:61:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    61:61:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):491 -> a
    62:69:void lambda$handleInvokeDirect$2(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):492:499 -> a
    70:74:void markMostRecentInitClassForRemoval(com.android.tools.r8.graph.DexType):547:551 -> a
    75:84:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue,com.android.tools.r8.ir.optimize.AssumeRemover):643:652 -> a
    85:87:boolean lambda$markAssumeDynamicTypeUsersForRemoval$3(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.code.Instruction):649:651 -> a
    88:101:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):659:672 -> a
    102:102:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    102:102:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):672 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    103:103:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    103:103:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):672 -> a
    104:105:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):672:673 -> a
    106:109:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():439:442 -> a
    106:109:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):674 -> a
    110:114:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():441:445 -> a
    110:114:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):674 -> a
    115:115:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    115:115:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():445 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    115:115:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):674 -> a
    116:116:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():445:445 -> a
    116:116:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):674 -> a
    117:120:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():443:446 -> a
    117:120:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):674 -> a
    121:132:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):675:686 -> a
    133:140:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):685:692 -> a
    141:141:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):749:749 -> a
    142:142:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):543:543 -> a
    142:142:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):749 -> a
    143:165:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):752:774 -> a
    166:174:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):773:781 -> a
    175:175:void applyObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):785:785 -> a
    176:180:void lambda$applyObjectState$5(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):787:791 -> a
    181:185:void killAllNonFinalActiveFields():799:803 -> a
    186:186:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):807:807 -> a
    187:187:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    187:187:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):807 -> a
    188:196:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):807:815 -> a
    197:197:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    197:197:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):817 -> a
    198:198:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    198:198:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):817 -> a
    199:199:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    199:199:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):824 -> a
    200:200:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):825:825 -> a
    201:205:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):818:822 -> a
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):62:62 -> b
    2:2:void processInstructionsToRemove():419:419 -> b
    3:3:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):763:763 -> b
    4:4:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    4:4:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):763 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    5:5:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):763 -> b
    6:6:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):763:763 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod access$200(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):62:62 -> c
    2:3:void run():298:299 -> c
    4:4:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> c
    4:4:void run():300 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:11:void run():301:307 -> c
    12:12:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> c
    12:12:void run():307 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:23:void run():311:321 -> c
    24:44:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleArrayGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.ArrayGet):556:576 -> c
    24:44:void run():321 -> c
    45:46:void run():323:324 -> c
    47:47:int com.android.tools.r8.ir.code.ArrayAccess.getIndexOrDefault(int):28:28 -> c
    47:47:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleArrayPut(com.android.tools.r8.ir.code.ArrayPut):580 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:void run():324 -> c
    48:49:int com.android.tools.r8.ir.code.ArrayAccess.getIndexOrDefault(int):28:29 -> c
    48:49:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleArrayPut(com.android.tools.r8.ir.code.ArrayPut):580 -> c
    48:49:void run():324 -> c
    50:65:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleArrayPut(com.android.tools.r8.ir.code.ArrayPut):581:596 -> c
    50:65:void run():324 -> c
    66:67:void run():326:327 -> c
    68:74:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.resolveField(com.android.tools.r8.graph.DexField):286:292 -> c
    68:74:void run():328 -> c
    75:75:void run():329:329 -> c
    76:76:boolean com.android.tools.r8.graph.DexEncodedField.isVolatile():238:238 -> c
    76:76:void run():329 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:77:boolean com.android.tools.r8.graph.DexEncodedField.isVolatile():238:238 -> c
    77:77:void run():329 -> c
    78:78:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> c
    78:78:void run():334 -> c
    79:79:void run():335:335 -> c
    80:80:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):604:604 -> c
    80:80:void run():335 -> c
    81:84:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):634:637 -> c
    81:84:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):605 -> c
    81:84:void run():335 -> c
    85:95:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):609:619 -> c
    85:95:void run():335 -> c
    96:99:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):634:637 -> c
    96:99:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):620 -> c
    96:99:void run():335 -> c
    100:101:void run():336:337 -> c
    102:102:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> c
    102:102:void run():338 -> c
    103:103:void run():339:339 -> c
    104:104:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):700:700 -> c
    104:104:void run():339 -> c
    105:105:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):543:543 -> c
    105:105:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):700 -> c
    105:105:void run():339 -> c
    106:107:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):702:703 -> c
    106:107:void run():339 -> c
    108:111:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):741:744 -> c
    108:111:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):704 -> c
    108:111:void run():339 -> c
    112:120:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):708:716 -> c
    112:120:void run():339 -> c
    121:124:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):741:744 -> c
    121:124:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):717 -> c
    121:124:void run():339 -> c
    125:132:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):719:726 -> c
    125:132:void run():339 -> c
    133:133:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> c
    133:133:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):726 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    133:133:void run():339 -> c
    134:134:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> c
    134:134:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):726 -> c
    134:134:void run():339 -> c
    135:142:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):728:735 -> c
    135:142:void run():339 -> c
    143:144:void run():340:341 -> c
    145:145:void run():330:330 -> c
    146:146:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> c
    146:146:void run():343 -> c
    147:147:void run():344:344 -> c
    148:148:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> c
    148:148:void run():345 -> c
    149:149:void run():346:346 -> c
    150:160:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):522:532 -> c
    150:160:void run():346 -> c
    161:161:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):543:543 -> c
    161:161:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):533 -> c
    161:161:void run():346 -> c
    162:166:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):534:538 -> c
    162:166:void run():346 -> c
    167:167:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> c
    167:167:void run():347 -> c
    168:172:void run():348:352 -> c
    173:173:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> c
    173:173:void run():353 -> c
    174:174:void run():354:354 -> c
    175:175:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):505:505 -> c
    175:175:void run():354 -> c
    176:176:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():638:638 -> c
    176:176:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):505 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    176:176:void run():354 -> c
    177:177:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():638:638 -> c
    177:177:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):505 -> c
    177:177:void run():354 -> c
    178:185:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):506:513 -> c
    178:185:void run():354 -> c
    186:186:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):543:543 -> c
    186:186:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):513 -> c
    186:186:void run():354 -> c
    187:191:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):514:518 -> c
    187:191:void run():354 -> c
    192:192:void run():355:355 -> c
    193:193:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> c
    193:193:void run():355 -> c
    194:195:void run():357:358 -> c
    196:196:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):624:624 -> c
    196:196:void run():358 -> c
    197:197:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):543:543 -> c
    197:197:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):624 -> c
    197:197:void run():358 -> c
    198:200:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):625:627 -> c
    198:200:void run():358 -> c
    201:213:void run():362:374 -> c
    214:214:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> c
    214:214:void run():375 -> c
    215:218:void run():376:379 -> c
    219:219:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> c
    219:219:void run():380 -> c
    220:220:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> c
    220:220:void run():381 -> c
    221:221:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> c
    221:221:void run():382 -> c
    222:222:void run():383:383 -> c
    223:223:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> c
    223:223:void run():384 -> c
    224:224:void run():385:385 -> c
    225:225:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> c
    225:225:void run():386 -> c
    226:227:void run():387:388 -> c
    228:228:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> c
    228:228:void run():389 -> c
    229:229:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> c
    229:229:void run():390 -> c
    230:230:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> c
    230:230:void run():391 -> c
    231:231:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    231:231:void run():392 -> c
    232:232:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> c
    232:232:void run():393 -> c
    233:237:void run():394:398 -> c
    238:238:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> c
    238:238:void run():399 -> c
    239:239:void run():373:373 -> c
    240:240:void run():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":657,"2":658,"3":659}}
    657:657:void run():373:373 -> c
    658:658:void run():373:373 -> c
    659:659:void run():373:373 -> c
    640:640:void run():400:400 -> c
    641:641:void run():356:356 -> c
    642:642:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> c
    642:642:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():221 -> c
    642:642:void run():403 -> c
    643:643:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():221:221 -> c
    643:643:void run():403 -> c
    644:653:void run():404:413 -> c
    654:654:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> c
    654:654:void run():414 -> c
    655:656:void run():414:415 -> c
    1:1:com.android.tools.r8.ir.code.IRCode access$300(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):62:62 -> d
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot -> com.android.tools.r8.internal.ZP:
    com.android.tools.r8.ir.code.MemberType memberType -> b
    com.android.tools.r8.ir.code.Value array -> a
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):157:157 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType):162:164 -> <init>
    boolean maybeHasIndex(int) -> a
    1:5:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot create(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType):168:172 -> a
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlotWithConstantIndex -> com.android.tools.r8.internal.aQ:
    int index -> c
    1:1:void <init>(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):186:186 -> <init>
    2:3:void <init>(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.MemberType):191:192 -> <init>
    1:1:boolean maybeHasIndex(int):197:197 -> a
    1:5:boolean equals(java.lang.Object):210:214 -> equals
    6:6:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot.baseEquals(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):182:182 -> equals
    6:6:boolean equals(java.lang.Object):214 -> equals
    1:1:int hashCode():202:202 -> hashCode
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlotWithValueIndex -> com.android.tools.r8.internal.bQ:
    com.android.tools.r8.ir.code.Value index -> c
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):218:218 -> <init>
    2:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType):223:224 -> <init>
    boolean maybeHasIndex(int) -> a
    1:5:boolean equals(java.lang.Object):242:246 -> equals
    6:6:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot.baseEquals(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):182:182 -> equals
    6:6:boolean equals(java.lang.Object):246 -> equals
    1:1:int hashCode():234:234 -> hashCode
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState -> com.android.tools.r8.internal.cQ:
    java.util.LinkedHashMap arraySlotValues -> a
    java.util.LinkedHashSet initializedClasses -> d
    int maxCapacity -> j
    java.util.LinkedHashMap nonFinalInstanceFieldValues -> e
    java.util.LinkedHashMap finalInstanceFieldValues -> b
    boolean $assertionsDisabled -> k
    java.util.LinkedHashMap finalStaticFieldValues -> c
    com.android.tools.r8.ir.code.InitClass mostRecentInitClass -> g
    java.util.LinkedHashMap mostRecentInstanceFieldWrites -> h
    java.util.LinkedHashMap mostRecentStaticFieldWrites -> i
    java.util.LinkedHashMap nonFinalStaticFieldValues -> f
    1:1:void <clinit>():953:953 -> <clinit>
    1:2:void <init>(int):975:976 -> <init>
    3:39:void <init>(int,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):980:1016 -> <init>
    1:1:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot.getMemberType():176:176 -> a
    1:1:boolean lambda$removeArraySlotValues$2(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):1213 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot.getMemberType():176:176 -> a
    2:2:boolean lambda$removeArraySlotValues$3(com.android.tools.r8.ir.code.MemberType,int,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):1223 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean lambda$removeArraySlotValues$3(com.android.tools.r8.ir.code.MemberType,int,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):1223:1223 -> a
    4:4:int access$1000(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):953:953 -> a
    5:5:void clearArraySlotValues():1022:1022 -> a
    6:7:void clearMostRecentInstanceFieldWrite(com.android.tools.r8.graph.DexField):1031:1032 -> a
    8:8:boolean lambda$clearMostRecentInstanceFieldWrite$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1032:1032 -> a
    9:9:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getArraySlotValue(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):1067:1067 -> a
    10:14:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getInstanceFieldValue(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1072:1076 -> a
    15:15:void intersectFieldValues(java.util.Map,java.util.Map):1126:1126 -> a
    16:16:boolean lambda$intersectFieldValues$1(java.util.Map,java.util.Map$Entry):1126:1126 -> a
    17:17:void intersectInitializedClasses(java.util.Set,java.util.Set):1131:1131 -> a
    18:18:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1156:1156 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    19:19:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1157 -> a
    20:21:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1158:1159 -> a
    22:23:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1234:1235 -> a
    22:23:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1228 -> a
    22:23:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1160 -> a
    24:25:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1240:1241 -> a
    24:25:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1229 -> a
    24:25:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1160 -> a
    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1270:1271 -> a
    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1230 -> a
    26:27:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1160 -> a
    28:28:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    28:28:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1161 -> a
    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalStaticField(com.android.tools.r8.graph.DexField):1258:1259 -> a
    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1252 -> a
    29:30:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1162 -> a
    31:31:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1253:1253 -> a
    31:31:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1162 -> a
    32:33:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):1276:1277 -> a
    32:33:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1254 -> a
    32:33:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1162 -> a
    34:34:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.killActiveInitializedClassesForExceptionalExit(com.android.tools.r8.ir.code.InitClass):1167:1167 -> a
    34:34:void access$900(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState,com.android.tools.r8.ir.code.InitClass):953 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.killActiveInitializedClassesForExceptionalExit(com.android.tools.r8.ir.code.InitClass):1168:1168 -> a
    35:35:void access$900(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState,com.android.tools.r8.ir.code.InitClass):953 -> a
    36:40:boolean markClassAsInitialized(com.android.tools.r8.graph.DexType):1173:1177 -> a
    41:44:void reduceSize(int):1181:1184 -> a
    45:48:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):1198:1201 -> a
    45:48:void reduceSize(int):1184 -> a
    49:55:void reduceSize(int):1185:1191 -> a
    56:56:int reduceSize(int,java.util.Map):1208:1208 -> a
    57:60:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):1198:1201 -> a
    57:60:int reduceSize(int,java.util.Map):1208 -> a
    61:62:void removeArraySlotValues(com.android.tools.r8.ir.code.MemberType):1212:1213 -> a
    63:66:void removeArraySlotValues(com.android.tools.r8.ir.code.MemberType,int):1218:1221 -> a
    67:71:void putArraySlotValue(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1282:1286 -> a
    72:76:void putFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1290:1294 -> a
    77:81:void putFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1298:1302 -> a
    82:86:com.android.tools.r8.ir.code.InstancePut putMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.code.InstancePut):1307:1311 -> a
    87:91:com.android.tools.r8.ir.code.StaticPut putMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.StaticPut):1315:1319 -> a
    92:92:void setMostRecentInitClass(com.android.tools.r8.ir.code.InitClass):1345:1345 -> a
    93:93:int size(java.util.Map):1370:1370 -> a
    1:1:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentInstanceFieldWrites():1037:1037 -> b
    1:1:void clearMostRecentFieldWrites():1026 -> b
    2:2:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentStaticFieldWrites():1047:1047 -> b
    2:2:void clearMostRecentFieldWrites():1027 -> b
    3:4:void clearMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):1041:1042 -> b
    5:37:void intersect(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):1089:1121 -> b
    38:38:boolean lambda$removeNonFinalInstanceFields$4(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1247:1247 -> b
    39:44:void putNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1323:1328 -> b
    45:50:void putNonFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1332:1337 -> b
    1:5:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getStaticFieldValue(com.android.tools.r8.graph.DexField):1081:1085 -> c
    6:6:com.android.tools.r8.ir.code.InitClass clearMostRecentInitClass():1350:1350 -> c
    1:1:void clearNonFinalInstanceFields():1051:1051 -> d
    2:3:void removeNonFinalInstanceFields(com.android.tools.r8.graph.DexField):1246:1247 -> d
    1:1:void clearNonFinalStaticFields():1055:1055 -> e
    2:3:void removeNonFinalStaticField(com.android.tools.r8.graph.DexField):1264:1265 -> e
    1:4:void ensureCapacityForNewElement():1059:1062 -> f
    1:1:com.android.tools.r8.ir.code.InitClass getMostRecentInitClass():1341:1341 -> g
    1:1:boolean isEmpty():1135:1135 -> h
    2:2:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1149:1149 -> h
    2:2:boolean isEmpty():1135 -> h
    3:3:boolean isEmpty():1135:1135 -> h
    4:4:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Set):1145:1145 -> h
    4:4:boolean isEmpty():1136 -> h
    5:5:boolean isEmpty():1136:1136 -> h
    6:6:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1149:1149 -> h
    6:6:boolean isEmpty():1137 -> h
    7:7:boolean isEmpty():1137:1137 -> h
    8:8:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1149:1149 -> h
    8:8:boolean isEmpty():1138 -> h
    9:9:boolean isEmpty():1138:1138 -> h
    10:10:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Set):1145:1145 -> h
    10:10:boolean isEmpty():1139 -> h
    11:11:boolean isEmpty():1139:1139 -> h
    12:12:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1149:1149 -> h
    12:12:boolean isEmpty():1140 -> h
    13:13:boolean isEmpty():1140:1140 -> h
    14:14:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1149:1149 -> h
    14:14:boolean isEmpty():1141 -> h
    1:3:int size():1355:1357 -> i
    4:4:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.size(java.util.Set):1366:1366 -> i
    4:4:int size():1358 -> i
    5:9:int size():1358:1362 -> i
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates -> com.android.tools.r8.internal.dQ:
    java.util.LinkedHashMap activeStateAtExit -> a
    int capacity -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():829:829 -> <clinit>
    1:6:void <init>():829:834 -> <init>
    1:1:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    1:1:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):837 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    2:2:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):837 -> a
    3:25:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):838:860 -> a
    26:26:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    26:26:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):861 -> a
    27:27:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):862:862 -> a
    28:29:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):901:902 -> a
    30:34:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):934:938 -> a
    30:34:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):903 -> a
    35:38:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):905:908 -> a
    39:43:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):934:938 -> a
    39:43:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):909 -> a
    44:44:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):911:911 -> a
    45:46:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):919:920 -> a
    47:47:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    47:47:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):923 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    48:48:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):923 -> a
    49:50:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):924:925 -> a
    51:76:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):871:896 -> a
    51:76:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):927 -> a
    77:79:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.size():944:946 -> a
    77:79:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):896 -> a
    77:79:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):927 -> a
    80:80:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):896:896 -> a
    80:80:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):927 -> a
    81:83:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):928:930 -> a
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue -> com.android.tools.r8.internal.eQ:
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination this$0 -> b
    com.android.tools.r8.ir.code.Value value -> a
    1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):109:109 -> <init>
    2:3:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.code.Value):113:114 -> <init>
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue asExistingValue() -> a
    1:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):124:127 -> a
    1:1:com.android.tools.r8.ir.code.Value getValue():131:131 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":138,"2":139,"3":140}}
    138:138:java.lang.String toString():136:136 -> toString
    139:139:java.lang.String toString():136:136 -> toString
    140:140:java.lang.String toString():136:136 -> toString
    137:137:java.lang.String toString():136:136 -> toString
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject -> com.android.tools.r8.internal.fQ:
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.ir.code.Value object -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():250:250 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):250:250 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value):254:257 -> <init>
    1:1:com.android.tools.r8.graph.DexField access$1100(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):250:250 -> a
    1:5:boolean equals(java.lang.Object):267:271 -> equals
    1:1:int hashCode():262:262 -> hashCode
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue -> com.android.tools.r8.internal.gQ:
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue asExistingValue() -> a
    void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction) -> a
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$MaterializableValue -> com.android.tools.r8.internal.hQ:
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination this$0 -> b
    com.android.tools.r8.ir.analysis.value.SingleValue value -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():140:140 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):140:140 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.analysis.value.SingleValue):144:146 -> <init>
    1:3:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):151:153 -> a
    4:4:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    4:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):153 -> a
    5:5:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):152:152 -> a
com.android.tools.r8.ir.optimize.ReflectionOptimizer -> com.android.tools.r8.internal.KR:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():35:35 -> <clinit>
    1:11:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):41:51 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    12:12:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56 -> a
    13:14:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):60:61 -> a
    15:32:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):210:227 -> a
    15:32:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    33:33:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    33:33:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):227 -> a
    33:33:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    34:34:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):228:228 -> a
    34:34:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    35:35:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    35:35:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):228 -> a
    35:35:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    36:38:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):229:231 -> a
    36:38:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    39:39:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    39:39:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):231 -> a
    39:39:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    40:40:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):232:232 -> a
    40:40:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    41:42:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    41:42:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):234 -> a
    41:42:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    43:75:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):236:268 -> a
    43:75:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    76:86:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):267:277 -> a
    76:86:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    87:87:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):276:276 -> a
    87:87:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    88:88:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    88:88:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    88:88:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):276 -> a
    88:88:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    89:90:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):189:190 -> a
    89:90:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    89:90:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):276 -> a
    89:90:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    91:91:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    91:91:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):190 -> a
    91:91:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    91:91:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):276 -> a
    91:91:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    92:96:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):275:279 -> a
    92:96:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    97:98:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):67:68 -> a
    99:143:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForGetClassTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeVirtual,java.util.function.BiConsumer):158:202 -> a
    99:143:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):64 -> a
    144:145:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):74:75 -> a
    146:146:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    146:146:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):75 -> a
    147:149:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):75:77 -> a
    150:150:boolean lambda$rewriteGetClassOrForNameToConstClass$0(com.android.tools.r8.ir.code.Instruction):51:51 -> a
    151:151:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    151:151:boolean lambda$rewriteGetClassOrForNameToConstClass$0(com.android.tools.r8.ir.code.Instruction):51 -> a
    152:152:boolean lambda$rewriteGetClassOrForNameToConstClass$0(com.android.tools.r8.ir.code.Instruction):51:51 -> a
    153:153:java.util.function.BiConsumer rewriteSingleGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set):87:87 -> a
    154:161:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):89:96 -> a
    162:178:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):95:111 -> a
    179:179:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654:1654 -> a
    179:179:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):111 -> a
    180:201:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):111:132 -> a
    202:216:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):131:145 -> a
    217:217:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    217:217:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):145 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    218:218:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    218:218:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):145 -> a
    219:221:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):146:148 -> a
    222:222:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):147:147 -> a
    223:225:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):121:123 -> a
com.android.tools.r8.ir.optimize.ServiceLoaderRewriter -> com.android.tools.r8.internal.ST:
    java.util.List serviceLoadMethods -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> c
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):70:70 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):66:72 -> <init>
    1:1:java.util.List getServiceLoadMethods():76:76 -> a
    2:2:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):80:80 -> a
    3:3:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    3:3:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):81 -> a
    4:9:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):84:89 -> a
    10:10:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    10:10:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):89 -> a
    11:31:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):90:110 -> a
    32:32:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    32:32:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):110 -> a
    33:95:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):114:176 -> a
    96:109:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):175:188 -> a
    110:111:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):179:180 -> a
    112:112:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    112:112:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):180 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    113:113:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    113:113:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):180 -> a
    114:114:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):182:182 -> a
    115:115:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):181:181 -> a
    116:122:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):196:202 -> a
    123:143:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):200:220 -> a
    144:144:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):219:219 -> a
    145:151:void lambda$createSynthesizedMethod$3(com.android.tools.r8.graph.DexProto,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):206:212 -> a
    152:152:void lambda$createSynthesizedMethod$3(com.android.tools.r8.graph.DexProto,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):210:210 -> a
    153:157:void lambda$createSynthesizedMethod$3(com.android.tools.r8.graph.DexProto,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):209:213 -> a
    158:158:com.android.tools.r8.graph.DexType lambda$createSynthesizedMethod$1(com.android.tools.r8.graph.DexClass):211:211 -> a
    159:160:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215:216 -> a
    161:169:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):50:58 -> a
    161:169:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    170:185:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):55:70 -> a
    170:185:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    186:186:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):68:68 -> a
    186:186:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    187:209:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):61:83 -> a
    187:209:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    210:210:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):80:80 -> a
    210:210:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    211:240:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):76:105 -> a
    211:240:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    241:241:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):103:103 -> a
    241:241:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    242:270:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):90:118 -> a
    242:270:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    271:271:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    271:271:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):118 -> a
    271:271:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    272:272:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    272:272:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    272:272:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):118 -> a
    272:272:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    273:273:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    273:273:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    273:273:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):118 -> a
    273:273:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
com.android.tools.r8.ir.optimize.ServiceLoaderRewriter$Rewriter -> com.android.tools.r8.internal.RT:
    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
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():246:246 -> <clinit>
    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):253:256 -> <init>
    boolean lambda$perform$2(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.code.Instruction) -> a
    1:11:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):262:272 -> a
    12:15:void com.android.tools.r8.ir.optimize.ServiceLoaderRewriter$Rewriter.clearGetClassLoader(com.android.tools.r8.ir.code.InvokeVirtual):291:294 -> a
    12:15:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):273 -> a
    16:29:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):274:287 -> a
    30:30:void lambda$perform$0(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.ir.code.Instruction):269:269 -> a
    31:31:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    31:31:void lambda$perform$0(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.ir.code.Instruction):269 -> a
    32:33:void lambda$perform$0(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.ir.code.Instruction):269:270 -> a
    34:34:boolean lambda$perform$1(com.android.tools.r8.ir.code.Instruction):274:274 -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis -> com.android.tools.r8.internal.tU:
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult NO_RESULT -> a
    boolean $assertionsDisabled -> b
    1:214:void <clinit>():31:244 -> <clinit>
    1:1:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult access$100():31:31 -> a
    2:8:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):312:318 -> a
    9:9:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult.builder():196:196 -> a
    9:9:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):247 -> a
    9:9:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):318 -> a
    10:67:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):248:305 -> a
    10:67:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):318 -> a
    68:68:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.DepthFirstSearchWorkListBase.run(java.lang.Object[]):125:125 -> a
    68:68:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):305 -> a
    68:68:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):318 -> a
    69:69:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):307:307 -> a
    69:69:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):318 -> a
    70:78:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect lambda$canInlineWithoutSynthesizingNullCheckForReceiver$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):321:329 -> a
    79:80:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):337:338 -> a
    81:81:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult.builder():196:196 -> a
    81:81:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):247 -> a
    81:81:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):338 -> a
    82:139:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):248:305 -> a
    82:139:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):338 -> a
    140:140:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.DepthFirstSearchWorkListBase.run(java.lang.Object[]):125:125 -> a
    140:140:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):305 -> a
    140:140:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):338 -> a
    141:141:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):307:307 -> a
    141:141:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):338 -> a
    142:142:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect lambda$triggersClassInitializationBeforeAnyStaticRead$1(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):342:342 -> a
    143:161:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect lambda$triggersClassInitializationBeforeAnyStaticRead$1(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):341:359 -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1 -> com.android.tools.r8.internal.mU:
    com.android.tools.r8.utils.IntBox val$visitedInstructions -> e
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder val$builder -> g
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis val$analysis -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():249:249 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder):249:249 -> <init>
    1:9:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):257:265 -> a
    10:10:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder.addSatisfyingInstruction(com.android.tools.r8.ir.code.Instruction):223:223 -> a
    10:10:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):265 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder.addSatisfyingInstruction(com.android.tools.r8.ir.code.Instruction):223:223 -> a
    11:11:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):265 -> a
    12:24:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):271:283 -> a
    25:31:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect.toResultState():55:61 -> a
    25:31:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):283 -> a
    32:33:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):283:284 -> a
    34:42:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):291:299 -> a
    43:43:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    43:43:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):299 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    44:44:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):299 -> a
    45:46:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):300:301 -> a
    47:47:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder.setFailingBlocksForPartialResults(java.util.List):227:227 -> a
    47:47:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):301 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis -> com.android.tools.r8.internal.nU:
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect analyze(com.android.tools.r8.ir.code.Instruction) -> a
    int maxNumberOfInstructions() -> a
    1:1:java.util.List getSuccessors(com.android.tools.r8.ir.code.BasicBlock):161:161 -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.oU:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    boolean com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect.$assertionsDisabled -> a
    1:1:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect.<clinit>():33:33 -> <clinit>
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.pU:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    boolean com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState.isNotComputed() -> a
    boolean com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState.isPartial() -> b
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks -> com.android.tools.r8.internal.qU:
    java.util.List failingBlocks -> b
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState state -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():110:110 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1):110:110 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List):115:117 -> <init>
    1:1:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState access$400(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks):110:110 -> a
    2:8:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks joinChildren(java.util.List):122:128 -> a
    9:12:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState.join(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState):97:100 -> a
    9:12:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks joinChildren(java.util.List):128 -> a
    13:25:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks joinChildren(java.util.List):130:142 -> a
    1:1:java.util.List access$500(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks):110:110 -> b
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult -> com.android.tools.r8.internal.rU:
    java.util.List satisfyingInstructions -> b
    java.util.List topmostNotSatisfiedBlocks -> c
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState result -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():170:170 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List,java.util.List,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1):170:170 -> <init>
    2:7:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List,java.util.List):179:184 -> <init>
    8:8:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List,java.util.List):183:183 -> <init>
    1:1:void forEachSatisfyingInstruction(java.util.function.Consumer):188:188 -> a
    2:2:java.util.List getTopmostNotSatisfiedBlocks():192:192 -> a
    1:1:boolean isNotSatisfied():200:200 -> b
    1:1:boolean isPartial():208:208 -> c
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder -> com.android.tools.r8.internal.sU:
    java.util.List failingBlocksForPartialResults -> b
    java.util.List satisfyingInstructions -> a
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState result -> c
    1:4:void <init>():212:215 -> <init>
    5:5:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1):212:212 -> <init>
    1:1:void setResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState):231:231 -> a
    2:4:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult build():235:237 -> a
    1:1:void fail():219:219 -> b
com.android.tools.r8.ir.optimize.SwitchCaseEliminator -> com.android.tools.r8.internal.rX:
    com.android.tools.r8.ir.code.BasicBlock alwaysHitTarget -> f
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.code.InstructionListIterator iterator -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet switchCasesToBeRemoved -> i
    boolean liveFallthrough -> g
    com.android.tools.r8.ir.code.Switch theSwitch -> d
    int alwaysHitCase -> e
    boolean mayHaveIntroducedUnreachableBlocks -> h
    com.android.tools.r8.ir.code.BasicBlock defaultTarget -> b
    com.android.tools.r8.ir.code.BasicBlock block -> a
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.code.InstructionListIterator):36:36 -> <init>
    2:12:void <init>(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.code.InstructionListIterator):30:40 -> <init>
    1:7:boolean isSwitchCaseLive(int):58:64 -> a
    8:8:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> a
    8:8:boolean isSwitchCaseLive(int):64 -> a
    9:9:boolean isSwitchCaseLive(int):64:64 -> a
    10:14:java.util.function.IntPredicate computeSuccessorHasBecomeDeadPredicate():134:138 -> a
    15:15:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> a
    15:15:java.util.function.IntPredicate computeSuccessorHasBecomeDeadPredicate():141 -> a
    16:21:java.util.function.IntPredicate computeSuccessorHasBecomeDeadPredicate():142:147 -> a
    22:22:boolean lambda$computeSuccessorHasBecomeDeadPredicate$0(int[],int):147:147 -> a
    1:1:boolean hasAlwaysHitCase():77:77 -> b
    2:5:void markSwitchCaseAsAlwaysHit(int):81:84 -> b
    1:1:boolean isFallthroughLive():73:73 -> c
    2:3:void markSwitchCaseForRemoval(int):88:89 -> c
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> c
    4:4:void markSwitchCaseForRemoval(int):89 -> c
    5:7:void markSwitchCaseForRemoval(int):89:91 -> c
    1:2:void markSwitchFallthroughAsNeverHit():95:96 -> d
    1:1:boolean mayHaveIntroducedUnreachableBlocks():54:54 -> e
    1:2:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.canBeOptimized():49:50 -> f
    1:2:boolean optimize():100 -> f
    3:3:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> f
    3:3:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.canBeOptimized():50 -> f
    3:3:boolean optimize():100 -> f
    4:4:boolean optimize():101:101 -> f
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.SwitchCaseEliminator.unlinkDeadSuccessors():116:117 -> f
    5:6:boolean optimize():102 -> f
    7:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> f
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.SwitchCaseEliminator.unlinkDeadSuccessors():117 -> f
    7:7:boolean optimize():102 -> f
    8:19:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.SwitchCaseEliminator.unlinkDeadSuccessors():118:129 -> f
    8:19:boolean optimize():102 -> f
    20:20:boolean optimize():103:103 -> f
    21:22:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.allSwitchCasesMarkedForRemoval():44:45 -> f
    21:22:boolean optimize():103 -> f
    23:23:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):158:158 -> f
    23:23:boolean optimize():108 -> f
    24:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> f
    24:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> f
    24:24:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):159 -> f
    24:24:boolean optimize():108 -> f
    25:25:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):159:159 -> f
    25:25:boolean optimize():108 -> f
    26:26:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> f
    26:26:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> f
    26:26:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):159 -> f
    26:26:boolean optimize():108 -> f
    27:34:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):159:166 -> f
    27:34:boolean optimize():108 -> f
    35:35:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> f
    35:35:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughDead():69 -> f
    35:35:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):167 -> f
    35:35:boolean optimize():108 -> f
    36:47:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):168:179 -> f
    36:47:boolean optimize():108 -> f
    48:48:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> f
    48:48:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughDead():69 -> f
    48:48:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):180 -> f
    48:48:boolean optimize():108 -> f
    49:58:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):180:189 -> f
    49:58:boolean optimize():108 -> f
    59:59:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> f
    59:59:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):195 -> f
    59:59:boolean optimize():108 -> f
    60:95:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):196:231 -> f
    60:95:boolean optimize():108 -> f
    96:98:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByGoto():151:153 -> f
    96:98:boolean optimize():105 -> f
    99:100:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> f
    99:100:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByGoto():153 -> f
    99:100:boolean optimize():105 -> f
    101:101:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByGoto():153:153 -> f
    101:101:boolean optimize():105 -> f
com.android.tools.r8.ir.optimize.SwitchMapCollector -> com.android.tools.r8.internal.sX:
    com.android.tools.r8.graph.DexString switchMapPrefix -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexString kotlinSwitchMapPrefix -> c
    com.android.tools.r8.graph.DexType intArrayType -> d
    java.util.Map switchMaps -> e
    1:1:void <init>(com.android.tools.r8.graph.AppView):70:70 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView):68:76 -> <init>
    1:7:com.android.tools.r8.shaking.AppInfoWithLiveness run():80:86 -> a
    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:39:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):103:125 -> a
    40:40:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    40:40:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):125 -> a
    41:60:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):125:144 -> a
    61:61:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    61:61:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):145 -> a
    62:74:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):148:160 -> a
    75:75:boolean lambda$extractSwitchMap$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Instruction):122:122 -> a
    76:76:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    76:76:boolean lambda$extractSwitchMap$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Instruction):122 -> a
    77:77:boolean lambda$extractSwitchMap$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Instruction):122:122 -> a
    78:80:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):165:167 -> a
    81:81:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    81:81:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167 -> a
    82:82:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167:167 -> a
    83:83:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    83:83:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167 -> a
    84:84:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167:167 -> a
com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations -> com.android.tools.r8.internal.W00:
    1:20:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowClassCastExceptionIfNotNullMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):61:80 -> a
    21:27:void lambda$synthesizeThrowClassCastExceptionIfNotNullMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):73:79 -> a
    28:28:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowClassCastExceptionIfNotNullCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):86:86 -> a
    28:28:com.android.tools.r8.graph.Code lambda$synthesizeThrowClassCastExceptionIfNotNullMethod$2(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):78 -> a
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIllegalAccessError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):81:95 -> b
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIllegalAccessErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):115 -> b
    1:15:com.android.tools.r8.graph.Code lambda$synthesizeThrowIllegalAccessErrorMethod$4(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):107 -> b
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIllegalAccessError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):92:92 -> b
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIllegalAccessErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):115 -> b
    16:16:com.android.tools.r8.graph.Code lambda$synthesizeThrowIllegalAccessErrorMethod$4(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):107 -> b
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIllegalAccessError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):86:99 -> b
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIllegalAccessErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):115 -> b
    17:30:com.android.tools.r8.graph.Code lambda$synthesizeThrowIllegalAccessErrorMethod$4(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):107 -> b
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> b
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIllegalAccessError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):99 -> b
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIllegalAccessErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):115 -> b
    31:31:com.android.tools.r8.graph.Code lambda$synthesizeThrowIllegalAccessErrorMethod$4(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):107 -> b
    32:39:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowIllegalAccessErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):92:99 -> b
    40:52:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowIllegalAccessErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):97:109 -> b
    53:58:void lambda$synthesizeThrowIllegalAccessErrorMethod$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):103:108 -> b
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIncompatibleClassChangeError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):105:119 -> c
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIncompatibleClassChangeErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):144 -> c
    1:15:com.android.tools.r8.graph.Code lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$6(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136 -> c
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIncompatibleClassChangeError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):116:116 -> c
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIncompatibleClassChangeErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):144 -> c
    16:16:com.android.tools.r8.graph.Code lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$6(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136 -> c
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIncompatibleClassChangeError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):110:123 -> c
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIncompatibleClassChangeErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):144 -> c
    17:30:com.android.tools.r8.graph.Code lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$6(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136 -> c
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> c
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIncompatibleClassChangeError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):123 -> c
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIncompatibleClassChangeErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):144 -> c
    31:31:com.android.tools.r8.graph.Code lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$6(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136 -> c
    32:39:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowIncompatibleClassChangeErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):120:127 -> c
    40:53:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowIncompatibleClassChangeErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):125:138 -> c
    54:60:void lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):131:137 -> c
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwNoSuchMethodError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):128:142 -> d
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowNoSuchMethodErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):173 -> d
    1:15:com.android.tools.r8.graph.Code lambda$synthesizeThrowNoSuchMethodErrorMethod$8(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> d
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwNoSuchMethodError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):139:139 -> d
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowNoSuchMethodErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):173 -> d
    16:16:com.android.tools.r8.graph.Code lambda$synthesizeThrowNoSuchMethodErrorMethod$8(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> d
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwNoSuchMethodError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):133:146 -> d
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowNoSuchMethodErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):173 -> d
    17:30:com.android.tools.r8.graph.Code lambda$synthesizeThrowNoSuchMethodErrorMethod$8(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> d
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> d
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwNoSuchMethodError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):146 -> d
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowNoSuchMethodErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):173 -> d
    31:31:com.android.tools.r8.graph.Code lambda$synthesizeThrowNoSuchMethodErrorMethod$8(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> d
    32:39:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowNoSuchMethodErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):150:157 -> d
    40:52:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowNoSuchMethodErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):155:167 -> d
    53:58:void lambda$synthesizeThrowNoSuchMethodErrorMethod$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):161:166 -> d
    1:8:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeToStringIfNotNullMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):33:40 -> e
    9:21:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeToStringIfNotNullMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):38:50 -> e
    22:27:void lambda$synthesizeToStringIfNotNullMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):44:49 -> e
    28:28:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getToStringIfNotNullCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):56:56 -> e
    28:28:com.android.tools.r8.graph.Code lambda$synthesizeToStringIfNotNullMethod$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):48 -> e
com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$MethodSynthesizerConsumer -> com.android.tools.r8.internal.U00:
    com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations -> com.android.tools.r8.internal.V00:
    com.android.tools.r8.graph.ProgramMethod method -> a
    boolean optimized -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():176:176 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$1):176:176 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.ProgramMethod):181:182 -> <init>
    1:2:com.android.tools.r8.graph.ProgramMethod getMethod():186:187 -> a
    3:4:void optimize(com.android.tools.r8.ir.conversion.MethodProcessor):195:196 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod uncheckedGetMethod():191:191 -> b
com.android.tools.r8.ir.optimize.classinliner.ClassInliner -> com.android.tools.r8.internal.fa:
    java.util.concurrent.ConcurrentHashMap knownClasses -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():40:40 -> <clinit>
    1:8:void <init>():40:47 -> <init>
    1:55: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.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):141:195 -> a
    56:70: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.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):191:205 -> a
    71:71:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):193:193 -> a
    71:71: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.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):205 -> a
    72:72:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):153:153 -> a
    72:72:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):195 -> a
    72:72: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.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):205 -> a
    73:86: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.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):211:224 -> a
    87:87:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> a
    87:87: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.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):229 -> a
    88:88:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> a
    88:88: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.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):230 -> a
    89:91: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.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):231:233 -> a
    92: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.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):224:261 -> a
    130:130:boolean lambda$processMethodCode$0(com.android.tools.r8.ir.code.Instruction):142:142 -> a
    131:131:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    131:131:boolean lambda$processMethodCode$0(com.android.tools.r8.ir.code.Instruction):142 -> a
    132:132: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):242:242 -> a
    133:133:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):268:268 -> a
    133:133:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    134:151:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):285:302 -> a
    134:151:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    134:151:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    152:152:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    152:152:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):305 -> a
    152:152:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    152:152:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    153:154:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):305:306 -> a
    153:154:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    153:154:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    155:155:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    155:155:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):306 -> a
    155:155:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    155:155:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    156:156:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    156:156:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    156:156:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):306 -> a
    156:156:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    156:156:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    157:160:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):307:310 -> a
    157:160:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    157:160:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    161:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):288:288 -> a
    161:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    161:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    162:163:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):271:272 -> a
    162:163:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus -> com.android.tools.r8.internal.ea:
    com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus NOT_ELIGIBLE -> c
    com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus ELIGIBLE -> b
    1:2:void <clinit>():43:44 -> <clinit>
    1:1:void <init>(java.lang.String,int):42:42 -> <init>
com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis -> com.android.tools.r8.internal.ga:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.inliner.InliningIRProvider inliningIRProvider -> b
    boolean $assertionsDisabled -> e
    int estimatedCost -> d
    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet receivers -> c
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet):41:41 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet):36:44 -> <init>
    1:11:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):52:62 -> a
    12:14:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.exceedsInstructionBudgetAfterIncrement(int):98:100 -> a
    12:14:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):63 -> a
    15:24:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):71:80 -> a
    25:54:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):111:140 -> a
    25:54:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    55:55:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    55:55:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):140 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:55:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    56:56:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    56:56:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):140 -> a
    56:56:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    57:57:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    57:57:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):122 -> a
    57:57:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    58:60:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):123:125 -> a
    58:60:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    61:68:java.util.Set com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.getReceiverAliasesInInlinee(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):156:163 -> a
    61:68:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):127 -> a
    61:68:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    69:70:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):129:130 -> a
    69:70:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    71:71:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    71:71:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):130 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    72:72:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    72:72:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):130 -> a
    72:72:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    73:73:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):82:82 -> a
    74:76:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.exceedsInstructionBudgetAfterIncrement(int):98:100 -> a
    74:76:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):83 -> a
    77:77:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):92:92 -> a
com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet -> com.android.tools.r8.internal.ja:
    java.util.Map deferredAliasValidityChecks -> c
    java.util.Set receiverAliases -> a
    java.util.Set illegalReceiverAliases -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value):30:30 -> <init>
    2:9:void <init>(com.android.tools.r8.ir.code.Value):24:31 -> <init>
    1:1:void addDeferredAliasValidityCheck(com.android.tools.r8.ir.code.Value,java.util.function.BooleanSupplier):61:61 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isDefiniteReceiverAlias(com.android.tools.r8.ir.code.Value):78:78 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isReceiverAlias(com.android.tools.r8.ir.code.Value):74 -> a
    2:2:void addDeferredAliasValidityCheck(com.android.tools.r8.ir.code.Value,java.util.function.BooleanSupplier):61 -> a
    3:11:void addDeferredAliasValidityCheck(com.android.tools.r8.ir.code.Value,java.util.function.BooleanSupplier):61:69 -> a
    12:12:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isDefiniteReceiverAlias(com.android.tools.r8.ir.code.Value):78:78 -> a
    12:12:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isReceiverAlias(com.android.tools.r8.ir.code.Value):74 -> a
    12:12:boolean addIllegalReceiverAlias(com.android.tools.r8.ir.code.Value):50 -> a
    13:16:boolean addIllegalReceiverAlias(com.android.tools.r8.ir.code.Value):53:56 -> a
    1:7:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isIllegalReceiverAlias(com.android.tools.r8.ir.code.Value):82:88 -> b
    1:7:boolean addReceiverAlias(com.android.tools.r8.ir.code.Value):36 -> b
    8:13:boolean addReceiverAlias(com.android.tools.r8.ir.code.Value):40:45 -> b
    1:1:boolean isDefiniteReceiverAlias(com.android.tools.r8.ir.code.Value):78:78 -> c
    1:1:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isDefiniteReceiverAlias(com.android.tools.r8.ir.code.Value):78:78 -> d
    1:1:boolean isReceiverAlias(com.android.tools.r8.ir.code.Value):74 -> d
    1:1:java.util.List lambda$addDeferredAliasValidityCheck$0(com.android.tools.r8.ir.code.Value):68:68 -> e
com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper -> com.android.tools.r8.internal.dk:
    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
    com.android.tools.r8.ir.code.IRCode code -> b
    boolean $assertionsDisabled -> h
    java.util.Map ins -> f
    java.util.Map outs -> g
    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:16:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):86:93 -> a
    17:29:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper.getOrCreateOutValue(com.android.tools.r8.ir.code.BasicBlock):69:81 -> a
    17:29:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):93 -> a
    30:43:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):94:107 -> a
    44:56:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper.getOrCreateOutValue(com.android.tools.r8.ir.code.BasicBlock):69:81 -> a
    44:56:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):108 -> a
    57:71:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):108:122 -> a
    72:103:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):128:159 -> a
    104:104:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    104:104:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):160 -> a
    105:108: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
com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor -> com.android.tools.r8.internal.lp:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.ProgramMethod method -> f
    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet receivers -> o
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.Inliner inliner -> c
    java.util.Map directInlinees -> m
    com.android.tools.r8.ir.code.AliasedValueConfiguration aliasesThroughAssumeAndCheckCasts -> p
    java.util.function.Function isClassEligible -> d
    com.android.tools.r8.utils.collections.ProgramMethodSet indirectMethodCallsOnInstance -> l
    boolean $assertionsDisabled -> q
    com.android.tools.r8.graph.DexProgramClass eligibleClass -> i
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState objectState -> j
    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 directMethodCalls -> k
    java.util.List indirectInlinees -> n
    1:4:void <clinit>():84:87 -> <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):118:118 -> <init>
    2:27: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):101:126 -> <init>
    1:1:java.util.Map getDirectInlinees():134:134 -> a
    2:10:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):223:231 -> a
    11:11:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    11:11:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):231 -> a
    12:12:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):231:231 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    13:13:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):256 -> a
    14:22:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):257:265 -> a
    23:23:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    23:23:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):265 -> a
    24:33:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):265:274 -> a
    34:34:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    34:34:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):274 -> a
    35:62:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):278:305 -> a
    63:63:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    63:63:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):310 -> a
    64:64:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):311:311 -> a
    65:71:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleLibraryMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.LibraryMethod):1117:1123 -> a
    65:71:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):311 -> a
    72:79:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):315:322 -> a
    80:87:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):321:328 -> a
    88:114:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):858:884 -> a
    88:114:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    115:115:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.receiverMayEscapeOutsideConstructorChain():72:72 -> a
    115:115:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):885 -> a
    115:115:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    116:116:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):889:889 -> a
    116:116:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    117:117:boolean com.android.tools.r8.utils.AndroidApiLevelUtils.isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions):22:22 -> a
    117:117:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):889 -> a
    117:117:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    118:118:boolean com.android.tools.r8.utils.AndroidApiLevelUtils.isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions):21:21 -> a
    118:118:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):889 -> a
    118:118:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    119:125:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):893:899 -> a
    119:125:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    126:126:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    126:126:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):899 -> a
    126:126:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    127:143:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):899:915 -> a
    127:143:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    144:152:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):911:919 -> a
    144:152:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    153:153:boolean com.android.tools.r8.utils.AndroidApiLevelUtils.isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions):22:22 -> a
    153:153:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):919 -> a
    153:153:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    154:154:boolean com.android.tools.r8.utils.AndroidApiLevelUtils.isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions):21:21 -> a
    154:154:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):919 -> a
    154:154:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    155:160:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):924:929 -> a
    155:160:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    161:161:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):333:333 -> a
    162:162:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1077:1077 -> a
    162:162:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    163:163:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    163:163:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1078 -> a
    163:163:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    164:164:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    164:164:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1079 -> a
    164:164:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    165:173:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1080:1088 -> a
    165:173:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    174:174:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    174:174:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1088 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    174:174:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    175:175:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    175:175:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1088 -> a
    175:175:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    176:182:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1094:1100 -> a
    176:182:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    183:197:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1095:1109 -> a
    183:197:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    198:198:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfDirectTargetForInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):1210:1210 -> a
    198:198:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1112 -> a
    198:198:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    199:200:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.exemptFromInstructionLimit(com.android.tools.r8.graph.ProgramMethod):1196:1197 -> a
    199:200:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfDirectTargetForInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):1211 -> a
    199:200:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1112 -> a
    199:200:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    201:201:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfDirectTargetForInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):1212:1212 -> a
    201:201:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1112 -> a
    201:201:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    202:205:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):350:353 -> a
    206:226:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):232:252 -> a
    227:227:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):384:384 -> a
    228:233:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):399:404 -> a
    228:233:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    234:261:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):403:430 -> a
    234:261:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    262:262:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    262:262:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):430 -> a
    262:262:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    263:276:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):430:443 -> a
    263:276:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    277:285:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):439:447 -> a
    277:285:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    286:286:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):444:444 -> a
    286:286:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    287:287:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):432:432 -> a
    287:287:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    288:315:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):426:453 -> a
    288:315:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    316:319:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):452:455 -> a
    316:319:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    320:322:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):387:389 -> a
    323:331:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):590:598 -> a
    323:331:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    332:332:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    332:332:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):603 -> a
    332:332:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    333:338:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):604:609 -> a
    333:338:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    339:339:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    339:339:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):610 -> a
    339:339:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    340:369:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):611:640 -> a
    340:369:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    370:370:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":501,"2":502,"3":503}}
    501:501:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):641:641 -> a
    501:501:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    502:502:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):641:641 -> a
    502:502:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    503:503:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):641:641 -> a
    503:503:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    371:371:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):641:641 -> a
    371:371:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    372:372:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    372:372:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):646 -> a
    372:372:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    373:373:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):646:646 -> a
    373:373:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    374:374:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> a
    374:374:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):651 -> a
    374:374:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    375:379:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):654:658 -> a
    375:379:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    380:380:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":520,"2":521,"3":522}}
    520:520:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):658:658 -> a
    520:520:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    521:521:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):658:658 -> a
    521:521:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    522:522:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):658:658 -> a
    522:522:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    381:389:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):658:666 -> a
    381:389:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    390:394:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):672:676 -> a
    390:394:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    395:395:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    395:395:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):676 -> a
    395:395:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    396:396:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):676:676 -> a
    396:396:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    397:416:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):747:766 -> a
    397:416:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    397:416:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    417:417:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    417:417:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):766 -> a
    417:417:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    417:417:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    418:421:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):767:770 -> a
    418:421:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    418:421:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    422:423:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):796:797 -> a
    422:423:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):769 -> a
    422:423:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    422:423:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    424:424:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    424:424:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):797 -> a
    424:424:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):769 -> a
    424:424:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    424:424:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    425:440:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):798:813 -> a
    425:440:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):769 -> a
    425:440:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    425:440:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    441:441:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    441:441:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):814 -> a
    441:441:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):769 -> a
    441:441:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    441:441:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    442:442:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):815:815 -> a
    442:442:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):769 -> a
    442:442:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    442:442:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    443:443:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):810:810 -> a
    443:443:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):769 -> a
    443:443:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    443:443:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    444:444:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):805:805 -> a
    444:444:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):769 -> a
    444:444:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    444:444:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    445:445:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):800:800 -> a
    445:445:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):769 -> a
    445:445:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    445:445:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    446:456:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):772:782 -> a
    446:456:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    446:456:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    457:457:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":523,"2":524,"3":525}}
    523:523:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):782:782 -> a
    523:523:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    523:523:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    524:524:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):782:782 -> a
    524:524:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    524:524:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    525:525:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):782:782 -> a
    525:525:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    525:525:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    458:460:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):782:784 -> a
    458:460:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    458:460:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    461:462:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):679:680 -> a
    461:462:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    463:463:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    463:463:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):680 -> a
    463:463:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    464:464:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):680:680 -> a
    464:464:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    465:489:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():829:853 -> a
    465:489:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    490:490:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:847 -> a
    490:490:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    491:491:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":526,"2":527,"3":528}}
    526:526:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:847 -> a
    526:526:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    527:527:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:847 -> a
    527:527:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    528:528:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:847 -> a
    528:528:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    492:494:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:849 -> a
    492:494:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    495:495:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:831 -> a
    495:495:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    496:496:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":529,"2":530,"3":531}}
    529:529:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:831 -> a
    529:529:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    530:530:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:831 -> a
    530:530:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    531:531:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:831 -> a
    531:531:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    497:499:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:833 -> a
    497:499:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    500:500:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):393:393 -> a
    532:542:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):463:473 -> a
    543:543:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    543:543:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):473 -> a
    544:556:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):473:485 -> a
    557:557:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    557:557:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):485 -> a
    558:558:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    558:558:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):485 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    559:565:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):486:492 -> a
    566:566:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethodWithReceiver.lookupSingleProgramTarget(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):102:102 -> a
    566:566:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):493 -> a
    567:567:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethodWithReceiver.lookupSingleProgramTarget(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):101:101 -> a
    567:567:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):493 -> a
    568:572:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):495:499 -> a
    573:573:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):496:496 -> a
    574:607:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):474:507 -> a
    608:613:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):506:511 -> a
    614:614:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):509:509 -> a
    615:618:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):686:689 -> a
    619:619:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    619:619:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):689 -> a
    620:636:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):690:706 -> a
    637:637:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1354,"2":1355,"3":1356}}
    1354:1354:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):706:706 -> a
    1355:1355:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):706:706 -> a
    1356:1356:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):706:706 -> a
    1343:1353:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):706:716 -> a
    1357:1357:int lambda$removeFieldReadsFromNewInstance$2(com.android.tools.r8.ir.code.InstanceGet):687:687 -> a
    1358:1362:void removeFieldReadFromNewInstance(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstanceGet,java.util.Set,java.util.Map):725:729 -> a
    1363:1377:void removeFieldReadFromNewInstance(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstanceGet,java.util.Set,java.util.Map):728:742 -> a
    1378:1378:com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper lambda$removeFieldReadFromNewInstance$3(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField):729:729 -> a
    1379:1389:boolean isEligibleParameterUsages(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,java.util.Set):1131:1141 -> a
    1390:1397:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1155:1162 -> a
    1398:1398:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    1398:1398:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1162 -> a
    1399:1406:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1162:1169 -> a
    1407:1453:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.scheduleNewUsersForAnalysis(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):945:991 -> a
    1407:1453:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1170 -> a
    1454:1464:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1174:1184 -> a
    1465:1468:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):998:1001 -> a
    1465:1468:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1469:1497:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1024:1052 -> a
    1469:1497:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1004 -> a
    1469:1497:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1498:1498:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    1498:1498:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1052 -> a
    1498:1498:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1004 -> a
    1498:1498:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1499:1500:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1052:1053 -> a
    1499:1500:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1004 -> a
    1499:1500:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1501:1511:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1010:1020 -> a
    1501:1511:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1512:1512:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfIndirectTargetForInlining(com.android.tools.r8.graph.ProgramMethod):1201:1201 -> a
    1512:1512:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1188 -> a
    1513:1514:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.exemptFromInstructionLimit(com.android.tools.r8.graph.ProgramMethod):1196:1197 -> a
    1513:1514:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfIndirectTargetForInlining(com.android.tools.r8.graph.ProgramMethod):1202 -> a
    1513:1514:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1188 -> a
    1515:1517:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfIndirectTargetForInlining(com.android.tools.r8.graph.ProgramMethod):1203:1205 -> a
    1515:1517:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1188 -> a
    1518:1534:boolean isEligibleSingleTarget(com.android.tools.r8.graph.ProgramMethod):1220:1236 -> a
    1535:1535:boolean isEligibleSingleTarget(com.android.tools.r8.graph.ProgramMethod):1232:1232 -> a
    1536:1536:void lambda$removeInstruction$5(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):1250:1250 -> a
    1537:1538:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1250:1251 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getEligibleClass():130:130 -> b
    2:2:boolean lambda$forceInlineIndirectMethodInvocations$0(com.android.tools.r8.graph.ProgramMethod):510:510 -> b
    3:3:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):819:819 -> b
    4:4:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> b
    4:4:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):820 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> b
    5:5:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):820 -> b
    6:6:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":833,"2":834,"3":835}}
    833:833:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):820:820 -> b
    834:834:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):820:820 -> b
    835:835:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):820:820 -> b
    826:831:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):820:825 -> b
    832:832:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):821:821 -> b
    836:836:boolean lambda$isEligibleParameterUsages$4(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1143:1143 -> b
    1:1:java.util.List getIndirectInlinees():138:138 -> c
    2:7:boolean lambda$forceInlineIndirectMethodInvocations$1(com.android.tools.r8.graph.ProgramMethod):513:518 -> c
    1:1:com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet getReceivers():142:142 -> d
    1:1:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isClassAndUsageEligible():212:212 -> e
    1:20:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():148:167 -> f
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> f
    21:21:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():167 -> f
    22:33:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():167:178 -> f
    34:34:boolean com.android.tools.r8.ir.code.StaticGet.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146:146 -> f
    34:34:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():178 -> f
    35:35:boolean com.android.tools.r8.ir.code.StaticGet.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):152:152 -> f
    35:35:boolean com.android.tools.r8.ir.code.StaticGet.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146 -> f
    35:35:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():178 -> f
    36:52:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():179:195 -> f
    53:53:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> f
    53:53:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():196 -> f
    54:55:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():196:197 -> f
    56:56:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():185:185 -> f
    1:1:void rebindIndirectEligibleInstanceUsersFromPhis():534:534 -> g
    2:3:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> g
    2:3:void rebindIndirectEligibleInstanceUsersFromPhis():534 -> g
    4:27:void rebindIndirectEligibleInstanceUsersFromPhis():535:558 -> g
    28:28:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> g
    28:28:void rebindIndirectEligibleInstanceUsersFromPhis():558 -> g
    29:29:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> g
    29:29:void rebindIndirectEligibleInstanceUsersFromPhis():558 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:48:void rebindIndirectEligibleInstanceUsersFromPhis():560:578 -> g
    49:49:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> g
    49:49:void rebindIndirectEligibleInstanceUsersFromPhis():578 -> g
    50:55:void rebindIndirectEligibleInstanceUsersFromPhis():578:583 -> g
    56:56:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    56:56:void rebindIndirectEligibleInstanceUsersFromPhis():583 -> g
    57:57:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    57:57:void rebindIndirectEligibleInstanceUsersFromPhis():583 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    58:59:void rebindIndirectEligibleInstanceUsersFromPhis():583:584 -> g
    60:60:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    60:60:void rebindIndirectEligibleInstanceUsersFromPhis():584 -> g
    61:61:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    61:61:void rebindIndirectEligibleInstanceUsersFromPhis():584 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:void rebindIndirectEligibleInstanceUsersFromPhis():584:584 -> g
com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$IllegalClassInlinerStateException -> com.android.tools.r8.internal.kp:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():1254:1254 -> <clinit>
    1:2:void <init>():1256:1257 -> <init>
com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext -> com.android.tools.r8.internal.L1:
    1:1:void <init>():14:14 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext getDefaultContext():17:17 -> a
com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage -> com.android.tools.r8.internal.J5:
    com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage BOTTOM -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():52:52 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField):22 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField):22:22 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():52:52 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):27 -> a
    4:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):28:29 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize() -> d
    boolean isParameterReturned() -> f
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():52:52 -> h
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated():59 -> h
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated():59:59 -> h
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():52:52 -> i
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned():64 -> i
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned():64:64 -> i
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():52:52 -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():69 -> j
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():69:69 -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage getInstance():17:17 -> l
com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext -> com.android.tools.r8.internal.K5:
    com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.bottom():84:84 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):27 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize() -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext getInstance():17:17 -> c
com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages -> com.android.tools.r8.internal.L5:
    com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages INSTANCE -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):37:37 -> a
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>():119:119 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):37 -> a
    3:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):38:39 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):27 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize() -> e
    1:1:boolean equals(java.lang.Object):50:50 -> equals
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages getInstance():17:17 -> g
    1:1:int hashCode():55:55 -> hashCode
com.android.tools.r8.ir.optimize.classinliner.analysis.ClassInlinerMethodConstraintAnalysis -> com.android.tools.r8.internal.ia:
    1:7:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):21:27 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.bottom():64:64 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):29 -> a
    9:18:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):29:38 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    19:19:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):38 -> a
    20:20:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):39:39 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isTop():0:0 -> a
    21:21:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):41 -> a
    22:24:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):42:44 -> a
    25:25:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):23:23 -> a
    26:26:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult lambda$analyze$0(com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):33:33 -> a
    27:27:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages lambda$analyze$1(com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult):37:37 -> a
com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext -> com.android.tools.r8.internal.Ge:
    com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext INSTANCE -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext getInstance():14:14 -> b
com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage -> com.android.tools.r8.internal.Tt:
    boolean isParameterUsedAsLock -> e
    boolean $assertionsDisabled -> f
    java.util.Set fieldsReadFromParameter -> a
    java.util.Set methodCallsWithParameterAsReceiver -> b
    boolean isParameterMutated -> c
    boolean isParameterReturned -> d
    1:1:void <clinit>():24:24 -> <clinit>
    1:3:void <init>(java.util.Set,java.util.Set,boolean,boolean,boolean):38:40 -> <init>
    4:13:void <init>(java.util.Set,java.util.Set,boolean,boolean,boolean):39:48 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage asInternalNonEmpty() -> a
    1:1:java.util.Set access$000(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):24:24 -> a
    2:6:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.addFieldReadFromParameter(com.android.tools.r8.graph.DexField):61:65 -> a
    2:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField):24 -> a
    7:12:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):76:81 -> a
    7:12:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):24 -> a
    13:13:void lambda$externalize$0(com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):97:97 -> a
    1:1:java.util.Set access$100(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):24:24 -> b
    1:1:boolean access$200(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):24:24 -> c
    1:1:boolean access$300(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):24:24 -> d
    2:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize():95:100 -> d
    1:1:boolean access$400(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):24:24 -> e
    1:9:boolean equals(java.lang.Object):172:180 -> equals
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builderFromInstance():56:56 -> f
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage join(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):122 -> f
    2:8:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage join(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):122:128 -> f
    9:9:boolean isParameterReturned():113:113 -> f
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.setParameterMutated():133:136 -> h
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated():24 -> h
    1:7:int hashCode():186:192 -> hashCode
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.setParameterReturned():146:149 -> i
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned():24 -> i
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.setParameterUsedAsLock():159:162 -> j
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():24 -> j
com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder -> com.android.tools.r8.internal.St:
    boolean isParameterUsedAsLock -> e
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder methodCallsWithParameterAsReceiverBuilder -> b
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder fieldsReadFromParameterBuilder -> a
    boolean isParameterMutated -> c
    boolean isParameterReturned -> d
    1:3:void <init>():205:207 -> <init>
    4:12:void <init>(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):210:218 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addFieldReadFromParameter(com.android.tools.r8.graph.DexField):222:222 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addFieldsReadFromParameter(java.util.Collection):227:227 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addFieldsReadFromParameter(java.util.Collection):227 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addFieldsReadFromParameter(java.util.Collection):227 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):233:233 -> a
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder joinIsReceiverMutated(boolean):244:244 -> a
    7:9:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage build():274:276 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addMethodCallsWithParameterAsReceiver(java.util.Set):239:239 -> b
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:449 -> b
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> b
    2:3:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addMethodCallsWithParameterAsReceiver(java.util.Set):239 -> b
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder joinIsReceiverReturned(boolean):249:249 -> b
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder setParameterMutated():259:259 -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder joinIsReceiverUsedAsLock(boolean):254:254 -> c
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder setParameterReturned():264:264 -> c
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder setParameterUsedAsLock():269:269 -> d
com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage -> com.android.tools.r8.internal.lH:
    boolean isParameterUsedAsLock -> e
    boolean $assertionsDisabled -> f
    java.util.Set fieldsReadFromParameter -> a
    com.android.tools.r8.com.google.common.collect.Multiset methodCallsWithParameterAsReceiver -> b
    boolean isParameterMutated -> c
    boolean isParameterReturned -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(java.util.Set,com.android.tools.r8.com.google.common.collect.Multiset,boolean,boolean,boolean):30:32 -> <init>
    4:13:void <init>(java.util.Set,com.android.tools.r8.com.google.common.collect.Multiset,boolean,boolean,boolean):31:40 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField):45:45 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):50:50 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage asNonEmpty() -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize():60:60 -> d
    1:9:boolean equals(java.lang.Object):107:115 -> equals
    1:1:boolean isParameterReturned():82:82 -> f
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated():92:92 -> h
    1:7:int hashCode():121:127 -> hashCode
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned():97:97 -> i
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():102:102 -> j
    1:1:java.util.Set getFieldsReadFromParameter():68:68 -> l
    1:1:com.android.tools.r8.com.google.common.collect.Multiset getMethodCallsWithParameterAsReceiver():72:72 -> m
    1:1:boolean isParameterMutated():77:77 -> n
    1:1:boolean isParameterUsedAsLock():87:87 -> o
com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext -> com.android.tools.r8.internal.mH:
    java.util.Map backing -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():14:14 -> <clinit>
    1:3:void <init>(java.util.Map):18:20 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext asKnown() -> a
    1:1:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):46 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):49:49 -> a
    3:3:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):49 -> a
    4:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):52:53 -> a
    6:6:void com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.forEach(java.util.function.BiConsumer):42:42 -> a
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):53 -> a
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24:24 -> a
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):58 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):58 -> a
    9:9:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24:24 -> a
    9:9:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):58 -> a
    10:11:boolean allMatch(java.util.function.BiPredicate):33:34 -> a
    12:12:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.bottom():84:84 -> a
    12:12:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    13:13:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57:57 -> a
    14:14:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isBottom():0:0 -> a
    14:14:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):65 -> a
    14:14:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    15:15:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):68:68 -> a
    15:15:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    16:16:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isBottom():0:0 -> a
    16:16:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):68 -> a
    16:16:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    17:17:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isTop():0:0 -> a
    17:17:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):71 -> a
    17:17:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    18:18:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):74:74 -> a
    18:18:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    19:19:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():88:88 -> a
    19:19:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):72 -> a
    19:19:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    20:20:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):55:55 -> a
    21:21:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$externalize$1(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):87:87 -> a
    22:22:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isTop():0:0 -> a
    22:22:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$externalize$1(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):87 -> a
    23:23:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$externalize$1(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):87:87 -> a
    24:24:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):95:95 -> a
    25:25:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():88:88 -> a
    25:25:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):95 -> a
    26:26:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):95:95 -> a
    27:49:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction):106:128 -> a
    50:50:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24:24 -> a
    50:50:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction):128 -> a
    51:51:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> a
    51:51:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24 -> a
    51:51:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction):128 -> a
    52:52:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24:24 -> a
    52:52:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction):128 -> a
    1:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():70:71 -> b
    3:3:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isBottom():0:0 -> b
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():71 -> b
    4:4:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isTop():0:0 -> b
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():74 -> b
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> b
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():79 -> b
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> b
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():82 -> b
    7:9:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():86:88 -> b
    10:10:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> b
    10:10:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():88 -> b
    11:11:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():88:88 -> b
    12:12:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> b
    12:12:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():89 -> b
    13:13:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():89:89 -> b
    1:2:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext createInitial():28:29 -> c
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.bottom():84:84 -> c
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext createInitial():29 -> c
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext createInitial():29:29 -> c
    1:1:int getNumberOfContexts():99:99 -> d
    1:6:boolean equals(java.lang.Object):133:138 -> equals
    1:1:int hashCode():143:143 -> hashCode
com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages -> com.android.tools.r8.internal.nH:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap backing -> a
    com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration aliasedValueConfiguration -> b
    boolean $assertionsDisabled -> c
    1:4:void <clinit>():65:68 -> <clinit>
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):72:74 -> <init>
    1:1:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):209 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):212:212 -> a
    3:3:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):212 -> a
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):215:215 -> a
    5:5:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):167:167 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):215 -> a
    6:13:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):216:223 -> a
    14:14:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> a
    14:14:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):222 -> a
    15:15:java.lang.Object com.android.tools.r8.utils.Int2ObjectMapUtils.getOrDefault(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,java.lang.Object):18:18 -> a
    15:15:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):221 -> a
    16:16:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):221:221 -> a
    17:17:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):220:220 -> a
    18:18:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> a
    18:18:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):39 -> a
    18:18:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):220 -> a
    19:19:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):42:42 -> a
    19:19:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):220 -> a
    20:20:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    20:20:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):40 -> a
    20:20:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):220 -> a
    21:21:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):218:218 -> a
    22:22:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78:78 -> a
    23:23:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.bottom():64:64 -> a
    23:23:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78 -> a
    24:24:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78:78 -> a
    25:26:boolean allMatch(com.android.tools.r8.utils.IntObjPredicate):82:83 -> a
    27:27:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():88:88 -> a
    27:27:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$abandonClassInliningInCurrentContexts$1(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):136 -> a
    28:28:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):120:120 -> a
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):167:167 -> a
    29:29:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):120 -> a
    30:30:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):122:122 -> a
    31:31:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages.create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78:78 -> a
    31:31:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):123 -> a
    32:32:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.bottom():64:64 -> a
    32:32:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages.create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78 -> a
    32:32:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):123 -> a
    33:33:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages.create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78:78 -> a
    33:33:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):123 -> a
    34:34:void forEach(com.android.tools.r8.utils.IntObjConsumer):127:127 -> a
    35:36:void com.android.tools.r8.utils.Int2ObjectMapUtils.forEach(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.utils.IntObjConsumer):12:13 -> a
    35:36:void forEach(com.android.tools.r8.utils.IntObjConsumer):127 -> a
    37:37:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):132:132 -> a
    38:38:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    38:38:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):132 -> a
    39:39:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):132:132 -> a
    40:40:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(com.android.tools.r8.ir.code.Value):136:136 -> a
    41:49:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.util.Collection):140:148 -> a
    50:50:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$abandonClassInliningInCurrentContexts$3(int[],int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):150:150 -> a
    51:51:boolean com.android.tools.r8.utils.ArrayUtils.containsInt(int[],int):17:17 -> a
    51:51:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$abandonClassInliningInCurrentContexts$3(int[],int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):150 -> a
    52:52:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$abandonClassInliningInCurrentContexts$3(int[],int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):151:151 -> a
    53:55:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.lang.Iterable,java.util.function.Predicate):157:159 -> a
    56:56:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    56:56:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.lang.Iterable,java.util.function.Predicate):159 -> a
    57:57:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    57:57:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.lang.Iterable,java.util.function.Predicate):159 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    58:62:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.lang.Iterable,java.util.function.Predicate):160:164 -> a
    63:63:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):169:169 -> a
    64:64:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    64:64:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):169 -> a
    65:65:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    65:65:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):169 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:68:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):170:172 -> a
    69:69:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$rebuildParameter$4(int,java.util.function.BiFunction,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):175:175 -> a
    70:77:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):183:190 -> a
    78:78:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>():119:119 -> a
    78:78:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):190 -> a
    79:92:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):192:205 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():88:88 -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$abandonClassInliningInCurrentContexts$2(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):151 -> b
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$externalize$0(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):98:98 -> b
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages asNonEmpty() -> d
    1:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():97:102 -> e
    7:7:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> e
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():102 -> e
    8:8:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> e
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():105 -> e
    9:9:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.bottom():64:64 -> e
    9:9:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():110 -> e
    10:10:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.top():68:68 -> e
    10:10:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():113 -> e
    1:5:boolean equals(java.lang.Object):228:232 -> equals
    1:1:int hashCode():237:237 -> hashCode
com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage -> com.android.tools.r8.internal.oL:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage asInternalNonEmpty() -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage asNonEmpty() -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage bottom():84:84 -> c
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize() -> d
    boolean isBottom() -> e
    boolean isParameterReturned() -> f
    boolean isTop() -> g
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated() -> h
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned() -> i
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock() -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage top():88:88 -> k
com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext -> com.android.tools.r8.internal.pL:
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext asKnown() -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize() -> b
com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages -> com.android.tools.r8.internal.qL:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext) -> a
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10:10 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):46 -> a
    2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):49:49 -> a
    3:3:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    4:4:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):49 -> a
    4:4:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    5:5:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isTop():0:0 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):52 -> a
    5:5:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):55:55 -> a
    6:6:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.top():68:68 -> a
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):53 -> a
    7:7:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> c
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages asNonEmpty() -> d
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize() -> e
    boolean isTop() -> f
com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction -> com.android.tools.r8.internal.FY:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.util.Set instructionsOfInterest -> g
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> i
    com.android.tools.r8.ir.code.InvokeDirect constructorInvoke -> e
    java.util.Set argumentsOfInterest -> f
    com.android.tools.r8.ir.code.Argument lastArgument -> d
    com.android.tools.r8.graph.ProgramMethod method -> c
    com.android.tools.r8.ir.code.AliasedValueConfiguration aliasedValueConfiguration -> h
    1:4:void <clinit>():55:58 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):79:79 -> <init>
    2:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):72:83 -> <init>
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):55:55 -> a
    2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):55:55 -> a
    3:4:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):89:90 -> a
    5:14:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeArgument(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):155:164 -> a
    5:14:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):91 -> a
    15:15:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeArgument(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):157:157 -> a
    15:15:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):91 -> a
    16:16:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    16:16:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeArgument(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):157 -> a
    16:16:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):91 -> a
    17:17:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeArgument(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):157:157 -> a
    17:17:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):91 -> a
    18:19:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):94:95 -> a
    20:20:com.android.tools.r8.ir.analysis.framework.intraprocedural.FailedTransferFunctionResult com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.fail():343:343 -> a
    20:20:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):96 -> a
    21:26:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):100:105 -> a
    27:27:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    27:27:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):105 -> a
    28:29:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):105:106 -> a
    30:30:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isTop():0:0 -> a
    30:30:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):106 -> a
    31:32:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):106:107 -> a
    33:57:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):112:136 -> a
    33:57:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    58:58:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):134:134 -> a
    58:58:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    59:59:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):132:132 -> a
    59:59:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    60:60:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):130:130 -> a
    60:60:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    61:61:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):128:128 -> a
    61:61:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    62:73:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):294:305 -> a
    62:73:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):128 -> a
    62:73:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    74:74:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):126:126 -> a
    74:74:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    75:75:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):124:124 -> a
    75:75:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    76:76:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):122:122 -> a
    76:76:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    77:77:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):120:120 -> a
    77:77:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    78:78:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118:118 -> a
    78:78:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    79:80:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):179:180 -> a
    79:80:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118 -> a
    79:80:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    81:81:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    81:81:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):180 -> a
    81:81:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118 -> a
    81:81:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    82:82:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    82:82:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):180 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    82:82:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118 -> a
    82:82:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    83:88:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):180:185 -> a
    83:88:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118 -> a
    83:88:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    89:89:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):116:116 -> a
    89:89:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    90:90:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):174:174 -> a
    90:90:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):116 -> a
    90:90:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    91:91:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):114:114 -> a
    91:91:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    92:92:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeAssume(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):169:169 -> a
    92:92:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):114 -> a
    92:92:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    93:93:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):108:108 -> a
    94:94:boolean lambda$apply$0(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):95:95 -> a
    95:95:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> a
    95:95:boolean lambda$apply$0(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):95 -> a
    96:101:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstanceGet(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):192:197 -> a
    102:107:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstanceGet(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):196:201 -> a
    108:108:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeInstanceGet$1(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):198:198 -> a
    109:109:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):209:209 -> a
    110:110:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    110:110:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):209 -> a
    111:111:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    111:111:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):209 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    112:116:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):210:214 -> a
    117:117:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    117:117:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):214 -> a
    118:118:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    118:118:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):214 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    119:127:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):215:223 -> a
    128:128:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeInstancePut$2(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):221:221 -> a
    129:129:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):232:232 -> a
    130:133:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):231:234 -> a
    134:134:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    134:134:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):234 -> a
    135:135:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    135:135:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):234 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    136:141:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):235:240 -> a
    142:142:boolean com.android.tools.r8.ir.code.InvokeDirect.isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):121:121 -> a
    142:142:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):241 -> a
    143:153:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):245:255 -> a
    154:154:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.receiverMayEscapeOutsideConstructorChain():72:72 -> a
    154:154:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):256 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    155:163:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):257:265 -> a
    164:164:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):242:242 -> a
    165:165:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):274:274 -> a
    166:169:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):273:276 -> a
    170:170:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    170:170:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):276 -> a
    171:171:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    171:171:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):276 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    172:182:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):277:287 -> a
    183:183:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeInvokeInterface$3(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):288:288 -> a
    184:184:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):313:313 -> a
    185:188:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):312:315 -> a
    189:189:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    189:189:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):315 -> a
    190:190:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    190:190:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):315 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    191:201:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):316:326 -> a
    202:202:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeInvokeVirtual$4(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):327:327 -> a
    203:203:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeMonitor(com.android.tools.r8.ir.code.Monitor,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):334:334 -> a
    204:204:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeMonitor(com.android.tools.r8.ir.code.Monitor,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):333:333 -> a
    205:205:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):339:339 -> a
    206:206:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):338:338 -> a
    207:207:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages fail(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):348:348 -> a
    208:208:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages fail(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):347:347 -> a
    209:209:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):352:352 -> a
    210:210:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    210:210:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):352 -> a
    211:211:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    211:211:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):352 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    212:213:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):352:353 -> a
    214:224:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):357:367 -> a
    225:234:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.isMaybeEligibleForClassInlining(com.android.tools.r8.graph.DexProgramClass):374:383 -> a
    225:234:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):367 -> a
    235:235:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):368:368 -> a
    236:236:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.isMaybeEligibleForClassInlining(com.android.tools.r8.graph.ClasspathOrLibraryClass):389:389 -> a
    236:236:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):368 -> a
    237:237:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):395:395 -> a
    238:238:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages.rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):65:65 -> a
    238:238:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):396 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    239:239:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    239:239:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):409 -> a
    240:240:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isTop():0:0 -> a
    240:240:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):410 -> a
    241:241:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):411:411 -> a
    242:242:com.android.tools.r8.ir.analysis.framework.intraprocedural.FailedTransferFunctionResult com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.fail():343:343 -> a
    242:242:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):412 -> a
    243:243:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$8(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):398:398 -> a
    244:244:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> a
    244:244:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$8(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):398 -> a
    245:245:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> a
    245:245:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$8(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):398 -> a
    246:248:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$8(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):401:403 -> a
    249:249:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    249:249:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$8(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):405 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeMonitor$5(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):334:334 -> b
    2:2:boolean lambda$widen$9(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):411:411 -> b
    3:3:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> b
    3:3:boolean lambda$widen$9(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):411 -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeReturn$6(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):339:339 -> c
    1:1:boolean lambda$widen$7(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):404:404 -> d
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isTop():0:0 -> d
    2:2:boolean lambda$widen$7(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):404 -> d
com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage -> com.android.tools.r8.internal.x00:
    com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage TOP -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize() -> d
    boolean isParameterReturned() -> f
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated() -> h
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned() -> i
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock() -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage getInstance():17:17 -> l
com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext -> com.android.tools.r8.internal.y00:
    com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():88:88 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):27 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize() -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext getInstance():17:17 -> c
com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages -> com.android.tools.r8.internal.z00:
    com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):26 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize() -> e
    1:1:boolean equals(java.lang.Object):47:47 -> equals
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages getInstance():16:16 -> g
    1:1:int hashCode():52:52 -> hashCode
com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysFalseClassInlinerMethodConstraint -> com.android.tools.r8.internal.C1:
    com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysFalseClassInlinerMethodConstraint INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.ProgramMethod,int) -> a
    boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int):33:33 -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysFalseClassInlinerMethodConstraint getInstance():22:22 -> c
com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint -> com.android.tools.r8.internal.J1:
    com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.ProgramMethod,int) -> a
    boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int):33:33 -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint getInstance():22:22 -> c
com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint -> com.android.tools.r8.internal.ha:
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.ProgramMethod,int) -> a
    boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysFalseClassInlinerMethodConstraint alwaysFalse():30:30 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int) -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint alwaysTrue():34:34 -> b
com.android.tools.r8.ir.optimize.classinliner.constraint.ConditionalClassInlinerMethodConstraint -> com.android.tools.r8.internal.ed:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages usages -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):31:33 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):39:39 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):39 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):42:42 -> a
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>():119:119 -> a
    4:4:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):42 -> a
    5:23:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):43:61 -> a
    24:25:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):47:48 -> a
    26:26:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    26:26:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):53 -> a
    27:32:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):54:59 -> a
    33:35:boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.ProgramMethod,int):72:74 -> a
    36:67:boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod):83:114 -> a
    1:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int):66:67 -> b
com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer -> com.android.tools.r8.internal.qX:
    com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():15:17 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    1:14:boolean switchCaseIsAlwaysHit(com.android.tools.r8.ir.code.Switch,int):26:39 -> a
    15:31:boolean switchCaseIsUnreachable(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.analysis.value.AbstractValue,int):44:60 -> a
    32:43:boolean switchFallthroughIsNeverHit(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.analysis.value.AbstractValue):64:75 -> a
com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer -> com.android.tools.r8.internal.Kh:
    com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer INSTANCE -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():29:29 -> <init>
    void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions) -> a
    void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
    void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens) -> a
    void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues) -> a
    1:1:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumDataMap.empty():20:20 -> a
    1:1:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):80 -> a
    2:2:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):80:80 -> a
    3:3:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):65:65 -> a
    void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
    void rewriteWithLens() -> b
    void unsetRewriter() -> c
    void updateEnumUnboxingCandidatesInfo() -> d
    1:1:com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer get():32:32 -> e
com.android.tools.r8.ir.optimize.enums.EnumDataMap -> com.android.tools.r8.internal.mi:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():16:16 -> <clinit>
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):23:24 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData get(com.android.tools.r8.graph.DexProgramClass):40:41 -> a
    3:4:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData getInstanceFieldData(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):51:52 -> a
    5:6:int getUnboxedValue(com.android.tools.r8.graph.DexField):61:62 -> a
    7:7:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):114:114 -> a
    7:7:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
    8:8:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):114:114 -> a
    8:8:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):114:114 -> a
    9:9:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
    10:10:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):115:115 -> a
    10:10:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):115:115 -> a
    11:11:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
    12:13:int getValuesSize(com.android.tools.r8.graph.DexType):66:67 -> a
    14:14:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139:139 -> a
    14:14:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
    15:15:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasValues():135:135 -> a
    15:15:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139 -> a
    15:15:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    16:16:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139:139 -> a
    16:16:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
    17:17:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():140:140 -> a
    17:17:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:int getMaxValuesSize():72:72 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasValues():135:135 -> a
    19:19:int getMaxValuesSize():73 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139:139 -> a
    20:20:int getMaxValuesSize():74 -> a
    21:21:int getMaxValuesSize():74:74 -> a
    1:1:boolean isUnboxedEnum(com.android.tools.r8.graph.DexType):32:32 -> b
    2:2:java.util.Set getUnboxedEnums():46:46 -> b
    3:4:boolean hasUnboxedValueFor(com.android.tools.r8.graph.DexField):56:57 -> b
    5:5:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> b
    5:5:boolean hasUnboxedValueFor(com.android.tools.r8.graph.DexField):57 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> b
    6:6:boolean hasUnboxedValueFor(com.android.tools.r8.graph.DexField):57 -> b
    1:1:boolean isEmpty():36:36 -> c
    2:3:boolean matchesValuesField(com.android.tools.r8.graph.DexField):81:82 -> c
    4:4:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> c
    4:4:boolean matchesValuesField(com.android.tools.r8.graph.DexField):82 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> c
    5:5:boolean matchesValuesField(com.android.tools.r8.graph.DexField):82 -> c
com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData -> com.android.tools.r8.internal.li:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.com.google.common.collect.ImmutableMap unboxedValues -> b
    int valuesSize -> d
    com.android.tools.r8.com.google.common.collect.ImmutableMap instanceFieldMap -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet valuesFields -> c
    1:1:void <clinit>():85:85 -> <clinit>
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableSet,int):101:105 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData getInstanceFieldData(com.android.tools.r8.graph.DexField):109:110 -> a
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData -> com.android.tools.r8.internal.ri:
    1:1:void <init>():24:24 -> <init>
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData asEnumFieldKnownData() -> a
    boolean isUnknown() -> b
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData -> com.android.tools.r8.internal.ni:
    1:1:void <init>():52:52 -> <init>
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData asEnumFieldKnownData() -> a
    boolean isUnknown() -> b
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData asEnumFieldMappingData() -> c
    boolean isMapping() -> d
    boolean isOrdinal() -> e
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData -> com.android.tools.r8.internal.oi:
    com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap mapping -> a
    1:2:void <init>(com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap):88:89 -> <init>
    1:1:void forEach(java.util.function.BiConsumer):112:112 -> a
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData asEnumFieldMappingData() -> c
    boolean isMapping() -> d
    boolean isOrdinal() -> e
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldOrdinalData -> com.android.tools.r8.internal.pi:
    1:1:void <init>():73:73 -> <init>
    boolean isMapping() -> d
    boolean isOrdinal() -> e
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData -> com.android.tools.r8.internal.qi:
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData INSTANCE -> a
    1:1:void <clinit>():38:38 -> <clinit>
    1:1:void <init>():44:44 -> <init>
    boolean isUnknown() -> b
    1:1:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData getInstance():41:41 -> c
com.android.tools.r8.ir.optimize.enums.EnumUnboxer -> com.android.tools.r8.internal.ui:
    1:1:void <init>():25:25 -> <init>
    void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions) -> a
    void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
    void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens) -> a
    void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues) -> a
    java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription) -> a
    void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed) -> a
    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxer create(com.android.tools.r8.graph.AppView):28:28 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer com.android.tools.r8.ir.optimize.enums.EnumUnboxer.empty():32:32 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.EnumUnboxer create(com.android.tools.r8.graph.AppView):28 -> a
    3:3:com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer empty():32:32 -> a
    void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
    void rewriteWithLens() -> b
    void unsetRewriter() -> c
    void updateEnumUnboxingCandidatesInfo() -> d
com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl -> com.android.tools.r8.internal.wi:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection enumUnboxingCandidatesInfo -> c
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter enumUnboxerRewriter -> i
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set candidatesToRemoveInWave -> d
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.DexClassAndField ordinalField -> h
    com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder checkNotNullMethodsBuilder -> g
    java.util.Map staticFieldValuesMap -> e
    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodsDependingOnLibraryModelisation -> f
    1:1:void <clinit>():134:134 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):160:160 -> <init>
    2:33:void <init>(com.android.tools.r8.graph.AppView):141:172 -> <init>
    com.android.tools.r8.utils.collections.LongLivedClassSetBuilder lambda$unboxEnums$4(com.android.tools.r8.utils.collections.LongLivedClassSetBuilder,com.android.tools.r8.graph.GraphLens) -> a
    1:1:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues.isEnumStaticFieldValues():0:0 -> a
    1:1:void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):956 -> a
    2:5:void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):959:962 -> a
    6:6:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl):134:134 -> a
    7:14:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):212:219 -> a
    15:22:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.graph.DexType):226:233 -> a
    23:59:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):238:274 -> a
    60:67:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,com.android.tools.r8.graph.ProgramMethod):389:396 -> a
    60:67:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):274 -> a
    68:78:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):271:281 -> a
    79:82:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction,java.util.Set,com.android.tools.r8.graph.ProgramMethod):375:378 -> a
    79:82:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):280 -> a
    83:83:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    83:83:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction,java.util.Set,com.android.tools.r8.graph.ProgramMethod):378 -> a
    83:83:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):280 -> a
    84:87:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction,java.util.Set,com.android.tools.r8.graph.ProgramMethod):379:382 -> a
    84:87:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):280 -> a
    88:88:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265:265 -> a
    89:102:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):448:461 -> a
    89:102:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    103:103:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    103:103:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):461 -> a
    103:103:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    104:104:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    104:104:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):461 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    104:104:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    105:105:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):461:461 -> a
    105:105:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    106:106:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):472:472 -> a
    106:106:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    106:106:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    107:107:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    107:107:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):472 -> a
    107:107:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    107:107:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    108:108:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):473:473 -> a
    108:108:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    108:108:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    109:109:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    109:109:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):479 -> a
    109:109:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    109:109:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    110:114:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):480:484 -> a
    110:114:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    110:114:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    115:115:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):515:515 -> a
    115:115:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):487 -> a
    115:115:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    115:115:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    116:116:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    116:116:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):488 -> a
    116:116:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    116:116:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    117:117:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):491:491 -> a
    117:117:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    117:117:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    118:118:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    118:118:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):493 -> a
    118:118:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    118:118:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    119:125:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):498:504 -> a
    119:125:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    119:125:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    126:126:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isUnboxableNameMethod(com.android.tools.r8.graph.DexMethod):520:520 -> a
    126:126:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):506 -> a
    126:126:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):462 -> a
    126:126:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    127:131:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):463:467 -> a
    127:131:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    132:132:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268:268 -> a
    133:142:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):411:420 -> a
    133:142:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268 -> a
    143:145:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):432:434 -> a
    143:145:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):424 -> a
    143:145:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268 -> a
    146:146:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):433:433 -> a
    146:146:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):424 -> a
    146:146:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268 -> a
    147:150:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):425:428 -> a
    147:150:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268 -> a
    151:170:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):286:305 -> a
    171:173:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markEnumEligible(com.android.tools.r8.graph.DexType,java.util.Set):310:312 -> a
    171:173:void lambda$analyzeInvokeCustom$0(java.util.Set,com.android.tools.r8.graph.DexType):325 -> a
    174:176:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.invalidateEnum(com.android.tools.r8.graph.DexType):317:319 -> a
    174:176:void lambda$analyzeInvokeCustom$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):341 -> a
    177:179:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.invalidateEnum(com.android.tools.r8.graph.DexType):317:319 -> a
    177:179:void lambda$analyzeInvokeCustom$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):342 -> a
    180:180:void analyzeInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom,java.util.Set,com.android.tools.r8.graph.ProgramMethod):325:325 -> a
    181:181:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexCallSite.getMethodProto():110:110 -> a
    181:181:void analyzeInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom,java.util.Set,com.android.tools.r8.graph.ProgramMethod):325 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    182:195:void analyzeInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom,java.util.Set,com.android.tools.r8.graph.ProgramMethod):325:338 -> a
    196:196:void analyzeInvokeCustomParameters(com.android.tools.r8.ir.code.InvokeCustom,java.util.function.Consumer):349:349 -> a
    197:197:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    197:197:void analyzeInvokeCustomParameters(com.android.tools.r8.ir.code.InvokeCustom,java.util.function.Consumer):350 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    198:199:void analyzeInvokeCustomParameters(com.android.tools.r8.ir.code.InvokeCustom,java.util.function.Consumer):350:351 -> a
    200:200:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):353:353 -> a
    201:201:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    201:201:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):353 -> a
    202:202:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):355:355 -> a
    203:203:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    203:203:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):356 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    204:204:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    204:204:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):356 -> a
    205:207:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):357:359 -> a
    208:208:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:78 -> a
    208:208:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):359 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    209:210:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:79 -> a
    209:210:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):359 -> a
    211:211:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):361:361 -> a
    212:212:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    212:212:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):361 -> a
    213:216:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):361:364 -> a
    217:217:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> a
    217:217:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):366 -> a
    218:218:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):367:367 -> a
    219:219:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:78 -> a
    219:219:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    220:221:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:79 -> a
    220:221:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):368 -> a
    222:246:void addNullDependencies(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.Set):526:550 -> a
    247:248:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):557:558 -> a
    249:281:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):989:1021 -> a
    249:281:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    282:282:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1001:1001 -> a
    282:282:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    283:285:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):432:434 -> a
    283:285:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1088 -> a
    283:285:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1001 -> a
    283:285:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    286:286:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):433:433 -> a
    286:286:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1088 -> a
    286:286:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1001 -> a
    286:286:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    287:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1089:1091 -> a
    287:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1001 -> a
    287:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    290:290:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):992:992 -> a
    290:290:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    291:291:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeAssumeUser(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1031:1031 -> a
    291:291:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):992 -> a
    291:291:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    292:292:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):999:999 -> a
    292:292:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    293:308:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeArrayPutUser(com.android.tools.r8.ir.code.ArrayPut,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1064:1079 -> a
    293:308:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):999 -> a
    293:308:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    309:309:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):997:997 -> a
    309:309:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    310:310:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):996:996 -> a
    310:310:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    311:336:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):994:1019 -> a
    311:336:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    337:337:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1017:1017 -> a
    337:337:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    338:342:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeReturnUser(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1349:1353 -> a
    338:342:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1017 -> a
    338:342:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    343:343:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1009:1009 -> a
    343:343:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    344:344:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1008:1008 -> a
    344:344:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    345:345:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1006:1006 -> a
    345:345:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    346:349:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeInstanceGetUser(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1148:1151 -> a
    346:349:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1005 -> a
    346:349:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    350:350:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1003:1003 -> a
    350:350:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    351:351:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1125:1125 -> a
    351:351:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1003 -> a
    351:351:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    352:352:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":383,"2":384,"3":385}}
    383:383:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1125:1125 -> a
    383:383:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1003 -> a
    383:383:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    384:384:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1125:1125 -> a
    384:384:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1003 -> a
    384:384:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    385:385:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1125:1125 -> a
    385:385:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1003 -> a
    385:385:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    353:366:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1126:1139 -> a
    353:366:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.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):1003 -> a
    353:366:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):559 -> a
    367:382:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):560:575 -> a
    386:386:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):585:585 -> a
    387:389:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeCheckNotNullMethods(com.android.tools.r8.graph.GraphLens):591:593 -> a
    387:389:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):586 -> a
    390:395:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeEnumUnboxingCandidates(com.android.tools.r8.graph.GraphLens):598:603 -> a
    390:395:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):587 -> a
    396:398:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):621:623 -> a
    399:407:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.finishAnalysis():751:759 -> a
    399:407:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):624 -> a
    408:428:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):625:645 -> a
    429:429:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.builder(com.android.tools.r8.graph.AppView):60:60 -> a
    429:429:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):648 -> a
    430:436:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):649:655 -> a
    437:437:com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView,java.util.function.BiFunction):63:63 -> a
    437:437:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):655 -> a
    438:460:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):655:677 -> a
    461:461:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    461:461:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):680 -> a
    462:462:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):681:681 -> a
    463:469:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):678:684 -> a
    470:470:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    470:470:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):684 -> a
    471:471:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):685:685 -> a
    472:476:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):682:686 -> a
    477:483:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.updateOptimizationInfos(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result,com.android.tools.r8.graph.GraphLens):705:711 -> a
    477:483:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):688 -> a
    484:487:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):690:693 -> a
    488:488:java.util.Set lambda$unboxEnums$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.LongLivedClassSetBuilder):656:656 -> a
    489:491:boolean lambda$unboxEnums$6(com.android.tools.r8.graph.ProgramMethod,java.util.Set):660:662 -> a
    492:492:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    492:492:boolean lambda$unboxEnums$6(com.android.tools.r8.graph.ProgramMethod,java.util.Set):662 -> a
    493:494:void updateKeepInfo(java.util.Set):743:744 -> a
    495:495:void lambda$updateKeepInfo$7(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):747:747 -> a
    496:496:void lambda$updateKeepInfo$7(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):746:746 -> a
    497:512:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):782:797 -> a
    497:512:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    513:513:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1442:1442 -> a
    513:513:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):799 -> a
    513:513:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    514:525:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):805:816 -> a
    514:525:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    526:526:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1442:1442 -> a
    526:526:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):815 -> a
    526:526:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    527:527:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():180:180 -> a
    527:527:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):947 -> a
    527:527:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):819 -> a
    527:527:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    528:529:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):947:948 -> a
    528:529:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):819 -> a
    528:529:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    530:530:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    530:530:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):948 -> a
    530:530:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):819 -> a
    530:530:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    531:533:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):949:951 -> a
    531:533:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):819 -> a
    531:533:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    534:538:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):820:824 -> a
    534:538:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    539:539:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1442:1442 -> a
    539:539:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):821 -> a
    539:539:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    540:555:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):827:842 -> a
    540:555:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    556:556:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1442:1442 -> a
    556:556:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):841 -> a
    556:556:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    557:557:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845:845 -> a
    557:557:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    558:558:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> a
    558:558:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845 -> a
    558:558:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    559:561:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):845:847 -> a
    559:561:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    562:579:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):846:863 -> a
    562:579:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    580:580:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():180:180 -> a
    580:580:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):947 -> a
    580:580:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):863 -> a
    580:580:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    581:582:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):947:948 -> a
    581:582:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):863 -> a
    581:582:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    583:583:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    583:583:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):948 -> a
    583:583:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):863 -> a
    583:583:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    584:586:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):949:951 -> a
    584:586:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):863 -> a
    584:586:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    587:587:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):863:863 -> a
    587:587:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    588:588:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():180:180 -> a
    588:588:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):947 -> a
    588:588:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):864 -> a
    588:588:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    589:590:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):947:948 -> a
    589:590:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):864 -> a
    589:590:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    591:591:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    591:591:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):948 -> a
    591:591:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):864 -> a
    591:591:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    592:594:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):949:951 -> a
    592:594:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):864 -> a
    592:594:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    595:596:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):864:865 -> a
    595:596:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    597:598:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):890:891 -> a
    597:598:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    597:598:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    599:602:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):911:914 -> a
    599:602:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    599:602:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    599:602:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    603:603:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> a
    603:603:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):916 -> a
    603:603:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    603:603:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    603:603:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    604:604:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):917:917 -> a
    604:604:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    604:604:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    604:604:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    605:605:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    605:605:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    605:605:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):917 -> a
    605:605:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    605:605:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    605:605:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    606:610:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):918:922 -> a
    606:610:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    606:610:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    606:610:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    611:611:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1442:1442 -> a
    611:611:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):921 -> a
    611:611:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    611:611:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    611:611:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    612:612:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):923:923 -> a
    612:612:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    612:612:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    612:612:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    613:613:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    613:613:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):925 -> a
    613:613:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    613:613:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    613:613:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    614:617:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):925:928 -> a
    614:617:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    614:617:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    614:617:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    618:618:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1442:1442 -> a
    618:618:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):926 -> a
    618:618:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    618:618:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    618:618:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    619:633:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):929:943 -> a
    619:633:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):893 -> a
    619:633:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    619:633:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    634:644:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):894:904 -> a
    634:644:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):874 -> a
    634:644:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    645:649:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):879:883 -> a
    645:649:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):767 -> a
    650:650:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):770:770 -> a
    651:651:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection.removeCandidate(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    651:651:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):770 -> a
    652:652:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):774:774 -> a
    653:666:void lambda$analyzeInitializers$9(com.android.tools.r8.graph.DexProgramClass):969:982 -> a
    667:672:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1102:1107 -> a
    673:673:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63:63 -> a
    673:673:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1107 -> a
    674:674:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    674:674:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63 -> a
    674:674:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1107 -> a
    675:684:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1109:1118 -> a
    685:705:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1161:1181 -> a
    706:706:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    706:706:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1181 -> a
    707:710:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1181:1184 -> a
    711:723:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1179:1191 -> a
    724:724:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    724:724:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1191 -> a
    725:727:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1193:1195 -> a
    728:734:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1194:1200 -> a
    735:749:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1198:1212 -> a
    750:750:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    750:750:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getArgumentForParameter(int):280 -> a
    750:750:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1213 -> a
    751:752:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getArgumentForParameter(int):280:281 -> a
    751:752:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1213 -> a
    753:763:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1214:1224 -> a
    764:764:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    764:764:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1227 -> a
    765:768:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1228:1231 -> a
    769:769:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    769:769:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1231 -> a
    770:770:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1231:1231 -> a
    771:794:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1253:1276 -> a
    771:794:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    795:795:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1266:1266 -> a
    795:795:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    796:796:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):515:515 -> a
    796:796:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1267 -> a
    796:796:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    797:797:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1268:1268 -> a
    797:797:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    798:819:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1258:1279 -> a
    798:819:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    820:861:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1260:1301 -> a
    820:861:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    862:869:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1299:1306 -> a
    862:869:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    870:870:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):515:515 -> a
    870:870:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1307 -> a
    870:870:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    871:902:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1308:1339 -> a
    871:902:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    903:908:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1316:1321 -> a
    903:908:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    909:909:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):515:515 -> a
    909:909:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1318 -> a
    909:909:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    910:910:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1319:1319 -> a
    910:910:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1234 -> a
    911:911:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1237:1237 -> a
    912:912:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    912:912:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1238 -> a
    913:914:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1463:1464 -> a
    915:918:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1474:1477 -> a
    1:1:boolean markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.eligibility.Reason,com.android.tools.r8.graph.DexProgramClass):198:198 -> b
    2:2:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1442:1442 -> b
    2:2:boolean markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.eligibility.Reason,com.android.tools.r8.graph.DexProgramClass):199 -> b
    3:3:boolean markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.eligibility.Reason,com.android.tools.r8.graph.DexProgramClass):201:201 -> b
    4:6:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markEnumEligible(com.android.tools.r8.graph.DexType,java.util.Set):310:312 -> b
    4:6:void lambda$analyzeInvokeCustom$1(java.util.Set,com.android.tools.r8.graph.DexType):336 -> b
    7:9:void invalidateEnum(com.android.tools.r8.graph.DexType):317:319 -> b
    10:11:void rewriteWithLens():609:610 -> b
    12:12:com.android.tools.r8.utils.collections.LongLivedClassSetBuilder lambda$analyzeInvokeUser$10(com.android.tools.r8.graph.GraphLens):1202:1202 -> b
    13:13:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1458:1458 -> b
    1:1:void unsetRewriter():1482:1482 -> c
    1:2:void updateEnumUnboxingCandidatesInfo():185:186 -> d
    3:3:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection.removeCandidate(com.android.tools.r8.graph.DexProgramClass):46:46 -> d
    3:3:void updateEnumUnboxingCandidatesInfo():186 -> d
    4:4:void updateEnumUnboxingCandidatesInfo():188:188 -> d
    1:15:com.android.tools.r8.ir.optimize.enums.EnumDataMap analyzeEnumInstances():764:778 -> e
    1:1:void analyzeInitializers():967:967 -> f
    1:1:com.android.tools.r8.graph.DexClassAndField getOrdinalField():180:180 -> g
com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl$1 -> com.android.tools.r8.internal.vi:
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens val$graphLens -> a
    com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl this$0 -> d
    com.android.tools.r8.graph.GraphLens val$codeLens -> b
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result val$treeFixerResult -> c
    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result):714:714 -> <init>
    1:2:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):717:718 -> a
    3:3:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):39:39 -> a
    3:3:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):718 -> a
    4:5:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):718:719 -> a
    6:7:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):725:726 -> a
    8:8:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):176:176 -> a
    8:8:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):726 -> a
    9:12:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):726:729 -> a
    13:21:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):728:736 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis -> com.android.tools.r8.internal.zi:
    com.android.tools.r8.graph.DexItemFactory factory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection enumToUnboxCandidates -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl enumUnboxer -> b
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl):33:33 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl):30:36 -> <init>
    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):41:41 -> a
    2:2:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):41 -> a
    3:3:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):46:46 -> a
    4:18:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):60:74 -> a
    4:18:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1442:1442 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):74 -> a
    19:19:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
    20:20:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):66:66 -> a
    20:20:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1442:1442 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):66 -> a
    21:21:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
    22:22:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):48:48 -> a
    23:23:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():83:83 -> a
    23:23:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    24:24:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    24:24:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():84 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    25:25:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    25:25:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():84 -> a
    25:25:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    26:26:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():85:85 -> a
    26:26:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    27:29:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotation(com.android.tools.r8.graph.DexProgramClass):94:96 -> a
    27:29:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():86 -> a
    27:29:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    30:35:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotation(com.android.tools.r8.graph.DexProgramClass):95:100 -> a
    30:35:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():86 -> a
    30:35:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    36:40:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):52:56 -> a
    41:41:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):44:44 -> a
    42:46:void removePinnedCandidates():110:114 -> a
    47:47:void lambda$removePinnedCandidates$0(com.android.tools.r8.graph.DexField):113:113 -> a
    48:50:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):126:128 -> a
    48:50:void lambda$removePinnedCandidates$0(com.android.tools.r8.graph.DexField):113 -> a
    51:52:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):116:117 -> a
    53:55:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):126:128 -> a
    53:55:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):117 -> a
    56:56:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):118:118 -> a
    57:59:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):126:128 -> a
    57:59:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):119 -> a
    60:62:void removePinnedCandidate(com.android.tools.r8.graph.DexType):133:135 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection -> com.android.tools.r8.internal.Bi:
    java.util.Map enumTypeToInfo -> a
    java.util.Set prunedMethods -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():26:26 -> <clinit>
    1:4:void <init>():26:29 -> <init>
    1:2:void addCandidate(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GraphLens):35:36 -> a
    3:3:void addPrunedMethod(com.android.tools.r8.graph.ProgramMethod):42:42 -> a
    4:8:com.android.tools.r8.graph.DexProgramClass getCandidateClassOrNull(com.android.tools.r8.graph.DexType):74:78 -> a
    9:16:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder allMethodDependencies():82:89 -> a
    17:21:void addMethodDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):97:101 -> a
    22:26:void addRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField):108:112 -> a
    27:27:void forEachCandidate(java.util.function.Consumer):116:116 -> a
    28:28:void lambda$forEachCandidate$0(java.util.function.Consumer,com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo):116:116 -> a
    29:31:void forEachCandidateAndRequiredInstanceFieldData(java.util.function.BiConsumer):121:123 -> a
    32:32:void lambda$forEachCandidateAndRequiredInstanceFieldData$1(java.util.function.BiConsumer,com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo):124:124 -> a
    1:1:boolean isCandidate(com.android.tools.r8.graph.DexType):54:54 -> b
    2:6:com.android.tools.r8.com.google.common.collect.ImmutableSet candidateClasses():66:70 -> b
    1:1:void removeCandidate(com.android.tools.r8.graph.DexType):50:50 -> c
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet candidates():62:62 -> c
    1:1:void clear():128:128 -> d
    1:1:boolean isEmpty():58:58 -> e
com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo -> com.android.tools.r8.internal.Ai:
    java.util.Set requiredInstanceFieldData -> c
    com.android.tools.r8.graph.DexProgramClass enumClass -> a
    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodDependencies -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():131:131 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GraphLens):140:140 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GraphLens):135:145 -> <init>
    1:1:com.android.tools.r8.graph.DexProgramClass access$000(com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo):131:131 -> a
    2:2:com.android.tools.r8.graph.DexProgramClass getEnumClass():150:150 -> a
    3:3:void addMethodDependency(com.android.tools.r8.graph.ProgramMethod):154:154 -> a
    4:4:void addRequiredInstanceFieldData(com.android.tools.r8.graph.DexField):158:158 -> a
    1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder access$100(com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo):131:131 -> b
    2:2:java.util.Set getRequiredInstanceFieldData():162:162 -> b
com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods -> com.android.tools.r8.internal.Fi:
    1:1:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):47:47 -> a
    2:22:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):51:71 -> a
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    23:23:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):71 -> a
    24:34:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):71:81 -> a
    35:47:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):78:90 -> a
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    48:48:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):90 -> a
    49:51:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):90:92 -> a
    52:92:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):59:99 -> a
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    93:93:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):99 -> a
    94:94:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    94:94:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    94:94:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):99 -> a
    95:95:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    95:95:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    95:95:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):99 -> a
    1:23:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):103:125 -> b
    24:36:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):122:134 -> b
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    37:37:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):134 -> b
    38:52:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):134:148 -> b
    53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    53:53:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):148 -> b
    54:64:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):148:158 -> b
    65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    65:65:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):158 -> b
    66:69:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):158:161 -> b
    70:122:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):113:165 -> b
    123:123:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> b
    123:123:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> b
    124:124:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> b
    124:124:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b
    124:124:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> b
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> b
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b
    125:125:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> b
    1:21:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):169:189 -> c
    22:32:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):186:196 -> c
    33:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c
    33:33:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196 -> c
    34:35:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196:197 -> c
    36:63:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):177:204 -> c
    64:64:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> c
    64:64:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):204 -> c
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> c
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> c
    65:65:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):204 -> c
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> c
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> c
    66:66:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):204 -> c
    1:21:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):268:288 -> d
    22:32:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):285:295 -> d
    33:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d
    33:33:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):295 -> d
    34:35:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):295:296 -> d
    36:60:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):276:300 -> d
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> d
    61:61:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):300 -> d
    62:62:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> d
    62:62:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> d
    62:62:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):300 -> d
    63:63:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> d
    63:63:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> d
    63:63:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):300 -> d
    1:23:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):305:327 -> e
    24:37:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):323:336 -> e
    38:38:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e
    38:38:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):336 -> e
    39:41:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):336:338 -> e
    42:71:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):313:342 -> e
    72:72:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> e
    72:72:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):342 -> e
    73:73:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> e
    73:73:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> e
    73:73:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):342 -> e
    74:74:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> e
    74:74:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> e
    74:74:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):342 -> e
com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens -> com.android.tools.r8.internal.Hi:
    java.util.Map prototypeChangesPerMethod -> o
    com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> n
    com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums -> p
    boolean $assertionsDisabled -> q
    1:1:void <clinit>():34:34 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.utils.collections.BidirectionalOneToManyRepresentativeMap,java.util.Map,java.util.Map):46:50 -> <init>
    1:4:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):68:71 -> a
    5:9:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens.rewriteSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):95:99 -> a
    5:9:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):72 -> a
    10:10:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens.rewriteSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):98:98 -> a
    10:10:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):72 -> a
    11:16:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):76:81 -> a
    17:33:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):75:91 -> a
    34:37: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:111 -> a
    38:38:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder enumUnboxingLensBuilder(com.android.tools.r8.graph.AppView):117:117 -> a
    boolean hasCustomCodeRewritings() -> f
    boolean isEnumUnboxerLens() -> h
com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder -> com.android.tools.r8.internal.Gi:
    java.util.Map typeMap -> b
    boolean $assertionsDisabled -> f
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToManyRepresentativeMap newMethodSignatures -> d
    java.util.Map prototypeChangesPerMethod -> e
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newFieldSignatures -> c
    1:1:void <clinit>():120:120 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):132:132 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView):123:133 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder mapUnboxedEnums(java.util.Set):137:138 -> a
    3:3:void move(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):147:147 -> a
    4:9:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):160:165 -> a
    10:10:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    10:10:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    11:11:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):166 -> a
    12:21:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):166:175 -> a
    22:35:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):170:183 -> a
    36:49:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):181:194 -> a
    50:50:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.createForRewrittenTypes(com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):70:70 -> a
    50:50:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):194 -> a
    51:51:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):195:195 -> a
    52:52:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.withExtraUnusedNullParameters(int):257:257 -> a
    52:52:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):195 -> a
    53:53:void com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter.<init>():20:20 -> a
    53:53:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.withExtraUnusedNullParameters(int):257 -> a
    53:53:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):195 -> a
    54:55:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.withExtraUnusedNullParameters(int):258:259 -> a
    54:55:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):195 -> a
    56:56:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):196:196 -> a
    57:59:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):202:204 -> a
    60:63:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):203:206 -> a
    64:67:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):205:208 -> a
    68:71:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):207:210 -> a
    72:72:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):209:209 -> a
    73:79:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens build(com.android.tools.r8.graph.AppView):214:220 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter -> com.android.tools.r8.internal.Ii:
    com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnumsData -> e
    java.util.Map checkNotNullToCheckNotZeroMapping -> b
    com.android.tools.r8.graph.DexItemFactory factory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens enumUnboxingLens -> f
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses utilityClasses -> g
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():54:54 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens,com.android.tools.r8.ir.optimize.enums.EnumDataMap,com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses):69:76 -> <init>
    1:5:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):119:123 -> a
    6:7:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):89:90 -> a
    6:7:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):124 -> a
    8:9:int com.android.tools.r8.ir.code.IRCode.getNumberOfArguments():1086:1087 -> a
    8:9:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):92 -> a
    8:9:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):124 -> a
    10:18:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):93:101 -> a
    10:18:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):124 -> a
    19:19:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    19:19:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):102 -> a
    19:19:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):124 -> a
    20:21:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):103:104 -> a
    20:21:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):124 -> a
    22:22:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):594:594 -> a
    22:22:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    22:22:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):124 -> a
    23:23:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):106:106 -> a
    23:23:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):124 -> a
    24:31:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):125:132 -> a
    32:33:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):521:522 -> a
    32:33:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):133 -> a
    34:37:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):587:590 -> a
    34:37:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):522 -> a
    34:37:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):133 -> a
    38:38:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):594:594 -> a
    38:38:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):590 -> a
    38:38:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):522 -> a
    38:38:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):133 -> a
    39:41:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):523:525 -> a
    39:41:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):133 -> a
    42:46:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.insertConstZero(com.android.tools.r8.ir.code.IRCode):538:542 -> a
    42:46:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):527 -> a
    42:46:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):133 -> a
    47:47:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):529:529 -> a
    47:47:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):133 -> a
    48:68:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):134:154 -> a
    69:96:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):153:180 -> a
    97:97:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    97:97:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):182 -> a
    98:98:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):182:182 -> a
    99:107:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):181:189 -> a
    108:108:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):80:80 -> a
    108:108:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):514 -> a
    108:108:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):190 -> a
    109:112:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):514:517 -> a
    109:112:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):190 -> a
    113:113:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):516:516 -> a
    113:113:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):190 -> a
    114:115:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):192:193 -> a
    116:116:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    116:116:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):197 -> a
    117:117:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):80:80 -> a
    117:117:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):514 -> a
    117:117:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):198 -> a
    118:121:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):514:517 -> a
    118:121:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):198 -> a
    122:122:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):516:516 -> a
    122:122:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):198 -> a
    123:123:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):201:201 -> a
    124:124:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):484:484 -> a
    124:124:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):202 -> a
    125:125:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    125:125:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):485 -> a
    125:125:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):202 -> a
    126:126:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):485:485 -> a
    126:126:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):202 -> a
    127:127:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    127:127:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):187 -> a
    128:128:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):187:187 -> a
    129:129:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):186:186 -> a
    130:130:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    130:130:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):178 -> a
    131:131:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):178:178 -> a
    132:165:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):177:210 -> a
    166:166:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):80:80 -> a
    166:166:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):213 -> a
    167:169:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):213:215 -> a
    170:170:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    170:170:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):215 -> a
    171:171:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    171:171:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    172:172:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216:216 -> a
    173:173:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    173:173:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):217 -> a
    174:184:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):217:227 -> a
    185:185:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Instruction.clearOutValue():157:157 -> a
    185:185:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):228 -> a
    186:195:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):228:237 -> a
    196:196:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    196:196:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):242 -> a
    197:197:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):244:244 -> a
    198:206:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):356:364 -> a
    198:206:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    207:207:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    207:207:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):365 -> a
    207:207:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    208:208:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):365:365 -> a
    208:208:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    209:209:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    209:209:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):369 -> a
    209:209:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    210:211:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):369:370 -> a
    210:211:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    212:212:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):80:80 -> a
    212:212:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):373 -> a
    212:212:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    213:234:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):373:394 -> a
    213:234:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    235:235:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    235:235:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):395 -> a
    235:235:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    236:236:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):396:396 -> a
    236:236:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    237:237:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):484:484 -> a
    237:237:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):398 -> a
    237:237:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    238:238:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    238:238:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):485 -> a
    238:238:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):398 -> a
    238:238:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    239:239:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):485:485 -> a
    239:239:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):398 -> a
    239:239:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    240:241:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):400:401 -> a
    240:241:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    242:242:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    242:242:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):402 -> a
    242:242:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    243:243:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):403:403 -> a
    243:243:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    244:244:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    244:244:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):408 -> a
    244:244:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    245:245:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):408:408 -> a
    245:245:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    246:258:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):405:417 -> a
    246:258:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    259:259:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    259:259:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):418 -> a
    259:259:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    260:260:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):419:419 -> a
    260:260:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    261:261:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):80:80 -> a
    261:261:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):422 -> a
    261:261:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    262:265:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):422:425 -> a
    262:265:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    266:279:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):423:436 -> a
    266:279:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    280:280:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    280:280:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):437 -> a
    280:280:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    281:284:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):438:441 -> a
    281:284:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    285:285:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    285:285:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):447 -> a
    285:285:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    286:298:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):447:459 -> a
    286:298:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    299:299:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    299:299:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):459 -> a
    299:299:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    300:302:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):461:463 -> a
    300:302:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    303:303:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    303:303:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):466 -> a
    303:303:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    304:304:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    304:304:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):467 -> a
    304:304:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    305:316:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):467:478 -> a
    305:316:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):243 -> a
    317:317:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    317:317:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):252 -> a
    318:334:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253:269 -> a
    335:341:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):268:274 -> a
    342:342:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    342:342:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):274 -> a
    343:343:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    343:343:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):275 -> a
    344:344:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):275:275 -> a
    345:345:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    345:345:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):275 -> a
    346:348:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):275:277 -> a
    349:349:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    349:349:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):277 -> a
    350:354:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):277:281 -> a
    355:355:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):490:490 -> a
    355:355:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):287 -> a
    356:356:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    356:356:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):490 -> a
    356:356:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):287 -> a
    357:357:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    357:357:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):490 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    357:357:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):287 -> a
    358:369:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):490:501 -> a
    358:369:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):287 -> a
    370:370:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):499:499 -> a
    370:370:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):287 -> a
    371:374:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):288:291 -> a
    375:375:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    375:375:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):291 -> a
    376:377:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):292:293 -> a
    378:378:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    378:378:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):299 -> a
    379:383:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):300:304 -> a
    384:386:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):546:548 -> a
    384:386:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):304 -> a
    387:387:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    387:387:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):549 -> a
    387:387:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):304 -> a
    388:390:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):549:551 -> a
    388:390:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):304 -> a
    391:391:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):80:80 -> a
    391:391:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):551 -> a
    391:391:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):304 -> a
    392:392:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):551:551 -> a
    392:392:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):304 -> a
    393:393:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):307:307 -> a
    394:410:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):306:322 -> a
    411:424:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.code.ArrayAccess,java.util.Map):599:612 -> a
    411:424:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):323 -> a
    425:432:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):325:332 -> a
    433:440:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):567:574 -> a
    433:440:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):332 -> a
    441:441:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):572:572 -> a
    441:441:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):332 -> a
    442:442:boolean com.android.tools.r8.ir.code.Instruction.isNewUnboxedEnumInstance():0:0 -> a
    442:442:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):335 -> a
    443:444:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):336:337 -> a
    445:445:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.NewUnboxedEnumInstance.getType():59:59 -> a
    445:445:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):337 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    446:449:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):337:340 -> a
    450:450:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    450:450:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):339 -> a
    451:457:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):338:344 -> a
    458:464:void replaceEnumInvoke(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):556:562 -> a
    465:467:void replaceEnumInvoke(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):561:563 -> a
    468:469:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):579:580 -> a
    470:470:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    470:470:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):580 -> a
    471:471:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):580:580 -> a
    472:472:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    472:472:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):580 -> a
    473:476:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):587:590 -> a
    473:476:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):583 -> a
    477:477:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):594:594 -> a
    477:477:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):590 -> a
    477:477:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):583 -> a
    478:478:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):581:581 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer -> com.android.tools.r8.internal.Ki:
    com.android.tools.r8.ir.optimize.enums.EnumDataMap enumDataMap -> e
    com.android.tools.r8.graph.DexItemFactory factory -> d
    com.android.tools.r8.graph.AppView appView -> b
    java.util.Set unboxedEnums -> f
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses utilityClasses -> g
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder lensBuilder -> a
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.collections.ProgramMethodMap checkNotNullMethods -> c
    1:1:void <clinit>():72:72 -> <clinit>
    1:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.ir.optimize.enums.EnumDataMap,java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses):87:96 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple com.android.tools.r8.ir.optimize.info.OptimizationFeedback.getSimple():44:44 -> a
    1:1:void lambda$duplicateCheckNotNullMethods$5(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):216 -> a
    2:2:void lambda$duplicateCheckNotNullMethods$5(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):215:215 -> a
    3:3:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupTypeReferences$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):128:128 -> a
    4:67:com.android.tools.r8.com.google.common.collect.BiMap duplicateCheckNotNullMethods(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):150:213 -> a
    68:68:boolean lambda$duplicateCheckNotNullMethods$1(com.android.tools.r8.graph.ProgramMethod,java.util.Set):158:158 -> a
    69:70:boolean com.android.tools.r8.utils.SetUtils.containsAnyOf(java.util.Set,java.lang.Iterable):19:20 -> a
    69:70:boolean lambda$duplicateCheckNotNullMethods$1(com.android.tools.r8.graph.ProgramMethod,java.util.Set):158 -> a
    71:78:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):166:173 -> a
    79:79:com.android.tools.r8.graph.DexType[] com.android.tools.r8.graph.DexTypeList.getBacking():63:63 -> a
    79:79:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):173 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    80:80:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):174:174 -> a
    81:82:java.lang.Object[] com.android.tools.r8.utils.ImmutableArrayUtils.set(java.lang.Object[],int,java.lang.Object):10:11 -> a
    81:82:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):172 -> a
    83:83:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):172:172 -> a
    84:99:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):170:185 -> a
    100:125:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):179:204 -> a
    126:129:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):203:206 -> a
    130:133:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):189:192 -> a
    134:134:com.android.tools.r8.cf.CfVersion com.android.tools.r8.graph.DexEncodedMethod.getClassFileVersionOrElse(com.android.tools.r8.cf.CfVersion):814:814 -> a
    134:134:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):193 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    135:135:com.android.tools.r8.cf.CfVersion com.android.tools.r8.graph.DexEncodedMethod.getClassFileVersionOrElse(com.android.tools.r8.cf.CfVersion):814:814 -> a
    135:135:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):193 -> a
    136:146:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):190:200 -> a
    147:152:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):197:202 -> a
    153:153:com.android.tools.r8.graph.Code lambda$duplicateCheckNotNullMethods$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):196:196 -> a
    154:154:void lambda$fixupEnumClassInitializers$6(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):232:232 -> a
    155:163:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):238:246 -> a
    164:164:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.getLocalUtilityClass(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    164:164:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):246 -> a
    165:187:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):249:271 -> a
    188:188:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    188:188:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):271 -> a
    189:195:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):275:281 -> a
    196:196:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    196:196:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):281 -> a
    197:197:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    197:197:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):281 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    198:208:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):281:291 -> a
    209:209:com.android.tools.r8.ir.code.ConstClass$Builder com.android.tools.r8.ir.code.ConstClass.builder():42:42 -> a
    209:209:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):293 -> a
    210:212:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):294:296 -> a
    213:213: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):436:436 -> a
    213:213:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):296 -> a
    214:214:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654:1654 -> a
    214:214:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):295 -> a
    215:223:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):295:303 -> a
    224:229:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):302:307 -> a
    230:230:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":679,"2":680,"3":681}}
    679:679:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):307:307 -> a
    680:680:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    680:680:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):307 -> a
    681:681:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    681:681:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):307 -> a
    538:540:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):308:310 -> a
    541:541:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    541:541:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):310 -> a
    542:550:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):311:319 -> a
    551:551:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    551:551:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):319 -> a
    552:552:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    552:552:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    552:552:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):319 -> a
    553:560:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):320:327 -> a
    561:561:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    561:561:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):328 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    562:562:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    562:562:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):328 -> a
    563:563:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):329:329 -> a
    564:564:com.android.tools.r8.ir.code.InvokeDirect$Builder com.android.tools.r8.ir.code.InvokeDirect.builder():50:50 -> a
    564:564:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):334 -> a
    565:601:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):335:371 -> a
    602:611:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):368:377 -> a
    612:612:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    612:612:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):377 -> a
    613:627:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):377:391 -> a
    628:628:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):390:390 -> a
    629:629:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):389:389 -> a
    630:640:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):385:395 -> a
    641:641:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    641:641:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):395 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    642:647:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):396:401 -> a
    648:649:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):559:560 -> a
    648:649:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):402 -> a
    650:650:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119:119 -> a
    650:650:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560 -> a
    650:650:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):402 -> a
    651:651:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> a
    651:651:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119 -> a
    651:651:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560 -> a
    651:651:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):402 -> a
    652:652:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127:127 -> a
    652:652:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560 -> a
    652:652:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):402 -> a
    653:653:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> a
    653:653:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127 -> a
    653:653:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560 -> a
    653:653:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):402 -> a
    654:654:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561:561 -> a
    654:654:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):402 -> a
    655:661:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):403:409 -> a
    662:662:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    662:662:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):410 -> a
    663:668:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):411:416 -> a
    669:669:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    669:669:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):416 -> a
    670:670:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    670:670:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):417 -> a
    671:677:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):419:425 -> a
    678:678:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):424:424 -> a
    682:687:java.util.Collection createLocalUtilityFields(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,com.android.tools.r8.graph.PrunedItems$Builder):432:437 -> a
    688:688:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    688:688:java.util.Collection createLocalUtilityFields(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,com.android.tools.r8.graph.PrunedItems$Builder):437 -> a
    689:689:java.util.Collection createLocalUtilityFields(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,com.android.tools.r8.graph.PrunedItems$Builder):452:452 -> a
    690:690:boolean lambda$createLocalUtilityFields$7(java.util.Map,com.android.tools.r8.graph.DexField):448:448 -> a
    691:694:com.android.tools.r8.graph.DexEncodedField createLocalUtilityField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):460:463 -> a
    695:695:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    695:695:com.android.tools.r8.graph.DexEncodedField createLocalUtilityField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):464 -> a
    696:696:com.android.tools.r8.graph.DexEncodedField createLocalUtilityField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):464:464 -> a
    697:709:com.android.tools.r8.graph.DexEncodedField createLocalUtilityField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):461:473 -> a
    710:711:void lambda$createLocalUtilityField$10(com.android.tools.r8.graph.DexEncodedField$Builder):478:479 -> a
    712:713:void lambda$createLocalUtilityField$9(com.android.tools.r8.graph.FieldAccessFlags):481:482 -> a
    714:714:void lambda$createLocalUtilityMethods$11(java.util.Map,com.android.tools.r8.graph.DexEncodedMethod):496:496 -> a
    715:724:void lambda$createLocalUtilityMethods$13(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramMethod):500:509 -> a
    725:725:boolean lambda$createLocalUtilityMethods$12(java.util.Map,com.android.tools.r8.graph.DexMethod):507:507 -> a
    726:732:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):519:525 -> a
    733:733:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    733:733:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):525 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    734:734:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    734:734:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):525 -> a
    735:735:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):526:526 -> a
    736:736:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":764,"2":765,"3":766}}
    764:764:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):526:526 -> a
    765:765:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):526:526 -> a
    766:766:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):526:526 -> a
    737:737:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    737:737:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):527 -> a
    738:742:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):527:531 -> a
    743:744:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):644:645 -> a
    743:744:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):528 -> a
    745:747:com.android.tools.r8.graph.DexType[] com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupTypes(com.android.tools.r8.graph.DexType[]):662:664 -> a
    745:747:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):645 -> a
    745:747:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):528 -> a
    748:748:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):646:646 -> a
    748:748:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):528 -> a
    749:749:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):532:532 -> a
    750:760:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):526:536 -> a
    761:761:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder.move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean):151:151 -> a
    761:761:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):536 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    762:763:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):539:540 -> a
    767:778:void lambda$createLocalUtilityMethod$15(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):544:555 -> a
    779:783:void lambda$createLocalUtilityMethod$14(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.MethodAccessFlags):547:551 -> a
    784:785:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):559:560 -> a
    784:785:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):439 -> a
    786:786:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119:119 -> a
    786:786:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560 -> a
    786:786:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):439 -> a
    787:787:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> a
    787:787:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119 -> a
    787:787:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560 -> a
    787:787:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):439 -> a
    788:788:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127:127 -> a
    788:788:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560 -> a
    788:788:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):439 -> a
    789:789:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> a
    789:789:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127 -> a
    789:789:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560 -> a
    789:789:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):439 -> a
    790:790:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561:561 -> a
    790:790:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):439 -> a
    791:801:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):440:450 -> a
    802:802:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):565:565 -> a
    803:804:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):644:645 -> a
    803:804:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):566 -> a
    805:807:com.android.tools.r8.graph.DexType[] com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupTypes(com.android.tools.r8.graph.DexType[]):662:664 -> a
    805:807:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):645 -> a
    805:807:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):566 -> a
    808:808:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):646:646 -> a
    808:808:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):566 -> a
    809:824:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):567:582 -> a
    825:827:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):581:583 -> a
    828:830:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):586:588 -> a
    831:831:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.createMethodOptimizationInfoFixer():83:83 -> a
    831:831:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):588 -> a
    832:836:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):587:591 -> a
    837:837:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1436:1436 -> a
    837:837:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):590 -> a
    838:844:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):595:601 -> a
    845:855:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):599:609 -> a
    856:856:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):318:318 -> a
    856:856:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):607 -> a
    857:857:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    857:857:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):318 -> a
    857:857:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):607 -> a
    858:858:boolean lambda$ensureUniqueMethod$17(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):602:602 -> a
    859:864:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):619:624 -> a
    865:865:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    865:865:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):624 -> a
    866:877:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):625:636 -> a
    878:878:void lambda$fixupFields$18(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField$Builder):632:632 -> a
    879:879:void lambda$fixupFields$18(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField$Builder):631:631 -> a
    880:888:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):650:658 -> a
    1:6:void fixupEnumClassInitializers(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):225:230 -> b
    7:29:java.util.Collection createLocalUtilityMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,com.android.tools.r8.graph.PrunedItems$Builder):490:512 -> b
    1:9:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):101:109 -> c
    10:10:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap.isUnboxedEnum(com.android.tools.r8.graph.DexProgramClass):28:28 -> c
    10:10:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):109 -> c
    11:12:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):111:112 -> c
    13:13:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.getLocalUtilityClass(com.android.tools.r8.graph.DexProgramClass):46:46 -> c
    13:13:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):112 -> c
    14:26:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):114:126 -> c
    27:27:void com.android.tools.r8.graph.DexClass.setStaticFields(java.util.Collection):428:428 -> c
    27:27:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):126 -> c
    28:45:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):128:145 -> c
com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result -> com.android.tools.r8.internal.Ji:
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens lens -> b
    com.android.tools.r8.com.google.common.collect.BiMap checkNotNullToCheckNotZeroMapping -> a
    com.android.tools.r8.graph.PrunedItems prunedItems -> c
    1:4:void <init>(com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens,com.android.tools.r8.graph.PrunedItems):678:681 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.BiMap getCheckNotNullToCheckNotZeroMapping():685:685 -> a
    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens getLens():689:689 -> b
    1:1:com.android.tools.r8.graph.PrunedItems getPrunedItems():693:693 -> c
com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClass -> com.android.tools.r8.internal.Li:
    com.android.tools.r8.graph.DexProgramClass synthesizingContext -> a
    1:2:void <init>(com.android.tools.r8.graph.DexProgramClass):15:16 -> <init>
    void ensureMethods(com.android.tools.r8.graph.AppView) -> a
    com.android.tools.r8.graph.DexProgramClass getDefinition() -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getSynthesizingContext():24:24 -> b
com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses -> com.android.tools.r8.internal.Ni:
    com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass sharedUtilityClass -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMap localUtilityClasses -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():24:24 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$1):24:24 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass,com.android.tools.r8.com.google.common.collect.ImmutableMap):35:37 -> <init>
    1:1:void forEach(java.util.function.Consumer):41:41 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.getSharedUtilityClass():56:56 -> a
    2:2:void forEach(java.util.function.Consumer):42 -> a
    3:3:void forEach(java.util.function.Consumer):42:42 -> a
    4:5:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass getLocalUtilityClass(com.android.tools.r8.graph.DexType):50:51 -> a
    6:6:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass getSharedUtilityClass():56:56 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder -> com.android.tools.r8.internal.Mi:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder fieldAccessInfoCollectionModifierBuilder -> d
    com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass sharedUtilityClass -> c
    com.android.tools.r8.com.google.common.collect.ImmutableMap localUtilityClasses -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):72:72 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):70:73 -> <init>
    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):78:78 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumDataMap,java.util.Set,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder):66:66 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):79 -> a
    3:3:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):81:81 -> a
    4:8:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder.createLocalUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):120:124 -> a
    4:8:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):83 -> a
    9:9:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$Builder com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):44:44 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder.createLocalUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):125 -> a
    9:9:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):83 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder.createLocalUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):125:125 -> a
    10:10:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):83 -> a
    11:15:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder.createLocalUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):123:127 -> a
    11:15:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):83 -> a
    16:17:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):84:85 -> a
    18:33:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses build(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):91:106 -> a
    34:35:void lambda$build$0(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClass):102:103 -> a
    36:36:void lambda$build$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):110:110 -> a
    37:37:void lambda$build$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):108:108 -> a
    38:40:com.android.tools.r8.graph.DexType getUtilityClassType(com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.graph.DexItemFactory):132:134 -> a
    41:41:com.android.tools.r8.graph.DexType getUtilityClassType(com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.graph.DexItemFactory):133:133 -> a
    42:42:com.android.tools.r8.graph.DexType getUtilityClassType(com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.graph.DexItemFactory):132:132 -> a
com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer -> com.android.tools.r8.internal.Pi:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():50:50 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):55:57 -> <init>
    1:4:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):202:205 -> a
    5:26:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):411:432 -> a
    5:26:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):211 -> a
    27:27:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    27:27:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):433 -> a
    27:27:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):211 -> a
    28:40:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):436:448 -> a
    28:40:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):211 -> a
    41:46:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):305:310 -> a
    41:46:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    47:47:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    47:47:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):310 -> a
    47:47:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    48:52:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):310:314 -> a
    48:52:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    53:53:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):352:352 -> a
    53:53:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    53:53:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    54:54:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359:359 -> a
    54:54:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    54:54:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    54:54:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    55:55:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    55:55:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359 -> a
    55:55:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    55:55:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    55:55:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    56:62:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):360:366 -> a
    56:62:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    56:62:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    56:62:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    63:63:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    63:63:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366 -> a
    63:63:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    63:63:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    63:63:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    64:68:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366:370 -> a
    64:68:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    64:68:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    64:68:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    69:69:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):354:354 -> a
    69:69:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    69:69:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    70:71:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):319:320 -> a
    70:71:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    72:72:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1570:1570 -> a
    72:72:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):320 -> a
    72:72:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    73:78:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):321:326 -> a
    73:78:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    79:79:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63:63 -> a
    79:79:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):326 -> a
    79:79:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    80:80:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    80:80:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63 -> a
    80:80:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):326 -> a
    80:80:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    81:85:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):326:330 -> a
    81:85:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    86:86:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    86:86:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):330 -> a
    86:86:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    87:87:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):331:331 -> a
    87:87:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    88:100:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):325:337 -> a
    88:100:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    101:101:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):336:336 -> a
    101:101:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    102:108:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):221:227 -> a
    109:109: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
    109:109:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):227 -> a
    110:111:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):235:236 -> a
    112:114:int[] com.android.tools.r8.utils.ArrayUtils.fromPredicate(java.util.function.IntPredicate,int):138:140 -> a
    112:114:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):236 -> a
    115:123:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):248:256 -> a
    124:124:void com.android.tools.r8.utils.ArrayUtils.sumOfPredecessorsInclusive(int[]):147:147 -> a
    124:124:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):260 -> a
    125:127:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):261:263 -> a
    128:134:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):262:268 -> a
    135:135:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
    135:135:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
    135:135:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):268 -> a
    136:143:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):269:276 -> a
    144:144:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    144:144:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    144:144:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):279 -> a
    145:161:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):283:299 -> a
    162:162:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    162:162:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):299 -> a
    163:163:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):299:299 -> a
    164:165:boolean lambda$removeSwitchMaps$0(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.ir.code.IntSwitch,int):241:242 -> a
    166:166:void lambda$removeSwitchMaps$1(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):285:285 -> a
    1:7:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):62:68 -> b
    8:8:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    8:8:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):69 -> b
    9:40:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):70:101 -> b
    41:41:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> b
    41:41:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):101 -> b
    42:65:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):101:124 -> b
    66:66:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):352:352 -> b
    66:66:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    67:67:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359:359 -> b
    67:67:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    67:67:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    68:68:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> b
    68:68:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359 -> b
    68:68:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    68:68:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    69:75:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):360:366 -> b
    69:75:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    69:75:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    76:76:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> b
    76:76:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366 -> b
    76:76:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    76:76:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    77:81:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366:370 -> b
    77:81:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    77:81:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    82:82:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):354:354 -> b
    82:82:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    83:83:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):126:126 -> b
    84:84:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    84:84:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):126 -> b
    85:85:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132:132 -> b
    86:86:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):345:345 -> b
    86:86:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    87:87:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359:359 -> b
    87:87:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    87:87:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    88:88:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> b
    88:88:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359 -> b
    88:88:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    88:88:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    89:95:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):360:366 -> b
    89:95:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    89:95:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    96:96:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> b
    96:96:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366 -> b
    96:96:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    96:96:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    97:101:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366:370 -> b
    97:101:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    97:101:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    102:102:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):347:347 -> b
    102:102:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    103:105:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):138:140 -> b
    106:106:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    106:106:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):140 -> b
    107:113:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):141:147 -> b
    114:114:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    114:114:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):148 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    115:115:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    115:115:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):148 -> b
    116:134:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):153:171 -> b
    135:135:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    135:135:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):171 -> b
    136:140:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):172:176 -> b
    141:141:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
    141:141:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):176 -> b
    142:144:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):176:178 -> b
com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo -> com.android.tools.r8.internal.Oi:
    com.android.tools.r8.ir.code.Instruction ordinalInvoke -> b
    com.android.tools.r8.ir.code.Instruction arrayGet -> c
    com.android.tools.r8.ir.code.Instruction staticGet -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap indexMap -> e
    com.android.tools.r8.graph.DexType enumClass -> a
    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.ir.optimize.enums.EnumValueOptimizer$1):373:373 -> <init>
    2:7: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):386:391 -> <init>
com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass -> com.android.tools.r8.internal.mC:
    com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData data -> c
    com.android.tools.r8.graph.DexProgramClass localUtilityClass -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():27:27 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.DexProgramClass):37:39 -> <init>
    1:9:void ensureMethods(com.android.tools.r8.graph.AppView):49:57 -> a
    10:11:void lambda$ensureMethods$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData):51:52 -> a
    12:15:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):64:67 -> a
    16:16:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
    101:101:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):68:68 -> a
    102:102:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):68:68 -> a
    103:103:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):68:68 -> a
    86:86:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):70:70 -> a
    87:91:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):69:73 -> a
    92:99:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):72:79 -> a
    100:100:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):76:76 -> a
    104:104:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):81:81 -> a
    105:105:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass.getType():145:145 -> a
    105:105:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):82 -> a
    106:106:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):82:82 -> a
    107:107:void com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingInstanceFieldCfCodeProvider.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.DexField):73:73 -> a
    107:107:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):82 -> a
    108:108:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):83:83 -> a
    109:109:com.android.tools.r8.graph.Code lambda$ensureStringValueOfMethod$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexMethod):95:95 -> a
    110:110:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass.getType():145:145 -> a
    110:110:com.android.tools.r8.graph.Code lambda$ensureStringValueOfMethod$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexMethod):96 -> a
    111:112:com.android.tools.r8.graph.Code lambda$ensureStringValueOfMethod$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexMethod):96:97 -> a
    113:113:com.android.tools.r8.graph.Code lambda$ensureValueOfMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):107:107 -> a
    114:114:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass.getType():145:145 -> a
    114:114:com.android.tools.r8.graph.Code lambda$ensureValueOfMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):109 -> a
    115:118:com.android.tools.r8.graph.Code lambda$ensureValueOfMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):110:113 -> a
    119:126:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):122:129 -> a
    127:127:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):123:123 -> a
    128:128:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):585:585 -> a
    128:128:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):123 -> a
    129:129:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):577:577 -> a
    129:129:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):123 -> a
    130:134:void lambda$internalEnsureMethod$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator,com.android.tools.r8.synthesis.SyntheticMethodBuilder):132:136 -> a
    135:135:com.android.tools.r8.graph.DexProgramClass getDefinition():141:141 -> a
    1:7:com.android.tools.r8.graph.ProgramMethod ensureStringValueOfMethod(com.android.tools.r8.graph.AppView):87:93 -> b
    8:8:com.android.tools.r8.graph.ProgramMethod ensureStringValueOfMethod(com.android.tools.r8.graph.AppView):90:90 -> b
    1:5:com.android.tools.r8.graph.ProgramMethod ensureValueOfMethod(com.android.tools.r8.graph.AppView):101:105 -> c
    6:6:com.android.tools.r8.graph.ProgramMethod ensureValueOfMethod(com.android.tools.r8.graph.AppView):102:102 -> c
    7:7:com.android.tools.r8.graph.DexType getType():145:145 -> c
com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$Builder -> com.android.tools.r8.internal.lC:
    com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData data -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexProgramClass enumToUnbox -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():148:148 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$1):148:148 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):156:162 -> <init>
    9:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):161:164 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass build():168:169 -> a
    3:3:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):180:180 -> a
    1:9:com.android.tools.r8.graph.DexProgramClass createClass():173:181 -> b
com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass -> com.android.tools.r8.internal.gU:
    com.android.tools.r8.graph.DexProgramClass sharedUtilityClass -> b
    com.android.tools.r8.graph.ProgramMethod valuesMethod -> c
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):56:58 -> <init>
    1:5:void ensureMethods(com.android.tools.r8.graph.AppView):72:76 -> a
    6:6:com.android.tools.r8.graph.Code lambda$ensureCheckNotZeroMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):85:85 -> a
    7:14:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):138:145 -> a
    15:15:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):139:139 -> a
    16:16:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):585:585 -> a
    16:16:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):139 -> a
    17:17:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):577:577 -> a
    17:17:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):139 -> a
    18:22:void lambda$internalEnsureMethod$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator,com.android.tools.r8.synthesis.SyntheticMethodBuilder):148:152 -> a
    23:23:com.android.tools.r8.graph.DexProgramClass getDefinition():157:157 -> a
    1:5:com.android.tools.r8.graph.ProgramMethod ensureCheckNotZeroMethod(com.android.tools.r8.graph.AppView):80:84 -> b
    6:6:com.android.tools.r8.graph.ProgramMethod ensureCheckNotZeroMethod(com.android.tools.r8.graph.AppView):81:81 -> b
    7:7:com.android.tools.r8.graph.Code lambda$ensureCheckNotZeroWithMessageMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):96:96 -> b
    1:5:com.android.tools.r8.graph.ProgramMethod ensureCheckNotZeroWithMessageMethod(com.android.tools.r8.graph.AppView):89:93 -> c
    6:6:com.android.tools.r8.graph.ProgramMethod ensureCheckNotZeroWithMessageMethod(com.android.tools.r8.graph.AppView):90:90 -> c
    7:7:com.android.tools.r8.graph.Code lambda$ensureCompareToMethod$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):106:106 -> c
    8:8:com.android.tools.r8.graph.DexType getType():165:165 -> c
    1:5:com.android.tools.r8.graph.ProgramMethod ensureCompareToMethod(com.android.tools.r8.graph.AppView):100:104 -> d
    6:6:com.android.tools.r8.graph.ProgramMethod ensureCompareToMethod(com.android.tools.r8.graph.AppView):101:101 -> d
    7:7:com.android.tools.r8.graph.Code lambda$ensureEqualsMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):116:116 -> d
    8:8:com.android.tools.r8.graph.ProgramMethod getValuesMethod():161:161 -> d
    1:5:com.android.tools.r8.graph.ProgramMethod ensureEqualsMethod(com.android.tools.r8.graph.AppView):110:114 -> e
    6:6:com.android.tools.r8.graph.ProgramMethod ensureEqualsMethod(com.android.tools.r8.graph.AppView):111:111 -> e
    7:7:com.android.tools.r8.graph.Code lambda$ensureOrdinalMethod$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):125:125 -> e
    1:5:com.android.tools.r8.graph.ProgramMethod ensureOrdinalMethod(com.android.tools.r8.graph.AppView):120:124 -> f
    6:6:com.android.tools.r8.graph.ProgramMethod ensureOrdinalMethod(com.android.tools.r8.graph.AppView):121:121 -> f
com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder -> com.android.tools.r8.internal.fU:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder fieldAccessInfoCollectionModifierBuilder -> d
    com.android.tools.r8.ir.optimize.enums.EnumDataMap enumDataMap -> c
    boolean $assertionsDisabled -> g
    com.android.tools.r8.graph.DexProgramClass synthesizingContext -> e
    com.android.tools.r8.graph.DexEncodedMethod valuesMethod -> f
    1:1:void <clinit>():168:168 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumDataMap,java.util.Set,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder,com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$1):168:168 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumDataMap,java.util.Set,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder):183:189 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass build():193:194 -> a
    3:3:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):209:209 -> a
    4:6:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesField(com.android.tools.r8.graph.DexType):227:229 -> a
    4:6:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
    7:7:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesField(com.android.tools.r8.graph.DexType):228:228 -> a
    7:7:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
    8:8:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPublicStaticFinalSynthetic():62:62 -> a
    8:8:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesField(com.android.tools.r8.graph.DexType):231 -> a
    8:8:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
    9:14:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesField(com.android.tools.r8.graph.DexType):231:236 -> a
    9:14:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
    15:15:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):244:244 -> a
    15:15:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    16:16:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    16:16:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):245 -> a
    16:16:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    17:17:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2433:2433 -> a
    17:17:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):245 -> a
    17:17:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    18:18:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):245:245 -> a
    18:18:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    19:19:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.graph.MethodAccessFlags.createForClassInitializer():79:79 -> a
    19:19:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):246 -> a
    19:19:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    20:20:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):246:246 -> a
    20:20:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    21:38:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializerCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):256:273 -> a
    21:38:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):247 -> a
    21:38:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    39:43:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):247:251 -> a
    39:43:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    44:48:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):279:283 -> a
    44:48:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    49:49:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):281:281 -> a
    49:49:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    50:56:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):280:286 -> a
    50:56:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    57:67:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethodCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):302:312 -> a
    57:67:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):287 -> a
    57:67:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    68:68:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethodCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):306:306 -> a
    68:68:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):287 -> a
    68:68:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    69:74:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):287:292 -> a
    69:74:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    75:75:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):213:213 -> a
    76:81:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):212:217 -> a
    82:85:com.android.tools.r8.graph.DexProgramClass findDeterministicContextType(java.util.Set):326:329 -> a
    1:19:com.android.tools.r8.graph.DexProgramClass createClass():201:219 -> b
com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification -> com.android.tools.r8.internal.y9:
    int argumentIndex -> a
    1:2:void <init>(int):16:17 -> <init>
    com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification asCheckNotNullClassification() -> a
    1:2:boolean isUseEligibleForUnboxing(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):25:26 -> a
    3:3:int com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification.getArgumentIndex():21:21 -> a
    3:3:boolean isUseEligibleForUnboxing(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):27 -> a
    4:4:boolean isUseEligibleForUnboxing(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):31:31 -> a
    5:5:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):37:37 -> a
    6:6:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
    6:6:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):48 -> a
    7:9:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):51:53 -> a
    1:1:int getArgumentIndex():21:21 -> c
com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification -> com.android.tools.r8.internal.xi:
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification asCheckNotNullClassification() -> a
    com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:1:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification unknown():12:12 -> b
com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis -> com.android.tools.r8.internal.yi:
    1:1:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):38:38 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):40 -> a
    3:20:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):43:60 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    21:21:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):60 -> a
    22:26:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):61:65 -> a
    27:28:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis.onlyHasCheckNotNullUsers(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.conversion.MethodProcessor):81:82 -> a
    27:28:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):70 -> a
    29:29:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    29:29:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis.onlyHasCheckNotNullUsers(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.conversion.MethodProcessor):85 -> a
    29:29:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):70 -> a
    30:41:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis.onlyHasCheckNotNullUsers(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.conversion.MethodProcessor):87:98 -> a
    30:41:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):70 -> a
    42:68:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis.onlyHasCheckNotNullUsers(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.conversion.MethodProcessor):90:116 -> a
    42:68:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):70 -> a
    69:69:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):71:71 -> a
    70:70:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
    70:70:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):75 -> a
    71:71:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
    71:71:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(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):45 -> a
com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification -> com.android.tools.r8.internal.q00:
    com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:1:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification getInstance():17:17 -> c
com.android.tools.r8.ir.optimize.enums.code.CheckNotZeroCode -> com.android.tools.r8.internal.z9:
    com.android.tools.r8.graph.ProgramMethod checkNotNullMethod -> d
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):39:40 -> <init>
    1:2: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):46:47 -> a
    3:3:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    3:3: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):47 -> a
    4:7: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):53:56 -> a
    8:8:void com.android.tools.r8.utils.IteratorUtils.skip(com.android.tools.r8.ir.code.InstructionIterator,int):160:160 -> a
    8:8: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):50 -> a
    9:11: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):59:61 -> a
    12:12:com.android.tools.r8.ir.code.Argument$Builder com.android.tools.r8.ir.code.Argument.builder():36:36 -> a
    12:12: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):61 -> a
    13:13: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):62:62 -> a
    14:14:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654:1654 -> a
    14:14: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):62 -> a
    15:17: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):62:64 -> a
    18:18:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    18:18: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):60 -> a
    19:21: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):67:69 -> a
    22:22:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    22:22: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):69 -> a
    23:25: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):70:72 -> a
    26:26:boolean com.android.tools.r8.ir.code.Return.hasReturnValue():55:55 -> a
    26:26: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):72 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27: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):73:73 -> a
    28:28:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    28:28: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):73 -> a
    29:30: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):78:79 -> a
    31:31:java.util.LinkedList com.android.tools.r8.ir.code.IRCode.getBlocks():1350:1350 -> a
    31:31: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):81 -> a
    32:36: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):81:85 -> a
    37:37:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):110:110 -> a
    38:38:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):115:115 -> a
    39:39:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):125:125 -> a
    1:1:boolean computeEquals(java.lang.Object):90:90 -> h
    1:1:int computeHashCode():95:95 -> m0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():100:100 -> q0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":122,"2":123,"3":124}}
    122:122:java.lang.String toString():120:120 -> toString
    123:123:java.lang.String toString():120:120 -> toString
    124:124:java.lang.String toString():120:120 -> toString
    121:121:java.lang.String toString():120:120 -> toString
com.android.tools.r8.ir.optimize.enums.eligibility.Reason -> com.android.tools.r8.internal.IP:
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE_ON_ARRAY -> p
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE_CUSTOM -> o
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_FIELD_PUT -> r
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason IMPLICIT_UP_CAST_IN_RETURN -> q
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason TYPE_MISMATCH_FIELD_PUT -> t
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_ARRAY_PUT -> s
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason ENUM_METHOD_CALLED_WITH_NULL_RECEIVER -> v
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_IF_TYPES -> u
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason UNRESOLVABLE_FIELD -> h
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason DEFAULT_METHOD_INVOKE -> g
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_PHI -> j
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason CONST_CLASS -> i
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_CLINIT -> l
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INIT -> k
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE_CLASSPATH -> n
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE -> m
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason ANNOTATION -> b
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason ELIGIBLE -> a
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason DOWN_CAST -> d
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason PINNED -> c
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason MANY_INSTANCE_FIELDS -> f
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason SUBTYPES -> e
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason OTHER_UNSUPPORTED_INSTRUCTION -> w
    1:28:void <clinit>():12:39 -> <clinit>
    1:1:void <init>():11:11 -> <init>
com.android.tools.r8.ir.optimize.enums.eligibility.Reason$IllegalInvokeWithImpreciseParameterTypeReason -> com.android.tools.r8.internal.FP:
    com.android.tools.r8.graph.DexMethod invokedMethod -> x
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):70:71 -> <init>
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":83,"2":84,"3":85}}
    83:83:java.lang.String toString():81:81 -> toString
    84:84:java.lang.String toString():81:81 -> toString
    85:85:java.lang.String toString():81:81 -> toString
    82:82:java.lang.String toString():81:81 -> toString
com.android.tools.r8.ir.optimize.enums.eligibility.Reason$StringReason -> com.android.tools.r8.internal.GP:
    java.lang.String message -> x
    1:2:void <init>(java.lang.String):51:52 -> <init>
    1:1:java.lang.String toString():62:62 -> toString
com.android.tools.r8.ir.optimize.enums.eligibility.Reason$UnsupportedLibraryInvokeReason -> com.android.tools.r8.internal.HP:
    com.android.tools.r8.graph.DexMethod invokedMethod -> x
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):207:208 -> <init>
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":220,"2":221,"3":222}}
    220:220:java.lang.String toString():218:218 -> toString
    221:221:java.lang.String toString():218:218 -> toString
    222:222:java.lang.String toString():218:218 -> toString
    219:219:java.lang.String toString():218:218 -> toString
com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo -> com.android.tools.r8.internal.u6:
    1:1:void <init>():11:11 -> <init>
    com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo asConcreteCallSiteOptimizationInfo() -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractArgumentValue(int):32:32 -> a
    1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo top():14:14 -> b
    2:2:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType(int):27:27 -> b
com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo -> com.android.tools.r8.internal.Hc:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap constants -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap dynamicTypes -> b
    int size -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():27:27 -> <clinit>
    1:7:void <init>(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):42:48 -> <init>
    com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo asConcreteCallSiteOptimizationInfo() -> a
    1:15:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):63:77 -> a
    16:19:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):76:79 -> a
    20:20:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> a
    20:20:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):81 -> a
    21:26:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):84:89 -> a
    27:27:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    27:27:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):91 -> a
    28:29:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):92:93 -> a
    30:30:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    30:30:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):93 -> a
    31:43:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):93:105 -> a
    44:44:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):55:55 -> a
    44:44:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    45:45:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> a
    45:45:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):56 -> a
    45:45:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    46:46:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):57:57 -> a
    46:46:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    47:47:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.utils.MapUtils.canonicalizeEmptyMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):21:21 -> a
    47:47:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):58 -> a
    47:47:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    48:48:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):58:58 -> a
    48:48:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    49:49:boolean lambda$fixupAfterParametersChanged$0(java.lang.Integer):77:77 -> a
    50:51:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractArgumentValue(int):118:119 -> a
    52:53:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):130:131 -> a
    54:54:void com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.<init>(int):36:36 -> a
    54:54:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):131 -> a
    55:57:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):133:135 -> a
    58:58:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    58:58:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):135 -> a
    59:70:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):139:150 -> a
    71:71:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    71:71:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):151 -> a
    72:72:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    72:72:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    72:72:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    72:72:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):151 -> a
    73:73:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    73:73:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    73:73:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):151 -> a
    74:78:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):152:156 -> a
    79:84:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):155:160 -> a
    85:97:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):159:171 -> a
    98:98:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> a
    98:98:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):177 -> a
    1:2:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType(int):112:113 -> b
    1:5:boolean equals(java.lang.Object):192:196 -> equals
    1:1:int hashCode():201:201 -> hashCode
    1:2:java.lang.String toString():206:207 -> toString
com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo -> com.android.tools.r8.internal.Je:
    com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo INSTANCE -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo.toMutableOptimizationInfo():53:53 -> a
    1:1:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo():11 -> a
    boolean cannotBeKept() -> e
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue():28:28 -> f
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():38:38 -> g
    int getReadBits() -> h
    boolean isDead() -> i
    boolean valueHasBeenPropagated() -> j
    1:1:com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo getInstance():18:18 -> k
com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo -> com.android.tools.r8.internal.Qe:
    com.android.tools.r8.ir.analysis.value.AbstractValue UNKNOWN_ABSTRACT_RETURN_VALUE -> e
    java.util.Set UNKNOWN_INITIALIZED_CLASSES_ON_NORMAL_EXIT -> c
    com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo DEFAULT_INSTANCE -> b
    boolean UNKNOWN_MAY_HAVE_SIDE_EFFECTS -> f
    int UNKNOWN_RETURNED_ARGUMENT -> d
    boolean $assertionsDisabled -> g
    1:12:void <clinit>():26:37 -> <clinit>
    1:1:void <init>():42:42 -> <init>
    1:1:boolean mayHaveSideEffects():176:176 -> A
    boolean neverReturnsNormally() -> B
    boolean returnValueHasBeenPropagated() -> C
    boolean returnValueOnlyDependsOnArguments() -> D
    boolean returnsArgument() -> E
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo toMutableOptimizationInfo():196:196 -> F
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo(com.android.tools.r8.ir.code.InvokeDirect):90:90 -> a
    2:2:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):181:181 -> a
    3:3:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo.toMutableOptimizationInfo():196:196 -> a
    3:3:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo():26 -> a
    boolean cannotBeKept() -> e
    boolean classInitializerMayBePostponed() -> f
    boolean forceInline() -> g
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():136:136 -> h
    1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> i
    1:1:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo getArgumentInfos():60 -> i
    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo() -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint getClassInlinerMethodConstraint():65:65 -> k
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitiveInstanceInitializerInfo():85:85 -> l
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():75:75 -> m
    1:1:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification getEnumUnboxerMethodClassification():70:70 -> n
    1:1:java.util.Set getInitializedClassesOnNormalExit():80:80 -> o
    java.util.BitSet getNonNullParamOnNormalExits() -> p
    java.util.BitSet getNonNullParamOrThrow() -> q
    1:3:int getReturnedArgument():120:120 -> r
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint getSimpleInliningConstraint():146:146 -> s
    java.util.BitSet getUnusedArguments() -> t
    boolean hasBeenInlinedIntoSingleCallSite() -> u
    boolean isInitializerEnablingJavaVmAssertions() -> w
    boolean isMultiCallerMethod() -> x
    boolean isReachabilitySensitive() -> y
    1:1:com.android.tools.r8.utils.OptionalBool isReturnValueUsed():166:166 -> z
com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo -> com.android.tools.r8.internal.Qj:
    1:1:void <init>():10:10 -> <init>
    boolean cannotBeKept() -> e
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue() -> f
    com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType() -> g
    int getReadBits() -> h
    boolean isDead() -> i
    boolean valueHasBeenPropagated() -> j
com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback -> com.android.tools.r8.internal.tB:
    com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback INSTANCE -> b
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    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 -> c
com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo -> com.android.tools.r8.internal.HD:
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo() -> a
    com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo asMutableFieldOptimizationInfo() -> b
    com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo asMutableMethodOptimizationInfo() -> c
    boolean isMutableOptimizationInfo() -> d
com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo -> com.android.tools.r8.internal.xE:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():22:22 -> <init>
    boolean mayHaveSideEffects() -> A
    boolean neverReturnsNormally() -> B
    boolean returnValueHasBeenPropagated() -> C
    boolean returnValueOnlyDependsOnArguments() -> D
    boolean returnsArgument() -> E
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo(com.android.tools.r8.ir.code.InvokeDirect) -> a
    boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions) -> a
    boolean cannotBeKept() -> e
    boolean classInitializerMayBePostponed() -> f
    boolean forceInline() -> g
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue() -> h
    com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo getArgumentInfos() -> i
    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo() -> j
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint getClassInlinerMethodConstraint() -> k
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitiveInstanceInitializerInfo() -> l
    com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType() -> m
    com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification getEnumUnboxerMethodClassification() -> n
    java.util.Set getInitializedClassesOnNormalExit() -> o
    java.util.BitSet getNonNullParamOnNormalExits() -> p
    java.util.BitSet getNonNullParamOrThrow() -> q
    int getReturnedArgument() -> r
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint getSimpleInliningConstraint() -> s
    java.util.BitSet getUnusedArguments() -> t
    boolean hasBeenInlinedIntoSingleCallSite() -> u
    1:2:boolean hasUnusedArguments():82:83 -> v
    boolean isInitializerEnablingJavaVmAssertions() -> w
    boolean isMultiCallerMethod() -> x
    boolean isReachabilitySensitive() -> y
    com.android.tools.r8.utils.OptionalBool isReturnValueUsed() -> z
com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector -> com.android.tools.r8.internal.zE:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization checkCastAndInstanceOfMethodSpecialization -> b
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():113:113 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):122:129 -> <init>
    1:1:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):140:140 -> a
    2:4:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):163:165 -> a
    2:4:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):141 -> a
    5:5:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(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):170:170 -> a
    5:5:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):142 -> a
    6:45:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):177:216 -> a
    6:45:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(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):171 -> a
    6:45:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):142 -> a
    46:46:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):215:215 -> a
    46:46:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(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):171 -> a
    46:46:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):142 -> a
    47:47:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(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):172:172 -> a
    47:47:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):142 -> a
    48:48:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):143:143 -> a
    49:53:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeClassInlinerMethodConstraint(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):746:750 -> a
    49:53:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):144 -> a
    54:54:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):759:759 -> a
    54:54:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    55:59:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):769:773 -> a
    55:59:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    55:59:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    60:61:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):785:786 -> a
    60:61:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):773 -> a
    60:61:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    60:61:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    62:62:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    62:62:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):786 -> a
    62:62:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):773 -> a
    62:62:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    62:62:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    63:64:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):787:788 -> a
    63:64:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):773 -> a
    63:64:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    63:64:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    65:65:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    65:65:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):789 -> a
    65:65:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):773 -> a
    65:65:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    65:65:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    66:68:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):789:791 -> a
    66:68:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):773 -> a
    66:68:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    66:68:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    69:69:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):790:790 -> a
    69:69:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):773 -> a
    69:69:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    69:69:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    70:70:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isUnknownClassification():0:0 -> a
    70:70:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):793 -> a
    70:70:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):773 -> a
    70:70:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    70:70:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    71:71:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):793:793 -> a
    71:71:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):773 -> a
    71:71:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    71:71:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    72:74:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):776:778 -> a
    72:74:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):760 -> a
    72:74:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    75:75:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(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):761:761 -> a
    75:75:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    76:77:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeSimpleInliningConstraint(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):800:801 -> a
    76:77:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):147 -> a
    78:80:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):809:809 -> a
    78:80:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeSimpleInliningConstraint(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):802 -> a
    78:80:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):147 -> a
    81:81:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeSimpleInliningConstraint(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):803:803 -> a
    81:81:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):147 -> a
    82:82:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):819:819 -> a
    82:82:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    83:94:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):832:843 -> a
    83:94:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    83:94:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    95:97:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):842:844 -> a
    95:97:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    95:97:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    98:98:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.setDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):42:42 -> a
    98:98:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):844 -> a
    98:98:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    98:98:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    99:100:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):848:849 -> a
    99:100:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    99:100:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    101:101:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.setDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):42:42 -> a
    101:101:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):849 -> a
    101:101:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    101:101:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    102:102:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):855:855 -> a
    102:102:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    102:102:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    103:103:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    103:103:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):855 -> a
    103:103:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    103:103:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    104:104:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    104:104:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    104:104:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    104:104:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):855 -> a
    104:104:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    104:104:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    105:105:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    105:105:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    105:105:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):855 -> a
    105:105:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    105:105:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    106:108:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):857:859 -> a
    106:108:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    106:108:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    109:109:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.setDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):42:42 -> a
    109:109:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):859 -> a
    109:109:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    109:109:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    110:110:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):821:821 -> a
    110:110:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    111:111:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):149:149 -> a
    112:112:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):865:865 -> a
    112:112:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):150 -> a
    113:119:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):872:878 -> a
    113:119:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):866 -> a
    113:119:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):150 -> a
    120:120:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):867:867 -> a
    120:120:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):150 -> a
    121:121:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):228:228 -> a
    121:121:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    122:134:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):238:250 -> a
    122:134:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    122:134:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    135:135: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):64:64 -> a
    135:135:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):255 -> a
    135:135:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    135:135:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    136:349:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):278:491 -> a
    136:349:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    136:349:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    136:349:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    350:351:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):470:471 -> a
    350:351:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    350:351:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    350:351:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    352:352:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    352:352:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):471 -> a
    352:352:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    352:352:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    352:352:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    353:353:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    353:353:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):471 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    353:353:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    353:353:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    353:353:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    354:355:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):474:475 -> a
    354:355:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    354:355:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    354:355:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    356:357:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):438:439 -> a
    356:357:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    356:357:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    356:357:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    358:358:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    358:358:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):439 -> a
    358:358:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    358:358:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    358:358:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    359:359:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    359:359:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):439 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    359:359:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    359:359:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    359:359:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    360:381:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):440:461 -> a
    360:381:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    360:381:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    360:381:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    382:384:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):386:388 -> a
    382:384:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    382:384:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    382:384:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    385:385:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    385:385:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):388 -> a
    385:385:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    385:385:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    385:385:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    386:402:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):389:405 -> a
    386:402:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    386:402:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    386:402:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    403:407:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):404:408 -> a
    403:407:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    403:407:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    403:407:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    408:408:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    408:408:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):408 -> a
    408:408:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    408:408:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    408:408:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    409:409:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    409:409:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):408 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    409:409:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    409:409:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    409:409:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    410:422:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):409:421 -> a
    410:422:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    410:422:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    410:422:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    423:450:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):401:428 -> a
    423:450:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    423:450:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    423:450:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    451:458:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):360:367 -> a
    451:458:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    451:458:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    451:458:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    459:459:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    459:459:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):367 -> a
    459:459:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    459:459:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    459:459:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    460:460:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    460:460:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):367 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    460:460:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    460:460:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    460:460:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    461:465:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):368:372 -> a
    461:465:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    461:465:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    461:465:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    466:466:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    466:466:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):372 -> a
    466:466:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    466:466:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    466:466:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    467:467:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    467:467:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):372 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    467:467:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    467:467:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    467:467:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    468:472:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):375:379 -> a
    468:472:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    468:472:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    468:472:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    473:481:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):341:349 -> a
    473:481:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    473:481:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    473:481:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    482:482:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    482:482:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):350 -> a
    482:482:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    482:482:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    482:482:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    483:483:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):352:352 -> a
    483:483:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    483:483:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    483:483:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    484:661:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):305:482 -> a
    484:661:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    484:661:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    484:661:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    662:841:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):333:512 -> a
    662:841:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):256 -> a
    662:841:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    662:841:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    842:842:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):258:258 -> a
    842:842:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    842:842:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    843:843:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):257:257 -> a
    843:843:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):229 -> a
    843:843:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    844:844:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):230:230 -> a
    844:844:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    845:847:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):885:887 -> a
    845:847:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):154 -> a
    848:848:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):977:977 -> a
    848:848:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):155 -> a
    849:855:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):984:990 -> a
    849:855:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):978 -> a
    849:855:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):155 -> a
    856:856:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):979:979 -> a
    856:856:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):155 -> a
    857:857:java.util.BitSet com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):996:996 -> a
    857:857:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):156 -> a
    858:880:java.util.BitSet com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1005:1027 -> a
    858:880:java.util.BitSet com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):997 -> a
    858:880:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):156 -> a
    881:881:java.util.BitSet com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):998:998 -> a
    881:881:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):156 -> a
    882:882:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,java.util.BitSet,com.android.tools.r8.utils.Timing):1035:1035 -> a
    882:882:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):157 -> a
    883:902:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,java.util.BitSet):1042:1061 -> a
    883:902:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,java.util.BitSet,com.android.tools.r8.utils.Timing):1036 -> a
    883:902:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):157 -> a
    903:903:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,java.util.BitSet,com.android.tools.r8.utils.Timing):1037:1037 -> a
    903:903:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):157 -> a
    904:904:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeUnusedArguments(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):1176:1176 -> a
    904:904:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):158 -> a
    905:914:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1183:1192 -> a
    905:914:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeUnusedArguments(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):1177 -> a
    905:914:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):158 -> a
    915:915:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeUnusedArguments(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):1178:1178 -> a
    915:915:void collectMethodOptimizationInfo(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.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):158 -> a
    916:916:boolean couldBeReceiverValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.AliasedValueConfiguration):517:517 -> a
    917:917:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    917:917:boolean couldBeReceiverValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.AliasedValueConfiguration):521 -> a
    918:918:boolean checksNullBeforeSideEffect(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):604:604 -> a
    919:977:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):535:593 -> a
    919:977:boolean checksNullBeforeSideEffect(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):604 -> a
    978:990:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):581:593 -> a
    978:990:boolean checksNullBeforeSideEffect(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):604 -> a
    991:994:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):607:610 -> a
    995:997:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):717:719 -> a
    995:997:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):610 -> a
    998:998:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):611:611 -> a
    999:999:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    999:999:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):613 -> a
    1000:1001:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):614:615 -> a
    1002:1009:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):682:689 -> a
    1002:1009:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):615 -> a
    1010:1010:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    1010:1010:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):689 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1010:1010:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):615 -> a
    1011:1013:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):690:692 -> a
    1011:1013:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):615 -> a
    1014:1014:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    1014:1014:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):694 -> a
    1014:1014:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):615 -> a
    1015:1015:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):695:695 -> a
    1015:1015:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):615 -> a
    1016:1018:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):616:618 -> a
    1019:1026:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinThrowParameterIsNullException(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic):703:710 -> a
    1019:1026:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):618 -> a
    1027:1027:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    1027:1027:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinThrowParameterIsNullException(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic):710 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1027:1027:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):618 -> a
    1028:1030:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinThrowParameterIsNullException(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic):711:713 -> a
    1028:1030:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):618 -> a
    1031:1032:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):621:622 -> a
    1033:1035:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):717:719 -> a
    1033:1035:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):622 -> a
    1036:1044:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):623:631 -> a
    1045:1052:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isInstantiationOfNullPointerException(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.graph.DexItemFactory):728:735 -> a
    1045:1052:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):631 -> a
    1053:1064:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):632:643 -> a
    1065:1065:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    1065:1065:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):646 -> a
    1066:1072:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(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):646:652 -> a
    1073:1096:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):893:916 -> a
    1097:1097:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):915:915 -> a
    1098:1098:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    1098:1098:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):925 -> a
    1099:1099:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):928:928 -> a
    1100:1111:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.hasNonTrivialFinalizeMethod(com.android.tools.r8.graph.DexProgramClass):961:972 -> a
    1100:1111:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):928 -> a
    1112:1131:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):936:955 -> a
    1132:1132:boolean lambda$computeMayHaveSideEffects$1(com.android.tools.r8.graph.DexProgramClass):918:918 -> a
    1133:1141:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1067:1075 -> a
    1142:1142:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    1142:1142:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1076 -> a
    1143:1152:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1076:1085 -> a
    1153:1184:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1080:1111 -> a
    1185:1230:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.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):1125:1170 -> a
    1185:1230:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1112 -> a
    1231:1231:boolean lambda$isNonNullOnNormalExit$3(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):1083:1083 -> a
    boolean lambda$computeMayHaveSideEffects$2(com.android.tools.r8.graph.DexProgramClass) -> b
com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect -> com.android.tools.r8.internal.yE:
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect NO_EFFECT -> e
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect OTHER_EFFECT -> d
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect CONDITIONAL_EFFECT -> c
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect DESIRED_EFFECT -> b
    1:4:void <clinit>():671:674 -> <clinit>
    1:1:void <init>(java.lang.String,int):670:670 -> <init>
com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo -> com.android.tools.r8.internal.bG:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> d
    int flags -> b
    int readBits -> c
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> a
    1:1:void <clinit>():25:25 -> <clinit>
    1:11:void <init>():25:35 -> <init>
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo() -> a
    1:1:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):44:44 -> a
    2:2:void setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):63:63 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo.getAbstractValue():59:59 -> a
    3:3:void setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):63 -> a
    4:5:void setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):63:64 -> a
    6:6:void fixupAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):69:69 -> a
    7:7:void joinReadBits(int):78:78 -> a
    8:8:void setDynamicType(com.android.tools.r8.ir.analysis.type.DynamicType):96:96 -> a
    com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo asMutableFieldOptimizationInfo() -> b
    1:1:boolean cannotBeKept():83:83 -> e
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue():59:59 -> f
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():92:92 -> g
    1:1:int getReadBits():74:74 -> h
    1:1:boolean isDead():101:101 -> i
    1:1:boolean valueHasBeenPropagated():110:110 -> j
    1:1:void markAsDead():105:105 -> k
    1:1:void markAsPropagated():114:114 -> l
    1:1:void markCannotBeKept():87:87 -> m
    1:5:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo mutableCopy():49:53 -> n
com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo -> com.android.tools.r8.internal.cG:
    com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification enumUnboxerMethodClassification -> g
    java.util.BitSet nonNullParamOrThrow -> m
    java.util.BitSet nonNullParamOnNormalExits -> n
    com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo argumentInfos -> b
    int returnedArgument -> d
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint simpleInliningConstraint -> o
    java.util.BitSet unusedArguments -> p
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint classInlinerConstraint -> f
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo$InlinePreference inlining -> i
    boolean $assertionsDisabled -> s
    com.android.tools.r8.utils.OptionalBool isReturnValueUsed -> j
    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo bridgeInfo -> k
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractReturnValue -> e
    java.util.Set initializedClassesOnNormalExit -> c
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection instanceInitializerInfoCollection -> l
    int DEFAULT_FLAGS -> r
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> h
    int flags -> q
    1:75:void <clinit>():36:110 -> <clinit>
    76:76:boolean com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo.mayHaveSideEffects():176:176 -> <clinit>
    76:76:void <clinit>():113 -> <clinit>
    77:96:void <clinit>():113:132 -> <clinit>
    1:1:void <init>():137:137 -> <init>
    2:98:void <init>():39:135 -> <init>
    99:99:void <init>(com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):143:143 -> <init>
    100:218:void <init>(com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):39:157 -> <init>
    1:1:boolean mayHaveSideEffects():499:499 -> A
    1:1:boolean neverReturnsNormally():401:401 -> B
    1:1:boolean returnValueHasBeenPropagated():678:678 -> C
    1:1:boolean returnValueOnlyDependsOnArguments():515:515 -> D
    1:1:boolean returnsArgument():390:390 -> E
    1:1:void markAsPropagated():673:673 -> F
    1:1:void markCannotBeKept():228:228 -> G
    1:1:void markClassInitializerMayBePostponed():237:237 -> H
    1:2:void markForceInline():655:656 -> I
    1:1:void markInlinedIntoSingleCallSite():376:376 -> J
    1:1:void markMayNotHaveSideEffects():584:584 -> K
    1:1:void markNeverReturnsNormally():600:600 -> L
    1:1:void markReturnValueOnlyDependsOnArguments():592:592 -> M
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo mutableCopy():697:697 -> N
    1:1:void setInitializerEnablingJavaAssertions():552:552 -> O
    1:490:void setIsReturnValueUsed(com.android.tools.r8.utils.OptionalBool):0:489 -> P
    1:4:void setMultiCallerMethod():664:667 -> Q
    1:1:void unsetAbstractReturnValue():614:614 -> R
    1:1:void unsetBridgeInfo():422:422 -> S
    1:1:void unsetClassInitializerMayBePostponed():241:241 -> T
    1:1:void unsetClassInlinerMethodConstraint():278:278 -> U
    1:1:void unsetDynamicType():649:649 -> V
    1:1:void unsetEnumUnboxerMethodClassification():296:296 -> W
    1:1:void unsetForceInline():660:660 -> X
    1:1:void unsetInitializedClassesOnNormalExit():564:564 -> Y
    1:1:void unsetInitializerEnablingJavaVmAssertions():556:556 -> Z
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo() -> a
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):181:181 -> a
    2:2:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixupAbstractReturnValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):187:187 -> a
    3:4:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):196:197 -> a
    5:7:void com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.setFlag(int,boolean):203:205 -> a
    5:7:void setReachabilitySensitive(boolean):519 -> a
    8:8:void clearFlag(int):214:214 -> a
    9:9:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupArgumentInfos(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):250:250 -> a
    9:9:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):162 -> a
    10:10:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    10:10:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupArgumentInfos(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):250 -> a
    10:10:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):162 -> a
    11:12:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupArgumentInfos(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):251:252 -> a
    11:12:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):162 -> a
    13:15:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupBridgeInfo(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):410:412 -> a
    13:15:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):163 -> a
    16:17:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):268:269 -> a
    16:17:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):164 -> a
    18:19:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):301:302 -> a
    18:19:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):165 -> a
    20:21:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):328:329 -> a
    20:21:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):166 -> a
    22:22:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):358:358 -> a
    22:22:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):167 -> a
    23:23:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):339:339 -> a
    23:23:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):168 -> a
    24:24:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupReturnedArgumentIndex(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):579:579 -> a
    24:24:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):169 -> a
    25:27:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):536:538 -> a
    25:27:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):170 -> a
    28:28:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):537:537 -> a
    28:28:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):170 -> a
    29:29:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupUnusedArguments(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):450:450 -> a
    29:29:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):171 -> a
    30:30:void setArgumentInfos(com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):258:258 -> a
    31:31:void setClassInlinerMethodConstraint(com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):274:274 -> a
    32:32:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):289:289 -> a
    33:33:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    33:33:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):289 -> a
    34:34:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):290:290 -> a
    35:35:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    35:35:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):290 -> a
    36:38:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):289:291 -> a
    39:39:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo(com.android.tools.r8.ir.code.InvokeDirect):323:323 -> a
    40:40:void setBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):418:418 -> a
    41:41:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixupUnusedArguments(java.util.BitSet):456:456 -> a
    42:42:boolean com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.mayHaveSideEffects():499:499 -> a
    42:42:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):504 -> a
    43:43:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.getNopInliningConstraint(com.android.tools.r8.utils.InternalOptions):435:435 -> a
    43:43:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):507 -> a
    44:44:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.getSimpleInliningConstraint():441:441 -> a
    44:44:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.getNopInliningConstraint(com.android.tools.r8.utils.InternalOptions):436 -> a
    44:44:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):507 -> a
    45:45:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):507:507 -> a
    46:46:void setSimpleInliningConstraint(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):527:527 -> a
    47:47:void setInstanceInitializerInfoCollection(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):544:544 -> a
    48:48:void markInitializesClassesOnNormalExit(java.util.Set):560:560 -> a
    49:49:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:608 -> a
    50:50:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":661,"2":662,"3":663}}
    661:661:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:608 -> a
    662:662:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:608 -> a
    663:663:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:608 -> a
    658:660:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:610 -> a
    664:664:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):618:618 -> a
    665:666:boolean com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.verifyDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):632:633 -> a
    665:666:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):626 -> a
    667:667:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    667:667:boolean com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.verifyDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):633 -> a
    667:667:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):626 -> a
    668:668:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    668:668:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    668:668:boolean com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.verifyDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):633 -> a
    668:668:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):626 -> a
    669:673:boolean com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.verifyDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):634:638 -> a
    669:673:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):626 -> a
    674:674:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):627:627 -> a
    1:1:void unsetInlinedIntoSingleCallSite():380:380 -> a0
    1:1:boolean isFlagSet(int):218:218 -> b
    2:2:void setNonNullParamOnNormalExits(java.util.BitSet):363:363 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection.empty():23:23 -> b0
    1:1:void unsetInstanceInitializerInfoCollection():548 -> b0
    2:2:void unsetInstanceInitializerInfoCollection():548:548 -> b0
    com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo asMutableMethodOptimizationInfo() -> c
    1:1:void setNonNullParamOrThrow(java.util.BitSet):344:344 -> c
    2:4:void markReturnsArgument(int):568:570 -> c
    1:1:void unsetMayNotHaveSideEffects():588:588 -> c0
    boolean isMutableOptimizationInfo() -> d
    1:1:void setFlag(int):210:210 -> d
    2:3:void setUnusedArguments(java.util.BitSet):462:463 -> d
    4:4:java.util.BitSet com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.getUnusedArguments():446:446 -> d
    4:4:void setUnusedArguments(java.util.BitSet):464 -> d
    5:7:void setUnusedArguments(java.util.BitSet):464:466 -> d
    1:1:void unsetNeverReturnsNormally():604:604 -> d0
    1:1:boolean cannotBeKept():223:223 -> e
    1:1:void unsetNonNullParamOnNormalExits():367:367 -> e0
    1:1:boolean classInitializerMayBePostponed():233:233 -> f
    1:1:void unsetNonNullParamOrThrow():348:348 -> f0
    1:1:boolean forceInline():494:494 -> g
    1:1:void unsetReachabilitySensitive():523:523 -> g0
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():427:427 -> h
    1:1:void unsetReturnValueOnlyDependsOnArguments():596:596 -> h0
    1:1:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo getArgumentInfos():246:246 -> i
    1:1:void unsetReturnedArgument():574:574 -> i0
    1:1:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo():406:406 -> j
    1:1:void unsetSimpleInliningConstraint():531:531 -> j0
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint getClassInlinerMethodConstraint():263:263 -> k
    1:1:void unsetUnusedArguments():470:470 -> k0
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitiveInstanceInitializerInfo():318:318 -> l
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():308:308 -> m
    1:1:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification getEnumUnboxerMethodClassification():283:283 -> n
    1:1:java.util.Set getInitializedClassesOnNormalExit():313:313 -> o
    1:1:java.util.BitSet getNonNullParamOnNormalExits():353:353 -> p
    1:1:java.util.BitSet getNonNullParamOrThrow():335:335 -> q
    1:2:int getReturnedArgument():395:396 -> r
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint getSimpleInliningConstraint():441:441 -> s
    1:1:java.util.BitSet getUnusedArguments():446:446 -> t
    1:1:boolean hasBeenInlinedIntoSingleCallSite():372:372 -> u
    1:1:boolean isInitializerEnablingJavaVmAssertions():475:475 -> w
    1:1:boolean isMultiCallerMethod():480:480 -> x
    1:1:boolean isReachabilitySensitive():385:385 -> y
    1:1:com.android.tools.r8.utils.OptionalBool isReturnValueUsed():485:485 -> z
com.android.tools.r8.ir.optimize.info.OptimizationFeedback -> com.android.tools.r8.internal.rK:
    1:1:void <init>():20:20 -> <init>
    void modifyAppInfoWithLiveness(java.util.function.Consumer) -> a
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple com.android.tools.r8.ir.optimize.info.OptimizationFeedback.getSimple():44:44 -> a
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple getSimpleFeedback():48 -> a
    2:2:void fixupOptimizationInfos(java.lang.Iterable,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):62:62 -> a
    3:3:void lambda$fixupOptimizationInfos$0(com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer,com.android.tools.r8.graph.DexProgramClass):63:63 -> a
com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer -> com.android.tools.r8.internal.qK:
    void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo) -> a
    void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo) -> a
    1:3:void fixup(com.android.tools.r8.graph.DexEncodedMember):30:32 -> a
    4:4:void lambda$fixup$0(com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo,com.android.tools.r8.graph.DexEncodedField):33:33 -> a
    5:5:void lambda$fixup$1(com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo,com.android.tools.r8.graph.DexEncodedMethod):34:34 -> a
com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed -> com.android.tools.r8.internal.sK:
    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
    1:1:void <clinit>():33:33 -> <clinit>
    1:10:void <init>():33:42 -> <init>
    1:6:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getFieldOptimizationInfoForUpdating(com.android.tools.r8.graph.DexEncodedField):50:55 -> a
    7:7:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    7:7:void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):239 -> a
    8:8:void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):240:240 -> a
    9:9:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    9:9:void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):246 -> a
    10:10:void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):247:247 -> a
    11:11:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    11:11:void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):276 -> a
    12:12:void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):276:276 -> a
    13:13:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    13:13:void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet):286 -> a
    14:14:void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet):286:286 -> a
    15:15:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    15:15:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):323 -> a
    16:16:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):323:323 -> a
    17:17:void fixupOptimizationInfos(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):78:78 -> a
    18:18:void com.android.tools.r8.ir.optimize.info.OptimizationFeedback.fixupOptimizationInfos(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):54:54 -> a
    18:18:void fixupOptimizationInfos(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):79 -> a
    19:19:void modifyAppInfoWithLiveness(java.util.function.Consumer):84:84 -> a
    20:20:void refineAppInfoWithLiveness(com.android.tools.r8.shaking.AppInfoWithLiveness):88:88 -> a
    21:21:boolean lambda$updateVisibleOptimizationInfo$0(java.util.Map$Entry):96:96 -> a
    22:22:void markFieldHasDynamicType(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.type.DynamicType):141:141 -> a
    23:23:void markFieldBitsRead(com.android.tools.r8.graph.DexEncodedField,int):146:146 -> a
    24:28:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):152:156 -> a
    29:29:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    29:29:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):156 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:30:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):157:157 -> a
    31:37:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):153:159 -> a
    38:39:void methodInitializesClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):183:184 -> a
    40:40:void methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int):189:189 -> a
    41:42:void methodReturnsAbstractValue(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):195:196 -> a
    43:43:void setDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):203:203 -> a
    44:44:void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):228:228 -> a
    45:45:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):233:233 -> a
    46:47:void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):254:255 -> a
    48:48:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):260:260 -> a
    49:49:void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):265:265 -> a
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> b
    1:1:void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):208 -> b
    2:2:void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):208:208 -> b
    3:3:boolean lambda$updateVisibleOptimizationInfo$1(java.util.Map$Entry):97:97 -> b
    4:9:boolean noUpdatesLeft():113:118 -> b
    10:10:void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod):213:213 -> b
    11:11:void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):270:270 -> b
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> c
    1:1:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):318 -> c
    2:2:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):318:318 -> c
    3:4:void updateVisibleOptimizationInfo():95:96 -> c
    5:8:void com.android.tools.r8.utils.IteratorUtils.removeIf(java.util.Iterator,java.util.function.Predicate):140:143 -> c
    5:8:void updateVisibleOptimizationInfo():95 -> c
    9:9:void updateVisibleOptimizationInfo():97:97 -> c
    10:13:void com.android.tools.r8.utils.IteratorUtils.removeIf(java.util.Iterator,java.util.function.Predicate):140:143 -> c
    10:13:void updateVisibleOptimizationInfo():97 -> c
    14:23:void updateVisibleOptimizationInfo():100:109 -> c
    24:24:void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod):172:172 -> c
    1:1:void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod):218:218 -> d
    1:1:void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> e
    1:1:void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod):177:177 -> f
    1:6:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.DexEncodedMethod):61:66 -> g
com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore -> com.android.tools.r8.ir.optimize.info.b:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore INSTANCE -> a
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    void markFieldBitsRead(com.android.tools.r8.graph.DexEncodedField,int) -> a
    void markFieldHasDynamicType(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget) -> a
    void methodInitializesClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.Set) -> 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 methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int) -> 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 setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo) -> a
    void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint) -> a
    void setDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification) -> a
    void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod) -> a
    void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection) -> a
    void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> a
    void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint) -> a
    void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet) -> a
    void unsetForceInline(com.android.tools.r8.graph.ProgramMethod) -> a
    void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod) -> b
    void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> b
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore getInstance():31:31 -> b
    void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod) -> c
    void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod) -> c
    void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> e
    void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> f
com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore$1 -> com.android.tools.r8.ir.optimize.info.a:
    1:1:void <init>():26:26 -> <init>
com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple -> com.android.tools.r8.internal.tK:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple INSTANCE -> a
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>():30:30 -> <init>
    void markFieldBitsRead(com.android.tools.r8.graph.DexEncodedField,int) -> a
    void markFieldHasDynamicType(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void methodInitializesClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.Set) -> a
    void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint) -> a
    1:1:void markFieldAsDead(com.android.tools.r8.graph.DexEncodedField):45:45 -> a
    2:3:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):66:67 -> a
    4:4:void methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int):100:100 -> a
    5:5:void methodReturnsAbstractValue(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):106:106 -> a
    6:6:void setDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):112:112 -> a
    7:7:void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):137:137 -> a
    8:8:void setArgumentInfos(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):141:141 -> a
    9:9:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):146:146 -> a
    10:12:void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):159:161 -> a
    13:14:void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):169:170 -> a
    15:15:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):175:175 -> a
    16:16:void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):184:184 -> a
    17:17:void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):195:195 -> a
    18:18:void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet):205:205 -> a
    19:24:void fixupUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):209:214 -> a
    25:25:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):256:256 -> a
    26:27:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> a
    26:27:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):256 -> a
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple getInstance():33:33 -> b
    2:2:void markFieldAsPropagated(com.android.tools.r8.graph.DexEncodedField):50:50 -> b
    3:3:void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod):117:117 -> b
    4:4:void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):127:127 -> b
    5:5:void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):189:189 -> b
    1:1:void markFieldCannotBeKept(com.android.tools.r8.graph.DexEncodedField):40:40 -> c
    2:2:void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod):84:84 -> c
    3:3:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):250:250 -> c
    4:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> c
    4:5:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):250 -> c
    void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
    1:1:void setIsReturnValueUsed(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.ProgramMethod):179:179 -> d
    1:1:void setMultiCallerMethod(com.android.tools.r8.graph.ProgramMethod):72:72 -> e
    2:2:void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod):200:200 -> e
    1:1:void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod):89:89 -> f
    2:2:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):222:222 -> f
    3:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> f
    3:4:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):222 -> f
    1:1:void unsetBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod):228:228 -> g
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):345:346 -> g
    2:3:void unsetBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod):228 -> g
    4:4:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):233:233 -> g
    5:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> g
    5:6:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):233 -> g
    1:1:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):239:239 -> h
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> h
    2:3:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):239 -> h
    1:1:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):245:245 -> i
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> i
    2:3:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):245 -> i
    1:1:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):261:261 -> j
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> j
    2:3:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):261 -> j
    1:1:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):267:267 -> k
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> k
    2:3:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):267 -> k
    1:1:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):273:273 -> l
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> l
    2:3:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):273 -> l
    1:1:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):279:279 -> m
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> m
    2:3:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):279 -> m
    1:1:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):285:285 -> n
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> n
    2:3:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):285 -> n
    1:1:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):291:291 -> o
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> o
    2:3:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):291 -> o
    1:1:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):297:297 -> p
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> p
    2:3:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):297 -> p
    1:1:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):303:303 -> q
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> q
    2:3:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):303 -> q
    1:1:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):309:309 -> r
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> r
    2:3:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):309 -> r
    1:1:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):320:320 -> s
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> s
    2:3:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):320 -> s
    1:1:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):315:315 -> t
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> t
    2:3:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):315 -> t
    1:1:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):326:326 -> u
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> u
    2:3:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):326 -> u
    1:1:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):332:332 -> v
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> v
    2:3:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):332 -> v
com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo -> com.android.tools.r8.internal.sY:
    com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo INSTANCE -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo getInstance():14:14 -> c
com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer -> com.android.tools.r8.internal.S5:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:51:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):27:77 -> a
    52:54:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.CheckCast):168:170 -> a
    52:54:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):77 -> a
    55:55:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):67:67 -> a
    56:58:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual):153:155 -> a
    56:58:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):68 -> a
    59:60:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):87:88 -> a
    61:71:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastBeforeInvoke(com.android.tools.r8.ir.code.CheckCast):99:109 -> a
    61:71:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):94 -> a
    72:72:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():353:353 -> a
    72:72:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastBeforeInvoke(com.android.tools.r8.ir.code.CheckCast):109 -> a
    72:72:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):94 -> a
    73:90:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastBeforeInvoke(com.android.tools.r8.ir.code.CheckCast):112:129 -> a
    73:90:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):94 -> a
    91:99:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):138:146 -> a
    91:99:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
    100:100:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():353:353 -> a
    100:100:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):147 -> a
    100:100:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
    101:101:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):148:148 -> a
    101:101:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo -> com.android.tools.r8.internal.F10:
    com.android.tools.r8.graph.DexMethod invokedMethod -> a
    1:1:void com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo.<init>():10:10 -> <init>
    1:1:void <init>(com.android.tools.r8.graph.DexMethod):32 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexMethod):33:33 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getInvokedMethod():37:37 -> a
com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.Nh:
    com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection INSTANCE -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():25:25 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> a
    void forEachWithDeterministicOrder(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo get(com.android.tools.r8.graph.DexEncodedField):47:47 -> a
    boolean isEmpty() -> b
    1:1:com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection getInstance():28:28 -> c
    1:1:java.lang.String toString():69:69 -> toString
com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo -> com.android.tools.r8.internal.Hp:
    boolean $assertionsDisabled -> b
    int argumentIndex -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(int):23:24 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:8:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):44:51 -> a
    9:18:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):50:59 -> a
    1:1:int getArgumentIndex():28:28 -> b
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo asArgumentInitializationInfo() -> e
    boolean isArgumentInitializationInfo() -> g
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toString():74:74 -> toString
    78:78:java.lang.String toString():74:74 -> toString
    79:79:java.lang.String toString():74:74 -> toString
    75:75:java.lang.String toString():74:74 -> toString
    76:76:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toString():74:74 -> toString
    78:78:java.lang.String toString():74:74 -> toString
    79:79:java.lang.String toString():74:74 -> toString
com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo -> com.android.tools.r8.internal.Ip:
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isTypeInitializationInfo() -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo asArgumentInitializationInfo() -> e
    boolean isSingleValue() -> f
    boolean isArgumentInitializationInfo() -> g
    com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> i
com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.Kp:
    1:1:void <init>():25:25 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> a
    void forEachWithDeterministicOrder(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo get(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder builder():28:28 -> a
    boolean isEmpty() -> b
com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder -> com.android.tools.r8.internal.Jp:
    java.util.TreeMap infos -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():53:53 -> <clinit>
    1:3:void <init>():53:55 -> <init>
    1:3:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder recordInitializationInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):63:65 -> a
    4:7:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection build():71:74 -> a
com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory -> com.android.tools.r8.internal.Lp:
    java.util.concurrent.ConcurrentHashMap argumentInitializationInfos -> a
    1:3:void <init>():11:13 -> <init>
    1:3:com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo createArgumentInitializationInfo(int):18:18 -> a
    4:4:com.android.tools.r8.ir.optimize.info.field.InstanceFieldTypeInitializationInfo createTypeInitializationInfo(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):24:24 -> a
com.android.tools.r8.ir.optimize.info.field.InstanceFieldTypeInitializationInfo -> com.android.tools.r8.internal.Np:
    com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> a
    com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> b
    1:3:void <init>(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):27:29 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isTypeInitializationInfo() -> a
    1:13:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):59:71 -> a
    14:14:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    14:14:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):72 -> a
    15:17:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):72:74 -> a
    18:18:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    18:18:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):74 -> a
    19:19:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):74:74 -> a
    1:6:boolean equals(java.lang.Object):87:92 -> equals
    1:1:int hashCode():79:79 -> hashCode
    1:1:java.lang.String toString():97:97 -> toString
com.android.tools.r8.ir.optimize.info.field.NonTrivialInstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.oH:
    java.util.TreeMap infos -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:4:void <init>(java.util.TreeMap):29:32 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection.builder():28:28 -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):73 -> a
    2:6:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):74:78 -> a
    7:7:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection.builder():28:28 -> a
    7:7:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):84 -> a
    8:13:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):85:90 -> a
    14:14:void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):39:39 -> a
    15:20: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):41:46 -> a
    21:21:void forEachWithDeterministicOrder(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):56:56 -> a
    22:24:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo get(com.android.tools.r8.graph.DexEncodedField):61:61 -> a
    25:25:void lambda$fixupAfterParametersChanged$1(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):77:77 -> a
    26:26:void lambda$fixupAfterParametersChanged$1(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):76:76 -> a
    27:28:void lambda$rewrittenWithLens$2(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):88:89 -> a
    29:29:void lambda$rewrittenWithLens$2(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):87:87 -> a
    30:30:void lambda$toString$3(java.util.List,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):96:96 -> a
    boolean isEmpty() -> b
    1:4:java.lang.String toString():95:98 -> toString
com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo -> com.android.tools.r8.internal.t00:
    com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo INSTANCE -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo getInstance():24:24 -> b
    1:1:java.lang.String toString():46:46 -> toString
com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection -> com.android.tools.r8.internal.Sd:
    com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo info -> a
    1:2:void <init>(com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo):19:20 -> <init>
    1:4:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):41:44 -> a
    5:8:com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):55:58 -> a
    5:8:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):14 -> a
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection.get(com.android.tools.r8.ir.code.InvokeDirect):30:30 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo get(com.android.tools.r8.ir.code.InvokeDirect):14 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection.getContextInsensitive():25:25 -> c
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitive():14 -> c
com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo -> com.android.tools.r8.internal.Ne:
    com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo INSTANCE -> a
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos():46:46 -> b
    com.android.tools.r8.graph.DexMethod getParent() -> c
    boolean instanceFieldInitializationMayDependOnEnvironment() -> d
    boolean mayHaveOtherSideEffectsThanInstanceFieldAssignments() -> e
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet():51:51 -> f
    boolean receiverNeverEscapesOutsideConstructorChain() -> g
    1:1:com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo getInstance():26:26 -> h
    1:1:java.lang.String toString():86:86 -> toString
com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection -> com.android.tools.r8.internal.Oh:
    com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection EMPTY -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    1:1:com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection.get(com.android.tools.r8.ir.code.InvokeDirect):32:32 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo get(com.android.tools.r8.ir.code.InvokeDirect):14 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection.getContextInsensitive():27:27 -> c
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitive():14 -> c
    1:1:com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection getInstance():22:22 -> d
com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo -> com.android.tools.r8.internal.Tp:
    1:1:void <init>():16:16 -> <init>
    com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo asNonTrivialInstanceInitializerInfo() -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos() -> b
    com.android.tools.r8.graph.DexMethod getParent() -> c
    boolean instanceFieldInitializationMayDependOnEnvironment() -> d
    boolean mayHaveOtherSideEffectsThanInstanceFieldAssignments() -> e
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet() -> f
    boolean receiverNeverEscapesOutsideConstructorChain() -> g
com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection -> com.android.tools.r8.internal.Up:
    1:1:void <init>():16:16 -> <init>
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:1:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.isNonTrivialInstanceInitializerInfo():0:0 -> a
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection of(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):27 -> a
    2:3:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection of(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):28:29 -> a
    4:4:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection.empty():23:23 -> a
    4:4:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection of(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):31 -> a
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    5:5:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection empty():23:23 -> a
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo get(com.android.tools.r8.ir.code.InvokeDirect) -> b
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitive() -> c
com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo -> com.android.tools.r8.internal.qH:
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet -> c
    com.android.tools.r8.graph.DexMethod parent -> d
    int data -> a
    1:1:void <clinit>():20:20 -> <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):20:20 -> <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):35:40 -> <init>
    com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo asNonTrivialInstanceInitializerInfo() -> a
    1:1:boolean verifyNoUnknownBits(int):58:58 -> a
    2:5:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):105:108 -> a
    6:10:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):118:122 -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos():79:79 -> b
    1:1:com.android.tools.r8.graph.DexMethod getParent():74:74 -> c
    1:1:boolean instanceFieldInitializationMayDependOnEnvironment():89:89 -> d
    1:1:boolean mayHaveOtherSideEffectsThanInstanceFieldAssignments():94:94 -> e
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet():84:84 -> f
    1:1:boolean receiverNeverEscapesOutsideConstructorChain():99:99 -> g
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131}}
    129:129:java.lang.String toString():127:127 -> toString
    130:130:java.lang.String toString():127:127 -> toString
    131:131:java.lang.String toString():127:127 -> toString
    128:128:java.lang.String toString():127:127 -> toString
com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder -> com.android.tools.r8.internal.pH:
    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
    1:1:void <clinit>():130:130 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):141:141 -> <init>
    2:10:void <init>(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):134:142 -> <init>
    1:3:boolean com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.isTrivial():146:148 -> a
    1:3:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo build():233 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> a
    4:4:boolean com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.isTrivial():148 -> a
    4:4:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo build():233 -> a
    5:5:boolean com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.isTrivial():148:148 -> a
    5:5:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo build():233 -> a
    6:7:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo build():234:235 -> a
    8:9:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder markFieldAsRead(com.android.tools.r8.graph.DexEncodedField):153:154 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> a
    10:10:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder markFieldAsRead(com.android.tools.r8.graph.DexEncodedField):154 -> a
    11:16:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder markFieldAsRead(com.android.tools.r8.graph.DexEncodedField):155:160 -> a
    17:17:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186:186 -> a
    18:18:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):165:165 -> a
    18:18:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    19:19:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> a
    19:19:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):165 -> a
    19:19:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    20:20:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):165:165 -> a
    20:20:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    21:21:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> a
    21:21:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):165 -> a
    21:21:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    22:22:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> a
    22:22:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):168 -> a
    22:22:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    23:23:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markAllFieldsAsRead():181:181 -> a
    23:23:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):169 -> a
    23:23:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    24:25:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):171:172 -> a
    24:25:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    26:26:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> a
    26:26:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):172 -> a
    26:26:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    27:29:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):173:175 -> a
    27:29:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    30:34:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):187:191 -> a
    35:35:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.receiverMayEscapeOutsideConstructorChain():72:72 -> a
    35:35:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):193 -> a
    36:36:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):194:194 -> a
    37:37:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setParent(com.android.tools.r8.graph.DexMethod):227:227 -> a
    38:38:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.getParent():223:223 -> a
    38:38:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setParent(com.android.tools.r8.graph.DexMethod):227 -> a
    39:40:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setParent(com.android.tools.r8.graph.DexMethod):227:228 -> a
    1:1:com.android.tools.r8.graph.DexMethod getParent():223:223 -> b
    1:1:boolean hasParent():219:219 -> c
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder markAllFieldsAsRead():181:181 -> d
    1:1:boolean mayHaveOtherSideEffectsThanInstanceFieldAssignments():205:205 -> e
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setInstanceFieldInitializationMayDependOnEnvironment():200:200 -> f
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setMayHaveOtherSideEffectsThanInstanceFieldAssignments():209:209 -> g
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setReceiverMayEscapeOutsideConstructorChain():214:214 -> h
com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy -> com.android.tools.r8.internal.Me:
    com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation callSiteInformation -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions$InlinerOptions options -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():19:19 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation):26:29 -> <init>
    1:16: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):39:54 -> a
    17:23:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):68:74 -> a
    17:23: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    24:24:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    24:24:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):74 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    25:25:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    25:25:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):74 -> a
    25:25: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    26:26:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):74:74 -> a
    26:26: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    27:27:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    27:27:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):75 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    28:28:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    28:28:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):75 -> a
    28:28: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    29:29:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):75:75 -> a
    29: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    30:30: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):57:57 -> a
    31:35:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isMultiCallerInlineCandidate(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):86:90 -> a
    31:35: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):59 -> a
    36:36:boolean com.android.tools.r8.ir.conversion.MethodProcessor.isPostMethodProcessor():0:0 -> a
    36:36:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isMultiCallerInlineCandidate(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):92 -> a
    36:36: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):59 -> a
    37:37:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isMultiCallerInlineCandidate(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):93:93 -> a
    37:37: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):59 -> a
    38:42: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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):60:64 -> a
com.android.tools.r8.ir.optimize.inliner.FixedInliningReasonStrategy -> com.android.tools.r8.internal.pk:
    com.android.tools.r8.ir.optimize.Inliner$Reason reason -> a
    1:2:void <init>(com.android.tools.r8.ir.optimize.Inliner$Reason):17:18 -> <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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):28:28 -> a
com.android.tools.r8.ir.optimize.inliner.InlinerUtils -> com.android.tools.r8.internal.up:
    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:5:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):32:32 -> a
    6:6:boolean com.android.tools.r8.ir.code.Value.hasAliasedValue():204:204 -> a
    6:6:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):32 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:8:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):32:33 -> a
    9:9:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    9:9:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):33 -> a
    10:10:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):36:36 -> a
    11:11: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.internal.wp:
    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> d
    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.code.NumberGenerator valueNumberGenerator -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.inliner.InliningIRProvider$1):19:19 -> <init>
    2:2:void <init>():28:28 -> <init>
    3:9:void <init>():26:32 -> <init>
    10:10: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):36:36 -> <init>
    11:25: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):26:40 -> <init>
    1:2:com.android.tools.r8.ir.code.IRCode getAndCacheInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):93:94 -> a
    3:4:void cacheInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):99:100 -> a
    5:5:com.android.tools.r8.ir.conversion.MethodProcessor getMethodProcessor():104:104 -> a
    6:6:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):113:113 -> a
    1:1:com.android.tools.r8.ir.optimize.inliner.InliningIRProvider getThrowingInstance():44:44 -> b
    2:11:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):78:87 -> b
    12:17: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.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.conversion.MethodProcessor):41:46 -> b
    12:17:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):83 -> b
    18:18:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):461:461 -> b
    18:18: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.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.conversion.MethodProcessor):46 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):83 -> b
    19:19: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.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.conversion.MethodProcessor):48:48 -> b
    19:19:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):83 -> b
    1:1:boolean verifyIRCacheIsEmpty():108:108 -> c
com.android.tools.r8.ir.optimize.inliner.InliningIRProvider$1 -> com.android.tools.r8.internal.vp:
    1:1:void <init>():44:44 -> <init>
    1:1:com.android.tools.r8.ir.code.IRCode getAndCacheInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):52:52 -> a
    2:2:void cacheInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):57:57 -> a
    3:3:com.android.tools.r8.ir.conversion.MethodProcessor getMethodProcessor():62:62 -> a
    4:4:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):72:72 -> a
    1:1:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):47:47 -> b
    boolean verifyIRCacheIsEmpty() -> c
com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy -> com.android.tools.r8.internal.yp:
    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,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor) -> a
com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter -> com.android.tools.r8.internal.sH:
    com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    void reportCallerHasUnknownApiLevel() -> a
    void reportIncorrectArity(int,int) -> a
    void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    void reportInvalidInliningReason(com.android.tools.r8.ir.optimize.Inliner$Reason,java.util.Set) -> a
    void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut) -> a
    void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect) -> a
    void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction) -> a
    void reportCallerNotSameClass() -> b
    void reportPotentialExplosionInExceptionalControlFlowResolutionBlocks(int,int) -> b
    void reportCallerNotSameNest() -> c
    void reportWillExceedInstructionBudget(int,int) -> c
    void reportCallerNotSamePackage() -> d
    void reportWillExceedMaxInliningDepth(int,int) -> d
    void reportCallerNotSubtype() -> e
    void reportWillExceedMonitorEnterValuesBudget(int,int) -> e
    void reportInaccessible() -> f
    void reportInlineeDoesNotHaveCode() -> g
    void reportInlineeNotInliningCandidate() -> h
    void reportInlineeNotProcessed() -> i
    void reportInlineeNotSimple() -> j
    void reportInlineeRefersToClassesNotInMainDex() -> k
    void reportInliningAcrossFeatureSplit() -> l
    void reportInstructionBudgetIsExceeded() -> m
    void reportMustTriggerClassInitialization() -> n
    void reportNoInliningIntoConstructorsWhenGeneratingClassFiles() -> o
    void reportPinned() -> p
    void reportProcessedConcurrently() -> q
    void reportReceiverDefinitelyNull() -> r
    void reportReceiverMaybeNull() -> s
    void reportRecursiveMethod() -> t
    void reportUnknownTarget() -> u
    boolean unsetReasonHasBeenReportedFlag() -> v
    1:1:com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter getInstance():22:22 -> w
com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter -> com.android.tools.r8.internal.d20:
    1:1:void <init>():19:19 -> <init>
    void reportCallerHasUnknownApiLevel() -> a
    void reportIncorrectArity(int,int) -> a
    void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    void reportInvalidInliningReason(com.android.tools.r8.ir.optimize.Inliner$Reason,java.util.Set) -> a
    void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut) -> a
    void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect) -> a
    void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction) -> a
    1:5:com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter createFor(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):23:27 -> a
    6:19:void handleInvokeWithUnknownTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):32:45 -> a
    void reportCallerNotSameClass() -> b
    void reportPotentialExplosionInExceptionalControlFlowResolutionBlocks(int,int) -> b
    void reportCallerNotSameNest() -> c
    void reportWillExceedInstructionBudget(int,int) -> c
    void reportCallerNotSamePackage() -> d
    void reportWillExceedMaxInliningDepth(int,int) -> d
    void reportCallerNotSubtype() -> e
    void reportWillExceedMonitorEnterValuesBudget(int,int) -> e
    void reportInaccessible() -> f
    void reportInlineeDoesNotHaveCode() -> g
    void reportInlineeNotInliningCandidate() -> h
    void reportInlineeNotProcessed() -> i
    void reportInlineeNotSimple() -> j
    void reportInlineeRefersToClassesNotInMainDex() -> k
    void reportInliningAcrossFeatureSplit() -> l
    void reportInstructionBudgetIsExceeded() -> m
    void reportMustTriggerClassInitialization() -> n
    void reportNoInliningIntoConstructorsWhenGeneratingClassFiles() -> o
    void reportPinned() -> p
    void reportProcessedConcurrently() -> q
    void reportReceiverDefinitelyNull() -> r
    void reportReceiverMaybeNull() -> s
    void reportRecursiveMethod() -> t
    void reportUnknownTarget() -> u
    boolean unsetReasonHasBeenReportedFlag() -> v
com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporterImpl -> com.android.tools.r8.internal.e20:
    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
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):26:26 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):23:29 -> <init>
    1:1:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":244,"2":245,"3":246}}
    244:244:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):237:237 -> a
    245:245:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):237:237 -> a
    246:246:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):237:237 -> a
    240:242:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):239:241 -> a
    243:243:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):237:237 -> a
    247:247:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":498,"2":499,"3":500}}
    498:498:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):247:247 -> a
    499:499:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):247:247 -> a
    500:500:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):247:247 -> a
    496:496:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):249:249 -> a
    497:497:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):247:247 -> a
    501:501:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":757,"2":758,"3":759}}
    757:757:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):255:255 -> a
    758:758:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):255:255 -> a
    759:759:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):255:255 -> a
    756:756:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):255:255 -> a
    760:770:void print(java.lang.String):33:43 -> a
    771:771:void printWithExceededThreshold(java.lang.String,java.lang.String,int,int):48:48 -> a
    772:772:void reportCallerHasUnknownApiLevel():78:78 -> a
    773:773:void reportIncorrectArity(int,int):93:93 -> a
    774:778:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):126:130 -> a
    779:779:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":916,"2":917,"3":918}}
    916:916:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):131:131 -> a
    917:917:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):131:131 -> a
    918:918:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):131:131 -> a
    912:914:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):133:135 -> a
    915:915:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):131:131 -> a
    919:924:void reportInvalidInliningReason(com.android.tools.r8.ir.optimize.Inliner$Reason,java.util.Set):164:164 -> a
    1:1:void reportCallerNotSameClass():53:53 -> b
    2:2:void reportPotentialExplosionInExceptionalControlFlowResolutionBlocks(int,int):202:202 -> b
    1:1:void reportCallerNotSameNest():58:58 -> c
    2:2:void reportWillExceedInstructionBudget(int,int):260:260 -> c
    1:1:void reportCallerNotSamePackage():63:63 -> d
    2:2:void reportWillExceedMaxInliningDepth(int,int):269:269 -> d
    1:1:void reportCallerNotSubtype():70:70 -> e
    2:2:void reportWillExceedMonitorEnterValuesBudget(int,int):279:279 -> e
    1:1:void reportInaccessible():88:88 -> f
    1:1:void reportInlineeDoesNotHaveCode():103:103 -> g
    1:1:void reportInlineeNotInliningCandidate():108:108 -> h
    1:1:void reportInlineeNotProcessed():113:113 -> i
    1:1:void reportInlineeNotSimple():118:118 -> j
    1:1:void reportInlineeRefersToClassesNotInMainDex():142:142 -> k
    1:1:void reportInliningAcrossFeatureSplit():149:149 -> l
    1:1:void reportInstructionBudgetIsExceeded():154:154 -> m
    1:1:void reportMustTriggerClassInitialization():184:184 -> n
    1:1:void reportNoInliningIntoConstructorsWhenGeneratingClassFiles():191:191 -> o
    1:1:void reportPinned():196:196 -> p
    1:1:void reportProcessedConcurrently():211:211 -> q
    1:1:void reportReceiverDefinitelyNull():217:217 -> r
    1:1:void reportReceiverMaybeNull():222:222 -> s
    1:1:void reportRecursiveMethod():227:227 -> t
    1:1:void reportUnknownTarget():232:232 -> u
    1:2:boolean unsetReasonHasBeenReportedFlag():288:289 -> v
com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph -> com.android.tools.r8.internal.EF:
    1:1:void <init>(java.util.Map):16:16 -> <init>
    1:1:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder builder(com.android.tools.r8.graph.AppView):20:20 -> a
com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder -> com.android.tools.r8.internal.FF:
    1:1:void <init>(com.android.tools.r8.graph.AppView):21:21 -> <init>
    1:1:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder.createNode(com.android.tools.r8.graph.ProgramMethod):26:26 -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase createNode(com.android.tools.r8.graph.ProgramMethod):17 -> a
    2:3:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph build(java.util.concurrent.ExecutorService):31:32 -> a
    4:4:void processClass(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    1:4:void processMethod(com.android.tools.r8.graph.ProgramMethod):40:43 -> c
com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerInvokeRegistry -> com.android.tools.r8.internal.GF:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode,java.util.function.Function,java.util.Map):28:28 -> <init>
    1:1:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    1:1:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):40 -> a
    2:3:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):41:42 -> a
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():33:33 -> c
com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode -> com.android.tools.r8.internal.HF:
    java.util.concurrent.atomic.AtomicInteger numberOfCallSites -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod):17:17 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.ProgramMethod):14:14 -> <init>
    1:1:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase,boolean):12:12 -> a
    2:3:void com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode.addCallerConcurrently(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode,boolean):22:23 -> a
    2:3:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase,boolean):12 -> a
    4:4:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):12:12 -> a
    5:5:void com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode.addReaderConcurrently(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode):28:28 -> a
    5:5:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):12 -> a
    1:1:int getNumberOfCallSites():32:32 -> c
com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer -> com.android.tools.r8.internal.w5:
    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):29:31 -> <init>
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):48:48 -> a
    2:5:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeBooleanValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):59:62 -> a
    2:5:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):49 -> a
    6:6:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    6:6:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeBooleanValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):62 -> a
    6:6:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):49 -> a
    7:12:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeBooleanValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):63:68 -> a
    7:12:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):49 -> a
    13:13:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50:50 -> a
    14:17:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeParseBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):76:79 -> a
    14:17:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):51 -> a
    18:18:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    18:18:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeParseBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):79 -> a
    18:18:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):51 -> a
    19:25:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeParseBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):80:86 -> a
    19:25:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):51 -> a
    26:26:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):52:52 -> a
    27:29:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.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):98:100 -> a
    27:29:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):53 -> a
    30:30:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    30:30:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.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):100 -> a
    30:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):53 -> a
    31:37:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.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):101:101 -> a
    31:37:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):53 -> a
    1:1:com.android.tools.r8.graph.DexType getType():36:36 -> getType
com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer -> com.android.tools.r8.internal.Y5:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView):25:27 -> <init>
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):44:44 -> a
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    2:2:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    3:6:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):52:55 -> a
    3:6:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    7:7:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):55 -> a
    7:7:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    8:9:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):56:57 -> a
    8:9:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    10:10:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    10:10:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    11:12:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):57:58 -> a
    11:12:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    1:1:com.android.tools.r8.graph.DexType getType():32:32 -> getType
com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer -> com.android.tools.r8.internal.ti:
    com.android.tools.r8.graph.AppView appView -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):29:30 -> <init>
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):47:47 -> a
    2:2:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    3:3:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):47 -> a
    4:6:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):48:50 -> a
    7:26:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):60:79 -> a
    7:26:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    27:27:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    27:27:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    27:27:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):79 -> a
    27:27:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    28:28:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    28:28:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):79 -> a
    28:28:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    29:29:com.android.tools.r8.ir.code.Assume com.android.tools.r8.ir.code.Assume.createAssumeDynamicTypeInstruction(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,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
    29:29:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):81 -> a
    29:29:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    30:31:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):83:84 -> a
    30:31:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    1:1:com.android.tools.r8.graph.DexType getType():35:35 -> getType
com.android.tools.r8.ir.optimize.library.LibraryFieldSynthesis -> com.android.tools.r8.internal.jB:
    1:3:void synthesizeEnumFields(com.android.tools.r8.graph.AppView):27:29 -> a
    4:4:com.android.tools.r8.graph.DexLibraryClass com.android.tools.r8.graph.DexLibraryClass.asLibraryClassOrNull(com.android.tools.r8.graph.DexClass):78:78 -> a
    4:4:void synthesizeEnumFields(com.android.tools.r8.graph.AppView):29 -> a
    5:5:void synthesizeEnumFields(com.android.tools.r8.graph.AppView):31:31 -> a
    6:12:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):33:39 -> a
    13:16:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):38:41 -> a
    17:17:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    17:17:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):43 -> a
    18:18:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):44:44 -> a
    19:19:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):35:35 -> a
com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer -> com.android.tools.r8.internal.kB:
    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
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):43:43 -> <init>
    2:32:void <init>(com.android.tools.r8.graph.AppView):35:65 -> <init>
    1:2:void initializeFinalLibraryFields():69:70 -> a
    3:3:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):72:72 -> a
    4:4:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    4:4:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):72 -> a
    5:5:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):72:72 -> a
    6:6:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    6:6:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):74 -> a
    7:9:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):75:77 -> a
    10:10:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":90}}
    88:88:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):77:77 -> a
    89:89:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):77:77 -> a
    90:90:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):77:77 -> a
    87:87:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):77:77 -> a
    91:91:boolean isFinalLibraryField(com.android.tools.r8.graph.DexEncodedField):86:86 -> a
    92:92:boolean isModeled(com.android.tools.r8.graph.DexType):102:102 -> a
    93:97:void register(com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection):106:110 -> a
    98:130: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.contexts.CompilationContext$MethodProcessingContext):119:151 -> a
    131:131:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    131:131: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.contexts.CompilationContext$MethodProcessingContext):151 -> a
    132:137: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.contexts.CompilationContext$MethodProcessingContext):152:157 -> a
    138:138:void com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,java.lang.Object,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):59:59 -> a
    138:138: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.contexts.CompilationContext$MethodProcessingContext):161 -> a
    139:142: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.contexts.CompilationContext$MethodProcessingContext):174:177 -> a
    143:143:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    143:143: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.contexts.CompilationContext$MethodProcessingContext):177 -> a
    144:144: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.contexts.CompilationContext$MethodProcessingContext):177:177 -> a
    145:145:com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State lambda$optimize$1(com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection):160:160 -> a
com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection -> com.android.tools.r8.internal.mB:
    com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor) -> a
    void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State -> com.android.tools.r8.internal.lB:
com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection -> com.android.tools.r8.internal.qB:
    java.util.Map finalMethodsWithoutSideEffects -> a
    java.util.Set nonFinalMethodsWithoutSideEffects -> c
    java.util.Set unconditionalFinalMethodsWithoutSideEffects -> b
    1:6:void <init>(com.android.tools.r8.graph.AppView):30:35 -> <init>
    1:18:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):41:58 -> a
    19:20:void com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.putAll(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.lang.Iterable,java.lang.Object):109:110 -> a
    19:20:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):58 -> a
    21:21:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):62:62 -> a
    22:23:void com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.putAll(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.lang.Iterable,java.lang.Object):109:110 -> a
    22:23:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):62 -> a
    24:24:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):66:66 -> a
    25:25:boolean lambda$buildFinalMethodsWithoutSideEffects$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,java.util.List):48:48 -> a
    26:26:java.util.Set buildNonFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.DexItemFactory):102:102 -> a
    27:27:void forEachSideEffectFreeFinalMethod(java.util.function.Consumer):115:115 -> a
    28:30:boolean isSideEffectFreeFinalMethod(com.android.tools.r8.graph.DexMethod,java.util.List):123:125 -> a
    31:31:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMap.getOrDefault(java.lang.Object,java.lang.Object):713:713 -> a
    31:31:boolean isSideEffectFreeFinalMethod(com.android.tools.r8.graph.DexMethod,java.util.List):125 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:33:boolean isSideEffectFreeFinalMethod(com.android.tools.r8.graph.DexMethod,java.util.List):125:126 -> a
    34:35:boolean isSideEffectFree(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.LibraryMethod):132:133 -> a
    1:1:boolean lambda$buildFinalMethodsWithoutSideEffects$0(com.android.tools.r8.graph.DexMethod,java.util.List):44:44 -> b
    2:2:boolean lambda$buildFinalMethodsWithoutSideEffects$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,java.util.List):56:56 -> b
    3:29:java.util.Set buildUnconditionalFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.DexItemFactory):71:97 -> b
    1:1:boolean lambda$buildFinalMethodsWithoutSideEffects$2(com.android.tools.r8.graph.DexMethod,java.util.List):52:52 -> c
com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer -> com.android.tools.r8.internal.sB:
    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
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):38:38 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):35:41 -> <init>
    1:1:java.util.Set getModeledLibraryTypes():55:55 -> a
    2:6:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():59:63 -> a
    2:6:void run(java.util.Set):45 -> a
    7:7: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):64:64 -> a
    7:7:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():66 -> a
    7:7:void run(java.util.Set):45 -> a
    8:8:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():66:66 -> a
    8:8:void run(java.util.Set):45 -> a
    9:9:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():65:65 -> a
    9:9:void run(java.util.Set):45 -> a
    10:21:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():63:74 -> a
    10:21:void run(java.util.Set):45 -> a
    22:22:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection.builder():28:28 -> a
    22:22:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():76 -> a
    22:22:void run(java.util.Set):45 -> a
    23:25:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():76:78 -> a
    23:25:void run(java.util.Set):45 -> a
    26:29:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():77:80 -> a
    26:29:void run(java.util.Set):45 -> a
    30:33:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():79:82 -> a
    30:33:void run(java.util.Set):45 -> a
    34:34: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):64:64 -> a
    34:34:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():85 -> a
    34:34:void run(java.util.Set):45 -> a
    35:37:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():85:87 -> a
    35:37:void run(java.util.Set):45 -> a
    38:38:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():84:84 -> a
    38:38:void run(java.util.Set):45 -> a
    39:39:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():82:82 -> a
    39:39:void run(java.util.Set):45 -> a
    40:44:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelStaticFinalLibraryFields(java.util.Set):92:96 -> a
    40:44:void run(java.util.Set):46 -> a
    45:45:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    45:45:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelStaticFinalLibraryFields(java.util.Set):96 -> a
    45:45:void run(java.util.Set):46 -> a
    46:46:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelStaticFinalLibraryFields(java.util.Set):96:96 -> a
    46:46:void run(java.util.Set):46 -> a
    47:47:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelStaticFinalLibraryFields(java.util.Set):94:94 -> a
    47:47:void run(java.util.Set):46 -> a
    48:48:void run(java.util.Set):47:47 -> a
    49:53:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningNonNull():126:130 -> a
    49:53:void run(java.util.Set):48 -> a
    54:56:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningNonNull():129:131 -> a
    54:56:void run(java.util.Set):48 -> a
    57:57:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87:87 -> a
    57:57:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningNonNull():131 -> a
    57:57:void run(java.util.Set):48 -> a
    58:58:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningNonNull():131:131 -> a
    58:58:void run(java.util.Set):48 -> a
    59:62:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningReceiver():137:140 -> a
    59:62:void run(java.util.Set):49 -> a
    63:63:void run(java.util.Set):50:50 -> a
    64:64:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158:158 -> a
    64:64:void run(java.util.Set):51 -> a
    65:65:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1553:1553 -> a
    65:65:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158 -> a
    65:65:void run(java.util.Set):51 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    66:66:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1553:1553 -> a
    66:66:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158 -> a
    66:66:void run(java.util.Set):51 -> a
    67:70:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158:161 -> a
    67:70:void run(java.util.Set):51 -> a
    71:83:void lambda$modelLibraryMethodsNonNullParamOrThrow$0(com.android.tools.r8.graph.DexMethod,int[]):104:116 -> a
    84:84:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo.hasNonNullParamOnNormalExits():50:50 -> a
    84:84:void lambda$modelLibraryMethodsNonNullParamOrThrow$0(com.android.tools.r8.graph.DexMethod,int[]):116 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:87:void lambda$modelLibraryMethodsNonNullParamOrThrow$0(com.android.tools.r8.graph.DexMethod,int[]):117:119 -> a
    88:90:void lambda$modelLibraryMethodsWithoutSideEffects$1(com.android.tools.r8.graph.DexMethod):150:152 -> a
    1:1:void modelLibraryMethodsNonNullParamOrThrow():102:102 -> b
    2:2:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):167:167 -> b
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):167 -> b
    4:6:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):168:170 -> b
    1:3:void modelLibraryMethodsWithoutSideEffects():146:148 -> c
com.android.tools.r8.ir.optimize.library.LogMethodOptimizer -> com.android.tools.r8.internal.rC:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexMethod wtfMethod -> i
    com.android.tools.r8.graph.DexMethod eMethod -> h
    com.android.tools.r8.graph.DexMethod wMethod -> g
    com.android.tools.r8.graph.DexMethod iMethod -> f
    com.android.tools.r8.graph.DexType logType -> b
    com.android.tools.r8.graph.DexMethod dMethod -> e
    com.android.tools.r8.graph.DexMethod vMethod -> d
    com.android.tools.r8.graph.DexMethod isLoggableMethod -> c
    1:10:void <init>(com.android.tools.r8.graph.AppView):43:52 -> <init>
    11:19:void <init>(com.android.tools.r8.graph.AppView):50:58 -> <init>
    20:28:void <init>(com.android.tools.r8.graph.AppView):56:64 -> <init>
    29:37:void <init>(com.android.tools.r8.graph.AppView):62:70 -> <init>
    38:46:void <init>(com.android.tools.r8.graph.AppView):68:76 -> <init>
    47:55:void <init>(com.android.tools.r8.graph.AppView):74:82 -> <init>
    56:64:void <init>(com.android.tools.r8.graph.AppView):80:88 -> <init>
    65:65:void <init>(com.android.tools.r8.graph.AppView):86:86 -> <init>
    1:3:boolean isEnabled(com.android.tools.r8.graph.AppView):94:96 -> a
    4:38:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):113:147 -> a
    39:42:void replaceInvokeWithConstNumber(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,int):154:157 -> a
    1:1:com.android.tools.r8.graph.DexType getType():101:101 -> getType
com.android.tools.r8.ir.optimize.library.ObjectMethodOptimizer -> com.android.tools.r8.internal.NJ:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):23:24 -> <init>
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):41:41 -> a
    2:4:void com.android.tools.r8.ir.optimize.library.ObjectMethodOptimizer.optimizeGetClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):47:49 -> a
    2:4:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):42 -> a
    1:1:com.android.tools.r8.graph.DexType getType():29:29 -> getType
com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer -> com.android.tools.r8.internal.fK:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexItemFactory$ObjectsMethods objectsMethods -> c
    1:1:void <clinit>():26:26 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView):33:38 -> <init>
    1:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55:56 -> a
    3:3:byte com.android.tools.r8.graph.DexString.byteAt(int):54:54 -> a
    3:3:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:byte com.android.tools.r8.graph.DexString.byteAt(int):54:54 -> a
    4:4:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):56 -> a
    5:5:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):68:68 -> a
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    6:6:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeIsNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):150 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):69 -> a
    7:12:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeIsNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):151:156 -> a
    7:12:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):69 -> a
    13:13:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):63:63 -> a
    14:14:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    14:14:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):133 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    15:21:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):134:140 -> a
    15:21:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    22:22:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():37:37 -> a
    22:22:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):140 -> a
    22:22:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    23:26:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):140:143 -> a
    23:26:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    27:27:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    27:27:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):143 -> a
    27:27:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    28:29:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):143:144 -> a
    28:29:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    30:30:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):139:139 -> a
    30:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    31:31:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):90:90 -> a
    32:32:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isToStringMethod(com.android.tools.r8.graph.DexMethod):1549:1549 -> a
    32:32:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):90 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isToStringMethod(com.android.tools.r8.graph.DexMethod):1549:1549 -> a
    33:33:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):90 -> a
    34:34:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    34:34:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):221 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    35:35:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):222:222 -> a
    35:35:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    36:36:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):225 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    37:37:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    37:37:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):225 -> a
    37:37:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    38:59:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):226:247 -> a
    38:59:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    60:60:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):78:78 -> a
    61:61:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1541:1541 -> a
    61:61:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1541:1541 -> a
    62:62:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):78 -> a
    63:63:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):180:180 -> a
    63:63:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    64:64:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    64:64:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):185 -> a
    64:64:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    65:74:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):186:195 -> a
    65:74:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    75:75:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():638:638 -> a
    75:75:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):195 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    75:75:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    76:76:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():638:638 -> a
    76:76:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):195 -> a
    76:76:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    77:79:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):196:196 -> a
    77:79:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    82:91:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):199:208 -> a
    82:91:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    92:92:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):73:73 -> a
    93:93:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    93:93:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):162 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:93:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):74 -> a
    94:99:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):163:168 -> a
    94:99:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):74 -> a
    100:100:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):58:58 -> a
    101:101:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    101:101:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    101:101:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    102:112:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):104:114 -> a
    102:112:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    113:113:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    113:113:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):114 -> a
    113:113:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    114:117:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod) -> a
    114:117:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    118:118:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    118:118:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):117 -> a
    118:118:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    119:120:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):117:118 -> a
    119:120:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    121:131:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):113:123 -> a
    121:131:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    132:132:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():37:37 -> a
    132:132:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):123 -> a
    132:132:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    133:137:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):123:127 -> a
    133:137:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    138:138:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):122:122 -> a
    138:138:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    1:1:com.android.tools.r8.graph.DexType getType():43:43 -> getType
com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection -> com.android.tools.r8.internal.TV:
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor) -> a
    void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set) -> a
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):19:19 -> a
    2:2:void com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):48:48 -> a
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):19 -> a
com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer -> com.android.tools.r8.internal.rW:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> c
    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> d
    1:6:void <init>(com.android.tools.r8.graph.AppView):51:56 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$000(com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer):44:44 -> a
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44:44 -> a
    3:5:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):80:82 -> a
    3:5:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    6:13:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):103:110 -> a
    6:13:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    6:13:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    14:14:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isAppendStringMethod(com.android.tools.r8.graph.DexMethod):2038:2038 -> a
    14:14:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):111 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    14:14:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    15:15:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isAppendObjectMethod(com.android.tools.r8.graph.DexMethod):2030:2030 -> a
    15:15:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):113 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    15:15:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    16:20:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):114:118 -> a
    16:20:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    16:20:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    21:21:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():37:37 -> a
    21:21:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):118 -> a
    21:21:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    21:21:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    22:23:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):118:119 -> a
    22:23:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    22:23:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    24:24:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    24:24:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):120 -> a
    24:24:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    24:24:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    25:26:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):120:121 -> a
    25:26:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    25:26:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    27:35:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):117:125 -> a
    27:35:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    27:35:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    36:36:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    36:36:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):125 -> a
    36:36:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    36:36:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    37:38:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):125:126 -> a
    37:38:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    37:38:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    39:39:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    39:39:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):127 -> a
    39:39:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    39:39:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    40:41:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):127:128 -> a
    40:41:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    40:41:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    42:56:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):124:138 -> a
    42:56:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    42:56:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    57:57:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    57:57:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):138 -> a
    57:57:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    57:57:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    58:58:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):139:139 -> a
    58:58:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    58:58:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    59:59:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    59:59:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):139 -> a
    59:59:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    59:59:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    60:60:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):139:139 -> a
    60:60:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    60:60:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    61:61:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    61:61:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):140 -> a
    61:61:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    61:61:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    62:64:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):140:142 -> a
    62:64:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    62:64:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    65:65:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):112:112 -> a
    65:65:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    65:65:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    66:66:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):90:90 -> a
    66:66:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    67:67:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeToString(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):150:150 -> a
    67:67:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):91 -> a
    67:67:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    68:81:boolean com.android.tools.r8.utils.ValueUtils.isNonNullStringBuilder(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):24:37 -> a
    68:81:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeToString(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):150 -> a
    68:81:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):91 -> a
    68:81:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    82:83:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeToString(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):151:152 -> a
    82:83:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):91 -> a
    82:83:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    84:84:com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor):61:61 -> a
    84:84:com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor):44 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods access$100(com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer):44:44 -> b
    1:1:com.android.tools.r8.graph.DexType getType():66:66 -> getType
com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State -> com.android.tools.r8.internal.qW:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap unusedBuilders -> b
    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> a
    com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer this$0 -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():157:157 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer,com.android.tools.r8.ir.conversion.MethodProcessor):163:163 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer,com.android.tools.r8.ir.conversion.MethodProcessor):161:164 -> <init>
    1:3:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):176:178 -> a
    4:41:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):188:225 -> a
    4:41:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    42:135:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):211:304 -> a
    42:135:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    136:143:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):263:270 -> a
    136:143:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    144:152:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):247:255 -> a
    144:152:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    153:153:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isConstructorMethod(com.android.tools.r8.graph.DexMethod):2042:2042 -> a
    153:153:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):255 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    153:153:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    154:154:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isConstructorMethod(com.android.tools.r8.graph.DexMethod):2042:2042 -> a
    154:154:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):255 -> a
    154:154:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    155:155:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):238:238 -> a
    155:155:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    156:156:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):180:180 -> a
    157:157:void lambda$computeIsUnusedBuilder$0(boolean,com.android.tools.r8.ir.code.Value):180:180 -> a
    1:5:boolean isUnusedBuilder(com.android.tools.r8.ir.code.Value):168:172 -> b
com.android.tools.r8.ir.optimize.library.StringMethodOptimizer -> com.android.tools.r8.internal.xW:
    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):32:34 -> <init>
    1:3:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):51:53 -> a
    4:10:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeVirtual):61:67 -> a
    4:10:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):53 -> a
    11:12:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):54:55 -> a
    13:13:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    13:13:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):77 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    14:14:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):78:78 -> a
    14:14:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    15:15:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):81 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    16:16:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    16:16:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):81 -> a
    16:16:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    17:30:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):82:95 -> a
    17:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    31:47:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):106:122 -> a
    48:48:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    48:48:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):122 -> a
    49:51:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):126:128 -> a
    52:52:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    52:52:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):128 -> a
    53:55:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):128:130 -> a
    1:1:com.android.tools.r8.graph.DexType getType():39:39 -> getType
com.android.tools.r8.ir.optimize.library.sideeffects.JavaLangObjectsSideEffectCollection -> com.android.tools.r8.internal.jv:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:20:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):22:41 -> a
    21:21:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):760:760 -> a
    21:21:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):760:760 -> a
    22:22:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):44 -> a
    23:28:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):49:54 -> a
com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo -> com.android.tools.r8.internal.H3:
    com.android.tools.r8.shaking.ProguardMemberRule rule -> b
    com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo$AssumeType type -> a
    1:3:void <init>(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo$AssumeType,com.android.tools.r8.shaking.ProguardMemberRule):26:28 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardMemberRuleReturnValue getReturnInfo():36:36 -> a
    2:2:com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo meet(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):48:48 -> a
    1:1:boolean hasReturnInfo():32:32 -> b
    1:1:boolean isAssumeNoSideEffects():40:40 -> c
    1:1:boolean isAssumeValues():44:44 -> d
    1:5:boolean equals(java.lang.Object):56:60 -> equals
    1:1:int hashCode():65:65 -> hashCode
com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfoLookup -> com.android.tools.r8.internal.I3:
    1:15:com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo lookupAssumeInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClassAndMember):35:49 -> a
com.android.tools.r8.ir.optimize.outliner.OutlineCollection -> com.android.tools.r8.internal.MK:
    java.util.Map canonicalization -> a
    java.util.Map outlines -> c
    com.android.tools.r8.graph.GraphLens appliedGraphLens -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens):33:33 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.GraphLens):28:34 -> <init>
    1:2:void remove(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):38:39 -> a
    3:9:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):44:50 -> a
    10:11:java.util.List com.android.tools.r8.ir.optimize.outliner.OutlineCollection.canonicalize(java.util.List):118:119 -> a
    10:11:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):50 -> a
    12:12:com.android.tools.r8.ir.optimize.OutlinerImpl$Outline com.android.tools.r8.ir.optimize.outliner.OutlineCollection.canonicalize(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):126:126 -> a
    12:12:java.util.List com.android.tools.r8.ir.optimize.outliner.OutlineCollection.canonicalize(java.util.List):120 -> a
    12:12:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):50 -> a
    13:13:java.util.List com.android.tools.r8.ir.optimize.outliner.OutlineCollection.canonicalize(java.util.List):120:120 -> a
    13:13:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):50 -> a
    14:14:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):50:50 -> a
    15:34:void rewriteWithLens(com.android.tools.r8.graph.GraphLens):55:74 -> a
    35:41:void lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List):62:68 -> a
    42:43:java.util.List rewriteOutlinesWithLens(java.util.List,com.android.tools.r8.graph.GraphLens):79:80 -> a
    44:44:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    44:44:java.util.List rewriteOutlinesWithLens(java.util.List,com.android.tools.r8.graph.GraphLens):80 -> a
    45:45:com.android.tools.r8.ir.optimize.OutlinerImpl$Outline lambda$rewriteOutlinesWithLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):80:80 -> a
    46:47:java.util.Map computeMethodsPerOutline(com.android.tools.r8.graph.AppView):96:97 -> a
    48:51:void lambda$computeMethodsPerOutline$2(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List):100:103 -> a
    52:61:void lambda$computeMethodsPerOutline$2(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List):102:111 -> a
    1:5:com.android.tools.r8.utils.collections.ProgramMethodSet computeMethodsSubjectToOutlining(com.android.tools.r8.graph.AppView):84:88 -> b
com.android.tools.r8.ir.optimize.outliner.Outliner -> com.android.tools.r8.internal.PK:
    1:1:void <init>():19:19 -> <init>
    void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing) -> a
    void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
    void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing) -> a
    void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.outliner.Outliner create(com.android.tools.r8.graph.AppView):22:22 -> a
    2:2:com.android.tools.r8.ir.optimize.outliner.Outliner com.android.tools.r8.ir.optimize.outliner.Outliner.empty():26:26 -> a
    2:2:com.android.tools.r8.ir.optimize.outliner.Outliner create(com.android.tools.r8.graph.AppView):22 -> a
    3:3:com.android.tools.r8.ir.optimize.outliner.Outliner empty():26:26 -> a
    void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
    void rewriteWithLens() -> b
com.android.tools.r8.ir.optimize.outliner.Outliner$1 -> com.android.tools.r8.internal.OK:
    1:1:void <init>():26:26 -> <init>
    void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing) -> a
    void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
    void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing) -> a
    void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens) -> a
    void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
    void rewriteWithLens() -> b
com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher -> com.android.tools.r8.internal.E4:
    1:1:java.util.List com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher.nonDestructivePeepholes():23:23 -> a
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):39 -> a
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):39:39 -> a
    3:3:java.util.List com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher.destructivePeepholes():30:30 -> a
    3:3:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):40 -> a
    4:4:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):40:40 -> a
    5:27:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):45:67 -> a
    28:28:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    28:28:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):67 -> a
    29:29:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    29:29:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    29:29:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):67 -> a
    30:42:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):67:79 -> a
    43:43:java.lang.Object com.android.tools.r8.ir.code.BasicBlockIterator.next():11:11 -> a
    43:43:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):81 -> a
com.android.tools.r8.ir.optimize.peepholes.BasicBlockPeephole -> com.android.tools.r8.internal.F4:
    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.internal.yh:
    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
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> d
    1:10:void <init>():28:37 -> <init>
    boolean resetAfterMatch() -> a
    1:1:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):31:31 -> a
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> a
    2:2:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):31 -> a
    3:3:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):31:31 -> a
    4:37:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):41:74 -> a
    38:38:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    38:38:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):75 -> a
    39:39:void com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper.resetPrevious(com.android.tools.r8.ir.code.InstructionListIterator,int):33:33 -> a
    39:39: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
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> b
    2:2:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):33 -> b
    3:3: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
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> c
    2:2:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):35 -> c
    3:3: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.internal.hC:
    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
    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):42:42 -> 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.internal.FD:
    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.internal.tF:
    com.android.tools.r8.ir.optimize.peepholes.Point firstLoad -> d
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> e
    com.android.tools.r8.ir.code.Instruction insertPosition -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.ir.code.Value local -> a
    int stackHeight -> b
    1:1:void <clinit>():33:33 -> <clinit>
    1:34:void <init>():33:66 -> <init>
    boolean resetAfterMatch() -> a
    1:2:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):42:43 -> a
    3:6:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):70:73 -> a
    7:30:boolean com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole.isPotentionalIncInstruction(com.android.tools.r8.ir.code.InstructionListIterator):107:130 -> a
    7:30:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):73 -> a
    31:31:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> a
    31:31:boolean com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole.isPotentionalIncInstruction(com.android.tools.r8.ir.code.InstructionListIterator):130 -> a
    31:31:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):73 -> a
    32:32:boolean com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole.isPotentionalIncInstruction(com.android.tools.r8.ir.code.InstructionListIterator):125:125 -> a
    32:32:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):73 -> a
    33:33:boolean com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole.isPotentionalIncInstruction(com.android.tools.r8.ir.code.InstructionListIterator):120:120 -> a
    33:33:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):73 -> a
    34:55:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):76:97 -> a
    56:56:void com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper.resetPrevious(com.android.tools.r8.ir.code.InstructionListIterator,int):33:33 -> a
    56:56:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):102 -> a
    1:1:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):51:51 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> b
    2:2:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):51 -> b
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> b
    3:3:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):51 -> b
    4:11:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):51:58 -> b
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> b
    12:12:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):59 -> b
    13:13:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):60:60 -> b
com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression -> com.android.tools.r8.internal.tL:
    java.util.function.Predicate getPredicate() -> a
    int getMin() -> b
    int getMax() -> c
com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper -> com.android.tools.r8.internal.uL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:java.util.function.Predicate withoutLocalInfo(java.util.function.Predicate):17:17 -> a
    2:4:boolean lambda$withoutLocalInfo$0(java.util.function.Predicate,com.android.tools.r8.ir.code.Instruction):18:20 -> a
    5:5:com.android.tools.r8.ir.code.Instruction resetNext(com.android.tools.r8.ir.code.InstructionListIterator,int):26:26 -> a
    6:7:int numberOfValuesConsumedFromStack(com.android.tools.r8.ir.code.Instruction):49:50 -> a
    8:22:void moveInstructionsUpToCurrentPosition(com.android.tools.r8.ir.code.InstructionListIterator,java.util.List):59:73 -> a
    23:23:boolean lambda$moveInstructionsUpToCurrentPosition$1(java.util.List,com.android.tools.r8.ir.code.Instruction):66:66 -> a
    1:4:int numberOfValuesPutOnStack(com.android.tools.r8.ir.code.Instruction):38:41 -> b
    5:5:boolean lambda$moveInstructionsUpToCurrentPosition$2(java.util.List,com.android.tools.r8.ir.code.Instruction):72:72 -> b
com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout -> com.android.tools.r8.internal.vL:
    com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[] expressions -> b
    java.util.List instructions -> a
    boolean backwards -> c
    1:8:void <init>(boolean,com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[]):18:25 -> <init>
    1:1:com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout lookBackward(com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[]):33:33 -> a
    2:5:com.android.tools.r8.ir.optimize.peepholes.Match test(com.android.tools.r8.ir.code.InstructionListIterator):37:40 -> a
    6:42:com.android.tools.r8.ir.optimize.peepholes.Match testDirection(java.util.function.Supplier,java.util.function.Supplier,java.lang.Runnable):48:84 -> a
    1:1:com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout lookForward(com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[]):29:29 -> b
com.android.tools.r8.ir.optimize.peepholes.Point -> com.android.tools.r8.internal.EL:
    java.util.function.Predicate predicate -> a
    int index -> b
    boolean $assertionsDisabled -> 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>
    1:1:java.util.function.Predicate getPredicate():21:21 -> a
    2:2:com.android.tools.r8.ir.code.Instruction get(com.android.tools.r8.ir.optimize.peepholes.Match):41:41 -> a
    int getMin() -> b
    int getMax() -> c
    1:2:void setIndex(int):36:37 -> setIndex
com.android.tools.r8.ir.optimize.peepholes.RemoveDebugPositionPeephole -> com.android.tools.r8.internal.fS:
    com.android.tools.r8.ir.optimize.peepholes.Point secondInstructionExp -> b
    com.android.tools.r8.ir.optimize.peepholes.Point debugPositionExp -> a
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():38:38 -> <clinit>
    1:11:void <init>():38:48 -> <init>
    boolean lambda$match$0(com.android.tools.r8.ir.code.DebugPosition,com.android.tools.r8.ir.code.Instruction) -> a
    boolean resetAfterMatch() -> a
    1:33:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):52:84 -> a
com.android.tools.r8.ir.optimize.peepholes.StoreLoadPeephole -> com.android.tools.r8.internal.gW:
    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.internal.hW:
    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
    com.android.tools.r8.ir.optimize.peepholes.Wildcard dupsExp -> c
    boolean $assertionsDisabled -> e
    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:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> a
    2:2:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):37 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isDup2():0:0 -> a
    3:3:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):37 -> a
    4:23:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):43:62 -> a
    24:24:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> a
    24:24:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):62 -> a
    25:43:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):62:80 -> a
com.android.tools.r8.ir.optimize.peepholes.StoreSequenceLoadPeephole -> com.android.tools.r8.internal.iW:
    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
    com.android.tools.r8.ir.optimize.peepholes.Point loadExp -> e
    com.android.tools.r8.ir.optimize.peepholes.Wildcard seqExp -> d
    int stackHeight -> b
    1:48:void <init>():34:81 -> <init>
    boolean lambda$match$3(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):42:42 -> a
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> a
    2:2:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):42 -> a
    3:9:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):43:49 -> a
    10:50:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):85:125 -> a
    51:51:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    51:51:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):125 -> a
    52:52:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):126:126 -> a
    1:1:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):56:56 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> b
    2:2:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):56 -> b
    3:12:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):56:65 -> b
    1:2:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):72:73 -> c
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> c
    3:3:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):73 -> c
    4:5:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):74:75 -> c
com.android.tools.r8.ir.optimize.peepholes.Wildcard -> com.android.tools.r8.internal.i20:
    java.util.function.Predicate predicate -> a
    int index -> b
    boolean $assertionsDisabled -> 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>
    1:1:java.util.function.Predicate getPredicate():22:22 -> a
    2:2:java.util.List get(com.android.tools.r8.ir.optimize.peepholes.Match):42:42 -> a
    int getMin() -> b
    int getMax() -> c
    1:2:void setIndex(int):37:38 -> setIndex
com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis -> com.android.tools.r8.ir.optimize.string.c:
com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl -> com.android.tools.r8.ir.optimize.string.a:
    java.util.Set liveAppendInstructions -> a
    com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl BOTTOM -> b
    1:1:void <clinit>():53:53 -> <clinit>
    2:2:void <init>():60:60 -> <clinit>
    2:2:void <clinit>():53 -> <clinit>
    3:3:void <clinit>():53:53 -> <clinit>
    1:2:void <init>(java.util.Set):63:64 -> <init>
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):51:51 -> a
    2:10:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl join(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):89:97 -> a
    2:10:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):51 -> a
    11:11:boolean isAppendInstructionLive(com.android.tools.r8.ir.code.InvokeVirtual):79:79 -> a
    11:11:boolean access$100(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:boolean isAppendInstructionLive(com.android.tools.r8.ir.code.InvokeVirtual):79:79 -> a
    12:12:boolean access$100(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51 -> a
    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl addLiveAppendInstruction(com.android.tools.r8.ir.code.InvokeVirtual):72:72 -> b
    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl access$200(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:4:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl addLiveAppendInstruction(com.android.tools.r8.ir.code.InvokeVirtual):73:75 -> b
    2:4:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl access$200(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51 -> b
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> c
    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl bottom():68:68 -> d
    1:5:boolean equals(java.lang.Object):102:106 -> equals
    1:1:int hashCode():111:111 -> hashCode
com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$TransferFunction -> com.android.tools.r8.ir.optimize.string.b:
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration configuration -> b
    com.android.tools.r8.ir.code.Value builder -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():124:124 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$1):124:124 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):129:131 -> <init>
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124:124 -> a
    2:3:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):137:138 -> a
    2:3:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
    4:6:boolean isAppendOnBuilder(com.android.tools.r8.ir.code.InvokeMethod):160:162 -> a
    4:6:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeMethod):145 -> a
    4:6:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):138 -> a
    4:6:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
    7:12:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeMethod):146:151 -> a
    7:12:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):138 -> a
    7:12:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
    13:15:boolean isToStringOnBuilder(com.android.tools.r8.ir.code.InvokeMethod):166:168 -> a
    13:15:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeMethod):153 -> a
    13:15:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):138 -> a
    13:15:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
    16:16:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeMethod):154:154 -> a
    16:16:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):138 -> a
    16:16:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration -> com.android.tools.r8.ir.optimize.string.d:
    boolean isAppendMethod(com.android.tools.r8.graph.DexMethod) -> a
    boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType) -> a
    boolean isBuilderInitWithInitialValue(com.android.tools.r8.ir.code.InvokeMethod) -> a
    boolean isBuilderType(com.android.tools.r8.graph.DexType) -> a
    boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod) -> a
    boolean isBuilderInit(com.android.tools.r8.graph.DexMethod) -> b
    boolean isToStringMethod(com.android.tools.r8.graph.DexMethod) -> c
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer -> com.android.tools.r8.ir.optimize.string.e:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    int numberOfBuildersSimplified -> n
    int numberOfBuildersWithNonDeterministicArg -> l
    com.android.tools.r8.graph.AppView appView -> a
    int numberOfDeadBuilders -> m
    int numberOfBuildersWithUnsupportedArg -> j
    int numberOfBuildersWithMergingPoints -> k
    int numberOfBuildersWhoseResultIsInterned -> h
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration optimizationConfiguration -> d
    int numberOfBuildersWithNonTrivialStateChange -> i
    int numberOfBuildersWithoutToString -> f
    int numberOfBuildersThatEscape -> g
    int numberOfBuildersWithMultipleToString -> e
    boolean $assertionsDisabled -> s
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfAppendChains -> o
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfEndResult -> p
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfPartialAppendChains -> q
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfPartialResult -> r
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis analysis -> c
    1:1:void <clinit>():84:84 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):108:108 -> <init>
    2:31:void <init>(com.android.tools.r8.graph.AppView):93:122 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap access$1000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> a
    2:4:void logResults():127:129 -> a
    5:8:void logResults():128:131 -> a
    9:12:void logResults():130:133 -> a
    13:16:void logResults():132:135 -> a
    17:20:void logResults():134:137 -> a
    21:24:void logResults():136:139 -> a
    25:28:void logResults():138:141 -> a
    29:32:void logResults():140:143 -> a
    33:61:void logResults():142:170 -> a
    62:64:void lambda$logResults$0(java.lang.Integer,java.lang.Integer):149:149 -> a
    65:80:void computeTrivialStringConcatenation(com.android.tools.r8.ir.code.IRCode):182:197 -> a
    81:81:boolean lambda$computeTrivialStringConcatenation$4(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):189:189 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap access$1100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> b
    2:4:void lambda$logResults$1(java.lang.Integer,java.lang.Integer):156:156 -> b
    1:1:int access$1208(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> c
    2:4:void lambda$logResults$2(java.lang.Integer,java.lang.Integer):164:164 -> c
    1:1:int access$1308(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> d
    2:5:void lambda$logResults$3(java.lang.Integer,java.lang.Integer):173:176 -> d
    6:6:void lambda$logResults$3(java.lang.Integer,java.lang.Integer):172:172 -> d
    1:1:int access$1408(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> e
    1:1:int access$1508(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> f
    1:1:int access$1608(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> g
    1:1:int access$1708(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> h
    1:1:int access$1808(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> i
    1:1:int access$1908(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> j
    1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> k
    1:1:int access$408(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> l
    1:1:int access$508(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> m
    1:1:com.android.tools.r8.graph.DexItemFactory access$700(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> n
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap access$800(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> o
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap access$900(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> p
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState -> com.android.tools.r8.ir.optimize.string.e$a:
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState previous -> a
    java.util.Set nexts -> c
    java.lang.String addition -> b
    1:4:void <init>():1002:1005 -> <init>
    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createRoot():1009:1009 -> a
    2:8:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createChild(java.lang.String):1013:1019 -> a
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$DefaultStringBuilderOptimizationConfiguration -> com.android.tools.r8.ir.optimize.string.f:
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():822:822 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):822:822 -> <init>
    1:2:boolean isBuilderType(com.android.tools.r8.graph.DexType):826:827 -> a
    3:4:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):832:833 -> a
    5:5:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2854:2854 -> a
    5:5:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):833 -> a
    6:8:boolean isBuilderInitWithInitialValue(com.android.tools.r8.ir.code.InvokeMethod):844:846 -> a
    9:10:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):851:852 -> a
    11:29:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):857:875 -> a
    30:30:boolean canHandleArgumentType(com.android.tools.r8.graph.DexType):891:891 -> a
    30:30:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):876 -> a
    1:2:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):838:839 -> b
    3:3:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2854:2854 -> b
    3:3:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):839 -> b
    1:4:boolean isToStringMethod(com.android.tools.r8.graph.DexMethod):883:886 -> c
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringBuilderOptimizerEscapeAnalysisConfiguration -> com.android.tools.r8.ir.optimize.string.g:
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> b
    com.android.tools.r8.graph.DexType builderType -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():895:895 -> <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):895:895 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.Value):899:902 -> <init>
    1:1:void logEscapingRoute(boolean):907:907 -> a
    2: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):917:926 -> a
    12:12:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    12:12: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):927 -> a
    13: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):928:991 -> a
    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):918:918 -> a
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis -> com.android.tools.r8.ir.optimize.string.e$b:
    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
    1:1:void <clinit>():200:200 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):214:214 -> <init>
    2:377:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):212:587 -> <init>
    378:378:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):215:215 -> <init>
    1:1:java.util.Set access$000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis):200:200 -> a
    2:24:java.util.Set findAllLocalBuilders():226:248 -> a
    25:27:java.util.Set collectAllLinkedBuilders(com.android.tools.r8.ir.code.Value):261:263 -> a
    25:27:java.util.Set findAllLocalBuilders():249 -> a
    28:36:java.util.Set findAllLocalBuilders():249:257 -> a
    37:45:void collectAllLinkedBuilders(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):268:276 -> a
    46:46:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):284:284 -> a
    46:46:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
    47:47:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):284:284 -> a
    47:47:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):284:284 -> a
    48:48:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
    50:50:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):286:286 -> a
    50:50:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):286:286 -> a
    51:51:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
    54:54:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):289:289 -> a
    54:54:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:73:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):289:307 -> a
    55:73:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
    74:74:java.util.Map createBuilderState(com.android.tools.r8.ir.code.Value):316:316 -> a
    75:75:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):350:350 -> a
    75:75:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    76:76:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):350:350 -> a
    76:76:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:105:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):350:378 -> a
    77:105:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    106:106:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
    106:106:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):379 -> a
    106:106:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    107:136:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):380:409 -> a
    107:136:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    137:137:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
    137:137:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):410 -> a
    137:137:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    138:151:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):411:424 -> a
    138:151:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    152:152:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
    152:152:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):427 -> a
    152:152:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    153:161:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):428:436 -> a
    153:161:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    162:166:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):446:450 -> a
    167:167:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    167:167:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):450 -> a
    168:194:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):451:477 -> a
    195:202:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState findDominantState(com.android.tools.r8.ir.code.DominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction):534:541 -> a
    203:222:void logHistogramOfChains(java.util.List,boolean):549:568 -> a
    223:239:void logHistogramOfChains(java.util.List,boolean):563:579 -> a
    240:240:void logHistogramOfChains(java.util.List,boolean):574:574 -> a
    241:242:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):590:591 -> a
    243:243:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    243:243:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):591 -> a
    244:278:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):592:626 -> a
    279:282:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):625:628 -> a
    283:283:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    283:283:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):628 -> a
    284:285:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):629:630 -> a
    286:290:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):603:607 -> a
    291:294:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):605:608 -> a
    295:295:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    295:295:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):608 -> a
    296:320:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):610:634 -> a
    321:321:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    321:321:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):634 -> a
    322:322:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):634:634 -> a
    323:349:boolean isToStringOfInterest(java.util.Set,com.android.tools.r8.ir.code.Instruction):640:666 -> a
    323:349:boolean lambda$applyConcatenationResults$1(java.util.Set,com.android.tools.r8.ir.code.Instruction):593 -> a
    350:395:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):678:723 -> a
    396:399:boolean com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis.hasAppendInstructionInLoop(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):43:46 -> a
    396:399:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):723 -> a
    400:400:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult.isFailedAnalysisResult():0:0 -> a
    400:400:boolean com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis.hasAppendInstructionInLoop(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):47 -> a
    400:400:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):723 -> a
    401:401:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):727:727 -> 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):200:200 -> b
    2:40:java.lang.Number extractConstantNumber(com.android.tools.r8.ir.code.Value):484:522 -> b
    41:49:void removeTrivialBuilders():731:739 -> b
    50:50:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    50:50:void removeTrivialBuilders():739 -> b
    51:59:void removeTrivialBuilders():741:749 -> b
    60:60:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    60:60:void removeTrivialBuilders():749 -> b
    61:83:void removeTrivialBuilders():753:775 -> b
    84:84:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    84:84:void removeTrivialBuilders():775 -> b
    85:100:void removeTrivialBuilders():776:791 -> b
    101:101:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    101:101:void removeTrivialBuilders():795 -> b
    102:112:void removeTrivialBuilders():795:805 -> b
    113:113:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    113:113:void removeTrivialBuilders():805 -> b
    114:124:void removeTrivialBuilders():806:816 -> b
    125:125:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
    125:125:void removeTrivialBuilders():816 -> b
    126:128:void removeTrivialBuilders():816:818 -> b
    1:1:java.util.Map lambda$createBuilderState$0(com.android.tools.r8.ir.code.Value):316:316 -> c
com.android.tools.r8.ir.optimize.string.StringOptimizer -> com.android.tools.r8.internal.zW:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap numberOfComputedNames -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap numberOfDeferredComputationOfNames -> e
    int numberOfSimplifiedConversions -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfNames -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfDeferredNames -> g
    int numberOfSimplifiedOperations -> c
    1:1:void <clinit>():47:47 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):59:59 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.AppView):52:71 -> <init>
    1:3:void logResult():76:78 -> a
    4:7:void logResult():77:80 -> a
    8:34:void logResult():79:105 -> a
    35:37:void lambda$logResult$0(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping,java.lang.Integer):84:84 -> a
    38:40:void lambda$logResult$2(java.lang.Integer,java.lang.Integer):98:98 -> a
    41:44:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):131:134 -> a
    45:45:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    45:45:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):135 -> a
    46:62:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):136:152 -> a
    63:63:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    63:63:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):153 -> a
    64:97:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):154:187 -> a
    98:101:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):186:189 -> a
    102:102:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    102:102:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):189 -> a
    103:109:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):190:196 -> a
    110:110:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    110:110:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):196 -> a
    111:115:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):199:203 -> a
    116:119:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):202:205 -> a
    120:120:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    120:120:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):205 -> a
    121:169:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):206:254 -> a
    170:170:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    170:170:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):255 -> a
    171:180:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):256:265 -> a
    181:181:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    181:181:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):266 -> a
    182:184:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):268:270 -> a
    185:185:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    185:185:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):271 -> a
    186:189:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):272:275 -> a
    190:190:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    190:190:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):276 -> a
    191:199:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):278:286 -> a
    200:200:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    200:200:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):287 -> a
    201:201:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):290:290 -> a
    202:202:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    202:202:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):291 -> a
    203:204:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):294:295 -> a
    205:205:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    205:205:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):295 -> a
    206:206:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):295:295 -> a
    207:210:java.lang.Integer lambda$computeTrivialOperationsOnConstString$4(com.android.tools.r8.graph.DexString):216:219 -> a
    211:211:java.lang.Integer lambda$computeTrivialOperationsOnConstString$10(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):233:233 -> a
    212:212:java.lang.Integer lambda$computeTrivialOperationsOnConstString$13(com.android.tools.r8.graph.DexString,java.lang.Integer):239:239 -> a
    213:213:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):301:301 -> a
    214:214:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    214:214:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):302 -> a
    215:222:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):303:310 -> a
    223:223:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    223:223:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):310 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    224:224:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    224:224:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):310 -> a
    225:244:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):314:333 -> a
    245:245:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    245:245:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):334 -> a
    246:322:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):335:411 -> a
    323:324:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):393:394 -> a
    325:325:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    325:325:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):395 -> a
    326:353:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):414:441 -> a
    354:356:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):440:442 -> a
    357:357:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    357:357:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):443 -> a
    358:364:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.graph.DexString):469:475 -> a
    358:364:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):444 -> a
    365:365:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):446:446 -> a
    366:366:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    366:366:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):447 -> a
    367:368:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.ir.code.DexItemBasedConstString):490:491 -> a
    367:368:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):448 -> a
    369:369:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    369:369:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.ir.code.DexItemBasedConstString):491 -> a
    369:369:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):448 -> a
    370:377:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.ir.code.DexItemBasedConstString):491:498 -> a
    370:377:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):448 -> a
    378:379:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):453:454 -> a
    380:380:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    380:380:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):454 -> a
    381:381:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):454:454 -> a
    382:387:void logDeferredNameComputation(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):480:485 -> a
    1:3:void lambda$logResult$1(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping,java.lang.Integer):91:91 -> b
    4:6:void lambda$logResult$3(java.lang.Integer,java.lang.Integer):106:106 -> b
    7:7:java.lang.Integer lambda$computeTrivialOperationsOnConstString$5(com.android.tools.r8.graph.DexString):223:223 -> b
    8:8:java.lang.Integer lambda$computeTrivialOperationsOnConstString$11(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):235:235 -> b
    9:9:java.lang.Integer lambda$computeTrivialOperationsOnConstString$15(com.android.tools.r8.graph.DexString,java.lang.Integer):243:243 -> b
    10:15:void logNameComputation(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):459:464 -> b
    16:16:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):506:506 -> b
    17:17:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    17:17:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):507 -> b
    18:20:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):508:510 -> b
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> b
    21:21:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):510 -> b
    22:38:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):511:527 -> b
    39:41:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):526:528 -> b
    42:42:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction) -> b
    42:42:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):529 -> b
    43:80:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):530:567 -> b
    81:81:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
    81:81:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):567 -> b
    82:82:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):567:567 -> b
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$6(com.android.tools.r8.graph.DexString):225:225 -> c
    2:2:java.lang.Integer lambda$computeTrivialOperationsOnConstString$12(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):237:237 -> c
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$14(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):241:241 -> d
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$16(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):245:245 -> e
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$17(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):247:247 -> f
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$18(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):249:249 -> g
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$7(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):227:227 -> h
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$8(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):229:229 -> i
    2:2:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> i
    2:2:java.lang.Integer lambda$computeTrivialOperationsOnConstString$8(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):229 -> i
    3:3:java.lang.Integer lambda$computeTrivialOperationsOnConstString$8(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):229:229 -> i
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$9(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):231:231 -> j
com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration -> com.android.tools.r8.internal.yW:
    com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration INSTANCE -> a
    1:1:void <clinit>():574:574 -> <clinit>
    1:1:void <init>():577:577 -> <init>
    1:1:com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration getInstance():580:580 -> a
    2:22: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):589:609 -> a
com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations -> com.android.tools.r8.internal.T8:
    1:4:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):35:38 -> a
    5:25:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):44:64 -> a
    26:36:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):61:71 -> a
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    37:37:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):71 -> a
    38:39:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):71:72 -> a
    40:64:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):52:76 -> a
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    65:65:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):76 -> a
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    66:66:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):76 -> a
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    67:67:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):76 -> a
    1:20:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):151:170 -> b
    21:31:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):167:177 -> b
    32:32:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    32:32:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):177 -> b
    33:34:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):177:178 -> b
    35:58:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):159:182 -> b
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> b
    59:59:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):182 -> b
    60:60:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> b
    60:60:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b
    60:60:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):182 -> b
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> b
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> b
    61:61:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):182 -> b
com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization -> com.android.tools.r8.internal.q9:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> d
    com.android.tools.r8.utils.collections.SortedProgramMethodSet candidatesForInstanceOfOptimization -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    1:4:void <clinit>():37:40 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):49:49 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):46:52 -> <init>
    1:4:void addCandidateForOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.conversion.MethodProcessor):57:60 -> a
    5:6:boolean com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization.isCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.AbstractValue):73:74 -> a
    5:6:void addCandidateForOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.conversion.MethodProcessor):61 -> a
    7:12:void addCandidateForOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.conversion.MethodProcessor):62:67 -> a
    13:17:void com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization.execute(com.android.tools.r8.ir.conversion.MethodProcessor):78:82 -> a
    13:17:void lambda$addCandidateForOptimization$0(com.android.tools.r8.ir.conversion.MethodProcessor):64 -> a
    18:29:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):89:100 -> a
    30:41:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization.resolveOnSuperClass(com.android.tools.r8.graph.ProgramMethod):170:181 -> a
    30:41:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):104 -> a
    42:75:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):105:138 -> a
    76:76:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):137:137 -> a
    77:107:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):136:166 -> a
    108:108:void lambda$processCandidateForInstanceOfOptimization$1(java.util.BitSet):145:145 -> a
    109:109:void lambda$processCandidateForInstanceOfOptimization$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):153:153 -> a
com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator -> com.android.tools.r8.ir.regalloc.b:
    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
    int numberOfArgumentRegisters -> c
    com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode mode -> g
    boolean $assertionsDisabled -> r
    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
    1:1:void <clinit>():89:89 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):191:191 -> <init>
    2:57:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):145:200 -> <init>
    void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List) -> a
    1:4:boolean com.android.tools.r8.ir.regalloc.RegisterPositions.isBlocked(int,boolean):34:37 -> a
    1:4:int getLargestCandidate(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1924 -> a
    5:19:int getLargestCandidate(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1924:1938 -> a
    20:23:boolean com.android.tools.r8.ir.regalloc.RegisterPositions.isBlocked(int,boolean):34:37 -> a
    20:23:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1840 -> a
    24:36:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1843:1855 -> a
    37:39:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> a
    37:39:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1858 -> a
    40:40:void allocateRegisters():209:209 -> a
    41:50:boolean noLinkedValues():3203:3212 -> a
    41:50:void allocateRegisters():209 -> a
    51:51:boolean noLinkedValues():3211:3211 -> a
    51:51:void allocateRegisters():209 -> a
    52:53:void allocateRegisters():210:211 -> a
    54:102:void transformBridgeMethod():2740:2788 -> a
    54:102:void allocateRegisters():212 -> a
    103:106:void computeNeedsRegister():3008:3011 -> a
    103:106:void allocateRegisters():214 -> a
    107:107:void constrainArgumentIntervals():2985:2985 -> a
    107:107:void allocateRegisters():215 -> a
    108:114:void createArgumentLiveIntervals(java.util.List):2959:2965 -> a
    108:114:void constrainArgumentIntervals():2986 -> a
    108:114:void allocateRegisters():215 -> a
    115:123:void linkArgumentValuesAndIntervals(java.util.List):2971:2979 -> a
    115:123:void constrainArgumentIntervals():2987 -> a
    115:123:void allocateRegisters():215 -> a
    124:134:void insertRangeInvokeMoves():2991:3001 -> a
    124:134:void allocateRegisters():216 -> a
    135:136:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():638:639 -> a
    135:136:void allocateRegisters():217 -> a
    137:151:void computeLiveRanges():2562:2576 -> a
    137:151:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():640 -> a
    137:151:void allocateRegisters():217 -> a
    152:152:void performAllocation():647:647 -> a
    152:152:void allocateRegisters():218 -> a
    153:153:void allocateRegisters():219:219 -> a
    154:154:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    154:154:void allocateRegisters():219 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    155:166:void allocateRegisters():220:231 -> a
    167:167:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    167:167:void allocateRegisters():231 -> a
    168:170:void allocateRegisters():232:234 -> a
    171:171:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> a
    171:171:void allocateRegisters():234 -> a
    172:177:void allocateRegisters():235:240 -> a
    178:183:void clearState():541:546 -> a
    178:183:void allocateRegisters():241 -> a
    184:202: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):251:269 -> a
    203:217: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):267:281 -> a
    218:218:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    218:218: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):281 -> a
    219:219: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):282:282 -> a
    220:220:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    220:220: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):282 -> a
    221:274: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):285:338 -> a
    275:275:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
    275:275: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):338 -> a
    276:278: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):339:341 -> a
    279:287: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:472 -> a
    279:287: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):346 -> a
    288:288:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
    288:288: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 -> a
    288:288: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):346 -> a
    289:289: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):474:474 -> a
    289:289: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):346 -> a
    290:290:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    290:290: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):474 -> a
    290:290: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):346 -> a
    291:305: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):475:489 -> a
    291:305: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):346 -> a
    306:306:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    306:306: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):489 -> a
    306:306: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):346 -> a
    307:307: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):490:490 -> a
    307:307: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):346 -> a
    308:308:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    308:308: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):490 -> a
    308:308: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):346 -> a
    309:316: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):491:498 -> a
    309:316: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):346 -> a
    317:317:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    317:317: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):501 -> a
    317:317: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):346 -> a
    318:320: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):501:503 -> a
    318:320: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):346 -> a
    321:321: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
    321:321: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):346 -> a
    322:322:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    322:322: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
    322:322: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):346 -> a
    323:325: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:467 -> a
    323:325: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):346 -> a
    326:327:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    326:327:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    326:327: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):467 -> a
    326:327: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):346 -> a
    328:328: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):467:467 -> a
    328:328: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):346 -> a
    329:351: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):349:371 -> a
    352:352:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> a
    352:352: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):373 -> a
    353:399: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):374:420 -> a
    400:400:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    400:400: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):420 -> a
    401:401: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):421:421 -> a
    402:402:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    402:402: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):421 -> a
    403:403:int lambda$computeDebugInfo$0(com.android.tools.r8.ir.regalloc.LiveRange):263:263 -> a
    404:405:boolean lambda$computeDebugInfo$2(java.util.Set,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):321:322 -> a
    406:406:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428:428 -> a
    407:408:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):433:434 -> a
    407:408:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    409:409:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):439:439 -> a
    409:409:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    409:409:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    410:416:boolean valuesContain(com.android.tools.r8.ir.code.Value,java.util.Collection):444:450 -> a
    410:416:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):439 -> a
    410:416:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    410:416:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    417:417:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):440:440 -> a
    417:417:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    417:417:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    418:424:boolean valuesContain(com.android.tools.r8.ir.code.Value,java.util.Collection):444:450 -> a
    418:424:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):440 -> a
    418:424:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    418:424:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    425:448: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:534 -> a
    449:468: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):517:536 -> a
    469:470:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):626:627 -> a
    471:472:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):804:805 -> a
    471:472:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):627 -> a
    473:473:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):629:629 -> a
    474:474:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):771:771 -> a
    475:475:boolean com.android.tools.r8.ir.code.Value.isFixedRegisterValue():0:0 -> a
    475:475:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):772 -> a
    476:478:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):776:778 -> a
    479:517:boolean invariantsHold(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):990:1028 -> a
    518:519:void lambda$invariantsHold$3(java.util.TreeSet,int):998:999 -> a
    520:526:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1183:1189 -> a
    527:527:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    527:527:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1190 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    528:528:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1191:1191 -> a
    529:539:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1188:1198 -> a
    540:543:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1246:1249 -> a
    540:543:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1201 -> a
    544:544:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    544:544:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1253 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    544:544:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1201 -> a
    545:545:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1252:1252 -> a
    545:545:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1201 -> a
    546:546:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1202:1202 -> a
    547:560:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1200:1213 -> a
    561:561:int getFreeConsecutiveRegisters(int):3046:3046 -> a
    561:561:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1214 -> a
    562:563:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1216:1217 -> a
    564:569:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1051:1056 -> a
    564:569:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1217 -> a
    570:570:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1055:1055 -> a
    570:570:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1217 -> a
    571:571:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1054:1054 -> a
    571:571:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1217 -> a
    572:585:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1219:1232 -> a
    586:610:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1215:1239 -> a
    611:630:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1275:1294 -> a
    631:638:boolean registersAreFreeAndConsecutive(int,boolean):3102:3109 -> a
    631:638:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1294 -> a
    639:664:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1295:1320 -> a
    665:667:boolean registerIsFree(int):3179:3179 -> a
    665:667:boolean registersAreFree(int,boolean):3186 -> a
    665:667:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1320 -> a
    668:668:boolean registerIsFree(int):3180:3180 -> a
    668:668:boolean registersAreFree(int,boolean):3186 -> a
    668:668:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1320 -> a
    669:669:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1320:1320 -> a
    670:700:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1336:1366 -> a
    701:701:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    701:701:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1367 -> a
    702:718:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1374:1390 -> a
    719:720:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1866:1867 -> a
    721:751:void updateRegisterHints(com.android.tools.r8.ir.regalloc.LiveIntervals):1872:1902 -> a
    721:751:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1868 -> a
    752:764: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.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1963:1975 -> a
    765:765: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.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2745,"2":2746,"3":2747,"4":2748,"5":2749}}
    2745:2745: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.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2746:2746: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.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2747:2747: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.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2748:2748: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.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2749:2749: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.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2740:2744: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.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1979 -> a
    2750:2780: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):1999:2029 -> a
    2781:2781:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2236:2236 -> a
    2782:2782:boolean atLeastOneOfRegistersAreTaken(int,boolean):3199:3199 -> a
    2782:2782:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2237 -> a
    2783:2829:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2237:2283 -> a
    2830:2852:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2352:2374 -> a
    2830:2852:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2286 -> a
    2853:2853:int toGapPosition(int):1402:1402 -> a
    2853:2853:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2374 -> a
    2853:2853:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2286 -> a
    2854:2867:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2374:2387 -> a
    2854:2867:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2286 -> a
    2868:2868:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2287:2287 -> a
    2869:2876:void splitRangesForSpilledArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):2300:2307 -> a
    2869:2876:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2288 -> a
    2877:2905:void splitRangesForSpilledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2314:2342 -> a
    2877:2905:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2290 -> a
    2906:2907:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2295:2296 -> a
    2908:2910:boolean registerIsFree(int):3179:3179 -> a
    2908:2910:boolean registersAreFree(int,boolean):3186 -> a
    2908:2910:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2296 -> a
    2911:2911:boolean registerIsFree(int):3180:3180 -> a
    2911:2911:boolean registersAreFree(int,boolean):3186 -> a
    2911:2911:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2296 -> a
    2912:2912:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2296:2296 -> a
    2913:2915: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):2396:2398 -> a
    2916:2916:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    2916:2916: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):2399 -> a
    2917:2925: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):2400:2408 -> a
    2926:2926: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):2407:2407 -> a
    2927:2962: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):2516:2551 -> a
    2963:2963:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    2963:2963:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2963:2963: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):2551 -> a
    2964:2964:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    2964:2964:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
    2964:2964: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):2551 -> a
    2965:2971: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):2551:2557 -> a
    2972:2972:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2590:2590 -> a
    2973:2973:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    2973:2973:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2592 -> a
    2974:2974:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    2974:2974:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2593 -> a
    2975:2975:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    2975:2975:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2594 -> a
    2976:2984:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2595:2603 -> a
    2985:2985:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> a
    2985:2985:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2602 -> a
    2986:2986:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2605:2605 -> a
    2987:2987:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> a
    2987:2987:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2605 -> a
    2988:2991:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2609:2612 -> a
    2992:2992:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> a
    2992:2992:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2615 -> a
    2993:3020:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2616:2643 -> a
    3021:3027:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2640:2646 -> a
    3028:3028:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    3028:3028:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2646 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3029:3029:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    3029:3029:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2646 -> a
    3030:3037:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2646:2653 -> a
    3038:3038:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    3038:3038:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3038:3038:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2653 -> a
    3039:3039:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    3039:3039:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
    3039:3039:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2653 -> a
    3040:3077:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2653:2690 -> a
    3078:3079:int getLiveRangeEndOnExceptionalFlow(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):2719:2720 -> a
    3078:3079:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2694 -> a
    3080:3099:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2691:2710 -> a
    3100:3122:boolean implementationIsBridge(com.android.tools.r8.ir.code.IRCode):2796:2818 -> a
    3123:3123:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2840:2840 -> a
    3124:3128:boolean argumentsAreAlreadyLinked(com.android.tools.r8.ir.code.Invoke):2945:2949 -> a
    3124:3128:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2840 -> a
    3129:3162:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2841:2874 -> a
    3163:3164:boolean com.android.tools.r8.ir.code.Value.hasRegisterConstraint():737:738 -> a
    3163:3164:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2876 -> a
    3165:3165:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2877:2877 -> a
    3166:3167:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement):2825:2826 -> a
    3166:3167:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2877 -> a
    3168:3169:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2878:2879 -> a
    3170:3173:void replaceArgument(com.android.tools.r8.ir.code.Invoke,int,com.android.tools.r8.ir.code.Value):2831:2834 -> a
    3170:3173:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2880 -> a
    3174:3198:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2882:2906 -> a
    3199:3225:void generateArgumentMovesAtDefinitions(com.android.tools.r8.ir.code.Invoke,java.util.PriorityQueue,com.android.tools.r8.ir.code.InstructionListIterator):2914:2940 -> a
    3199:3225:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2907 -> a
    3226:3226:int lambda$generateArgumentMoves$5(com.android.tools.r8.ir.code.Move,com.android.tools.r8.ir.code.Move):2848:2848 -> a
    3227:3249:int getFreeConsecutiveRegisters(int,boolean):3050:3072 -> a
    3250:3253:int getNextFreeRegister(java.util.Iterator):3118:3121 -> a
    3250:3253:int getFreeConsecutiveRegisters(int,boolean):3073 -> a
    3254:3257:int getNextFreeRegister(java.util.Iterator):3118:3121 -> a
    3254:3257:int getFreeConsecutiveRegisters(int,boolean):3077 -> a
    3258:3272:int getFreeConsecutiveRegisters(int,boolean):3080:3094 -> a
    3273:3284:int lambda$getFreeConsecutiveRegisters$6(java.lang.Integer,java.lang.Integer):3056:3067 -> a
    3285:3297:void excludeRegistersForInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):3125:3137 -> a
    3298:3309:void freeOccupiedRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3143:3154 -> a
    3310:3310:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3249:3249 -> a
    void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> b
    1:1:boolean lambda$computeDebugInfo$1(com.android.tools.r8.ir.code.Instruction):311:311 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> b
    2:2:boolean lambda$computeDebugInfo$1(com.android.tools.r8.ir.code.Instruction):311 -> b
    3:3:boolean lambda$computeDebugInfo$1(com.android.tools.r8.ir.code.Instruction):311:311 -> b
    4:6:int registersUsed():598:600 -> b
    7:7:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):607:607 -> b
    8:8:boolean com.android.tools.r8.ir.code.Value.isFixedRegisterValue():0:0 -> b
    8:8:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):607 -> b
    9:20:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):608:619 -> b
    21:22:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):804:805 -> b
    21:22:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):621 -> b
    23:23:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> b
    24:24:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":641,"2":642,"3":643}}
    641:641:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> b
    642:642:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> b
    643:643:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> b
    636:638:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:614 -> b
    639:639:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    639:639:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):614 -> b
    640:640:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):614:614 -> b
    644:648:int realRegisterNumberFromAllocated(int):823:827 -> b
    649:650:void lambda$invariantsHold$4(java.util.TreeSet,int):1015:1016 -> b
    651:668:boolean needsArrayGetWideWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1417:1434 -> b
    669:673:boolean isArrayGetArrayRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1440:1444 -> b
    674:678:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2199:2203 -> b
    679:679:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> b
    679:679:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2204 -> b
    680:706:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2205:2231 -> b
    707:711:void increaseCapacity(int,boolean):3038:3042 -> b
    1:1:com.android.tools.r8.utils.InternalOptions options():634:634 -> c
    2:2:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):652:652 -> c
    3:14:void clearRegisterAssignments(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):785:796 -> c
    3:14:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> c
    15:15:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):656:656 -> c
    16:24:void pinArgumentRegisters():3019:3027 -> c
    16:24:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):659 -> c
    25:25:void pinArgumentRegisters():3024:3024 -> c
    25:25:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):659 -> c
    26:81:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):833:888 -> c
    26:81:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    82:82:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    82:82:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):888 -> c
    82:82:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    83:88:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):889:894 -> c
    83:88:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    89:89:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    89:89:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):895 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:89:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    90:111:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):900:921 -> c
    90:111:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    112:118:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1062:1068 -> c
    112:118:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> c
    112:118:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    119:119:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    119:119:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1068 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    119:119:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> c
    119:119:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    120:121:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1069:1070 -> c
    120:121:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> c
    120:121:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    122:128:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1081:1087 -> c
    122:128:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    122:128:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    129:129:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    129:129:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1087 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:129:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    129:129:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    130:135:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1088:1093 -> c
    130:135:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    130:135:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    136:136:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    136:136:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1093 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    136:136:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    136:136:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    137:137:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1094:1094 -> c
    137:137:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    137:137:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    138:203:void allocateArgumentIntervalsWithSrc(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1109:1174 -> c
    138:203:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):929 -> c
    138:203:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    204:253:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):930:979 -> c
    204:253:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    254:266:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1616:1628 -> c
    254:266:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    254:266:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    267:269:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    267:269:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1629 -> c
    267:269:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    267:269:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    270:321:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1639:1690 -> c
    270:321:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    270:321:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    322:322:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    322:322:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1691 -> c
    322:322:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    322:322:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    323:327:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1692:1696 -> c
    323:327:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    323:327:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    328:328:int toInstructionPosition(int):1398:1398 -> c
    328:328:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1696 -> c
    328:328:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    328:328:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    329:340:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1701:1712 -> c
    329:340:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    329:340:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    341:350:boolean freePositionsAreConsistentWithFreeRegisters(com.android.tools.r8.ir.regalloc.RegisterPositions,int):1034:1043 -> c
    341:350:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1712 -> c
    341:350:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    341:350:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    351:379:boolean useRegisterHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean):1792:1820 -> c
    351:379:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1715 -> c
    351:379:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    351:379:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    380:406:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1721:1747 -> c
    380:406:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    380:406:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    407:425:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2042:2060 -> c
    407:425:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    407:425:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    407:425:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    426:435:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2059:2068 -> c
    426:435:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    426:435:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    426:435:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    436:436:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    436:436:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2069 -> c
    436:436:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    436:436:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    436:436:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    437:480:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2070:2113 -> c
    437:480:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    437:480:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    437:480:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    481:483:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2177:2179 -> c
    481:483:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2119 -> c
    481:483:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    481:483:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    481:483:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    484:499:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2121:2136 -> c
    484:499:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    484:499:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    484:499:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    500:502:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2177:2179 -> c
    500:502:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2141 -> c
    500:502:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    500:502:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    500:502:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    503:505:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2177:2179 -> c
    503:505:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2142 -> c
    503:505:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    503:505:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    503:505:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    506:511:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2144:2149 -> c
    506:511:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    506:511:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    506:511:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    512:519:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1263:1270 -> c
    512:519:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2151 -> c
    512:519:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    512:519:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    512:519:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    520:520:void increaseCapacity(int):3033:3033 -> c
    520:520:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1270 -> c
    520:520:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2151 -> c
    520:520:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    520:520:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    520:520:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    521:523:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    521:523:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2152 -> c
    521:523:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    521:523:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    521:523:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    524:530:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2153:2159 -> c
    524:530:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    524:530:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    524:530:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    531:531:void increaseCapacity(int):3033:3033 -> c
    531:531:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2160 -> c
    531:531:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    531:531:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    531:531:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    532:532:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2163:2163 -> c
    532:532:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    532:532:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    532:532:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    533:540:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2187:2194 -> c
    533:540:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2165 -> c
    533:540:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    533:540:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    533:540:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    541:542:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2168:2169 -> c
    541:542:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    541:542:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    541:542:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    543:550:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2187:2194 -> c
    543:550:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2170 -> c
    543:550:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    543:550:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    543:550:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    551:553:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1748:1750 -> c
    551:553:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    551:553:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    554:556:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    554:556:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1751 -> c
    554:556:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    554:556:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    557:565:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1752:1760 -> c
    557:565:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    557:565:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    566:566:void increaseCapacity(int):3033:3033 -> c
    566:566:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1761 -> c
    566:566:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    566:566:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    567:567:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1764:1764 -> c
    567:567:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    567:567:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    568:570:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    568:570:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1766 -> c
    568:570:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    568:570:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    571:572:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1775:1776 -> c
    571:572:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    571:572:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    573:575:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    573:575:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1777 -> c
    573:575:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    573:575:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    576:576:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1778:1778 -> c
    576:576:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    576:576:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    577:622:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):663:708 -> c
    623:631:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):681:689 -> c
    632:632:int highestUsedRegister():593:593 -> c
    632:632:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):691 -> c
    633:636:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):692:695 -> c
    637:637:int highestUsedRegister():593:593 -> c
    637:637:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):669 -> c
    638:644:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):670:676 -> c
    645:684:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):673:712 -> c
    685:685:int highestUsedRegister():593:593 -> c
    685:685:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):713 -> c
    686:686:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):712:712 -> c
    687:687:int highestUsedRegister():593:593 -> c
    687:687:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):715 -> c
    688:688:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):714:714 -> c
    689:689:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):666:666 -> c
    690:695:int unadjustedRealRegisterFromAllocated(int):809:814 -> c
    696:719:boolean needsLongResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1510:1533 -> c
    720:727:boolean isLongResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1546:1553 -> c
    1:18:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1449:1466 -> d
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> d
    19:19:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1466 -> d
    20:23:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1467:1470 -> 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):1470 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:boolean com.android.tools.r8.ir.code.NumberConversion.isLongToIntConversion():52:52 -> d
    25:25:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1470 -> d
    26:27:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1480:1481 -> d
    28:28:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> d
    28:28:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1481 -> d
    29:42:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1482:1495 -> d
    43:43:void clearUserInfo():2731:2731 -> d
    1:6:boolean computeUnusedRegisters():553:558 -> e
    7:11:void addRegisterIfUsed(java.util.Set,com.android.tools.r8.ir.regalloc.LiveIntervals):583:587 -> e
    7:11:boolean computeUnusedRegisters():559 -> e
    12:12:boolean computeUnusedRegisters():560:560 -> e
    13:17:void addRegisterIfUsed(java.util.Set,com.android.tools.r8.ir.regalloc.LiveIntervals):583:587 -> e
    13:17:boolean computeUnusedRegisters():561 -> e
    18:30:boolean computeUnusedRegisters():566:578 -> e
    31:41:boolean overlapsMoveExceptionInterval(com.android.tools.r8.ir.regalloc.LiveIntervals):1598:1608 -> e
    1:2:int getMoveExceptionRegister():187:188 -> f
    3:4:boolean registersForIntervalsAreTaken(com.android.tools.r8.ir.regalloc.LiveIntervals):3194:3195 -> f
    5:5:boolean registersAreTaken(int,boolean):3190:3190 -> f
    5:5:boolean registersForIntervalsAreTaken(com.android.tools.r8.ir.regalloc.LiveIntervals):3195 -> f
    1:1:boolean hasDedicatedMoveExceptionRegister():179:179 -> g
    2:2:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168:3168 -> g
    3:3:void takeFreeRegisters(int,boolean):3160:3160 -> g
    3:3:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168 -> g
    4:6:boolean registerIsFree(int):3179:3179 -> g
    4:6:boolean registersAreFree(int,boolean):3186 -> g
    4:6:void takeFreeRegisters(int,boolean):3160 -> g
    4:6:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168 -> g
    7:7:boolean registerIsFree(int):3180:3180 -> g
    7:7:boolean registersAreFree(int,boolean):3186 -> g
    7:7:void takeFreeRegisters(int,boolean):3160 -> g
    7:7:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168 -> g
    8:11:void takeFreeRegisters(int,boolean):3160:3163 -> g
    8:11:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168 -> g
    12:15:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3170:3173 -> g
    1:2:void computeRematerializableBits():2442:2443 -> h
    1:2:void insertMoves():2418 -> h
    3:12:void insertMoves():2420:2429 -> h
    13:13:int toGapPosition(int):1402:1402 -> h
    13:13:void insertMoves():2430 -> h
    14:14:void insertMoves():2430:2430 -> h
    15:15:void insertMoves():2428:2428 -> h
    16:41:void resolveControlFlow(com.android.tools.r8.ir.regalloc.SpillMoveSet):2461:2486 -> h
    16:41:void insertMoves():2436 -> h
    42:42:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> h
    42:42:void resolveControlFlow(com.android.tools.r8.ir.regalloc.SpillMoveSet):2486 -> h
    42:42:void insertMoves():2436 -> h
    43:59:void resolveControlFlow(com.android.tools.r8.ir.regalloc.SpillMoveSet):2487:2503 -> h
    43:59:void insertMoves():2436 -> h
    60:61:void insertMoves():2437:2438 -> h
    1:6:void removeSpillAndPhiMoves():759:764 -> i
    1:8:boolean unsplitArguments():726:733 -> j
    9:9:int highestUsedRegister():593:593 -> j
    9:9:boolean unsplitArguments():737 -> j
    10:16:boolean unsplitArguments():747:753 -> j
    1:20:java.lang.String toString():3220:3239 -> toString
com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange -> com.android.tools.r8.ir.regalloc.a:
    com.android.tools.r8.graph.DebugLocalInfo local -> c
    int end -> f
    com.android.tools.r8.ir.code.Value value -> b
    int register -> d
    boolean $assertionsDisabled -> g
    int start -> e
    1:1:void <clinit>():101:101 -> <clinit>
    1:7:void <init>(com.android.tools.r8.ir.code.Value,int,int,int):108:114 -> <init>
    1:3:int compareTo(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):119:121 -> a
    1:1:int compareTo(java.lang.Object):101:101 -> compareTo
    1:1:java.lang.String toString():126:126 -> toString
com.android.tools.r8.ir.regalloc.LiveIntervals -> com.android.tools.r8.ir.regalloc.c:
    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
    boolean $assertionsDisabled -> s
    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
    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>
    27:27:void <init>(com.android.tools.r8.ir.regalloc.LiveIntervals):60:60 -> <init>
    28:58:void <init>(com.android.tools.r8.ir.regalloc.LiveIntervals):33:63 -> <init>
    1:3:int numberOfConsecutiveRegisters():163:165 -> A
    4:9:int computeNumberOfConsecutiveRegisters():172:177 -> A
    4:9:int numberOfConsecutiveRegisters():165 -> A
    10:13:int computeNumberOfConsecutiveRegisters():176:179 -> A
    10:13:int numberOfConsecutiveRegisters():165 -> A
    14:15:int numberOfConsecutiveRegisters():165:166 -> A
    16:21:int computeNumberOfConsecutiveRegisters():172:177 -> A
    16:21:int numberOfConsecutiveRegisters():168 -> A
    22:25:int computeNumberOfConsecutiveRegisters():176:179 -> A
    22:25:int numberOfConsecutiveRegisters():168 -> A
    1:1:java.util.TreeSet getUses():258:258 -> B
    1:1:int numberOfUsesWithConstraint():547 -> B
    2:3:int numberOfUsesWithConstraint():547:548 -> B
    1:1:com.android.tools.r8.ir.code.ValueType getType():79:79 -> C
    1:1:int requiredRegisters():83 -> C
    2:2:int requiredRegisters():83:83 -> C
    1:7:void sortSplitChildrenIfNeeded():188:194 -> D
    8:10:boolean sortedChildrenConsistent():200:202 -> D
    8:10:void sortSplitChildrenIfNeeded():194 -> D
    11:11:void sortSplitChildrenIfNeeded():195:195 -> D
    1:1:java.lang.String toAscciArtString():592:592 -> F
    2:2:java.util.List getRanges():262:262 -> F
    2:2:java.lang.String toAscciArtString():594 -> F
    3:4:java.lang.String toAscciArtString():594:595 -> F
    5:5:boolean com.android.tools.r8.ir.regalloc.LiveRange.isInfinite():32:32 -> F
    5:5:java.lang.String toAscciArtString():595 -> F
    6:16:java.lang.String toAscciArtString():596:606 -> F
    1:13:void undoSplits():469:481 -> G
    14:16:void recomputeLimit():486:488 -> G
    14:16:void undoSplits():482 -> G
    17:17:void updateRegisterConstraint(int):254:254 -> G
    17:17:void recomputeLimit():488 -> G
    17:17:void undoSplits():482 -> G
    1:1:boolean usedInMonitorOperation():535:535 -> H
    1:1:void setSpilled(boolean):105:105 -> a
    2:2:int getRegister():276:276 -> a
    2:2:void setSpilled(boolean):105 -> a
    3:4:void setSpilled(boolean):105:106 -> a
    5:5:int getRegister():276:276 -> a
    5:5:void setSpilled(boolean):106 -> a
    6:6:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitParent():212:212 -> a
    6:6:void setSpilled(boolean):106 -> a
    7:7:int getRegister():276:276 -> a
    7:7:void setSpilled(boolean):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:9:void setSpilled(boolean):106:107 -> a
    10:10:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitParent():212:212 -> a
    10:10:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):354 -> a
    11:11:boolean overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    11:11:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):355 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:java.util.List getSplitChildren():208:208 -> a
    12:12:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):358 -> a
    13:13:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):358:358 -> a
    14:14:boolean overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    14:14:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):359 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:17:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):226:228 -> a
    15:17:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    18:18:boolean com.android.tools.r8.ir.regalloc.LiveRange.isInfinite():32:32 -> a
    18:18:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):228 -> a
    18:18:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    19:19:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):231:231 -> a
    19:19:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    20:20:int toInstructionPosition(int):67:67 -> a
    20:20:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):231 -> a
    20:20:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    21:21:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):232:232 -> a
    21:21:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    22:22:int toInstructionPosition(int):67:67 -> a
    22:22:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):232 -> a
    22:22:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    23:27:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):237:241 -> a
    23:27:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    28:28:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):222:222 -> a
    29:30:void addUse(com.android.tools.r8.ir.regalloc.LiveIntervalsUse):249:250 -> a
    31:31:void updateRegisterConstraint(int):254:254 -> a
    31:31:void addUse(com.android.tools.r8.ir.regalloc.LiveIntervalsUse):250 -> a
    32:32:boolean usesRegister(int,boolean):315:315 -> a
    33:33:com.android.tools.r8.ir.code.ValueType getType():79:79 -> a
    33:33:boolean usesRegister(int,boolean):318 -> a
    34:37:boolean usesRegister(int,boolean):318:321 -> a
    38:39:void clearRegisterAssignment():332:333 -> a
    40:40:boolean overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    40:40:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):88 -> a
    41:41:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):91:91 -> a
    42:42:int getRegister():276:276 -> a
    42:42:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):92 -> a
    43:45:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):92:94 -> a
    46:48:int firstUseAfter(int):384:386 -> a
    49:50:void forEachRegister(java.util.function.IntConsumer):410:411 -> a
    51:51:com.android.tools.r8.ir.code.ValueType getType():79:79 -> a
    51:51:void forEachRegister(java.util.function.IntConsumer):412 -> a
    52:53:void forEachRegister(java.util.function.IntConsumer):412:413 -> a
    54:73:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):629:648 -> a
    74:74:int getRegister():276:276 -> a
    74:74:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):648 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    75:81:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):648:654 -> a
    82:82:boolean isSpilled():111:111 -> a
    82:82:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):654 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    83:84:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):669:670 -> a
    85:85:boolean isSpilled():111:111 -> a
    85:85:boolean allSplitsAreSpilled():120 -> a
    85:85:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):670 -> a
    86:88:boolean allSplitsAreSpilled():120:122 -> a
    86:88:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):670 -> a
    89:89:boolean isSpilled():111:111 -> a
    89:89:boolean allSplitsAreSpilled():122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:89:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):670 -> a
    90:90:boolean allSplitsAreSpilled():122:122 -> a
    90:90:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):670 -> a
    91:95:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):671:675 -> a
    1:1:boolean hasConflictingRegisters(com.android.tools.r8.ir.regalloc.LiveIntervals):328:328 -> b
    2:2:com.android.tools.r8.ir.code.ValueType getType():79:79 -> b
    2:2:boolean hasConflictingRegisters(com.android.tools.r8.ir.regalloc.LiveIntervals):328 -> b
    3:3:boolean hasConflictingRegisters(com.android.tools.r8.ir.regalloc.LiveIntervals):328:328 -> b
    4:5:com.android.tools.r8.ir.regalloc.LiveIntervalsUse firstUseWithConstraint():401:402 -> b
    1:3:void link(com.android.tools.r8.ir.regalloc.LiveIntervals):132:134 -> c
    4:5:int getEnd():271:272 -> c
    1:1:int compareTo(java.lang.Object):24:24 -> compareTo
    2:16:int compareTo(com.android.tools.r8.ir.regalloc.LiveIntervals):558:572 -> compareTo
    2:16:int compareTo(java.lang.Object):24 -> compareTo
    1:10:int nextOverlap(com.android.tools.r8.ir.regalloc.LiveIntervals):367:376 -> d
    11:11:int getFirstUse():397:397 -> d
    12:12:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitCovering(int):493:493 -> d
    13:13:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitParent():212:212 -> d
    13:13:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitCovering(int):493 -> d
    14:47:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitCovering(int):493:526 -> d
    1:1:java.lang.Integer getHint():100:100 -> e
    1:1:int getMaxNonSpilledRegister():308:308 -> f
    2:2:int computeMaxNonSpilledRegister():289:289 -> f
    2:2:int getMaxNonSpilledRegister():311 -> f
    3:3:int computeMaxNonSpilledRegister():289:289 -> f
    3:3:int getMaxNonSpilledRegister():311 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:int computeMaxNonSpilledRegister():289:290 -> f
    4:5:int getMaxNonSpilledRegister():311 -> f
    6:6:boolean isSpilled():111:111 -> f
    6:6:int computeMaxNonSpilledRegister():291 -> f
    6:6:int getMaxNonSpilledRegister():311 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    7:7:int getRegister():276:276 -> f
    7:7:int computeMaxNonSpilledRegister():292 -> f
    7:7:int getMaxNonSpilledRegister():311 -> f
    8:10:int computeMaxNonSpilledRegister():292:294 -> f
    8:10:int getMaxNonSpilledRegister():311 -> f
    11:11:boolean isSpilled():111:111 -> f
    11:11:int computeMaxNonSpilledRegister():295 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:int getMaxNonSpilledRegister():311 -> f
    12:12:int computeMaxNonSpilledRegister():296:296 -> f
    12:12:int getMaxNonSpilledRegister():311 -> f
    13:13:int getRegister():276:276 -> f
    13:13:int computeMaxNonSpilledRegister():296 -> f
    13:13:int getMaxNonSpilledRegister():311 -> f
    14:17:int computeMaxNonSpilledRegister():296:299 -> f
    14:17:int getMaxNonSpilledRegister():311 -> f
    18:23:boolean overlapsPosition(int):337:342 -> f
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getNextConsecutive():155:155 -> g
    1:1:java.util.List getRanges():262:262 -> h
    2:3:void setMaxNonSpilledRegister(int):303:304 -> h
    1:1:int getRegister():276:276 -> i
    2:3:void setRegister(int):284:285 -> i
    1:1:int toInstructionPosition(int):67:67 -> j
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):418 -> j
    2:2:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):418:418 -> j
    3:3:int toInstructionPosition(int):67:67 -> j
    3:3:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):418 -> j
    4:9:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):419:424 -> j
    10:10:com.android.tools.r8.ir.code.Value getValue():75:75 -> j
    10:10:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):424 -> j
    11:46:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):424:459 -> j
    47:49:void recomputeLimit():486:488 -> j
    47:49:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):462 -> j
    50:50:void updateRegisterConstraint(int):254:254 -> j
    50:50:void recomputeLimit():488 -> j
    50:50:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):462 -> j
    51:52:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):463:464 -> j
    53:53:int getRegisterLimit():280:280 -> j
    1:1:java.util.List getSplitChildren():208:208 -> k
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitParent():212:212 -> l
    1:2:int getStart():266:267 -> m
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getStartOfConsecutive():148:148 -> o
    1:1:com.android.tools.r8.ir.code.ValueType getType():79:79 -> p
    1:1:java.util.TreeSet getUses():258:258 -> q
    1:1:com.android.tools.r8.ir.code.Value getValue():75:75 -> r
    1:1:boolean hasSplits():184:184 -> s
    1:1:boolean hasUses():393:393 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":591,"2":592,"3":593}}
    591:591:java.lang.String toString():578:578 -> toString
    592:592:java.lang.String toString():578:578 -> toString
    593:593:java.lang.String toString():579:579 -> toString
    582:583:java.lang.String toString():581:582 -> toString
    584:584:java.util.List getRanges():262:262 -> toString
    584:584:java.lang.String toString():583 -> toString
    585:590:java.lang.String toString():583:588 -> toString
    1:2:boolean isArgumentInterval():142:143 -> u
    1:1:boolean isConstantNumberInterval():531:531 -> v
    1:1:boolean isLinked():138:138 -> w
    1:3:boolean isNewStringInstanceDisallowingSpilling():540:542 -> x
    1:1:boolean isSpilled():111:111 -> y
    1:1:boolean isSpilled():111:111 -> z
    1:1:boolean isSpilledAndRematerializable():128 -> z
    2:2:boolean isSpilledAndRematerializable():128:128 -> z
    3:3:boolean isRematerializable():115:115 -> z
    3:3:boolean isSpilledAndRematerializable():128 -> z
    4:4:boolean isRematerializable():115:115 -> z
    4:4:boolean isSpilledAndRematerializable():128 -> z
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean isRematerializable():115:115 -> z
    5:5:boolean isSpilledAndRematerializable():128 -> z
    6:6:boolean isRematerializable():116:116 -> z
    6:6:boolean isSpilledAndRematerializable():128 -> z
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.ir.regalloc.LiveIntervalsUse -> com.android.tools.r8.internal.dC:
    int position -> b
    int limit -> c
    1:3:void <init>(int,int):12:14 -> <init>
    1:1:int getLimit():22:22 -> a
    1:1:int getPosition():18:18 -> b
    1:1:boolean hasConstraint():48:48 -> c
    1:1:int compareTo(java.lang.Object):8:8 -> compareTo
    2:5:int com.android.tools.r8.ir.regalloc.LiveIntervalsUse.compareTo(com.android.tools.r8.ir.regalloc.LiveIntervalsUse):41:44 -> compareTo
    2:5:int compareTo(java.lang.Object):8 -> compareTo
    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.internal.fC:
    com.android.tools.r8.ir.regalloc.LiveRange INFINITE -> d
    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
    2:5:int com.android.tools.r8.ir.regalloc.LiveRange.compareTo(com.android.tools.r8.ir.regalloc.LiveRange):20:23 -> compareTo
    2:5:int compareTo(java.lang.Object):6 -> compareTo
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
    31:31:java.lang.String toString():28:28 -> toString
    32:32:java.lang.String toString():28:28 -> toString
    33:33:java.lang.String toString():28:28 -> toString
    29:29:java.lang.String toString():28:28 -> toString
    30:30:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
    31:31:java.lang.String toString():28:28 -> toString
    32:32:java.lang.String toString():28:28 -> toString
    33:33:java.lang.String toString():28:28 -> toString
com.android.tools.r8.ir.regalloc.RegisterAllocator -> com.android.tools.r8.internal.PR:
    void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List) -> a
    void allocateRegisters() -> a
    int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int) -> a
    boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    int getRegisterForValue(com.android.tools.r8.ir.code.Value,int) -> b
    void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> b
    int registersUsed() -> b
    com.android.tools.r8.utils.InternalOptions options() -> c
com.android.tools.r8.ir.regalloc.RegisterMove -> com.android.tools.r8.internal.QR:
    com.android.tools.r8.ir.analysis.type.TypeElement type -> b
    com.android.tools.r8.ir.code.Instruction definition -> e
    boolean $assertionsDisabled -> f
    int src -> d
    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>
    1:6:boolean isBlocked(java.util.Set,java.util.Map):43:48 -> a
    7:10:boolean com.android.tools.r8.ir.regalloc.RegisterMove.writes(int):36:39 -> a
    7:10:boolean isBlocked(java.util.Set,java.util.Map):48 -> a
    11:12:boolean isBlocked(java.util.Set,java.util.Map):51:52 -> a
    13:16:boolean com.android.tools.r8.ir.regalloc.RegisterMove.writes(int):36:39 -> a
    13:16:boolean isBlocked(java.util.Set,java.util.Map):52 -> a
    1:1:int compareTo(java.lang.Object):13:13 -> compareTo
    2:28:int com.android.tools.r8.ir.regalloc.RegisterMove.compareTo(com.android.tools.r8.ir.regalloc.RegisterMove):77:103 -> compareTo
    2:28:int compareTo(java.lang.Object):13 -> compareTo
    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.internal.RR:
    java.util.Map valueMap -> b
    int tempRegister -> f
    java.util.Set moveSet -> a
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.code.InstructionListIterator insertAt -> d
    int usedTempRegisters -> c
    com.android.tools.r8.ir.code.Position position -> e
    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>
    20:20:void <init>(com.android.tools.r8.ir.code.InstructionListIterator,int):52:52 -> <init>
    1:5:void addMove(com.android.tools.r8.ir.regalloc.RegisterMove):56:60 -> a
    6:6:int getUsedTempRegisters():114:114 -> a
    1:1:void schedule():64:64 -> b
    2:5:boolean com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.everyDestinationOnlyWrittenOnce():203:206 -> b
    2:5:void schedule():64 -> b
    6:23:void schedule():67:84 -> b
    24:48:java.lang.Integer com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.createMove(com.android.tools.r8.ir.regalloc.RegisterMove):138:162 -> b
    24:48:void schedule():86 -> b
    49:63:void schedule():89:103 -> b
    64:73:com.android.tools.r8.ir.regalloc.RegisterMove com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.pickMoveToUnblock():189:198 -> b
    64:73:void schedule():106 -> b
    74:74:void com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.createMoveDestToTemp(com.android.tools.r8.ir.regalloc.RegisterMove):169:169 -> b
    74:74:void schedule():107 -> b
    75:87:java.util.List com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.findMovesWithSrc(int,com.android.tools.r8.ir.analysis.type.TypeElement):118:130 -> b
    75:87:void com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.createMoveDestToTemp(com.android.tools.r8.ir.regalloc.RegisterMove):169 -> b
    75:87:void schedule():107 -> b
    88:102:void com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.createMoveDestToTemp(com.android.tools.r8.ir.regalloc.RegisterMove):170:184 -> b
    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.e:
    1:1:void <init>():12:12 -> <init>
    int get(int) -> a
    boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type) -> a
    boolean isBlocked(int) -> b
com.android.tools.r8.ir.regalloc.RegisterPositions$Type -> com.android.tools.r8.ir.regalloc.d:
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type[] $VALUES -> f
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type ANY -> e
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type OTHER -> d
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type CONST_NUMBER -> c
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type MONITOR -> b
    1:4:void <clinit>():15:18 -> <clinit>
    5:5:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(java.lang.String,int):14:14 -> <init>
com.android.tools.r8.ir.regalloc.RegisterPositionsImpl -> com.android.tools.r8.ir.regalloc.f:
    java.util.BitSet blockedRegisters -> f
    int[] backing -> b
    boolean $assertionsDisabled -> g
    java.util.BitSet registerHoldsConstant -> c
    java.util.BitSet registerHoldsNewStringInstanceDisallowingSpilling -> e
    int limit -> a
    java.util.BitSet registerHoldsMonitor -> d
    1:1:void <clinit>():11:11 -> <clinit>
    1:10:void <init>(int):21:30 -> <init>
    1:1:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):35:35 -> a
    2:2:boolean isBlocked(int):102:102 -> a
    2:2:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):35 -> a
    3:16:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):35:48 -> a
    17:17:boolean holdsMonitor(int):57:57 -> a
    17:17:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):42 -> a
    18:18:boolean holdsConstant(int):53:53 -> a
    18:18:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):43 -> a
    19:19:boolean holdsNewStringInstanceDisallowingSpilling(int):61:61 -> a
    19:19:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):44 -> a
    20:20:boolean holdsConstant(int):53:53 -> a
    20:20:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):40 -> a
    21:21:boolean holdsMonitor(int):57:57 -> a
    21:21:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):38 -> a
    22:22:void set(int,int):65:65 -> a
    22:22:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):73 -> a
    23:31:void grow(int):106:114 -> a
    23:31:void set(int,int):66 -> a
    23:31:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):73 -> a
    32:32:void set(int,int):68:68 -> a
    32:32:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):73 -> a
    33:36:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):74:77 -> a
    37:37:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):76:76 -> a
    38:38:int get(int):82:82 -> a
    39:39:boolean isBlocked(int):102:102 -> a
    39:39:int get(int):82 -> a
    40:44:int get(int):82:86 -> a
    45:45:int getLimit():92:92 -> a
    1:1:boolean isBlocked(int):102:102 -> b
    1:1:void setBlocked(int):97:97 -> c
com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters -> com.android.tools.r8.ir.regalloc.g:
    com.android.tools.r8.ir.regalloc.RegisterPositions positions -> a
    java.util.BitSet extraBlockedRegisters -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.regalloc.RegisterPositions):14:16 -> <init>
    1:1:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):21:21 -> a
    2:2:boolean isBlockedTemporarily(int):56:56 -> a
    2:2:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):21 -> a
    3:4:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):21:22 -> a
    5:5:int get(int):32:32 -> a
    6:6:boolean isBlockedTemporarily(int):56:56 -> a
    6:6:int get(int):32 -> a
    7:8:int get(int):32:33 -> a
    1:1:boolean isBlocked(int):52:52 -> b
    2:2:boolean isBlockedTemporarily(int):56:56 -> b
    2:2:boolean isBlocked(int):52 -> b
    1:1:void setBlockedTemporarily(int):47:47 -> c
com.android.tools.r8.ir.regalloc.SpillMove -> com.android.tools.r8.ir.regalloc.h:
    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
    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.i:
    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
    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>
    1:3:void addInMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):146:148 -> a
    4:4:void addInMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):147:147 -> a
    5:5:java.util.Set lambda$addInMove$1(java.lang.Integer):147:147 -> a
    6:19:int scheduleAndInsertMoves(int):167:180 -> a
    20:22:boolean needsMovesBeforeInstruction(int):213:215 -> a
    20:22:int scheduleAndInsertMoves(int):181 -> a
    23:23:int scheduleAndInsertMoves(int):182:182 -> a
    24:36:int scheduleAndInsertMoves(int):178:190 -> a
    37:39:boolean needsMovesBeforeInstruction(int):213:215 -> a
    37:39:int scheduleAndInsertMoves(int):191 -> a
    40:45:int scheduleAndInsertMoves(int):192:197 -> a
    46:53:com.android.tools.r8.ir.analysis.type.TypeElement moveTypeForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):201:208 -> a
    54:56: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
    57:60:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):284:287 -> a
    61:61:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    61:61:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):287 -> a
    62:68:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):288:294 -> a
    69:69:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    69:69:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):294 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    70:70:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    70:70:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):294 -> a
    71:72:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):299:300 -> a
    73:81:void removeArgumentRestores(java.util.Set):332:340 -> a
    73:81:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):301 -> a
    82:83:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):304:305 -> a
    84:92:void removeArgumentRestores(java.util.Set):332:340 -> a
    84:92:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):306 -> a
    93:94:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):309:310 -> a
    95:98:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):269:272 -> a
    95:98:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    99:100:com.android.tools.r8.ir.regalloc.SpillMove getMoveWithSource(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.Collection):219:220 -> a
    99:100:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):272 -> a
    99:100:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    101:105:com.android.tools.r8.ir.regalloc.SpillMove getMoveWritingSourceRegister(com.android.tools.r8.ir.regalloc.SpillMove,java.util.Collection):228:232 -> a
    101:105:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):273 -> a
    101:105:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    106:106:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):274:274 -> a
    106:106:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    107:108:com.android.tools.r8.ir.regalloc.SpillMove getMoveWithSource(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.Collection):219:220 -> a
    107:108:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):274 -> a
    107:108:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    109:110:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):276:277 -> a
    109:110:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    111:115:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):316:320 -> a
    116:145:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):347:376 -> a
    146:150:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):375:379 -> a
    151:157:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):378:384 -> a
    1:2:void addInResolutionMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):122:123 -> b
    3:3:java.util.Set lambda$addOutMove$2(java.lang.Integer):153:153 -> b
    1:1:java.util.Set lambda$addPhiMove$0(java.lang.Integer):142:142 -> c
    2:4:void addOutMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):152:154 -> c
    5:5:void addOutMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):153:153 -> c
    1:2:void addOutResolutionMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):127:128 -> d
    3:3:java.util.Set lambda$scheduleMovesBeforeInstruction$3(java.lang.Integer):300:300 -> d
    1:2:void addPhiMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):139:140 -> e
    3:8:void com.android.tools.r8.ir.regalloc.SpillMove.updateMaxNonSpilled():33:38 -> e
    3:8:void addPhiMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):141 -> e
    9:9:void addPhiMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):142:142 -> e
    10:10:java.util.Set lambda$scheduleMovesBeforeInstruction$4(java.lang.Integer):305:305 -> e
    1:6:void addSpillOrRestoreMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):66:71 -> f
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> f
    7:7:void addSpillOrRestoreMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):72 -> f
    8:43:void addSpillOrRestoreMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):73:108 -> f
    44:44:java.util.Set lambda$scheduleMovesBeforeInstruction$5(java.lang.Integer):310:310 -> f
com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode -> com.android.tools.r8.internal.r1:
    1:1:void <init>():26:26 -> <init>
    java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod) -> a
    1:2: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):43:44 -> a
    3:3: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):61:61 -> a
    4:12: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.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):57:65 -> a
    13:13:void com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode.internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):84:84 -> a
    13:13:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):75 -> a
    14:14:void com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode.internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):84:84 -> a
    14:14:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):80 -> a
    15:15:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):99:99 -> a
    1:1:boolean computeEquals(java.lang.Object):94:94 -> h
    1:1:int computeHashCode():89:89 -> m0
    int estimatedDexCodeSizeUpperBoundInBytes() -> q0
    1:1:java.lang.String com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode.toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):99:99 -> toString
    1:1:java.lang.String toString():70 -> toString
    com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider() -> z0
com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider -> com.android.tools.r8.internal.q1:
    com.android.tools.r8.ir.conversion.SourceCode get(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position) -> a
com.android.tools.r8.ir.synthetic.CallObjectInitCfCodeProvider -> com.android.tools.r8.internal.q6:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):23:23 -> <init>
    1:6:com.android.tools.r8.graph.CfCode generateCfCode():28:33 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider -> com.android.tools.r8.internal.Cf:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):63:63 -> <init>
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APICallbackWrapperCfCodeProvider -> com.android.tools.r8.internal.tf:
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer eventConsumer -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):236:237 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):247:247 -> a
    1:1:void generatePushReceiver(java.util.List):242:242 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConversionCfCodeProvider -> com.android.tools.r8.internal.uf:
    com.android.tools.r8.cf.code.CfInvoke initialInvoke -> c
    com.android.tools.r8.graph.DexMethod[] parameterConversions -> e
    com.android.tools.r8.graph.DexMethod returnConversion -> d
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):352:355 -> <init>
    1:29:com.android.tools.r8.graph.CfCode generateCfCode():360:388 -> b
    30:43:com.android.tools.r8.graph.CfCode generateCfCode():387:400 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterConstructorCfCodeProvider -> com.android.tools.r8.internal.vf:
    com.android.tools.r8.graph.DexField wrapperField -> c
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):562:563 -> <init>
    1:9:com.android.tools.r8.graph.CfCode generateCfCode():568:576 -> b
    10:10:com.android.tools.r8.graph.CfCode generateCfCode():574:574 -> b
    11:21:com.android.tools.r8.graph.CfCode generateCfCode():571:581 -> b
    22:22:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> b
    22:22:com.android.tools.r8.graph.CfCode generateCfCode():581 -> b
    23:25:com.android.tools.r8.graph.CfCode generateCfCode():581:583 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterVivifiedWrapperCfCodeProvider -> com.android.tools.r8.internal.wf:
    boolean itfCall -> f
    com.android.tools.r8.graph.DexField wrapperField -> c
    com.android.tools.r8.graph.DexMethod forwardMethod -> d
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizer -> e
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean):84:88 -> <init>
    1:7:com.android.tools.r8.graph.CfCode generateCfCode():93:99 -> b
    8:8:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> b
    8:8:com.android.tools.r8.graph.CfCode generateCfCode():99 -> b
    9:15:com.android.tools.r8.graph.CfCode generateCfCode():99:105 -> b
    16:16:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):112:112 -> b
    16:16:com.android.tools.r8.graph.CfCode generateCfCode():105 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:com.android.tools.r8.graph.CfCode generateCfCode():106:106 -> b
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    18:18:com.android.tools.r8.graph.CfCode generateCfCode():110 -> b
    19:19:com.android.tools.r8.graph.CfCode generateCfCode():109:109 -> b
    20:20:com.android.tools.r8.graph.CfCode generateCfCode():106:106 -> b
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    21:21:com.android.tools.r8.graph.CfCode generateCfCode():112 -> b
    22:33:com.android.tools.r8.graph.CfCode generateCfCode():112:123 -> b
    34:34:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    34:34:com.android.tools.r8.graph.CfCode generateCfCode():124 -> b
    35:45:com.android.tools.r8.graph.CfCode generateCfCode():127:137 -> b
    46:46:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):112:112 -> b
    46:46:com.android.tools.r8.graph.CfCode generateCfCode():137 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:com.android.tools.r8.graph.CfCode generateCfCode():138:138 -> b
    48:48:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    48:48:com.android.tools.r8.graph.CfCode generateCfCode():142 -> b
    49:49:com.android.tools.r8.graph.CfCode generateCfCode():141:141 -> b
    50:62:com.android.tools.r8.graph.CfCode generateCfCode():138:150 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterWrapperCfCodeProvider -> com.android.tools.r8.internal.xf:
    com.android.tools.r8.graph.DexField wrapperField -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean):262:263 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):274:274 -> a
    1:2:void generatePushReceiver(java.util.List):268:269 -> b
    3:3:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> b
    3:3:void generatePushReceiver(java.util.List):269 -> b
    4:4:void generatePushReceiver(java.util.List):269:269 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterWrapperConversionCfCodeProvider -> com.android.tools.r8.internal.yf:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexField wrapperField -> d
    com.android.tools.r8.graph.DexField reverseWrapperField -> c
    1:1:void <clinit>():278:278 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):285:287 -> <init>
    1:4:com.android.tools.r8.graph.CfCode generateCfCode():292:295 -> b
    5:5:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    5:5:com.android.tools.r8.graph.CfCode generateCfCode():297 -> b
    6:25:com.android.tools.r8.graph.CfCode generateCfCode():298:317 -> b
    26:26:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> b
    26:26:com.android.tools.r8.graph.CfCode generateCfCode():317 -> b
    27:28:com.android.tools.r8.graph.CfCode generateCfCode():317:318 -> b
    29:29:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> b
    29:29:com.android.tools.r8.graph.CfCode generateCfCode():318 -> b
    30:44:com.android.tools.r8.graph.CfCode generateCfCode():318:332 -> b
    45:45:com.android.tools.r8.graph.CfCode generateCfCode():330:330 -> b
    46:55:com.android.tools.r8.graph.CfCode generateCfCode():327:336 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$AbstractAPIConverterWrapperCfCodeProvider -> com.android.tools.r8.internal.zf:
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> d
    boolean itfCall -> e
    com.android.tools.r8.graph.DexMethod forwardMethod -> c
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean):167:170 -> <init>
    com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    void generatePushReceiver(java.util.List) -> b
    1:10:com.android.tools.r8.graph.CfCode generateCfCode():179:188 -> b
    11:11:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):112:112 -> b
    11:11:com.android.tools.r8.graph.CfCode generateCfCode():188 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:com.android.tools.r8.graph.CfCode generateCfCode():189:189 -> b
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    13:13:com.android.tools.r8.graph.CfCode generateCfCode():192 -> b
    14:14:com.android.tools.r8.graph.CfCode generateCfCode():192:192 -> b
    15:34:com.android.tools.r8.graph.CfCode generateCfCode():189:208 -> b
    35:35:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):112:112 -> b
    35:35:com.android.tools.r8.graph.CfCode generateCfCode():208 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:com.android.tools.r8.graph.CfCode generateCfCode():209:209 -> b
    37:37:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    37:37:com.android.tools.r8.graph.CfCode generateCfCode():212 -> b
    38:38:com.android.tools.r8.graph.CfCode generateCfCode():212:212 -> b
    39:39:com.android.tools.r8.graph.CfCode generateCfCode():209:209 -> b
    40:40:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    40:40:com.android.tools.r8.graph.CfCode generateCfCode():214 -> b
    41:46:com.android.tools.r8.graph.CfCode generateCfCode():216:221 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$EnumArrayConversionCfCodeProvider -> com.android.tools.r8.internal.Af:
    com.android.tools.r8.graph.DexType convertedType -> d
    com.android.tools.r8.graph.DexType enumType -> 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.DexType):411:413 -> <init>
    1:14:com.android.tools.r8.graph.CfCode generateCfCode():418:431 -> b
    15:15:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    15:15:com.android.tools.r8.graph.CfCode generateCfCode():433 -> b
    16:18:com.android.tools.r8.graph.CfCode generateCfCode():434:436 -> b
    19:19:com.android.tools.r8.graph.CfCode generateCfCode():431:431 -> b
    20:20:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    20:20:com.android.tools.r8.graph.CfCode generateCfCode():439 -> b
    21:57:com.android.tools.r8.graph.CfCode generateCfCode():440:476 -> b
    58:58:com.android.tools.r8.graph.CfCode generateCfCode():474:474 -> b
    59:79:com.android.tools.r8.graph.CfCode generateCfCode():471:491 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$EnumConversionCfCodeProvider -> com.android.tools.r8.internal.Bf:
    com.android.tools.r8.graph.DexType enumType -> d
    java.lang.Iterable enumFields -> c
    com.android.tools.r8.graph.DexType convertedType -> e
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):507:510 -> <init>
    1:2:com.android.tools.r8.graph.CfCode generateCfCode():515:516 -> b
    3:3:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    3:3:com.android.tools.r8.graph.CfCode generateCfCode():519 -> b
    4:26:com.android.tools.r8.graph.CfCode generateCfCode():519:541 -> b
    27:33:com.android.tools.r8.graph.CfCode generateCfCode():540:546 -> b
    34:43:com.android.tools.r8.graph.CfCode generateCfCode():544:553 -> b
com.android.tools.r8.ir.synthetic.EmulateDispatchSyntheticCfCodeProvider -> com.android.tools.r8.internal.Vh:
    java.util.LinkedHashMap extraDispatchCases -> e
    com.android.tools.r8.graph.DexMethod interfaceMethod -> d
    com.android.tools.r8.graph.DexMethod forwardingMethod -> c
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.LinkedHashMap,com.android.tools.r8.graph.AppView):44:47 -> <init>
    1:5:com.android.tools.r8.graph.CfCode generateCfCode():52:56 -> b
    6:6:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    6:6:com.android.tools.r8.graph.CfCode generateCfCode():61 -> b
    7:20:com.android.tools.r8.graph.CfCode generateCfCode():62:75 -> b
    21:21:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> b
    21:21:com.android.tools.r8.graph.CfCode generateCfCode():75 -> b
    22:38:com.android.tools.r8.graph.CfCode generateCfCode():75:91 -> b
    39:39:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> b
    39:39:com.android.tools.r8.graph.CfCode generateCfCode():91 -> b
    40:53:com.android.tools.r8.graph.CfCode generateCfCode():91:104 -> b
    54:57:void addReturn(java.util.List):115:118 -> b
    1:2:void loadExtraParameters(java.util.List):109:110 -> c
com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider -> com.android.tools.r8.internal.Ei:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():43:43 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):46:46 -> <init>
    1:3:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):53:55 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    4:4:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):56 -> a
    5:8:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):57:57 -> a
    12:12:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):61:61 -> a
com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingInstanceFieldCfCodeProvider -> com.android.tools.r8.internal.Ci:
    com.android.tools.r8.ir.analysis.value.AbstractValue nullValue -> f
    com.android.tools.r8.graph.DexType returnType -> d
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData fieldDataMap -> e
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):82:85 -> <init>
    1:8:void lambda$generateCfCode$0(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap,java.lang.Integer,com.android.tools.r8.ir.analysis.value.AbstractValue):109:116 -> a
    1:2:com.android.tools.r8.graph.CfCode generateCfCode():97:98 -> b
    3:3:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    3:3:com.android.tools.r8.graph.CfCode generateCfCode():101 -> b
    4:32:com.android.tools.r8.graph.CfCode generateCfCode():101:129 -> b
com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingValueOfCfCodeProvider -> com.android.tools.r8.internal.Di:
    com.android.tools.r8.graph.DexType enumType -> d
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData fieldDataMap -> e
    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.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData):143:145 -> <init>
    1:10:void lambda$generateCfCode$0(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap,java.lang.Integer,com.android.tools.r8.ir.analysis.value.AbstractValue):182:191 -> a
    1:2:com.android.tools.r8.graph.CfCode generateCfCode():157:158 -> b
    3:3:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    3:3:com.android.tools.r8.graph.CfCode generateCfCode():161 -> b
    4:43:com.android.tools.r8.graph.CfCode generateCfCode():161:200 -> b
    44:44:com.android.tools.r8.graph.CfCode generateCfCode():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":263,"2":264,"3":265}}
    263:263:com.android.tools.r8.graph.CfCode generateCfCode():200:200 -> b
    264:264:com.android.tools.r8.graph.CfCode generateCfCode():200:200 -> b
    265:265:com.android.tools.r8.graph.CfCode generateCfCode():200:200 -> b
    244:246:com.android.tools.r8.graph.CfCode generateCfCode():200:202 -> b
    247:247:com.android.tools.r8.graph.CfCode generateCfCode():201:201 -> b
    248:262:com.android.tools.r8.graph.CfCode generateCfCode():197:211 -> b
com.android.tools.r8.ir.synthetic.FieldAccessorBuilder -> com.android.tools.r8.internal.xj:
    com.android.tools.r8.utils.OptionalBool isSetter -> c
    com.android.tools.r8.utils.OptionalBool isInstanceField -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.graph.DexMethod sourceMethod -> d
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>():32:32 -> <init>
    2:3:void <init>():28:29 -> <init>
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.apply(java.util.function.Consumer):39:39 -> a
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder applyIf(boolean,java.util.function.Consumer,java.util.function.Consumer):47 -> a
    2:3:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setField(com.android.tools.r8.graph.DexClassAndField):51:52 -> a
    4:5:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.setStaticField(com.android.tools.r8.graph.DexField):78:79 -> a
    4:5:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setField(com.android.tools.r8.graph.DexClassAndField):52 -> a
    6:6:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setField(com.android.tools.r8.graph.DexClassAndField):53:53 -> a
    7:8:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.setInstanceField(com.android.tools.r8.graph.DexField):62:63 -> a
    7:8:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setField(com.android.tools.r8.graph.DexClassAndField):53 -> a
    9:9:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setSourceMethod(com.android.tools.r8.graph.DexMethod):73:73 -> a
    10:10:com.android.tools.r8.graph.CfCode build():84:84 -> a
    11:14:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.validate():137:140 -> a
    11:14:com.android.tools.r8.graph.CfCode build():84 -> a
    15:15:com.android.tools.r8.graph.CfCode build():87:87 -> a
    16:16:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.isInstanceField():133:133 -> a
    16:16:com.android.tools.r8.graph.CfCode build():88 -> a
    17:17:com.android.tools.r8.graph.CfCode build():90:90 -> a
    18:18:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.isSetter():129:129 -> a
    18:18:com.android.tools.r8.graph.CfCode build():95 -> a
    19:22:com.android.tools.r8.graph.CfCode build():97:100 -> a
    23:23:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.isSetter():129:129 -> a
    23:23:com.android.tools.r8.graph.CfCode build():105 -> a
    24:25:com.android.tools.r8.graph.CfCode build():105:106 -> a
    26:26:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    26:26:com.android.tools.r8.graph.CfCode build():106 -> a
    27:27:com.android.tools.r8.graph.CfCode build():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54,"4":55,"5":56}}
    52:52:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    52:52:com.android.tools.r8.graph.CfCode build():106 -> a
    53:53:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    53:53:com.android.tools.r8.graph.CfCode build():106 -> a
    54:54:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    54:54:com.android.tools.r8.graph.CfCode build():106 -> a
    55:55:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    55:55:com.android.tools.r8.graph.CfCode build():106 -> a
    56:56:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    56:56:com.android.tools.r8.graph.CfCode build():106 -> a
    28:28:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):64:64 -> a
    28:28:com.android.tools.r8.graph.CfCode build():106 -> a
    29:29:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):62:62 -> a
    29:29:com.android.tools.r8.graph.CfCode build():106 -> a
    30:30:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):60:60 -> a
    30:30:com.android.tools.r8.graph.CfCode build():106 -> a
    31:31:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):58:58 -> a
    31:31:com.android.tools.r8.graph.CfCode build():106 -> a
    32:32:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):56:56 -> a
    32:32:com.android.tools.r8.graph.CfCode build():106 -> a
    33:33:com.android.tools.r8.graph.CfCode build():106:106 -> a
    34:34:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.isSetter():129:129 -> a
    34:34:com.android.tools.r8.graph.CfCode build():109 -> a
    35:48:com.android.tools.r8.graph.CfCode build():110:123 -> a
    49:49:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    49:49:com.android.tools.r8.graph.CfCode build():123 -> a
    50:50:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    50:50:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    50:50:com.android.tools.r8.graph.CfCode build():123 -> a
    51:51:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    51:51:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    51:51:com.android.tools.r8.graph.CfCode build():123 -> a
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder builder():35:35 -> b
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setGetter():57:57 -> c
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setSetter():68:68 -> d
com.android.tools.r8.ir.synthetic.ForwardMethodBuilder -> com.android.tools.r8.internal.Pk:
    java.lang.Boolean isInterface -> g
    boolean isConstructorDelegate -> i
    boolean $assertionsDisabled -> k
    boolean staticSource -> e
    boolean castResult -> h
    com.android.tools.r8.graph.DexMethod targetMethod -> c
    com.android.tools.r8.ir.synthetic.ForwardMethodBuilder$InvokeType invokeType -> f
    com.android.tools.r8.graph.DexMethod sourceMethod -> b
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForCastArguments -> j
    com.android.tools.r8.graph.DexItemFactory factory -> a
    boolean sourceMethodHasExtraUnusedParameter -> d
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.DexItemFactory):46:59 -> <init>
    1:1:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder builder(com.android.tools.r8.graph.DexItemFactory):34:34 -> a
    2:4:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder applyIf(boolean,java.util.function.Consumer,java.util.function.Consumer):77:79 -> a
    5:6:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setNonStaticSource(com.android.tools.r8.graph.DexMethod):85:86 -> a
    7:9:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setDirectTarget(com.android.tools.r8.graph.DexMethod,boolean):129:131 -> a
    10:10:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setCastArguments(com.android.tools.r8.graph.AppInfoWithClassHierarchy):141:141 -> a
    11:15:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setConstructorTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):146:150 -> a
    16:16:com.android.tools.r8.graph.CfCode build():155:155 -> a
    17:20:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():287:290 -> a
    17:20:com.android.tools.r8.graph.CfCode build():155 -> a
    21:21:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.sourceArguments():275:275 -> a
    21:21:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    21:21:com.android.tools.r8.graph.CfCode build():155 -> a
    22:22:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    22:22:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.sourceArguments():276 -> a
    22:22:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    22:22:com.android.tools.r8.graph.CfCode build():155 -> a
    23:24:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.sourceArguments():276:277 -> a
    23:24:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    23:24:com.android.tools.r8.graph.CfCode build():155 -> a
    25:25:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.targetArguments():282:282 -> a
    25:25:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    25:25:com.android.tools.r8.graph.CfCode build():155 -> a
    26:26:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticTarget():271:271 -> a
    26:26:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.targetArguments():283 -> a
    26:26:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    26:26:com.android.tools.r8.graph.CfCode build():155 -> a
    27:27:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.targetArguments():283:283 -> a
    27:27:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    27:27:com.android.tools.r8.graph.CfCode build():155 -> a
    28:29:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291:292 -> a
    28:29:com.android.tools.r8.graph.CfCode build():155 -> a
    30:30:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    30:30:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():293 -> a
    30:30:com.android.tools.r8.graph.CfCode build():155 -> a
    31:39:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():293:301 -> a
    31:39:com.android.tools.r8.graph.CfCode build():155 -> a
    40:43:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():300:303 -> a
    40:43:com.android.tools.r8.graph.CfCode build():155 -> a
    44:45:com.android.tools.r8.graph.CfCode build():158:159 -> a
    46:46:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    46:46:com.android.tools.r8.graph.CfCode build():162 -> a
    47:50:com.android.tools.r8.graph.CfCode build():162:165 -> a
    51:51:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    51:51:com.android.tools.r8.graph.CfCode build():167 -> a
    52:53:com.android.tools.r8.graph.CfCode build():169:170 -> a
    54:54:com.android.tools.r8.graph.DexType[] com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getSourceParameters():254:254 -> a
    54:54:com.android.tools.r8.graph.CfCode build():174 -> a
    55:67:com.android.tools.r8.graph.CfCode build():175:187 -> a
    68:78:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():240:250 -> a
    68:78:com.android.tools.r8.graph.CfCode build():187 -> a
    79:79:com.android.tools.r8.graph.CfCode build():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":118,"2":119,"3":120}}
    118:118:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    118:118:com.android.tools.r8.graph.CfCode build():187 -> a
    119:119:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    119:119:com.android.tools.r8.graph.CfCode build():187 -> a
    120:120:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    120:120:com.android.tools.r8.graph.CfCode build():187 -> a
    80:80:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    80:80:com.android.tools.r8.graph.CfCode build():187 -> a
    81:87:com.android.tools.r8.graph.CfCode build():187:193 -> a
    88:88:com.android.tools.r8.graph.CfCode build():192:192 -> a
    89:89:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isSourceReturnVoid():258:258 -> a
    89:89:com.android.tools.r8.graph.CfCode build():195 -> a
    90:96:com.android.tools.r8.graph.CfCode build():196:202 -> a
    97:97:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    97:97:com.android.tools.r8.graph.CfCode build():202 -> a
    98:101:com.android.tools.r8.graph.CfCode build():202:205 -> a
    102:102:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getSourceReturnType():262:262 -> a
    102:102:com.android.tools.r8.graph.CfCode build():205 -> a
    103:103:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isSourceReturnVoid():258:258 -> a
    103:103:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getSourceReturnType():262 -> a
    103:103:com.android.tools.r8.graph.CfCode build():205 -> a
    104:105:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getSourceReturnType():262:263 -> a
    104:105:com.android.tools.r8.graph.CfCode build():205 -> a
    106:114:com.android.tools.r8.graph.CfCode build():205:213 -> a
    115:115:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    115:115:com.android.tools.r8.graph.CfCode build():213 -> a
    116:116:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    116:116:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    116:116:com.android.tools.r8.graph.CfCode build():213 -> a
    117:117:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    117:117:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    117:117:com.android.tools.r8.graph.CfCode build():213 -> a
    121:121:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):220:220 -> a
    122:122:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    122:122:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):224 -> a
    123:123:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticTarget():271:271 -> a
    123:123:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):224 -> a
    124:129:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):230:235 -> a
    130:130:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    130:130:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):235 -> a
    131:131:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):235:235 -> a
    1:3:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setNonStaticSourceWithExtraUnusedParameter(com.android.tools.r8.graph.DexMethod):91:93 -> b
    4:6:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setStaticTarget(com.android.tools.r8.graph.DexMethod,boolean):104:106 -> b
    7:7:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setCastResult():136:136 -> b
    1:2:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setStaticSource(com.android.tools.r8.graph.DexMethod):98:99 -> c
    3:5:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setSuperTarget(com.android.tools.r8.graph.DexMethod,boolean):111:113 -> c
    1:3:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setVirtualTarget(com.android.tools.r8.graph.DexMethod,boolean):118:120 -> d
com.android.tools.r8.ir.synthetic.ForwardMethodBuilder$InvokeType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Ok:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode -> com.android.tools.r8.internal.Rk:
    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
    1:1:void <clinit>():22:22 -> <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):123:142 -> <init>
    1:1:void lambda$prepareInstructions$0(java.util.List,java.util.List,com.android.tools.r8.ir.conversion.IRBuilder):197:197 -> a
    1:1:void lambda$prepareInstructions$1(int,com.android.tools.r8.ir.conversion.IRBuilder):211:211 -> b
    1:1:void lambda$prepareInstructions$2(int,com.android.tools.r8.ir.conversion.IRBuilder):213:213 -> c
    1:1:void lambda$prepareInstructions$3(int,com.android.tools.r8.ir.conversion.IRBuilder):215:215 -> d
    1:16:void prepareInstructions():180:195 -> i
    17:17:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    17:17:void prepareInstructions():195 -> i
    18:19:void prepareInstructions():206:207 -> i
    20:20:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    20:20:void prepareInstructions():207 -> i
    21:23:void prepareInstructions():209:211 -> i
    24:24:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    24:24:void prepareInstructions():211 -> i
    25:26:void prepareInstructions():212:213 -> i
    27:27:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    27:27:void prepareInstructions():213 -> i
    28:28:void prepareInstructions():215:215 -> i
    29:29:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    29:29:void prepareInstructions():215 -> i
    1:27:boolean checkSignatures():147:173 -> j
com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder -> com.android.tools.r8.internal.Qk:
    com.android.tools.r8.ir.code.Invoke$Type invokeType -> f
    com.android.tools.r8.graph.DexType targetReceiver -> d
    com.android.tools.r8.graph.DexMethod target -> e
    boolean isInterface -> g
    com.android.tools.r8.graph.DexType receiver -> a
    com.android.tools.r8.graph.DexMethod originalMethod -> c
    com.android.tools.r8.graph.DexMethod method -> b
    1:3:void <init>(com.android.tools.r8.graph.DexMethod):40:42 -> <init>
    1:1:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setReceiver(com.android.tools.r8.graph.DexType):46:46 -> a
    2:2:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setOriginalMethod(com.android.tools.r8.graph.DexMethod):56:56 -> a
    3:3:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setInvokeType(com.android.tools.r8.ir.code.Invoke$Type):71:71 -> a
    4:4:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setIsInterface(boolean):81:81 -> a
    5:5:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode build(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):91:91 -> a
    1:1:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setTargetReceiver(com.android.tools.r8.graph.DexType):61:61 -> b
    2:2:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setTarget(com.android.tools.r8.graph.DexMethod):66:66 -> b
com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordEqualsCfCodeProvider -> com.android.tools.r8.internal.JP:
    com.android.tools.r8.graph.DexMethod getFieldsAsObjects -> c
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):146:147 -> <init>
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    1:1:com.android.tools.r8.graph.CfCode generateCfCode():165 -> b
    2:28:com.android.tools.r8.graph.CfCode generateCfCode():166:192 -> b
com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordGetFieldsAsObjectsCfCodeProvider -> com.android.tools.r8.internal.KP:
    com.android.tools.r8.graph.DexField[] fields -> c
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField[]):69:70 -> <init>
    1:2:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):57:58 -> a
    3:4:void lambda$registerSynthesizedCodeReferences$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):60:61 -> a
    5:7:void loadFieldAsObject(java.util.List,com.android.tools.r8.graph.DexField):119:121 -> a
    8:8:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> a
    8:8:void loadFieldAsObject(java.util.List,com.android.tools.r8.graph.DexField):121 -> a
    9:11:void loadFieldAsObject(java.util.List,com.android.tools.r8.graph.DexField):121:123 -> a
    12:18:void lambda$loadFieldAsObject$1(com.android.tools.r8.graph.DexField,java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):125:131 -> a
    19:19:void lambda$loadFieldAsObject$1(com.android.tools.r8.graph.DexField,java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):129:129 -> a
    20:20:void lambda$loadFieldAsObject$1(com.android.tools.r8.graph.DexField,java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):126:126 -> a
    1:1:com.android.tools.r8.graph.CfCode generateCfCode():80:80 -> b
    2:3:com.android.tools.r8.graph.CfCode generateCfCode():79:80 -> b
    4:12:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordGetFieldsAsObjectsCfCodeProvider.generateCfCodeWithRecordModeling():107:115 -> b
    4:12:com.android.tools.r8.graph.CfCode generateCfCode():81 -> b
    13:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordGetFieldsAsObjectsCfCodeProvider.generateCfCodeWithArray():86:103 -> b
    13:30:com.android.tools.r8.graph.CfCode generateCfCode():82 -> b
com.android.tools.r8.ir.synthetic.SynthesizedCode -> com.android.tools.r8.internal.yX:
    com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider sourceCodeProvider -> d
    1:2:void <init>(com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider):15:16 -> <init>
    java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod) -> a
    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():21:21 -> z0
com.android.tools.r8.ir.synthetic.SyntheticCfCodeProvider -> com.android.tools.r8.internal.BX:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexType holder -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):18:20 -> <init>
    1:1:com.android.tools.r8.graph.DexType getHolder():24:24 -> a
    2:2:com.android.tools.r8.graph.CfCode standardCfCodeFromInstructions(java.util.List):30:30 -> a
com.android.tools.r8.ir.synthetic.SyntheticSourceCode -> com.android.tools.r8.internal.MX:
    com.android.tools.r8.ir.code.Position position -> h
    java.util.function.Predicate endsBlock -> j
    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
    1:3:void <clinit>():24:26 -> <clinit>
    1:1: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):52:52 -> <init>
    2:40: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):35:73 -> <init>
    void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean) -> a
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:1:void add(java.util.function.Consumer):77:77 -> a
    2:3:void add(java.util.function.Consumer,java.util.function.Predicate):81:82 -> a
    4:5:int nextRegister(com.android.tools.r8.ir.code.ValueType):86:87 -> a
    6:7:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):145:146 -> a
    8:8:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):177:177 -> a
    9:9:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):189:189 -> a
    10:10:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):195:195 -> a
    11:11:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):210:210 -> a
    boolean verifyCurrentInstructionCanThrow() -> b
    boolean verifyRegister(int) -> b
    1:1:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):166:166 -> b
    2:2:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):165:165 -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> c
    int instructionIndex(int) -> c
    1:3:void setUp():151:153 -> c
    1:3:void clear():158:160 -> clear
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    boolean lambda$static$0(com.android.tools.r8.ir.conversion.IRBuilder) -> d
    1:1:int instructionCount():107:107 -> d
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    boolean lambda$static$1(com.android.tools.r8.ir.conversion.IRBuilder) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():215:215 -> e
    1:3:int getReceiverRegister():92:94 -> f
    4:4:int getMoveExceptionRegister(int):205:205 -> f
    int instructionOffset(int) -> g
    1:1:int lastInstructionIndex():111:111 -> g
    1:3:int getParamRegister(int):98:100 -> h
    4:4:int nextInstructionIndex():115:115 -> h
    void prepareInstructions() -> i
com.android.tools.r8.it.unimi.dsi.fastutil.Arrays -> com.android.tools.r8.internal.r3:
    1:1:void ensureFromTo(int,int,int):57:57 -> a
    2:2:void ensureFromTo(int,int,int):56:56 -> a
    3:3:void ensureFromTo(int,int,int):55:55 -> a
    4:4:void ensureFromTo(int,int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":60,"2":61,"3":62,"4":63,"5":64,"6":65}}
    60:60:void ensureFromTo(int,int,int):55:55 -> a
    61:61:void ensureFromTo(int,int,int):55:55 -> a
    62:62:void ensureFromTo(int,int,int):55:55 -> a
    63:63:void ensureFromTo(int,int,int):55:55 -> a
    64:64:void ensureFromTo(int,int,int):55:55 -> a
    65:65:void ensureFromTo(int,int,int):55:55 -> a
    59:59:void ensureFromTo(int,int,int):55:55 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.Function -> com.android.tools.r8.internal.ll:
# {"id":"sourceFile","fileName":"Function.java"}
com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy -> com.android.tools.r8.internal.hm:
    boolean equals(java.lang.Object,java.lang.Object) -> a
    int hashCode(java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.HashCommon -> com.android.tools.r8.internal.xm:
    int long2int(long) -> a
    int mix(int) -> a
    1:2:int arraySize(int,float):228:229 -> a
    long mix(long) -> b
    1:1:int maxFill(int,float):205:205 -> b
    long nextPowerOfTwo(long) -> c
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanCollection -> com.android.tools.r8.internal.l:
    1:1:void <init>():37:37 -> <init>
    1:1:boolean add(boolean):68:68 -> a
    1:1:boolean add(java.lang.Object):36:36 -> add
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanCollection.add(java.lang.Boolean):114:114 -> add
    2:2:boolean add(java.lang.Object):36 -> add
    boolean contains(boolean) -> b
    1:4:boolean rem(boolean):94:97 -> c
    1:1:boolean contains(java.lang.Object):129:129 -> contains
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1.iterator():803:803 -> iterator
    1:1:boolean remove(java.lang.Object):143:143 -> remove
    1:14:java.lang.String toString():206:219 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanIterator -> com.android.tools.r8.internal.m:
    1:1:void <init>():34:34 -> <init>
    boolean nextBoolean() -> g
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanIterator.next():57:57 -> next
    1:1:java.lang.Object next():33 -> next
    1:1:void remove():68:68 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator -> com.android.tools.r8.internal.n:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.<init>():34:34 -> <init>
    1:1:void <init>():35 -> <init>
    1:1:void add(java.lang.Object):34:34 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.add(java.lang.Boolean):83:83 -> add
    2:2:void add(java.lang.Object):34 -> add
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.add(boolean):57:57 -> add
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.add(java.lang.Boolean):83 -> add
    3:3:void add(java.lang.Object):34 -> add
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.previousBoolean() -> j
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.previous():56:56 -> previous
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.previous():33 -> previous
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.previous():0 -> previous
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:void set(java.lang.Object):34:34 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.set(java.lang.Boolean):70:70 -> set
    2:2:void set(java.lang.Object):34 -> set
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.set(boolean):46:46 -> set
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.set(java.lang.Boolean):70 -> set
    3:3:void set(java.lang.Object):34 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanSet -> com.android.tools.r8.internal.o:
    1:1:void <init>():32:32 -> <init>
    1:1:boolean rem(boolean):87:87 -> c
    boolean remove(boolean) -> d
    1:4:boolean equals(java.lang.Object):41:44 -> equals
    1:5:int hashCode():57:61 -> hashCode
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet -> com.android.tools.r8.internal.j5:
    boolean[] a -> b
    int size -> c
    1:4:void <init>(boolean[],int):104:107 -> <init>
    5:5:void <init>(boolean[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223,"4":224,"5":225}}
    221:221:void <init>(boolean[],int):107:107 -> <init>
    222:222:void <init>(boolean[],int):107:107 -> <init>
    223:223:void <init>(boolean[],int):107:107 -> <init>
    224:224:void <init>(boolean[],int):107:107 -> <init>
    225:225:void <init>(boolean[],int):107:107 -> <init>
    112:112:void <init>(boolean[],int):107:107 -> <init>
    113:113:void <init>(boolean[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223}}
    221:221:void <init>(boolean[],int):107:107 -> <init>
    222:222:void <init>(boolean[],int):107:107 -> <init>
    223:223:void <init>(boolean[],int):107:107 -> <init>
    220:220:void <init>(boolean[],int):107:107 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):29:29 -> a
    2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.findKey(boolean):111:112 -> a
    2:3:boolean add(boolean):164 -> a
    4:10:boolean add(boolean):166:172 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):29:29 -> b
    2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.findKey(boolean):111:112 -> b
    2:3:boolean contains(boolean):143 -> b
    1:1:boolean[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):29:29 -> c
    1:1:void clear():178:178 -> clear
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.clone():201:205 -> clone
    1:5:java.lang.Object clone():29 -> clone
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.clone():203:203 -> clone
    6:6:java.lang.Object clone():29 -> clone
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.findKey(boolean):111:112 -> d
    1:2:boolean remove(boolean):153 -> d
    3:6:boolean remove(boolean):155:158 -> d
    1:1:boolean isEmpty():183:183 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():119:119 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.iterator():119:119 -> iterator
    2:2:java.util.Iterator iterator():29 -> iterator
    1:1:int size():148:148 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet$1 -> com.android.tools.r8.internal.i5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet this$0 -> c
    int next -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):119:120 -> <init>
    1:3:boolean nextBoolean():129:129 -> g
    1:1:boolean hasNext():124:124 -> hasNext
    1:2:void remove():135:136 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArrays -> com.android.tools.r8.internal.k5:
    boolean[] EMPTY_ARRAY -> a
    1:1:void <clinit>():95:95 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection -> com.android.tools.r8.internal.m5:
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections -> com.android.tools.r8.internal.p5:
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection):536:536 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$EmptyCollection -> com.android.tools.r8.internal.n5:
    1:1:void <init>():39:39 -> <init>
    1:1:boolean addAll(java.util.Collection):81:81 -> addAll
    boolean contains(boolean) -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$EmptyCollection.iterator():55:55 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():38 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$EmptyCollection.iterator():55:55 -> iterator
    2:2:java.util.Iterator iterator():38 -> iterator
    1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
    1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
    1:1:java.lang.Object[] toArray():49:49 -> toArray
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$UnmodifiableCollection -> com.android.tools.r8.internal.o5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection collection -> b
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection):369:371 -> <init>
    1:1:boolean add(java.lang.Object):365:365 -> add
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$UnmodifiableCollection.add(java.lang.Boolean):453:453 -> add
    2:2:boolean add(java.lang.Object):365 -> add
    1:1:boolean addAll(java.util.Collection):437:437 -> addAll
    1:1:void clear():417:417 -> clear
    1:1:boolean contains(java.lang.Object):459:459 -> contains
    1:1:boolean containsAll(java.util.Collection):432:432 -> containsAll
    1:1:boolean equals(java.lang.Object):523:523 -> equals
    1:1:int hashCode():517:517 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:1:java.util.Iterator iterator():365:365 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():400:400 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator):747:747 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():400 -> iterator
    1:1:boolean remove(java.lang.Object):465:465 -> remove
    1:1:boolean removeAll(java.util.Collection):442:442 -> removeAll
    1:1:boolean retainAll(java.util.Collection):447:447 -> retainAll
    1:1:int size():386:386 -> size
    1:1:java.lang.Object[] toArray(java.lang.Object[]):422:422 -> toArray
    2:2:java.lang.Object[] toArray():427:427 -> toArray
    1:1:java.lang.String toString():512:512 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator -> com.android.tools.r8.internal.q5:
    boolean nextBoolean() -> g
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators -> com.android.tools.r8.internal.u5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$EmptyIterator EMPTY_ITERATOR -> a
    1:1:void <clinit>():103:103 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$EmptyIterator -> com.android.tools.r8.internal.r5:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():87:87 -> clone
    1:1:boolean nextBoolean():57:57 -> g
    1:1:boolean previousBoolean():62:62 -> j
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$SingletonIterator -> com.android.tools.r8.internal.s5:
    boolean element -> b
    int curr -> c
    1:2:void <init>(boolean):110:111 -> <init>
    1:4:boolean nextBoolean():126:126 -> g
    1:1:boolean hasNext():116:116 -> hasNext
    1:1:boolean hasPrevious():121:121 -> hasPrevious
    1:4:boolean previousBoolean():133:133 -> j
    1:1:int nextIndex():140:140 -> nextIndex
    1:1:int previousIndex():145:145 -> previousIndex
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$UnmodifiableIterator -> com.android.tools.r8.internal.t5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator i -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator):724:725 -> <init>
    1:1:boolean nextBoolean():735:735 -> g
    1:1:boolean hasNext():730:730 -> hasNext
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets -> com.android.tools.r8.internal.A5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():76:76 -> <clinit>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSet singleton(boolean):159:159 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$EmptySet -> com.android.tools.r8.internal.y5:
    1:1:void <init>():42:42 -> <init>
    1:1:boolean rem(boolean):64:64 -> c
    1:1:java.lang.Object clone():52:52 -> clone
    1:1:boolean equals(java.lang.Object):58:58 -> equals
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton -> com.android.tools.r8.internal.z5:
    boolean element -> b
    1:2:void <init>(boolean):89:90 -> <init>
    1:1:boolean addAll(java.util.Collection):115:115 -> addAll
    1:1:boolean contains(boolean):95:95 -> b
    1:1:boolean remove(boolean):100:100 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton.iterator():105:105 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():85 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators.singleton(boolean):159:159 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton.iterator():105 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():85 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton.iterator():105:105 -> iterator
    3:3:java.util.Iterator iterator():85 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators.singleton(boolean):159:159 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton.iterator():105 -> iterator
    4:4:java.util.Iterator iterator():85 -> iterator
    1:1:boolean removeAll(java.util.Collection):120:120 -> removeAll
    1:1:boolean retainAll(java.util.Collection):125:125 -> retainAll
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap -> com.android.tools.r8.internal.y:
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.<init>():44:44 -> <init>
    1:1:void <init>():46 -> <init>
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(int,int) -> b
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.containsKey(java.lang.Object):105:105 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean containsValue(java.lang.Object):63:63 -> containsValue
    boolean containsValue(int) -> d
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defaultReturnValue(int):55:55 -> e
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defaultReturnValue(int):0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set entrySet():43:43 -> entrySet
    1:4:boolean equals(java.lang.Object):334:337 -> equals
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defaultReturnValue():60:60 -> f
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defaultReturnValue():0 -> f
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.get(java.lang.Object):120:121 -> get
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.get(java.lang.Object):41 -> get
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:int hashCode():324:327 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():311:311 -> k
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Integer,java.lang.Integer):135:138 -> put
    2:5:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:5:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):83:95 -> putAll
    14:16:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Integer,java.lang.Integer):135:137 -> putAll
    14:16:void putAll(java.util.Map):95 -> putAll
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.remove(int) -> remove
    1:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.remove(java.lang.Object):153:156 -> remove
    1:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.remove(java.lang.Object):41 -> remove
    1:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:16:java.lang.String toString():342:357 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry -> com.android.tools.r8.internal.x:
    int key -> b
    int value -> c
    1:3:void <init>(int,int):122:124 -> <init>
    1:1:int getIntKey():141:141 -> a
    1:5:boolean equals(java.lang.Object):180:184 -> equals
    1:1:int getIntValue():158:158 -> getIntValue
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.getKey():136:136 -> getKey
    1:1:java.lang.Object getKey():113 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.getValue():153:153 -> getValue
    1:1:java.lang.Object getValue():113 -> getValue
    1:1:int hashCode():189:189 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):113:113 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.setValue(java.lang.Integer):175:175 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):113 -> setValue
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.setValue(int):163:163 -> setValue
    3:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.setValue(java.lang.Integer):175 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):113 -> setValue
    1:1:java.lang.String toString():194:194 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap -> com.android.tools.r8.internal.z:
    1:1:void <init>():33:33 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.entrySet():293:293 -> entrySet
    1:1:java.util.Set entrySet():30 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():1431:1432 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():87 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.entrySet():293 -> entrySet
    2:3:java.util.Set entrySet():30 -> entrySet
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.firstKey():85:85 -> firstKey
    1:1:java.lang.Object firstKey():30 -> firstKey
    2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.firstIntKey():978:979 -> firstKey
    2:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.firstKey():85 -> firstKey
    2:3:java.lang.Object firstKey():30 -> firstKey
    4:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.firstKey():85:85 -> firstKey
    4:4:java.lang.Object firstKey():30 -> firstKey
    5:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.firstIntKey():978:978 -> firstKey
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.firstKey():85 -> firstKey
    5:5:java.lang.Object firstKey():30 -> firstKey
    1:1:java.util.SortedMap headMap(java.lang.Object):30:30 -> headMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.headMap(java.lang.Integer):46:46 -> headMap
    2:2:java.util.SortedMap headMap(java.lang.Object):30 -> headMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.headMap(int):1010:1010 -> headMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.headMap(java.lang.Integer):46 -> headMap
    3:3:java.util.SortedMap headMap(java.lang.Object):30 -> headMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.entrySet():293:293 -> k
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> k
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():1431:1432 -> k
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():87 -> k
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.entrySet():293 -> k
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> k
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.lastKey():98:98 -> lastKey
    1:1:java.lang.Object lastKey():30 -> lastKey
    2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.lastIntKey():989:990 -> lastKey
    2:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.lastKey():98 -> lastKey
    2:3:java.lang.Object lastKey():30 -> lastKey
    4:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.lastKey():98:98 -> lastKey
    4:4:java.lang.Object lastKey():30 -> lastKey
    5:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.lastIntKey():989:989 -> lastKey
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.lastKey():98 -> lastKey
    5:5:java.lang.Object lastKey():30 -> lastKey
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30:30 -> subMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.subMap(java.lang.Integer,java.lang.Integer):72:72 -> subMap
    2:2:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30 -> subMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.subMap(int,int):1020:1020 -> subMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.subMap(java.lang.Integer,java.lang.Integer):72 -> subMap
    3:3:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):30:30 -> tailMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.tailMap(java.lang.Integer):59:59 -> tailMap
    2:2:java.util.SortedMap tailMap(java.lang.Object):30 -> tailMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.tailMap(int):1000:1000 -> tailMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.tailMap(java.lang.Integer):59 -> tailMap
    3:3:java.util.SortedMap tailMap(java.lang.Object):30 -> tailMap
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectMap -> com.android.tools.r8.internal.B:
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    boolean containsKey(int) -> a
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(int,java.lang.Object) -> a
    void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.clear() -> clear
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.containsKey(java.lang.Object):105:105 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):296:299 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():273:273 -> f
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.get(java.lang.Object):120:121 -> get
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:int hashCode():286:289 -> hashCode
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.keySet():37:37 -> keySet
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Integer,java.lang.Object):135:137 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):70:82 -> putAll
    14:16:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Integer,java.lang.Object):135:137 -> putAll
    14:16:void putAll(java.util.Map):82 -> putAll
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.remove(int) -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.remove(java.lang.Object):153:155 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:17:java.lang.String toString():304:320 -> toString
    1:1:java.util.Collection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap.values():1403:1403 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectMap$BasicEntry -> com.android.tools.r8.internal.A:
    java.lang.Object value -> c
    int key -> b
    1:3:void <init>(int,java.lang.Object):109:111 -> <init>
    1:1:int getIntKey():128:128 -> a
    1:4:boolean equals(java.lang.Object):143:146 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectMap$BasicEntry.getKey():123:123 -> getKey
    1:1:java.lang.Object getKey():100 -> getKey
    1:1:java.lang.Object getValue():133:133 -> getValue
    1:1:int hashCode():151:151 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):138:138 -> setValue
    1:1:java.lang.String toString():156:156 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap -> com.android.tools.r8.internal.D:
    1:1:void <init>():33:33 -> <init>
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.firstIntKey() -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.subMap(int,int) -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.comparator() -> comparator
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.headMap(int) -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap.int2ObjectEntrySet():1403:1403 -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.tailMap(int) -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.entrySet():293:293 -> entrySet
    1:1:java.util.Set entrySet():30 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.entrySet():293:293 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> f
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.firstKey():85:85 -> firstKey
    1:1:java.lang.Object firstKey():30 -> firstKey
    1:1:java.util.SortedMap headMap(java.lang.Object):30:30 -> headMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.headMap(java.lang.Integer):46:46 -> headMap
    2:2:java.util.SortedMap headMap(java.lang.Object):30 -> headMap
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.lastIntKey() -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.int2ObjectEntrySet() -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.keySet() -> keySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap.keySet():1403:1403 -> keySet
    2:2:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap.keySet():1403:1403 -> keySet
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.lastKey():98:98 -> lastKey
    1:1:java.lang.Object lastKey():30 -> lastKey
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30:30 -> subMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.subMap(java.lang.Integer,java.lang.Integer):72:72 -> subMap
    2:2:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):30:30 -> tailMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.tailMap(java.lang.Integer):59:59 -> tailMap
    2:2:java.util.SortedMap tailMap(java.lang.Object):30 -> tailMap
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.values() -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap$KeySet -> com.android.tools.r8.internal.C:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap):122:122 -> <init>
    1:1:int firstInt():145:145 -> L
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):160:160 -> a
    1:1:void clear():135:135 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap$KeySet.comparator():140:140 -> comparator
    1:1:java.util.Comparator comparator():122 -> comparator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int):155:155 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int):165:165 -> d
    1:1:boolean contains(int):125:125 -> f
    1:1:int lastInt():150:150 -> p
    1:1:int size():130:130 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceFunction -> com.android.tools.r8.internal.E:
    java.lang.Object defRetValue -> b
    1:1:void <init>():44:44 -> <init>
    1:1:java.lang.Object put(int,java.lang.Object):71:71 -> a
    2:4:java.lang.Object put(java.lang.Integer,java.lang.Object):135:137 -> a
    1:1:boolean containsKey(java.lang.Object):105:105 -> containsKey
    1:2:java.lang.Object get(java.lang.Object):120:121 -> get
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object remove(int):82:82 -> remove
    2:4:java.lang.Object remove(java.lang.Object):153:155 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceMap -> com.android.tools.r8.internal.G:
    1:1:void <init>():45:45 -> <init>
    boolean containsKey(int) -> a
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):296:299 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():273:273 -> f
    1:4:int hashCode():286:289 -> hashCode
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.keySet():37:37 -> keySet
    1:13:void putAll(java.util.Map):70:82 -> putAll
    1:17:java.lang.String toString():304:320 -> toString
    1:1:java.util.Collection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.values():1435:1435 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceMap$BasicEntry -> com.android.tools.r8.internal.F:
    java.lang.Object value -> c
    int key -> b
    1:3:void <init>(int,java.lang.Object):109:111 -> <init>
    1:1:int getIntKey():128:128 -> a
    1:4:boolean equals(java.lang.Object):143:146 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceMap$BasicEntry.getKey():123:123 -> getKey
    1:1:java.lang.Object getKey():100 -> getKey
    1:1:java.lang.Object getValue():133:133 -> getValue
    1:1:int hashCode():151:151 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):138:138 -> setValue
    1:1:java.lang.String toString():156:156 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap -> com.android.tools.r8.internal.I:
    1:1:void <init>():33:33 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer):59:59 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer):72:72 -> a
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.int2ReferenceEntrySet():1435:1435 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(java.lang.Integer):46:46 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entrySet():293:293 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.entrySet():293:293 -> entrySet
    2:2:java.util.Set entrySet():30 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.entrySet():293:293 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> f
    1:1:java.lang.Integer firstKey():85:85 -> firstKey
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.firstKey():85:85 -> firstKey
    2:2:java.lang.Object firstKey():30 -> firstKey
    1:1:java.util.SortedMap headMap(java.lang.Object):30:30 -> headMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.headMap(java.lang.Integer):46:46 -> headMap
    2:2:java.util.SortedMap headMap(java.lang.Object):30 -> headMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.keySet():1435:1435 -> keySet
    2:2:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.keySet():1435:1435 -> keySet
    1:1:java.lang.Integer lastKey():98:98 -> lastKey
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.lastKey():98:98 -> lastKey
    2:2:java.lang.Object lastKey():30 -> lastKey
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30:30 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):30:30 -> tailMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.tailMap(java.lang.Integer):59:59 -> tailMap
    2:2:java.util.SortedMap tailMap(java.lang.Object):30 -> tailMap
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap$KeySet -> com.android.tools.r8.internal.H:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap):122:122 -> <init>
    1:1:int firstInt():145:145 -> L
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):160:160 -> a
    1:1:void clear():135:135 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap$KeySet.comparator():140:140 -> comparator
    1:1:java.util.Comparator comparator():122 -> comparator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int):155:155 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int):165:165 -> d
    1:1:boolean contains(int):125:125 -> f
    1:1:int lastInt():150:150 -> p
    1:1:int size():130:130 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection -> com.android.tools.r8.internal.J:
    1:1:void <init>():37:37 -> <init>
    1:1:boolean add(java.lang.Integer):114:114 -> a
    2:3:int[] toArray(int[]):148:149 -> a
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312:312 -> a
    4:4:int[] toArray(int[]):149 -> a
    5:9:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):289:289 -> a
    5:9:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    5:9:int[] toArray(int[]):149 -> a
    10:10:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    10:10:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    10:10:int[] toArray(int[]):149 -> a
    11:11:int[] toArray(int[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":13,"2":14,"3":15,"4":16,"5":17,"6":18}}
    13:13:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    13:13:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    13:13:int[] toArray(int[]):149 -> a
    14:14:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    14:14:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    14:14:int[] toArray(int[]):149 -> a
    15:15:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    15:15:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    15:15:int[] toArray(int[]):149 -> a
    16:16:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    16:16:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    16:16:int[] toArray(int[]):149 -> a
    17:17:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    17:17:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    17:17:int[] toArray(int[]):149 -> a
    18:18:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    18:18:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    18:18:int[] toArray(int[]):149 -> a
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    12:12:int[] toArray(int[]):149 -> a
    19:20:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):173:174 -> a
    1:1:boolean add(java.lang.Object):36:36 -> add
    2:2:boolean add(int):68:68 -> add
    1:1:boolean contains(java.lang.Object):129:129 -> contains
    boolean contains(int) -> f
    1:4:boolean rem(int):94:97 -> h
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeySet.iterator():803:803 -> iterator
    1:1:boolean remove(java.lang.Object):143:143 -> remove
    1:14:java.lang.String toString():206:219 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator -> com.android.tools.r8.internal.K:
    1:1:void <init>():34:34 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> next
    1:1:java.lang.Object next():33 -> next
    1:1:void remove():68:68 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList -> com.android.tools.r8.internal.N:
    1:1:void <init>():33:33 -> <init>
    boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList) -> a
    void removeElements(int,int) -> a
    1:1:int compareTo(java.util.List):464:464 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    2:2:int compareTo(java.util.List):465 -> a
    3:11:int compareTo(java.util.List):466:474 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    12:12:int compareTo(java.util.List):476 -> a
    13:18:int compareTo(java.util.List):477:482 -> a
    19:23:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):525:529 -> a
    24:24:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> a
    1:1:void add(int,java.lang.Object):32:32 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.add(int,java.lang.Integer):578:578 -> add
    2:2:void add(int,java.lang.Object):32 -> add
    1:5:boolean addAll(int,java.util.Collection):120:124 -> addAll
    6:6:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.add(int,java.lang.Integer):578:578 -> addAll
    6:6:boolean addAll(int,java.util.Collection):124 -> addAll
    7:7:boolean addAll(java.util.Collection):137:137 -> addAll
    void add(int,int) -> b
    int set(int,int) -> c
    1:1:void clear():403:403 -> clear
    1:1:int compareTo(java.lang.Object):32:32 -> compareTo
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList subList(int,int):310:313 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList subList(int,int):312:312 -> e
    1:5:boolean equals(java.lang.Object):430:434 -> equals
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> equals
    6:6:boolean equals(java.lang.Object):435 -> equals
    7:9:boolean equals(java.lang.Object):436:438 -> equals
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> equals
    10:10:boolean equals(java.lang.Object):441 -> equals
    11:13:boolean equals(java.lang.Object):441:443 -> equals
    14:14:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.valEquals(java.lang.Object,java.lang.Object):407:407 -> equals
    14:14:boolean equals(java.lang.Object):443 -> equals
    1:1:boolean contains(int):274:274 -> f
    int removeInt(int) -> g
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.get(int):606:606 -> get
    1:1:java.lang.Object get(int):32 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> hashCode
    1:1:int hashCode():418 -> hashCode
    2:4:int hashCode():419:421 -> hashCode
    1:1:void ensureIndex(int):47:47 -> i
    2:2:void ensureIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102}}
    98:98:void ensureIndex(int):47:47 -> i
    99:99:void ensureIndex(int):47:47 -> i
    100:100:void ensureIndex(int):47:47 -> i
    101:101:void ensureIndex(int):47:47 -> i
    102:102:void ensureIndex(int):47:47 -> i
    49:49:void ensureIndex(int):47:47 -> i
    50:50:void ensureIndex(int):46:46 -> i
    51:51:void ensureIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102,"6":103}}
    98:98:void ensureIndex(int):46:46 -> i
    99:99:void ensureIndex(int):46:46 -> i
    100:100:void ensureIndex(int):46:46 -> i
    101:101:void ensureIndex(int):46:46 -> i
    102:102:void ensureIndex(int):46:46 -> i
    103:103:void ensureIndex(int):46:46 -> i
    97:97:void ensureIndex(int):46:46 -> i
    1:1:int indexOf(java.lang.Object):620:620 -> indexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():32 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator iterator():180 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> iterator
    3:3:java.util.Iterator iterator():32 -> iterator
    1:1:void ensureRestrictedIndex(int):62:62 -> j
    2:2:void ensureRestrictedIndex(int):0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131,"5":132}}
    128:128:void ensureRestrictedIndex(int):62:62 -> j
    129:129:void ensureRestrictedIndex(int):62:62 -> j
    130:130:void ensureRestrictedIndex(int):62:62 -> j
    131:131:void ensureRestrictedIndex(int):62:62 -> j
    132:132:void ensureRestrictedIndex(int):62:62 -> j
    64:64:void ensureRestrictedIndex(int):62:62 -> j
    65:65:void ensureRestrictedIndex(int):61:61 -> j
    66:66:void ensureRestrictedIndex(int):0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131,"5":132,"6":133}}
    128:128:void ensureRestrictedIndex(int):61:61 -> j
    129:129:void ensureRestrictedIndex(int):61:61 -> j
    130:130:void ensureRestrictedIndex(int):61:61 -> j
    131:131:void ensureRestrictedIndex(int):61:61 -> j
    132:132:void ensureRestrictedIndex(int):61:61 -> j
    133:133:void ensureRestrictedIndex(int):61:61 -> j
    127:127:void ensureRestrictedIndex(int):61:61 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> k
    1:1:int indexOf(int):279 -> k
    2:4:int indexOf(int):281:283 -> k
    1:5:int lastIndexOf(int):290:294 -> l
    1:1:int lastIndexOf(java.lang.Object):634:634 -> lastIndexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator():192:192 -> listIterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> listIterator
    2:2:java.util.ListIterator listIterator():32 -> listIterator
    3:3:java.util.ListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList.listIterator(int):726:726 -> listIterator
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator(int) -> m
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.remove(int):648:648 -> remove
    1:1:java.lang.Object remove(int):32 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):32:32 -> set
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.set(int,java.lang.Integer):592:592 -> set
    2:2:java.lang.Object set(int,java.lang.Object):32 -> set
    1:1:java.util.List subList(int,int):32:32 -> subList
    1:1:java.lang.String toString():709:709 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> toString
    2:2:java.lang.String toString():710 -> toString
    3:14:java.lang.String toString():711:722 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList -> com.android.tools.r8.internal.M:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList l -> b
    boolean $assertionsDisabled -> e
    int to -> d
    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
    2:4:boolean assertRange():742:744 -> a
    5:7:void getElements(int,int[],int,int):797:799 -> a
    8:8:void getElements(int,int[],int,int):798:798 -> a
    9:13:void removeElements(int,int):804:808 -> a
    14:15:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):898:899 -> a
    16:16:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):904:904 -> a
    17:17:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):542:542 -> a
    17:17:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):905 -> a
    1:1:void add(int,java.lang.Object):726:726 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.add(int,java.lang.Integer):578:578 -> add
    2:2:void add(int,java.lang.Object):726 -> add
    3:5:boolean add(int):750:752 -> add
    1:3:boolean addAll(int,java.util.Collection):766:768 -> addAll
    1:4:void add(int,int):758:761 -> b
    5:6:int getInt(int):773:774 -> b
    1:2:int set(int,int):786:787 -> c
    1:1:int compareTo(java.lang.Object):726:726 -> compareTo
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList subList(int,int):880:883 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList subList(int,int):882:882 -> e
    1:3:int removeInt(int):779:781 -> g
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.get(int):606:606 -> get
    1:1:java.lang.Object get(int):726 -> get
    1:5:boolean rem(int):888:892 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():726 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> iterator
    2:2:java.util.Iterator iterator():726 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> listIterator
    1:1:java.util.ListIterator listIterator():726 -> listIterator
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator(int):821:822 -> m
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.remove(int):648:648 -> remove
    1:1:java.lang.Object remove(int):726 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):726:726 -> set
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.set(int,java.lang.Integer):592:592 -> set
    2:2:java.lang.Object set(int,java.lang.Object):726 -> set
    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.internal.L:
    boolean $assertionsDisabled -> e
    int pos -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList this$0 -> d
    int last -> c
    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
    1:3:void set(int):859:859 -> b
    1:3:int previousInt():839:839 -> c
    1:1:boolean hasNext():826:826 -> hasNext
    1:1:boolean hasPrevious():830:830 -> hasPrevious
    1:1:int nextIndex():844:844 -> nextIndex
    1:3:int nextInt():834:834 -> nextInt
    1:1:int previousIndex():848:848 -> previousIndex
    1:11:void remove():864:864 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntListIterator -> com.android.tools.r8.internal.O:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.<init>():34:34 -> <init>
    1:1:void <init>():35 -> <init>
    1:1:void add(int):57:57 -> a
    1:1:void add(java.lang.Object):34:34 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntListIterator.add(java.lang.Integer):83:83 -> add
    2:2:void add(java.lang.Object):34 -> add
    1:1:void set(int):46:46 -> b
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.previousInt() -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.previous():56:56 -> previous
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.previous():33 -> previous
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.previous():0 -> previous
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:void set(java.lang.Object):34:34 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntListIterator.set(java.lang.Integer):70:70 -> set
    2:2:void set(java.lang.Object):34 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSet -> com.android.tools.r8.internal.P:
    1:1:void <init>():32:32 -> <init>
    1:4:boolean equals(java.lang.Object):41:44 -> equals
    1:1:boolean rem(int):87:87 -> h
    1:5:int hashCode():57:61 -> hashCode
    1:1:boolean remove(int):75:75 -> i
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet -> com.android.tools.r8.internal.Q:
    1:1:void <init>():23:23 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.first():94:94 -> first
    1:1:java.lang.Object first():22 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):22:22 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.headSet(java.lang.Integer):55:55 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):22 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeySet.iterator():1274:1274 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeySet.iterator():1274:1274 -> iterator
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.last():107:107 -> last
    1:1:java.lang.Object last():22 -> last
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):22:22 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.subSet(java.lang.Integer,java.lang.Integer):81:81 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):22 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):22:22 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.tailSet(java.lang.Integer):68:68 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):22 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap -> com.android.tools.r8.internal.qq:
    int[] key -> c
    int[] value -> d
    int size -> e
    1:3:void <init>():70:72 -> <init>
    4:6:void <init>(int):81:83 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):37:37 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:234 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap,int):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):235:236 -> a
    3:4:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap,int):37 -> a
    5:7:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:236 -> a
    5:7:boolean containsKey(int):261 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):37:37 -> b
    2:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:236 -> b
    2:4:int put(int,int):279 -> b
    5:22:int put(int,int):281:298 -> b
    1:1:int[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):37:37 -> c
    1:1:void clear():256:256 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.clone():339:344 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.clone():341:341 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:1:int[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):37:37 -> d
    2:3:boolean containsValue(int):266:267 -> d
    1:4:int get(int):243:246 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.int2IntEntrySet():230:230 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2IntEntrySet():37 -> i
    1:1:boolean isEmpty():273:273 -> isEmpty
    1:1:java.util.Set keySet():37:37 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():316:316 -> keySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values():321:321 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):536:536 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values():321 -> l
    1:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:236 -> remove
    1:3:int remove(int):304 -> remove
    4:9:int remove(int):305:310 -> remove
    1:1:int size():251:251 -> size
    1:1:java.util.Collection values():37:37 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet -> com.android.tools.r8.internal.pq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$1):133:133 -> <init>
    1:6:boolean contains(java.lang.Object):201:206 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):212:223 -> remove
    1:1:int size():195:195 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.oq:
    int curr -> b
    int next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet this$1 -> d
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:6:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntFunction -> com.android.tools.r8.internal.rq:
    boolean containsKey(int) -> a
    int put(int,int) -> b
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap -> com.android.tools.r8.internal.Aq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> n
    int size -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> o
    int n -> j
    int maxFill -> k
    int last -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet entries -> m
    int first -> g
    int mask -> e
    long[] link -> i
    int[] key -> c
    int[] value -> d
    boolean containsNullKey -> f
    1:1:void <init>(int,float):147:147 -> <init>
    2:56:void <init>(int,float):102:156 -> <init>
    1:1:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,int):87:87 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.removeNullEntry():285:285 -> a
    2:2:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.removeNullEntry():286:289 -> a
    3:6:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):87 -> a
    7:16:boolean containsKey(int):734:743 -> a
    1:25:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.insert(int,int):306:330 -> b
    1:25:int put(int,int):337 -> b
    26:28:int put(int,int):338:340 -> b
    1:24:void fixPointers(int,int):945:968 -> c
    1:5:void clear():767:771 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.clone():1801:1811 -> clone
    1:11:java.lang.Object clone():87 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.clone():1803:1803 -> clone
    12:12:java.lang.Object clone():87 -> clone
    1:5:boolean containsValue(int):750:754 -> d
    1:25:void fixPointers(int):907:931 -> f
    1:42:void rehash(int):1742:1783 -> g
    1:11:int get(int):717:727 -> get
    1:3:int removeEntry(int):276:278 -> h
    4:9:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.shiftKeys(int):409:414 -> h
    4:9:int removeEntry(int):279 -> h
    10:10:int removeEntry(int):280:280 -> h
    11:17:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.shiftKeys(int):417:423 -> h
    11:17:int removeEntry(int):279 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.realSize():262:262 -> hashCode
    1:1:int hashCode():1828 -> hashCode
    2:10:int hashCode():1829:1837 -> hashCode
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():1431:1432 -> i
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2IntEntrySet():87 -> i
    1:1:boolean isEmpty():781:781 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.keySet():1564:1565 -> keySet
    1:2:java.util.Set keySet():87 -> keySet
    1:1:void putAll(java.util.Map):295:295 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.ensureCapacity(int):266:267 -> putAll
    2:3:void putAll(java.util.Map):295 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.size():776:776 -> putAll
    4:4:void putAll(java.util.Map):297 -> putAll
    5:5:void putAll(java.util.Map):297:297 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.tryCapacity(long):271:272 -> putAll
    6:7:void putAll(java.util.Map):297 -> putAll
    8:8:void putAll(java.util.Map):300:300 -> putAll
    1:1:int remove(int):429:429 -> remove
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.removeNullEntry():285:289 -> remove
    2:6:int remove(int):429 -> remove
    7:17:int remove(int):430:440 -> remove
    1:1:int size():776:776 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.values():1629:1650 -> values
    1:22:java.util.Collection values():87 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.sq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1629:1629 -> <init>
    1:1:void clear():1647:1647 -> clear
    1:1:boolean contains(int):1642:1642 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1632:1632 -> iterator
    1:1:int size():1637:1637 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.tq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry entry -> g
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1229:1229 -> <init>
    1:1:void add(java.lang.Object):1226:1226 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1222:1222 -> add
    2:2:void add(java.lang.Object):1226 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$EntryIterator.next():1238:1238 -> next
    1:1:java.lang.Object next():1226 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$EntryIterator.previous():1243:1243 -> previous
    1:1:java.lang.Object previous():1226 -> previous
    1:2:void remove():1248:1249 -> remove
    1:1:void set(java.lang.Object):1226:1226 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1218:1218 -> set
    2:2:void set(java.lang.Object):1226 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.uq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1482:1483 -> <init>
    1:1:void add(java.lang.Object):1444:1444 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator.add(java.lang.Integer):1479:1479 -> add
    2:2:void add(java.lang.Object):1444 -> add
    1:1:int previousInt():1451:1451 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator.next():1494:1494 -> next
    1:1:java.lang.Object next():1444 -> next
    1:1:int nextInt():1488:1488 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator.previous():1467:1467 -> previous
    1:1:java.lang.Object previous():1444 -> previous
    1:1:void set(java.lang.Object):1444:1444 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator.set(java.lang.Integer):1473:1473 -> set
    2:2:void set(java.lang.Object):1444 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.vq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1498:1498 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1):1498:1498 -> <init>
    1:3:int firstInt():1531:1531 -> L
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):1548:1548 -> a
    1:1:void clear():1526:1526 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int):1553:1553 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int):1558:1558 -> d
    1:1:boolean contains(int):1514:1514 -> f
    1:3:boolean remove(int):1519:1521 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet.iterator():1504:1504 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1498 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet.iterator():1504:1504 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1498 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet.iterator():1504:1504 -> iterator
    3:3:java.util.Iterator iterator():1498 -> iterator
    1:3:int lastInt():1537:1537 -> p
    1:1:int size():1509:1509 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.wq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,int):820:821 -> <init>
    1:1:int getIntKey():829:829 -> a
    1:3:boolean equals(java.lang.Object):883:885 -> equals
    1:1:int getIntValue():834:834 -> getIntValue
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.getKey():853:853 -> getKey
    1:1:java.lang.Object getKey():815 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.getValue():865:865 -> getValue
    1:1:java.lang.Object getValue():815 -> getValue
    1:1:int hashCode():890:890 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):815:815 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):877:877 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):815 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.setValue(int):839:840 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):877 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):815 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):877:877 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):815 -> setValue
    1:1:java.lang.String toString():895:895 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.xq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1276:1276 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1):1276:1276 -> <init>
    1:1:void clear():1382:1382 -> clear
    1:17:boolean contains(java.lang.Object):1316:1332 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.first():1303:1303 -> first
    1:3:java.lang.Object first():1276 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1276:1276 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1293:1293 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1276 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1278:1278 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.last():1309:1309 -> last
    1:3:java.lang.Object last():1276 -> last
    1:30:boolean remove(java.lang.Object):1339:1368 -> remove
    1:1:int size():1377:1377 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1276:1276 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1288:1288 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1276 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1276:1276 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1298:1298 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1276 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.yq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> f
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1):1040:1040 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1065:1065 -> <init>
    3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1046:1067 -> <init>
    1:1:boolean hasNext():1099:1099 -> hasNext
    1:1:boolean hasPrevious():1103:1103 -> hasPrevious
    1:14:void ensureIndexKnown():1107:1120 -> j
    1:6:int nextEntry():1135:1135 -> k
    1:6:int previousEntry():1144:1144 -> l
    1:2:int nextIndex():1125:1126 -> nextIndex
    1:2:int previousIndex():1130:1131 -> previousIndex
    1:46:void remove():1153:1198 -> remove
    47:47:void remove():1154:1154 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.zq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1611:1612 -> <init>
    1:1:void add(java.lang.Object):1577:1577 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator.add(java.lang.Integer):1598:1598 -> add
    2:2:void add(java.lang.Object):1577 -> add
    1:1:int previousInt():1580:1580 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator.next():1623:1623 -> next
    1:1:java.lang.Object next():1577 -> next
    1:1:int nextInt():1617:1617 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator.previous():1586:1586 -> previous
    1:1:java.lang.Object previous():1577 -> previous
    1:1:void set(java.lang.Object):1577:1577 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator.set(java.lang.Integer):1592:1592 -> set
    2:2:void set(java.lang.Object):1577 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap -> com.android.tools.r8.internal.Dq:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2IntEntrySet() -> i
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry -> com.android.tools.r8.internal.Bq:
    int getIntKey() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet -> com.android.tools.r8.internal.Cq:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap -> com.android.tools.r8.internal.Mq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet entries -> j
    int[] key -> c
    int[] value -> d
    int maxFill -> h
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keys -> k
    1:9:void <init>(int,float):92:100 -> <init>
    10:10:void <init>(int,float):94:94 -> <init>
    11:11:void <init>():120:120 -> <init>
    12:13:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,float):156:157 -> <init>
    1:1:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,int):50:50 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.removeNullEntry():228:228 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):50 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.removeNullEntry():229:231 -> a
    3:5:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):50 -> a
    6:15:boolean containsKey(int):387:396 -> a
    1:16:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.insert(int,int):248:263 -> b
    1:16:int put(int,int):270 -> b
    17:19:int put(int,int):271:273 -> b
    1:4:void clear():420:423 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.clone():1017:1026 -> clone
    1:10:java.lang.Object clone():50 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.clone():1019:1019 -> clone
    11:11:java.lang.Object clone():50 -> clone
    1:5:boolean containsValue(int):403:407 -> d
    1:7:void rehash(int):979:985 -> f
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.realSize():206:206 -> f
    8:8:void rehash(int):986 -> f
    9:21:void rehash(int):987:999 -> f
    1:2:int removeEntry(int):220:221 -> g
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.shiftKeys(int):333:338 -> g
    3:8:int removeEntry(int):222 -> g
    9:9:int removeEntry(int):223:223 -> g
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.shiftKeys(int):341:346 -> g
    10:15:int removeEntry(int):222 -> g
    1:11:int get(int):370:380 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.realSize():206:206 -> hashCode
    1:1:int hashCode():1043 -> hashCode
    2:10:int hashCode():1044:1052 -> hashCode
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.int2IntEntrySet():773:774 -> i
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2IntEntrySet():50 -> i
    1:1:boolean isEmpty():433:433 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.keySet():834:835 -> keySet
    1:2:java.util.Set keySet():50 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.ensureCapacity(int):210:211 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.size():428:428 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.tryCapacity(long):215:216 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int remove(int):352:352 -> remove
    2:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.removeNullEntry():228:231 -> remove
    2:5:int remove(int):352 -> remove
    6:16:int remove(int):353:363 -> remove
    1:1:int size():428:428 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.values():866:887 -> values
    1:22:java.util.Collection values():50 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1 -> com.android.tools.r8.internal.Eq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):866:866 -> <init>
    1:1:void clear():884:884 -> clear
    1:1:boolean contains(int):879:879 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():869:869 -> iterator
    1:1:int size():874:874 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.Fq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):664:664 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):664:664 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$EntryIterator.next():669:669 -> next
    1:1:java.lang.Object next():664 -> next
    1:2:void remove():674:675 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.Gq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):787:788 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeyIterator.next():799:799 -> next
    1:1:java.lang.Object next():786 -> next
    1:1:int nextInt():793:793 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.Hq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):803:803 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):803:803 -> <init>
    1:1:void clear():828:828 -> clear
    1:1:boolean contains(int):816:816 -> f
    1:3:boolean remove(int):821:823 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():806:806 -> iterator
    1:1:int size():811:811 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.Iq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,int):472:473 -> <init>
    1:1:int getIntKey():481:481 -> a
    1:3:boolean equals(java.lang.Object):535:537 -> equals
    1:1:int getIntValue():486:486 -> getIntValue
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.getKey():505:505 -> getKey
    1:1:java.lang.Object getKey():467 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.getValue():517:517 -> getValue
    1:1:java.lang.Object getValue():467 -> getValue
    1:1:int hashCode():542:542 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):467:467 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):529:529 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):467 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.setValue(int):491:492 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):529 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):467 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):529:529 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):467 -> setValue
    1:1:java.lang.String toString():547:547 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.Jq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):689:689 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):689:689 -> <init>
    1:1:void clear():767:767 -> clear
    1:17:boolean contains(java.lang.Object):701:717 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():691:691 -> iterator
    1:30:boolean remove(java.lang.Object):724:753 -> remove
    1:1:int size():762:762 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.Kq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    int pos -> b
    int last -> c
    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 -> j
    1:4:void remove():641:644 -> remove
    5:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapIterator.shiftKeys(int):619:624 -> remove
    5:10:void remove():644 -> remove
    11:12:void remove():651:652 -> remove
    13:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapIterator.shiftKeys(int):627:636 -> remove
    13:22:void remove():644 -> remove
    23:24:void remove():647:648 -> remove
    25:25:void remove():641:641 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.Lq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):848:849 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$ValueIterator.next():860:860 -> next
    1:1:java.lang.Object next():847 -> next
    1:1:int nextInt():854:854 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.Nq:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap -> com.android.tools.r8.internal.Qq:
    java.lang.Object[] value -> d
    int[] key -> c
    int size -> e
    1:3:void <init>():70:72 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):37:37 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:235 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,int):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):236:237 -> a
    3:4:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,int):37 -> a
    5:7:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:237 -> a
    5:7:boolean containsKey(int):265 -> a
    8:10:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:237 -> a
    8:10:java.lang.Object put(int,java.lang.Object):283 -> a
    11:28:java.lang.Object put(int,java.lang.Object):285:302 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):37:37 -> b
    1:1:int[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):37:37 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:2:boolean containsValue(java.lang.Object):270:271 -> containsValue
    1:1:java.lang.Object[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):37:37 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.int2ObjectEntrySet():231:231 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet():37 -> d
    1:4:java.lang.Object get(int):244:247 -> get
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():321:321 -> keySet
    1:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:237 -> remove
    1:3:java.lang.Object remove(int):308 -> remove
    4:10:java.lang.Object remove(int):309:315 -> remove
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():326:326 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet -> com.android.tools.r8.internal.Pq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet$1 -> com.android.tools.r8.internal.Oq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectFunction -> com.android.tools.r8.internal.Rq:
    boolean containsKey(int) -> a
    java.lang.Object put(int,java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap -> com.android.tools.r8.internal.Uq:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet() -> d
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry -> com.android.tools.r8.internal.Sq:
    int getIntKey() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet -> com.android.tools.r8.internal.Tq:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap -> com.android.tools.r8.internal.dr:
    java.lang.Object[] value -> d
    int[] key -> c
    int maxFill -> h
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet entries -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keys -> k
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>(int,float):93:93 -> <init>
    11:12:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,float):155:156 -> <init>
    1:1:java.lang.Object access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,int):49:49 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.removeNullEntry():228:228 -> a
    2:2:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.removeNullEntry():229:232 -> a
    3:6:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.insert(int,java.lang.Object):249:264 -> a
    7:22:java.lang.Object put(int,java.lang.Object):271 -> a
    23:25:java.lang.Object put(int,java.lang.Object):272:274 -> a
    26:35:boolean containsKey(int):344:353 -> a
    1:5:void clear():377:381 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.clone():945:954 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.clone():947:947 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:5:boolean containsValue(java.lang.Object):360:364 -> containsValue
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.int2ObjectEntrySet():707:708 -> d
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet():49 -> d
    3:9:void rehash(int):907:913 -> d
    10:10:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.realSize():205:205 -> d
    10:10:void rehash(int):914 -> d
    11:23:void rehash(int):915:927 -> d
    1:3:java.lang.Object removeEntry(int):219:221 -> e
    4:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.shiftKeys(int):289:295 -> e
    4:10:java.lang.Object removeEntry(int):222 -> e
    11:11:java.lang.Object removeEntry(int):223:223 -> e
    12:17:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.shiftKeys(int):298:303 -> e
    12:17:java.lang.Object removeEntry(int):222 -> e
    1:11:java.lang.Object get(int):327:337 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():971 -> hashCode
    2:10:int hashCode():972:980 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():768:769 -> keySet
    1:1:void putAll(java.util.Map):238:238 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):238 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.size():386:386 -> putAll
    4:4:void putAll(java.util.Map):240 -> putAll
    5:5:void putAll(java.util.Map):240:240 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):240 -> putAll
    8:8:void putAll(java.util.Map):243:243 -> putAll
    1:1:java.lang.Object remove(int):309:309 -> remove
    2:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.removeNullEntry():228:232 -> remove
    2:6:java.lang.Object remove(int):309 -> remove
    7:17:java.lang.Object remove(int):310:320 -> remove
    1:1:int size():386:386 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():794:815 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1 -> com.android.tools.r8.internal.Vq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):794:794 -> <init>
    1:1:void clear():812:812 -> clear
    1:1:boolean contains(java.lang.Object):807:807 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():797:797 -> iterator
    1:1:int size():802:802 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$EntryIterator -> com.android.tools.r8.internal.Wq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):600:600 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):600:600 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$EntryIterator.next():605:605 -> next
    1:1:java.lang.Object next():600 -> next
    1:2:void remove():610:611 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeyIterator -> com.android.tools.r8.internal.Xq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):721:722 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeyIterator.next():733:733 -> next
    1:1:java.lang.Object next():720 -> next
    1:1:int nextInt():727:727 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeySet -> com.android.tools.r8.internal.Yq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):737:737 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):737:737 -> <init>
    1:1:void clear():762:762 -> clear
    1:1:boolean contains(int):750:750 -> f
    1:3:boolean remove(int):755:757 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():740:740 -> iterator
    1:1:int size():745:745 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry -> com.android.tools.r8.internal.Zq:
    int index -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,int):430:431 -> <init>
    1:1:int getIntKey():439:439 -> a
    1:3:boolean equals(java.lang.Object):469:471 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry.getKey():463:463 -> getKey
    1:1:java.lang.Object getKey():425 -> getKey
    1:1:java.lang.Object getValue():444:444 -> getValue
    1:1:int hashCode():476:476 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):449:450 -> setValue
    1:1:java.lang.String toString():481:481 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.ar:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):625:625 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):625:625 -> <init>
    1:1:void clear():701:701 -> clear
    1:16:boolean contains(java.lang.Object):637:652 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():627:627 -> iterator
    1:29:boolean remove(java.lang.Object):659:687 -> remove
    1:1:int size():696:696 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapIterator -> com.android.tools.r8.internal.br:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> g
    int pos -> b
    int last -> c
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):486:509 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):486:486 -> <init>
    1:1:boolean hasNext():517:517 -> hasNext
    1:19:int nextEntry():521:521 -> j
    1:5:void remove():576:580 -> remove
    6:12:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapIterator.shiftKeys(int):553:559 -> remove
    6:12:void remove():580 -> remove
    13:14:void remove():587:588 -> remove
    15:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapIterator.shiftKeys(int):562:571 -> remove
    15:24:void remove():580 -> remove
    25:26:void remove():583:584 -> remove
    27:27:void remove():576:576 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueIterator -> com.android.tools.r8.internal.cr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):782:783 -> <init>
    1:1:java.lang.Object next():788:788 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap -> com.android.tools.r8.internal.vr:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    boolean modified -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry tree -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values -> i
    int count -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry -> e
    boolean[] dirPath -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry lastEntry -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry[] nodePath -> l
    1:1:void <init>():81:81 -> <init>
    2:10:void <init>():75:83 -> <init>
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):310:320 -> a
    1:11:java.lang.Object put(int,java.lang.Object):288 -> a
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):320 -> a
    12:12:java.lang.Object put(int,java.lang.Object):288 -> a
    13:23:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):324:334 -> a
    13:23:java.lang.Object put(int,java.lang.Object):288 -> a
    24:25:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):837:838 -> a
    24:25:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):335 -> a
    24:25:java.lang.Object put(int,java.lang.Object):288 -> a
    26:33:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):338:345 -> a
    26:33:java.lang.Object put(int,java.lang.Object):288 -> a
    34:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):826:827 -> a
    34:35:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):346 -> a
    34:35:java.lang.Object put(int,java.lang.Object):288 -> a
    36:70:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):352:386 -> a
    36:70:java.lang.Object put(int,java.lang.Object):288 -> a
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.succ(boolean):794:794 -> a
    71:71:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):387 -> a
    71:71:java.lang.Object put(int,java.lang.Object):288 -> a
    72:92:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):388:408 -> a
    72:92:java.lang.Object put(int,java.lang.Object):288 -> a
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.succ(boolean):794:794 -> a
    93:93:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):409 -> a
    93:93:java.lang.Object put(int,java.lang.Object):288 -> a
    94:119:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):410:435 -> a
    94:119:java.lang.Object put(int,java.lang.Object):288 -> a
    120:121:java.lang.Object put(int,java.lang.Object):289:290 -> a
    122:122:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):349:349 -> a
    122:122:java.lang.Object put(int,java.lang.Object):288 -> a
    123:123:boolean containsKey(int):946:946 -> a
    1:3:int firstIntKey():967:967 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap subMap(int,int):1389:1389 -> c
    1:6:void clear():679:684 -> clear
    1:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1913:1926 -> clone
    1:14:java.lang.Object clone():43 -> clone
    15:16:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):826:827 -> clone
    15:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1926 -> clone
    15:16:java.lang.Object clone():43 -> clone
    17:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1928:1933 -> clone
    17:22:java.lang.Object clone():43 -> clone
    23:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):826:827 -> clone
    23:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1934 -> clone
    23:24:java.lang.Object clone():43 -> clone
    25:49:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1935:1959 -> clone
    25:49:java.lang.Object clone():43 -> clone
    50:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):837:838 -> clone
    50:51:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1960 -> clone
    50:51:java.lang.Object clone():43 -> clone
    52:52:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1915:1915 -> clone
    52:52:java.lang.Object clone():43 -> clone
    1:3:boolean containsValue(java.lang.Object):667:669 -> containsValue
    4:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$ValueIterator.next():1315:1315 -> containsValue
    4:4:boolean containsValue(java.lang.Object):671 -> containsValue
    5:5:boolean containsValue(java.lang.Object):672:672 -> containsValue
    1:1:int compare(int,int):234:234 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap headMap(int):1379:1379 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap tailMap(int):1384:1384 -> e
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):247:249 -> f
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> f
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):249 -> f
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left():742:742 -> f
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):250 -> f
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right():752:752 -> f
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):250 -> f
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):264:266 -> g
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> g
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):266 -> g
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left():742:742 -> g
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):268 -> g
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right():752:752 -> g
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):268 -> g
    1:2:java.lang.Object get(int):961:962 -> get
    1:1:boolean isEmpty():956:956 -> isEmpty
    1:3:int lastIntKey():973:973 -> j
    1:79:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ObjectEntrySet():1127:1205 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1298:1299 -> keySet
    1:2:void allocatePaths():282:283 -> l
    1:8:java.lang.Object remove(int):449:456 -> remove
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> remove
    9:9:java.lang.Object remove(int):456 -> remove
    10:10:java.lang.Object remove(int):477:477 -> remove
    11:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():868:870 -> remove
    11:13:java.lang.Object remove(int):477 -> remove
    14:67:java.lang.Object remove(int):477:530 -> remove
    68:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):837:838 -> remove
    68:69:java.lang.Object remove(int):530 -> remove
    70:118:java.lang.Object remove(int):531:579 -> remove
    119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.succ(boolean):794:794 -> remove
    119:119:java.lang.Object remove(int):580 -> remove
    120:135:java.lang.Object remove(int):581:596 -> remove
    136:209:java.lang.Object remove(int):570:643 -> remove
    210:210:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.succ(boolean):794:794 -> remove
    210:210:java.lang.Object remove(int):644 -> remove
    211:211:java.lang.Object remove(int):645:645 -> remove
    212:255:java.lang.Object remove(int):619:662 -> remove
    256:257:java.lang.Object remove(int):457:458 -> remove
    258:258:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right():752:752 -> remove
    258:258:java.lang.Object remove(int):460 -> remove
    259:260:java.lang.Object remove(int):464:465 -> remove
    261:261:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left():742:742 -> remove
    261:261:java.lang.Object remove(int):468 -> remove
    262:263:java.lang.Object remove(int):472:473 -> remove
    1:1:int size():951:951 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():1348:1369 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2 -> com.android.tools.r8.internal.fr:
    java.util.Comparator comparator -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1127:1128 -> <init>
    1:1:void clear():1177:1177 -> clear
    1:1:java.util.Comparator comparator():1136:1136 -> comparator
    1:5:boolean contains(java.lang.Object):1152:1156 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.first():1182:1182 -> first
    1:1:java.lang.Object first():1127 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1127:1127 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1197:1197 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1127 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1141:1141 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.last():1187:1187 -> last
    1:1:java.lang.Object last():1127 -> last
    1:5:boolean remove(java.lang.Object):1162:1166 -> remove
    1:1:int size():1172:1172 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1127:1127 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1192:1192 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1127 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1127:1127 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1202:1202 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1127 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2$1 -> com.android.tools.r8.internal.er:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2 this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2):1128:1128 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1128:1128 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1130:1130 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1128 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$3 -> com.android.tools.r8.internal.gr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1348:1348 -> <init>
    1:1:void clear():1366:1366 -> clear
    1:1:boolean contains(java.lang.Object):1356:1356 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1351:1351 -> iterator
    1:1:int size():1361:1361 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry -> com.android.tools.r8.internal.hr:
    int info -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry left -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry right -> e
    1:1:void <init>():720:720 -> <init>
    2:3:void <init>(int,java.lang.Object):732:733 -> <init>
    1:2:void pred(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):804:805 -> a
    3:4:void black(boolean):858:859 -> a
    1:2:void pred(boolean):781:782 -> b
    3:4:void succ(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):815:816 -> b
    5:5:boolean black():847:847 -> b
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry clone():899:905 -> c
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry clone():901:901 -> c
    1:1:java.lang.Object clone():698:698 -> clone
    1:1:boolean pred():761:761 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry prev():881:883 -> e
    1:3:boolean equals(java.lang.Object):912:914 -> equals
    1:1:boolean succ():770:770 -> f
    1:1:int hashCode():919:919 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):889:890 -> setValue
    1:1:java.lang.String toString():924:924 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator -> com.android.tools.r8.internal.ir:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1097:1097 -> <init>
    1:1:void add(java.lang.Object):1096:1096 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1121:1121 -> add
    2:2:void add(java.lang.Object):1096 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.next():1106:1106 -> next
    1:1:java.lang.Object next():1096 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.previous():1111:1111 -> previous
    1:1:java.lang.Object previous():1096 -> previous
    1:1:void set(java.lang.Object):1096:1096 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1116:1116 -> set
    2:2:void set(java.lang.Object):1096 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator -> com.android.tools.r8.internal.jr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1219:1219 -> <init>
    1:1:void add(java.lang.Object):1218:1218 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.add(java.lang.Integer):1267:1267 -> add
    2:2:void add(java.lang.Object):1218 -> add
    1:1:int previousInt():1233:1233 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.next():1249:1249 -> next
    1:1:java.lang.Object next():1218 -> next
    1:1:int nextInt():1228:1228 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.previous():1255:1255 -> previous
    1:1:java.lang.Object previous():1218 -> previous
    1:1:void set(java.lang.Object):1218:1218 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.set(java.lang.Integer):1261:1261 -> set
    2:2:void set(java.lang.Object):1218 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeySet -> com.android.tools.r8.internal.kr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1274:1274 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1274:1274 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1276:1276 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap -> com.android.tools.r8.internal.sr:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    boolean bottom -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> j
    boolean top -> f
    int to -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    int from -> c
    1:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap,int,boolean,int,boolean):1434:1440 -> <init>
    1:1:boolean containsKey(int):1589:1589 -> a
    2:3:java.lang.Object put(int,java.lang.Object):1613:1614 -> a
    4:4:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3236,"2":3237,"3":3238,"4":3239,"5":3240}}
    3236:3236:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3237:3237:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3238:3238:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3239:3239:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3240:3240:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    1618:1618:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    1619:1619:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3241,"2":3242,"3":3243}}
    3241:3241:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3242:3242:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3243:3243:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3233:3235:java.lang.Object put(int,java.lang.Object):1614:1616 -> a
    1:3:int firstIntKey():1718:1720 -> b
    4:4:int firstIntKey():1719:1719 -> b
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap subMap(int,int):1663:1667 -> c
    1:4:void clear():1445:1448 -> clear
    1:1:java.util.Comparator comparator():1403:1403 -> comparator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator comparator():1646:1646 -> comparator
    1:5:boolean containsValue(java.lang.Object):1594:1598 -> containsValue
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap headMap(int):1651:1652 -> d
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap tailMap(int):1657:1658 -> e
    1:1:boolean in(int):1460:1460 -> f
    1:1:java.lang.Object get(int):1608:1608 -> get
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742:1742 -> isEmpty
    1:1:boolean isEmpty():1641 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1009:1009 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742 -> isEmpty
    2:2:boolean isEmpty():1641 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1743:1743 -> isEmpty
    3:3:boolean isEmpty():1641 -> isEmpty
    1:3:int lastIntKey():1725:1727 -> j
    4:4:int lastIntKey():1726:1726 -> j
    1:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ObjectEntrySet():1465:1545 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1560:1561 -> keySet
    1:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry():1677:1685 -> l
    10:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():868:870 -> l
    10:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry():1685 -> l
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry():1689:1689 -> l
    1:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry lastEntry():1700:1712 -> m
    1:4:java.lang.Object remove(int):1622:1625 -> remove
    1:5:int size():1630:1634 -> size
    1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():1566:1583 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1 -> com.android.tools.r8.internal.lr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1465:1465 -> <init>
    1:1:void clear():1517:1517 -> clear
    1:1:java.util.Comparator comparator():1478:1478 -> comparator
    1:5:boolean contains(java.lang.Object):1484:1488 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.first():1522:1522 -> first
    1:1:java.lang.Object first():1465 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1465:1465 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1537:1537 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1465 -> headSet
    1:1:boolean isEmpty():1512:1512 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742:1742 -> isEmpty
    2:2:boolean isEmpty():1512 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1009:1009 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742 -> isEmpty
    3:3:boolean isEmpty():1512 -> isEmpty
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1743:1743 -> isEmpty
    4:4:boolean isEmpty():1512 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1468:1468 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.last():1527:1527 -> last
    1:1:java.lang.Object last():1465 -> last
    1:5:boolean remove(java.lang.Object):1494:1498 -> remove
    1:1:int size():1505:1505 -> size
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.next():1782:1782 -> size
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.next():1772 -> size
    2:2:int size():1505 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465:1465 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1532:1532 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1465:1465 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1542:1542 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$2 -> com.android.tools.r8.internal.mr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1566:1566 -> <init>
    1:1:void clear():1580:1580 -> clear
    1:1:boolean contains(java.lang.Object):1572:1572 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1568:1568 -> iterator
    1:1:int size():1576:1576 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.nr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1548:1548 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1548:1548 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1550:1550 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.or:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1773:1773 -> <init>
    1:1:void add(java.lang.Object):1772:1772 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1797:1797 -> add
    2:2:void add(java.lang.Object):1772 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.next():1782:1782 -> next
    1:1:java.lang.Object next():1772 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.previous():1787:1787 -> previous
    1:1:java.lang.Object previous():1772 -> previous
    1:1:void set(java.lang.Object):1772:1772 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1792:1792 -> set
    2:2:void set(java.lang.Object):1772 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.pr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742:1743 -> <init>
    1:1:void updateNext():1767:1767 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():868:868 -> l
    2:2:void updateNext():1767 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():869:870 -> l
    3:4:void updateNext():1767 -> l
    5:6:void updateNext():1767:1768 -> l
    1:2:void updatePrevious():1762:1763 -> m
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.qr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1813:1813 -> <init>
    1:1:void add(java.lang.Object):1811:1811 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.add(java.lang.Integer):1861:1861 -> add
    2:2:void add(java.lang.Object):1811 -> add
    1:1:int previousInt():1827:1827 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.next():1843:1843 -> next
    1:1:java.lang.Object next():1811 -> next
    1:1:int nextInt():1822:1822 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.previous():1849:1849 -> previous
    1:1:java.lang.Object previous():1811 -> previous
    1:1:void set(java.lang.Object):1811:1811 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.set(java.lang.Integer):1855:1855 -> set
    2:2:void set(java.lang.Object):1811 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.rr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1875:1875 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1875:1875 -> <init>
    1:1:void add(java.lang.Object):1893:1893 -> add
    1:1:java.lang.Object next():1878:1878 -> next
    1:1:java.lang.Object previous():1883:1883 -> previous
    1:1:void set(java.lang.Object):1888:1888 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$TreeIterator -> com.android.tools.r8.internal.tr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry curr -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry prev -> b
    int index -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> f
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1008:1008 -> <init>
    2:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):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.Int2ObjectRBTreeMap$Entry nextEntry():1034:1034 -> j
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry previousEntry():1046:1046 -> k
    1:1:void updateNext():1030:1030 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():868:868 -> l
    2:2:void updateNext():1030 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():869:870 -> l
    3:4:void updateNext():1030 -> l
    5:5:void updateNext():1030:1030 -> l
    1:1:void updatePrevious():1042:1042 -> m
    1:1:int nextIndex():1054:1054 -> nextIndex
    1:1:int previousIndex():1058:1058 -> previousIndex
    1:12:void remove():1062:1062 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$ValueIterator -> com.android.tools.r8.internal.ur:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1312:1312 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1312:1312 -> <init>
    1:1:void add(java.lang.Object):1330:1330 -> add
    1:1:java.lang.Object next():1315:1315 -> next
    1:1:java.lang.Object previous():1320:1320 -> previous
    1:1:void set(java.lang.Object):1325:1325 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap -> com.android.tools.r8.internal.Or:
    java.util.Comparator storedComparator -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    boolean modified -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator actualComparator -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry tree -> c
    int count -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    boolean[] dirPath -> m
    1:1:void <init>():79:79 -> <init>
    2:10:void <init>():73:81 -> <init>
    11:13:void <init>(java.util.Comparator):120:122 -> <init>
    14:17:void <init>(int[],java.lang.Object[],java.util.Comparator):185:188 -> <init>
    18:18:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    19:19:void <init>(int[],java.lang.Object[],java.util.Comparator):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":393,"2":394,"3":395}}
    393:393:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    394:394:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    395:395:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    205:205:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    206:206:void <init>(int[],java.lang.Object[],java.util.Comparator):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":396,"2":397,"3":398}}
    396:396:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    397:397:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    398:398:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    392:392:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    399:399:void <init>(int[],java.lang.Object[]):202:202 -> <init>
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):305:315 -> a
    1:11:java.lang.Object put(int,java.lang.Object):283 -> a
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):318 -> a
    12:12:java.lang.Object put(int,java.lang.Object):283 -> a
    13:20:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):323:330 -> a
    13:20:java.lang.Object put(int,java.lang.Object):283 -> a
    21:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):862:863 -> a
    21:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):331 -> a
    21:22:java.lang.Object put(int,java.lang.Object):283 -> a
    23:31:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):335:343 -> a
    23:31:java.lang.Object put(int,java.lang.Object):283 -> a
    32:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):851:852 -> a
    32:33:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):344 -> a
    32:33:java.lang.Object put(int,java.lang.Object):283 -> a
    34:34:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):354:354 -> a
    34:34:java.lang.Object put(int,java.lang.Object):283 -> a
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.incBalance():888:888 -> a
    35:35:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):354 -> a
    35:35:java.lang.Object put(int,java.lang.Object):283 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    36:36:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.incBalance():888:888 -> a
    36:36:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):354 -> a
    36:36:java.lang.Object put(int,java.lang.Object):283 -> a
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.decBalance():893:893 -> a
    37:37:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):355 -> a
    37:37:java.lang.Object put(int,java.lang.Object):283 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    38:38:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.decBalance():893:893 -> a
    38:38:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):355 -> a
    38:38:java.lang.Object put(int,java.lang.Object):283 -> a
    39:39:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):356:356 -> a
    39:39:java.lang.Object put(int,java.lang.Object):283 -> a
    40:40:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    40:40:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):358 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:java.lang.Object put(int,java.lang.Object):283 -> a
    41:41:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):359:359 -> a
    41:41:java.lang.Object put(int,java.lang.Object):283 -> a
    42:42:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    42:42:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):360 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:java.lang.Object put(int,java.lang.Object):283 -> a
    43:56:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):362:375 -> a
    43:56:java.lang.Object put(int,java.lang.Object):283 -> a
    57:57:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    57:57:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):376 -> a
    57:57:java.lang.Object put(int,java.lang.Object):283 -> a
    58:78:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):377:397 -> a
    58:78:java.lang.Object put(int,java.lang.Object):283 -> a
    79:79:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    79:79:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):398 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    79:79:java.lang.Object put(int,java.lang.Object):283 -> a
    80:93:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):400:413 -> a
    80:93:java.lang.Object put(int,java.lang.Object):283 -> a
    94:94:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    94:94:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):414 -> a
    94:94:java.lang.Object put(int,java.lang.Object):283 -> a
    95:118:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):415:438 -> a
    95:118:java.lang.Object put(int,java.lang.Object):283 -> a
    119:120:java.lang.Object put(int,java.lang.Object):284:285 -> a
    121:121:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):348:348 -> a
    121:121:java.lang.Object put(int,java.lang.Object):283 -> a
    122:122:boolean containsKey(int):980:980 -> a
    123:201:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1161:1239 -> a
    202:202:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1421:1421 -> a
    1:3:int firstIntKey():1001:1001 -> b
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1416:1416 -> b
    1:1:int compare(int,int):232:232 -> c
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1.compare(int,int):104:104 -> c
    2:2:int compare(int,int):232 -> c
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):1411:1411 -> c
    1:6:void clear():701:706 -> clear
    1:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1948:1961 -> clone
    1:14:java.lang.Object clone():41 -> clone
    15:16:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):851:852 -> clone
    15:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1961 -> clone
    15:16:java.lang.Object clone():41 -> clone
    17:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1963:1968 -> clone
    17:22:java.lang.Object clone():41 -> clone
    23:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):851:852 -> clone
    23:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1969 -> clone
    23:24:java.lang.Object clone():41 -> clone
    25:49:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1970:1994 -> clone
    25:49:java.lang.Object clone():41 -> clone
    50:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):862:863 -> clone
    50:51:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1995 -> clone
    50:51:java.lang.Object clone():41 -> clone
    52:52:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1950:1950 -> clone
    52:52:java.lang.Object clone():41 -> clone
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator comparator():1406:1406 -> comparator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.comparator():1406:1406 -> comparator
    2:2:java.util.Comparator comparator():41 -> comparator
    1:3:boolean containsValue(java.lang.Object):689:691 -> containsValue
    4:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$ValueIterator.next():1351:1351 -> containsValue
    4:4:boolean containsValue(java.lang.Object):693 -> containsValue
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry findKey(int):245:247 -> d
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left():767:767 -> d
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry findKey(int):248 -> d
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right():777:777 -> d
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry findKey(int):248 -> d
    1:2:java.lang.Object get(int):995:996 -> get
    1:1:boolean isEmpty():990:990 -> isEmpty
    1:3:int lastIntKey():1007:1007 -> j
    1:1:void allocatePaths():278:278 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1334:1335 -> keySet
    1:3:void setActualComparator():101:101 -> l
    1:17:java.lang.Object remove(int):484:500 -> remove
    18:20:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():902:904 -> remove
    18:20:java.lang.Object remove(int):500 -> remove
    21:45:java.lang.Object remove(int):500:524 -> remove
    46:46:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    46:46:java.lang.Object remove(int):525 -> remove
    47:69:java.lang.Object remove(int):525:547 -> remove
    70:70:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    70:70:java.lang.Object remove(int):548 -> remove
    71:71:java.lang.Object remove(int):548:548 -> remove
    72:89:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.parent(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):453:470 -> remove
    72:89:java.lang.Object remove(int):556 -> remove
    90:90:java.lang.Object remove(int):558:558 -> remove
    91:91:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.incBalance():888:888 -> remove
    91:91:java.lang.Object remove(int):559 -> remove
    92:92:java.lang.Object remove(int):562:562 -> remove
    93:93:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    93:93:java.lang.Object remove(int):564 -> remove
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    94:98:java.lang.Object remove(int):567:571 -> remove
    99:99:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    99:99:java.lang.Object remove(int):572 -> remove
    100:146:java.lang.Object remove(int):573:619 -> remove
    147:147:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.decBalance():893:893 -> remove
    147:147:java.lang.Object remove(int):620 -> remove
    148:148:java.lang.Object remove(int):623:623 -> remove
    149:149:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    149:149:java.lang.Object remove(int):625 -> remove
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    150:154:java.lang.Object remove(int):628:632 -> remove
    155:155:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    155:155:java.lang.Object remove(int):633 -> remove
    156:198:java.lang.Object remove(int):634:676 -> remove
    199:200:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.parent(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):474:475 -> remove
    199:200:java.lang.Object remove(int):556 -> remove
    201:204:java.lang.Object remove(int):681:684 -> remove
    205:205:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right():777:777 -> remove
    205:205:java.lang.Object remove(int):494 -> remove
    206:206:java.lang.Object remove(int):494:494 -> remove
    207:207:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left():767:767 -> remove
    207:207:java.lang.Object remove(int):497 -> remove
    208:208:java.lang.Object remove(int):497:497 -> remove
    1:1:int size():985:985 -> size
    1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1384:1401 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1 -> com.android.tools.r8.internal.wr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):102:102 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):102:102 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1.compare(java.lang.Integer,java.lang.Integer):108:108 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):102 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2 -> com.android.tools.r8.internal.yr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> c
    java.util.Comparator comparator -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1161:1162 -> <init>
    1:1:void clear():1211:1211 -> clear
    1:1:java.util.Comparator comparator():1170:1170 -> comparator
    1:5:boolean contains(java.lang.Object):1186:1190 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.first():1216:1216 -> first
    1:1:java.lang.Object first():1161 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1161:1161 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1231:1231 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1161 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1175:1175 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.last():1221:1221 -> last
    1:1:java.lang.Object last():1161 -> last
    1:5:boolean remove(java.lang.Object):1196:1200 -> remove
    1:1:int size():1206:1206 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1161:1161 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1226:1226 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1161 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1161:1161 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1236:1236 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1161 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2$1 -> com.android.tools.r8.internal.xr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2 this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2):1162:1162 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1162:1162 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1164:1164 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1162 -> compare
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1.compare(int,int):104:104 -> compare
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1164 -> compare
    3:3:int compare(java.lang.Object,java.lang.Object):1162 -> compare
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1.compare(int,int):104:104 -> compare
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1164 -> compare
    4:4:int compare(java.lang.Object,java.lang.Object):1162 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$3 -> com.android.tools.r8.internal.zr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1384:1384 -> <init>
    1:1:void clear():1398:1398 -> clear
    1:1:boolean contains(java.lang.Object):1390:1390 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1386:1386 -> iterator
    1:1:int size():1394:1394 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry -> com.android.tools.r8.internal.Ar:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry right -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry left -> d
    int info -> f
    1:1:void <init>():745:745 -> <init>
    2:3:void <init>(int,java.lang.Object):757:758 -> <init>
    1:2:void pred(boolean):806:807 -> a
    3:4:void pred(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):829:830 -> a
    5:6:void balance(int):882:883 -> a
    1:2:void succ(boolean):818:819 -> b
    3:4:void succ(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):840:841 -> b
    5:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry clone():933:939 -> b
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry clone():935:935 -> b
    1:1:boolean pred():786:786 -> c
    1:1:java.lang.Object clone():720:720 -> clone
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry prev():915:917 -> d
    1:1:boolean succ():795:795 -> e
    1:3:boolean equals(java.lang.Object):946:948 -> equals
    1:1:int hashCode():953:953 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):923:924 -> setValue
    1:1:java.lang.String toString():958:958 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator -> com.android.tools.r8.internal.Br:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1131:1131 -> <init>
    1:1:void add(java.lang.Object):1130:1130 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1155:1155 -> add
    2:2:void add(java.lang.Object):1130 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.next():1140:1140 -> next
    1:1:java.lang.Object next():1130 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.previous():1145:1145 -> previous
    1:1:java.lang.Object previous():1130 -> previous
    1:1:void set(java.lang.Object):1130:1130 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1150:1150 -> set
    2:2:void set(java.lang.Object):1130 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator -> com.android.tools.r8.internal.Cr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1253:1253 -> <init>
    1:1:void add(java.lang.Object):1252:1252 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.add(java.lang.Integer):1301:1301 -> add
    2:2:void add(java.lang.Object):1252 -> add
    1:1:int previousInt():1267:1267 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.next():1283:1283 -> next
    1:1:java.lang.Object next():1252 -> next
    1:1:int nextInt():1262:1262 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.previous():1289:1289 -> previous
    1:1:java.lang.Object previous():1252 -> previous
    1:1:void set(java.lang.Object):1252:1252 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.set(java.lang.Integer):1295:1295 -> set
    2:2:void set(java.lang.Object):1252 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeySet -> com.android.tools.r8.internal.Dr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1308:1308 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1308:1308 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1311:1311 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap -> com.android.tools.r8.internal.Lr:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    boolean bottom -> e
    boolean top -> f
    int to -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    int from -> c
    1:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap,int,boolean,int,boolean):1466:1472 -> <init>
    1:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1497:1577 -> a
    82:82:boolean containsKey(int):1624:1624 -> a
    83:84:java.lang.Object put(int,java.lang.Object):1648:1649 -> a
    85:85:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3387,"2":3388,"3":3389,"4":3390,"5":3391}}
    3387:3387:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3388:3388:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3389:3389:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3390:3390:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3391:3391:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    1734:1734:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    1735:1735:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3392,"2":3393,"3":3394}}
    3392:3392:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3393:3393:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3394:3394:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3384:3386:java.lang.Object put(int,java.lang.Object):1649:1651 -> a
    3395:3399:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1698:1702 -> a
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1692:1693 -> b
    3:5:int firstIntKey():1753:1755 -> b
    6:6:int firstIntKey():1754:1754 -> b
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):1686:1687 -> c
    1:4:void clear():1477:1480 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator comparator():1681:1681 -> comparator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.comparator():1681:1681 -> comparator
    2:2:java.util.Comparator comparator():1435 -> comparator
    1:4:boolean containsValue(java.lang.Object):1629:1632 -> containsValue
    1:1:boolean in(int):1492:1492 -> d
    1:1:java.lang.Object get(int):1643:1643 -> get
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777:1777 -> isEmpty
    1:1:boolean isEmpty():1676 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1043:1043 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777 -> isEmpty
    2:2:boolean isEmpty():1676 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1778:1778 -> isEmpty
    3:3:boolean isEmpty():1676 -> isEmpty
    1:3:int lastIntKey():1760:1762 -> j
    4:4:int lastIntKey():1761:1761 -> j
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1712:1718 -> k
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):264:264 -> k
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1718 -> k
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left():767:767 -> k
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):266 -> k
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1718 -> k
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right():777:777 -> k
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):266 -> k
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1718 -> k
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1720:1720 -> k
    12:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():902:904 -> k
    12:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1720 -> k
    15:15:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1724:1724 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1592:1593 -> keySet
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1735:1741 -> l
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):264:264 -> l
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1741 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left():767:767 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):266 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1741 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right():777:777 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):266 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1741 -> l
    11:15:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1743:1747 -> l
    1:4:java.lang.Object remove(int):1657:1660 -> remove
    1:5:int size():1665:1669 -> size
    1:21:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1598:1618 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1 -> com.android.tools.r8.internal.Er:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1497:1497 -> <init>
    1:1:void clear():1549:1549 -> clear
    1:1:java.util.Comparator comparator():1510:1510 -> comparator
    1:5:boolean contains(java.lang.Object):1516:1520 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.first():1554:1554 -> first
    1:1:java.lang.Object first():1497 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1497:1497 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1569:1569 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1497 -> headSet
    1:1:boolean isEmpty():1544:1544 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777:1777 -> isEmpty
    2:2:boolean isEmpty():1544 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1043:1043 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777 -> isEmpty
    3:3:boolean isEmpty():1544 -> isEmpty
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1778:1778 -> isEmpty
    4:4:boolean isEmpty():1544 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1500:1500 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.last():1559:1559 -> last
    1:1:java.lang.Object last():1497 -> last
    1:5:boolean remove(java.lang.Object):1526:1530 -> remove
    1:1:int size():1537:1537 -> size
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.next():1817:1817 -> size
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.next():1807 -> size
    2:2:int size():1537 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1497:1497 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1564:1564 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1497 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1497:1497 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1574:1574 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1497 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$2 -> com.android.tools.r8.internal.Fr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1598:1598 -> <init>
    1:1:void clear():1615:1615 -> clear
    1:1:boolean contains(java.lang.Object):1605:1605 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1600:1600 -> iterator
    1:1:int size():1610:1610 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$KeySet -> com.android.tools.r8.internal.Gr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1580:1580 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1580:1580 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1582:1582 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.Hr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1808:1808 -> <init>
    1:1:void add(java.lang.Object):1807:1807 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1832:1832 -> add
    2:2:void add(java.lang.Object):1807 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.next():1817:1817 -> next
    1:1:java.lang.Object next():1807 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.previous():1822:1822 -> previous
    1:1:java.lang.Object previous():1807 -> previous
    1:1:void set(java.lang.Object):1807:1807 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1827:1827 -> set
    2:2:void set(java.lang.Object):1807 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.Ir:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777:1778 -> <init>
    1:1:void updateNext():1802:1802 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():902:902 -> l
    2:2:void updateNext():1802 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():903:904 -> l
    3:4:void updateNext():1802 -> l
    5:6:void updateNext():1802:1803 -> l
    1:2:void updatePrevious():1797:1798 -> m
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Jr:
    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 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.add(java.lang.Integer):1896:1896 -> add
    2:2:void add(java.lang.Object):1846 -> add
    1:1:int previousInt():1862:1862 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.next():1878:1878 -> next
    1:1:java.lang.Object next():1846 -> next
    1:1:int nextInt():1857:1857 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.previous():1884:1884 -> previous
    1:1:java.lang.Object previous():1846 -> previous
    1:1:void set(java.lang.Object):1846:1846 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.set(java.lang.Integer):1890:1890 -> set
    2:2:void set(java.lang.Object):1846 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.Kr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1910:1910 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1910:1910 -> <init>
    1:1:void add(java.lang.Object):1928:1928 -> add
    1:1:java.lang.Object next():1913:1913 -> next
    1:1:java.lang.Object previous():1918:1918 -> previous
    1:1:void set(java.lang.Object):1923:1923 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$TreeIterator -> com.android.tools.r8.internal.Mr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry curr -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry prev -> b
    int index -> e
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1042:1042 -> <init>
    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 -> j
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry previousEntry():1080:1080 -> k
    1:1:void updateNext():1064:1064 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():902:902 -> l
    2:2:void updateNext():1064 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():903:904 -> l
    3:4:void updateNext():1064 -> l
    5:5:void updateNext():1064:1064 -> l
    1:1:void updatePrevious():1076:1076 -> m
    1:1:int nextIndex():1088:1088 -> nextIndex
    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.internal.Nr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1348:1348 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1348:1348 -> <init>
    1:1:void add(java.lang.Object):1366:1366 -> add
    1:1:java.lang.Object next():1351:1351 -> next
    1:1:java.lang.Object previous():1356:1356 -> previous
    1:1:void set(java.lang.Object):1361:1361 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap -> com.android.tools.r8.internal.Rr:
    java.lang.Object[] value -> d
    int[] key -> c
    int size -> e
    1:3:void <init>():70:72 -> <init>
    4:6:void <init>(int):81:83 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):37:37 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.int2ReferenceEntrySet():231:231 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():37 -> a
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):235:235 -> a
    3:3:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap,int):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):236:237 -> a
    4:5:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap,int):37 -> a
    6:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):235:237 -> a
    6:8:boolean containsKey(int):265 -> a
    9:11:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):235:237 -> a
    9:11:java.lang.Object put(int,java.lang.Object):283 -> a
    12:29:java.lang.Object put(int,java.lang.Object):285:302 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):37:37 -> b
    1:1:int[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):37:37 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:2:boolean containsValue(java.lang.Object):270:271 -> containsValue
    1:1:java.lang.Object[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):37:37 -> d
    1:4:java.lang.Object get(int):244:247 -> get
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():321:321 -> keySet
    1:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):235:237 -> remove
    1:3:java.lang.Object remove(int):308 -> remove
    4:10:java.lang.Object remove(int):309:315 -> remove
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():326:326 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet -> com.android.tools.r8.internal.Qr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet$1 -> com.android.tools.r8.internal.Pr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunction -> com.android.tools.r8.internal.Sr:
    boolean containsKey(int) -> a
    java.lang.Object put(int,java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap -> com.android.tools.r8.internal.bs:
    java.lang.Object[] value -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> n
    int size -> l
    int n -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet entries -> m
    int maxFill -> k
    int last -> h
    int first -> g
    int mask -> e
    long[] link -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> o
    int[] key -> c
    boolean containsNullKey -> f
    1:1:void <init>(int,float):146:146 -> <init>
    2:56:void <init>(int,float):101:155 -> <init>
    1:1:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,int):86:86 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.removeNullEntry():285:285 -> a
    2:2:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.removeNullEntry():286:290 -> a
    3:7:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):86 -> a
    8:32:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.insert(int,java.lang.Object):307:331 -> a
    8:32:java.lang.Object put(int,java.lang.Object):338 -> a
    33:35:java.lang.Object put(int,java.lang.Object):339:341 -> a
    36:45:boolean containsKey(int):684:693 -> a
    46:46:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):947:947 -> a
    47:48:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.int2ReferenceEntrySet():1358:1359 -> a
    47:48:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():86 -> a
    49:50:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.int2ReferenceEntrySet():1358:1359 -> a
    49:50:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():86 -> a
    1:3:int firstIntKey():905:905 -> b
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):927:927 -> b
    1:24:void fixPointers(int,int):872:895 -> c
    25:25:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):937:937 -> c
    1:6:void clear():717:722 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.clone():1704:1714 -> clone
    1:11:java.lang.Object clone():86 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.clone():1706:1706 -> clone
    12:12:java.lang.Object clone():86 -> clone
    1:5:boolean containsValue(java.lang.Object):700:704 -> containsValue
    1:25:void fixPointers(int):834:858 -> d
    1:42:void rehash(int):1645:1686 -> e
    1:4:java.lang.Object removeEntry(int):275:278 -> f
    5:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.shiftKeys(int):356:362 -> f
    5:11:java.lang.Object removeEntry(int):279 -> f
    12:12:java.lang.Object removeEntry(int):280:280 -> f
    13:19:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.shiftKeys(int):365:371 -> f
    13:19:java.lang.Object removeEntry(int):279 -> f
    1:11:java.lang.Object get(int):667:677 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.realSize():261:261 -> hashCode
    1:1:int hashCode():1731 -> hashCode
    2:10:int hashCode():1732:1740 -> hashCode
    1:1:boolean isEmpty():732:732 -> isEmpty
    1:3:int lastIntKey():916:916 -> j
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1491:1492 -> keySet
    1:1:void putAll(java.util.Map):296:296 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.ensureCapacity(int):265:266 -> putAll
    2:3:void putAll(java.util.Map):296 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.size():727:727 -> putAll
    4:4:void putAll(java.util.Map):298 -> putAll
    5:5:void putAll(java.util.Map):298:298 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.tryCapacity(long):270:271 -> putAll
    6:7:void putAll(java.util.Map):298 -> putAll
    8:8:void putAll(java.util.Map):301:301 -> putAll
    1:1:java.lang.Object remove(int):377:377 -> remove
    2:7:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.removeNullEntry():285:290 -> remove
    2:7:java.lang.Object remove(int):377 -> remove
    8:18:java.lang.Object remove(int):378:388 -> remove
    1:1:int size():727:727 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1532:1553 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1 -> com.android.tools.r8.internal.Tr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1532:1532 -> <init>
    1:1:void clear():1550:1550 -> clear
    1:1:boolean contains(java.lang.Object):1545:1545 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1535:1535 -> iterator
    1:1:int size():1540:1540 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.Ur:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1158:1158 -> <init>
    1:1:void add(java.lang.Object):1155:1155 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1151:1151 -> add
    2:2:void add(java.lang.Object):1155 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$EntryIterator.next():1167:1167 -> next
    1:1:java.lang.Object next():1155 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$EntryIterator.previous():1172:1172 -> previous
    1:1:java.lang.Object previous():1155 -> previous
    1:2:void remove():1177:1178 -> remove
    1:1:void set(java.lang.Object):1155:1155 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1147:1147 -> set
    2:2:void set(java.lang.Object):1155 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.Vr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1409:1410 -> <init>
    1:1:void add(java.lang.Object):1371:1371 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator.add(java.lang.Integer):1406:1406 -> add
    2:2:void add(java.lang.Object):1371 -> add
    1:1:int previousInt():1378:1378 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator.next():1421:1421 -> next
    1:1:java.lang.Object next():1371 -> next
    1:1:int nextInt():1415:1415 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator.previous():1394:1394 -> previous
    1:1:java.lang.Object previous():1371 -> previous
    1:1:void set(java.lang.Object):1371:1371 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator.set(java.lang.Integer):1400:1400 -> set
    2:2:void set(java.lang.Object):1371 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.Wr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1425:1425 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1):1425:1425 -> <init>
    1:3:int firstInt():1458:1458 -> L
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):1475:1475 -> a
    1:1:void clear():1453:1453 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int):1480:1480 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int):1485:1485 -> d
    1:1:boolean contains(int):1441:1441 -> f
    1:3:boolean remove(int):1446:1448 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet.iterator():1431:1431 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1425 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet.iterator():1431:1431 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1425 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet.iterator():1431:1431 -> iterator
    3:3:java.util.Iterator iterator():1425 -> iterator
    1:3:int lastInt():1464:1464 -> p
    1:1:int size():1436:1436 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.Xr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,int):771:772 -> <init>
    1:1:int getIntKey():780:780 -> a
    1:3:boolean equals(java.lang.Object):810:812 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry.getKey():804:804 -> getKey
    1:1:java.lang.Object getKey():766 -> getKey
    1:1:java.lang.Object getValue():785:785 -> getValue
    1:1:int hashCode():817:817 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):790:791 -> setValue
    1:1:java.lang.String toString():822:822 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.Yr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1205:1205 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1):1205:1205 -> <init>
    1:1:void clear():1309:1309 -> clear
    1:16:boolean contains(java.lang.Object):1245:1260 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.first():1232:1232 -> first
    1:3:java.lang.Object first():1205 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1205:1205 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1222:1222 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1205 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1207:1207 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.last():1238:1238 -> last
    1:3:java.lang.Object last():1205 -> last
    1:29:boolean remove(java.lang.Object):1267:1295 -> remove
    1:1:int size():1304:1304 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1205:1205 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1217:1217 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1205 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1205:1205 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1227:1227 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1205 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.Zr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> f
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1):967:967 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):992:992 -> <init>
    3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):973:994 -> <init>
    1:1:boolean hasNext():1026:1026 -> hasNext
    1:1:boolean hasPrevious():1030:1030 -> hasPrevious
    1:14:void ensureIndexKnown():1034:1047 -> j
    1:6:int nextEntry():1062:1062 -> k
    1:6:int previousEntry():1071:1071 -> l
    1:2:int nextIndex():1052:1053 -> nextIndex
    1:2:int previousIndex():1057:1058 -> previousIndex
    1:48:void remove():1080:1127 -> remove
    49:49:void remove():1081:1081 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.as:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1520:1521 -> <init>
    1:1:void add(java.lang.Object):1517:1517 -> add
    1:1:java.lang.Object next():1526:1526 -> next
    1:1:java.lang.Object previous():1507:1507 -> previous
    1:1:void set(java.lang.Object):1512:1512 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap -> com.android.tools.r8.internal.es:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry -> com.android.tools.r8.internal.cs:
    int getIntKey() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.ds:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps -> com.android.tools.r8.internal.gs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap EMPTY_MAP -> a
    1:1:void <clinit>():124:124 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap -> com.android.tools.r8.internal.fs:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.<init>():41:41 -> <init>
    1:1:void <init>():46 -> <init>
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.containsKey(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():62:62 -> a
    void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.clear() -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object clone():95:95 -> clone
    1:1:java.util.Set entrySet():43:43 -> entrySet
    1:2:boolean equals(java.lang.Object):110:111 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():75:75 -> f
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.get(int) -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set keySet():43:43 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():80:80 -> keySet
    1:1:void putAll(java.util.Map):56:56 -> putAll
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.size() -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():116:116 -> toString
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():86:86 -> values
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap.values():86:86 -> values
    2:2:java.util.Collection values():43 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap -> com.android.tools.r8.internal.ps:
    java.lang.Object[] value -> d
    float f -> j
    int[] key -> c
    int maxFill -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> m
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keys -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet entries -> k
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>(int,float):93:93 -> <init>
    11:11:void <init>():119:119 -> <init>
    12:13:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> <init>
    1:1:java.lang.Object access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,int):49:49 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.removeNullEntry():228:228 -> a
    2:2:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.removeNullEntry():229:232 -> a
    3:6:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.insert(int,java.lang.Object):249:264 -> a
    7:22:java.lang.Object put(int,java.lang.Object):271 -> a
    23:25:java.lang.Object put(int,java.lang.Object):272:274 -> a
    26:35:boolean containsKey(int):344:353 -> a
    36:37:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.int2ReferenceEntrySet():707:708 -> a
    36:37:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():49 -> a
    1:5:void clear():377:381 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.clone():945:954 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.clone():947:947 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:5:boolean containsValue(java.lang.Object):360:364 -> containsValue
    1:7:void rehash(int):907:913 -> d
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.realSize():205:205 -> d
    8:8:void rehash(int):914 -> d
    9:21:void rehash(int):915:927 -> d
    1:3:java.lang.Object removeEntry(int):219:221 -> e
    4:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.shiftKeys(int):289:295 -> e
    4:10:java.lang.Object removeEntry(int):222 -> e
    11:11:java.lang.Object removeEntry(int):223:223 -> e
    12:17:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.shiftKeys(int):298:303 -> e
    12:17:java.lang.Object removeEntry(int):222 -> e
    1:11:java.lang.Object get(int):327:337 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():971 -> hashCode
    2:10:int hashCode():972:980 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():768:769 -> keySet
    1:1:void putAll(java.util.Map):238:238 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):238 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.size():386:386 -> putAll
    4:4:void putAll(java.util.Map):240 -> putAll
    5:5:void putAll(java.util.Map):240:240 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):240 -> putAll
    8:8:void putAll(java.util.Map):243:243 -> putAll
    1:1:java.lang.Object remove(int):309:309 -> remove
    2:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.removeNullEntry():228:232 -> remove
    2:6:java.lang.Object remove(int):309 -> remove
    7:17:java.lang.Object remove(int):310:320 -> remove
    1:1:int size():386:386 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():794:815 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1 -> com.android.tools.r8.internal.hs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):794:794 -> <init>
    1:1:void clear():812:812 -> clear
    1:1:boolean contains(java.lang.Object):807:807 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():797:797 -> iterator
    1:1:int size():802:802 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$EntryIterator -> com.android.tools.r8.internal.is:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):600:600 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):600:600 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$EntryIterator.next():605:605 -> next
    1:1:java.lang.Object next():600 -> next
    1:2:void remove():610:611 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeyIterator -> com.android.tools.r8.internal.js:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):721:722 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeyIterator.next():733:733 -> next
    1:1:java.lang.Object next():720 -> next
    1:1:int nextInt():727:727 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.ks:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):737:737 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):737:737 -> <init>
    1:1:void clear():762:762 -> clear
    1:1:boolean contains(int):750:750 -> f
    1:3:boolean remove(int):755:757 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():740:740 -> iterator
    1:1:int size():745:745 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry -> com.android.tools.r8.internal.ls:
    int index -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,int):430:431 -> <init>
    1:1:int getIntKey():439:439 -> a
    1:3:boolean equals(java.lang.Object):469:471 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry.getKey():463:463 -> getKey
    1:1:java.lang.Object getKey():425 -> getKey
    1:1:java.lang.Object getValue():444:444 -> getValue
    1:1:int hashCode():476:476 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):449:450 -> setValue
    1:1:java.lang.String toString():481:481 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.ms:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):625:625 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):625:625 -> <init>
    1:1:void clear():701:701 -> clear
    1:16:boolean contains(java.lang.Object):637:652 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():627:627 -> iterator
    1:29:boolean remove(java.lang.Object):659:687 -> remove
    1:1:int size():696:696 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapIterator -> com.android.tools.r8.internal.ns:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    int pos -> b
    int last -> c
    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 -> j
    1:5:void remove():576:580 -> remove
    6:12:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapIterator.shiftKeys(int):553:559 -> remove
    6:12:void remove():580 -> remove
    13:14:void remove():587:588 -> remove
    15:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapIterator.shiftKeys(int):562:571 -> remove
    15:24:void remove():580 -> remove
    25:26:void remove():583:584 -> remove
    27:27:void remove():576:576 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$ValueIterator -> com.android.tools.r8.internal.os:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):782:783 -> <init>
    1:1:java.lang.Object next():788:788 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap -> com.android.tools.r8.internal.Hs:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry[] nodePath -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry tree -> c
    boolean modified -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry lastEntry -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry firstEntry -> e
    int count -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    boolean[] dirPath -> k
    1:1:void <init>():81:81 -> <init>
    2:10:void <init>():75:83 -> <init>
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):310:320 -> a
    1:11:java.lang.Object put(int,java.lang.Object):288 -> a
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):234:234 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):320 -> a
    12:12:java.lang.Object put(int,java.lang.Object):288 -> a
    13:23:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):324:334 -> a
    13:23:java.lang.Object put(int,java.lang.Object):288 -> a
    24:25:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):837:838 -> a
    24:25:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):335 -> a
    24:25:java.lang.Object put(int,java.lang.Object):288 -> a
    26:33:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):338:345 -> a
    26:33:java.lang.Object put(int,java.lang.Object):288 -> a
    34:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):826:827 -> a
    34:35:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):346 -> a
    34:35:java.lang.Object put(int,java.lang.Object):288 -> a
    36:70:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):352:386 -> a
    36:70:java.lang.Object put(int,java.lang.Object):288 -> a
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.succ(boolean):794:794 -> a
    71:71:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):387 -> a
    71:71:java.lang.Object put(int,java.lang.Object):288 -> a
    72:92:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):388:408 -> a
    72:92:java.lang.Object put(int,java.lang.Object):288 -> a
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.succ(boolean):794:794 -> a
    93:93:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):409 -> a
    93:93:java.lang.Object put(int,java.lang.Object):288 -> a
    94:119:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):410:435 -> a
    94:119:java.lang.Object put(int,java.lang.Object):288 -> a
    120:121:java.lang.Object put(int,java.lang.Object):289:290 -> a
    122:122:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):349:349 -> a
    122:122:java.lang.Object put(int,java.lang.Object):288 -> a
    123:123:boolean containsKey(int):946:946 -> a
    124:202:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1127:1205 -> a
    203:203:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1389:1389 -> a
    1:3:int firstIntKey():967:967 -> b
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1384:1384 -> b
    1:1:int compare(int,int):234:234 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):1379:1379 -> c
    1:6:void clear():679:684 -> clear
    1:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1913:1926 -> clone
    1:14:java.lang.Object clone():43 -> clone
    15:16:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):826:827 -> clone
    15:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1926 -> clone
    15:16:java.lang.Object clone():43 -> clone
    17:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1928:1933 -> clone
    17:22:java.lang.Object clone():43 -> clone
    23:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):826:827 -> clone
    23:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1934 -> clone
    23:24:java.lang.Object clone():43 -> clone
    25:49:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1935:1959 -> clone
    25:49:java.lang.Object clone():43 -> clone
    50:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):837:838 -> clone
    50:51:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1960 -> clone
    50:51:java.lang.Object clone():43 -> clone
    52:52:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1915:1915 -> clone
    52:52:java.lang.Object clone():43 -> clone
    1:3:boolean containsValue(java.lang.Object):667:669 -> containsValue
    4:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$ValueIterator.next():1315:1315 -> containsValue
    4:4:boolean containsValue(java.lang.Object):671 -> containsValue
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry findKey(int):247:249 -> d
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):234:234 -> d
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry findKey(int):249 -> d
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left():742:742 -> d
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry findKey(int):250 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right():752:752 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry findKey(int):250 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry locateKey(int):264:266 -> e
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):234:234 -> e
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry locateKey(int):266 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left():742:742 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry locateKey(int):268 -> e
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right():752:752 -> e
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry locateKey(int):268 -> e
    1:2:java.lang.Object get(int):961:962 -> get
    1:1:boolean isEmpty():956:956 -> isEmpty
    1:3:int lastIntKey():973:973 -> j
    1:2:void allocatePaths():282:283 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1298:1299 -> keySet
    1:8:java.lang.Object remove(int):449:456 -> remove
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):234:234 -> remove
    9:9:java.lang.Object remove(int):456 -> remove
    10:10:java.lang.Object remove(int):477:477 -> remove
    11:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():868:870 -> remove
    11:13:java.lang.Object remove(int):477 -> remove
    14:67:java.lang.Object remove(int):477:530 -> remove
    68:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):837:838 -> remove
    68:69:java.lang.Object remove(int):530 -> remove
    70:118:java.lang.Object remove(int):531:579 -> remove
    119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.succ(boolean):794:794 -> remove
    119:119:java.lang.Object remove(int):580 -> remove
    120:135:java.lang.Object remove(int):581:596 -> remove
    136:209:java.lang.Object remove(int):570:643 -> remove
    210:210:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.succ(boolean):794:794 -> remove
    210:210:java.lang.Object remove(int):644 -> remove
    211:211:java.lang.Object remove(int):645:645 -> remove
    212:255:java.lang.Object remove(int):619:662 -> remove
    256:257:java.lang.Object remove(int):457:458 -> remove
    258:258:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right():752:752 -> remove
    258:258:java.lang.Object remove(int):460 -> remove
    259:260:java.lang.Object remove(int):464:465 -> remove
    261:261:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left():742:742 -> remove
    261:261:java.lang.Object remove(int):468 -> remove
    262:263:java.lang.Object remove(int):472:473 -> remove
    1:1:int size():951:951 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1348:1369 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2 -> com.android.tools.r8.internal.rs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> c
    java.util.Comparator comparator -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1127:1128 -> <init>
    1:1:void clear():1177:1177 -> clear
    1:1:java.util.Comparator comparator():1136:1136 -> comparator
    1:5:boolean contains(java.lang.Object):1152:1156 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.first():1182:1182 -> first
    1:1:java.lang.Object first():1127 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1127:1127 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1197:1197 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1127 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1141:1141 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.last():1187:1187 -> last
    1:1:java.lang.Object last():1127 -> last
    1:5:boolean remove(java.lang.Object):1162:1166 -> remove
    1:1:int size():1172:1172 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1127:1127 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1192:1192 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1127 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1127:1127 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1202:1202 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1127 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2$1 -> com.android.tools.r8.internal.qs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2 this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2):1128:1128 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1128:1128 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1130:1130 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1128 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$3 -> com.android.tools.r8.internal.ss:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1348:1348 -> <init>
    1:1:void clear():1366:1366 -> clear
    1:1:boolean contains(java.lang.Object):1356:1356 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1351:1351 -> iterator
    1:1:int size():1361:1361 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry -> com.android.tools.r8.internal.ts:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry left -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry right -> e
    int info -> f
    1:1:void <init>():720:720 -> <init>
    2:3:void <init>(int,java.lang.Object):732:733 -> <init>
    1:2:void pred(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):804:805 -> a
    3:4:void black(boolean):858:859 -> a
    1:2:void pred(boolean):781:782 -> b
    3:4:void succ(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):815:816 -> b
    5:5:boolean black():847:847 -> b
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry clone():899:905 -> c
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry clone():901:901 -> c
    1:1:java.lang.Object clone():698:698 -> clone
    1:1:boolean pred():761:761 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry prev():881:883 -> e
    1:3:boolean equals(java.lang.Object):912:914 -> equals
    1:1:boolean succ():770:770 -> f
    1:1:int hashCode():919:919 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):889:890 -> setValue
    1:1:java.lang.String toString():924:924 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator -> com.android.tools.r8.internal.us:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1097:1097 -> <init>
    1:1:void add(java.lang.Object):1096:1096 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1121:1121 -> add
    2:2:void add(java.lang.Object):1096 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.next():1106:1106 -> next
    1:1:java.lang.Object next():1096 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.previous():1111:1111 -> previous
    1:1:java.lang.Object previous():1096 -> previous
    1:1:void set(java.lang.Object):1096:1096 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1116:1116 -> set
    2:2:void set(java.lang.Object):1096 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator -> com.android.tools.r8.internal.vs:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1219:1219 -> <init>
    1:1:void add(java.lang.Object):1218:1218 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.add(java.lang.Integer):1267:1267 -> add
    2:2:void add(java.lang.Object):1218 -> add
    1:1:int previousInt():1233:1233 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.next():1249:1249 -> next
    1:1:java.lang.Object next():1218 -> next
    1:1:int nextInt():1228:1228 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.previous():1255:1255 -> previous
    1:1:java.lang.Object previous():1218 -> previous
    1:1:void set(java.lang.Object):1218:1218 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.set(java.lang.Integer):1261:1261 -> set
    2:2:void set(java.lang.Object):1218 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeySet -> com.android.tools.r8.internal.ws:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1274:1274 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1274:1274 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1276:1276 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap -> com.android.tools.r8.internal.Es:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> j
    boolean bottom -> e
    boolean top -> f
    int to -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    int from -> c
    1:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap,int,boolean,int,boolean):1434:1440 -> <init>
    1:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1465:1545 -> a
    82:82:boolean containsKey(int):1589:1589 -> a
    83:84:java.lang.Object put(int,java.lang.Object):1613:1614 -> a
    85:85:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3317,"2":3318,"3":3319,"4":3320,"5":3321}}
    3317:3317:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3318:3318:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3319:3319:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3320:3320:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3321:3321:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    1699:1699:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    1700:1700:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3322,"2":3323,"3":3324}}
    3322:3322:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3323:3323:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3324:3324:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3314:3316:java.lang.Object put(int,java.lang.Object):1614:1616 -> a
    3325:3329:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1663:1667 -> a
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1657:1658 -> b
    3:5:int firstIntKey():1718:1720 -> b
    6:6:int firstIntKey():1719:1719 -> b
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):1651:1652 -> c
    1:4:void clear():1445:1448 -> clear
    1:1:java.util.Comparator comparator():1403:1403 -> comparator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator comparator():1646:1646 -> comparator
    1:4:boolean containsValue(java.lang.Object):1594:1597 -> containsValue
    1:1:boolean in(int):1460:1460 -> d
    1:1:java.lang.Object get(int):1608:1608 -> get
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742:1742 -> isEmpty
    1:1:boolean isEmpty():1641 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1009:1009 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742 -> isEmpty
    2:2:boolean isEmpty():1641 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1743:1743 -> isEmpty
    3:3:boolean isEmpty():1641 -> isEmpty
    1:3:int lastIntKey():1725:1727 -> j
    4:4:int lastIntKey():1726:1726 -> j
    1:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry firstEntry():1677:1685 -> k
    10:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():868:870 -> k
    10:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry firstEntry():1685 -> k
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry firstEntry():1689:1689 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1560:1561 -> keySet
    1:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry lastEntry():1700:1712 -> l
    1:4:java.lang.Object remove(int):1622:1625 -> remove
    1:5:int size():1630:1634 -> size
    1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1566:1583 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1 -> com.android.tools.r8.internal.xs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1465:1465 -> <init>
    1:1:void clear():1517:1517 -> clear
    1:1:java.util.Comparator comparator():1478:1478 -> comparator
    1:5:boolean contains(java.lang.Object):1484:1488 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.first():1522:1522 -> first
    1:1:java.lang.Object first():1465 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1465:1465 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1537:1537 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1465 -> headSet
    1:1:boolean isEmpty():1512:1512 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742:1742 -> isEmpty
    2:2:boolean isEmpty():1512 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1009:1009 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742 -> isEmpty
    3:3:boolean isEmpty():1512 -> isEmpty
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1743:1743 -> isEmpty
    4:4:boolean isEmpty():1512 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1468:1468 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.last():1527:1527 -> last
    1:1:java.lang.Object last():1465 -> last
    1:5:boolean remove(java.lang.Object):1494:1498 -> remove
    1:1:int size():1505:1505 -> size
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1782:1782 -> size
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1772 -> size
    2:2:int size():1505 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465:1465 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1532:1532 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1465:1465 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1542:1542 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$2 -> com.android.tools.r8.internal.ys:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1566:1566 -> <init>
    1:1:void clear():1580:1580 -> clear
    1:1:boolean contains(java.lang.Object):1572:1572 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1568:1568 -> iterator
    1:1:int size():1576:1576 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.zs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1548:1548 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1548:1548 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1550:1550 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.As:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1773:1773 -> <init>
    1:1:void add(java.lang.Object):1772:1772 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1797:1797 -> add
    2:2:void add(java.lang.Object):1772 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1782:1782 -> next
    1:1:java.lang.Object next():1772 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.previous():1787:1787 -> previous
    1:1:java.lang.Object previous():1772 -> previous
    1:1:void set(java.lang.Object):1772:1772 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1792:1792 -> set
    2:2:void set(java.lang.Object):1772 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.Bs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742:1743 -> <init>
    1:1:void updateNext():1767:1767 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():868:868 -> l
    2:2:void updateNext():1767 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():869:870 -> l
    3:4:void updateNext():1767 -> l
    5:6:void updateNext():1767:1768 -> l
    1:2:void updatePrevious():1762:1763 -> m
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Cs:
    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 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.add(java.lang.Integer):1861:1861 -> add
    2:2:void add(java.lang.Object):1811 -> add
    1:1:int previousInt():1827:1827 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.next():1843:1843 -> next
    1:1:java.lang.Object next():1811 -> next
    1:1:int nextInt():1822:1822 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.previous():1849:1849 -> previous
    1:1:java.lang.Object previous():1811 -> previous
    1:1:void set(java.lang.Object):1811:1811 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.set(java.lang.Integer):1855:1855 -> set
    2:2:void set(java.lang.Object):1811 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.Ds:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1875:1875 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1875:1875 -> <init>
    1:1:void add(java.lang.Object):1893:1893 -> add
    1:1:java.lang.Object next():1878:1878 -> next
    1:1:java.lang.Object previous():1883:1883 -> previous
    1:1:void set(java.lang.Object):1888:1888 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$TreeIterator -> com.android.tools.r8.internal.Fs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry prev -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry curr -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> f
    int index -> e
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1008:1008 -> <init>
    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 -> j
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry previousEntry():1046:1046 -> k
    1:1:void updateNext():1030:1030 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():868:868 -> l
    2:2:void updateNext():1030 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():869:870 -> l
    3:4:void updateNext():1030 -> l
    5:5:void updateNext():1030:1030 -> l
    1:1:void updatePrevious():1042:1042 -> m
    1:1:int nextIndex():1054:1054 -> nextIndex
    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.internal.Gs:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1312:1312 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1312:1312 -> <init>
    1:1:void add(java.lang.Object):1330:1330 -> add
    1:1:java.lang.Object next():1315:1315 -> next
    1:1:java.lang.Object previous():1320:1320 -> previous
    1:1:void set(java.lang.Object):1325:1325 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap -> com.android.tools.r8.internal.Js:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet() -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int) -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer) -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer) -> a
    int firstIntKey() -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(java.lang.Integer) -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int) -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int) -> c
    int lastIntKey() -> j
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.Is:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps -> com.android.tools.r8.internal.Ls:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps$EmptySortedMap EMPTY_MAP -> a
    1:1:void <clinit>():185:185 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps$EmptySortedMap -> com.android.tools.r8.internal.Ks:
    1:1:void <init>():60:60 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():57:57 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():71:71 -> a
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):95:95 -> a
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer):141:141 -> a
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer):153:153 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):107:107 -> b
    2:2:int firstIntKey():112:112 -> b
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(java.lang.Integer):129:129 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):101:101 -> c
    1:1:java.util.Set entrySet():57:57 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entrySet():84:84 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():57:57 -> f
    1:1:java.lang.Object firstKey():57:57 -> firstKey
    2:2:java.lang.Integer firstKey():165:165 -> firstKey
    1:1:java.util.SortedMap headMap(java.lang.Object):57:57 -> headMap
    1:1:int lastIntKey():117:117 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():57:57 -> keySet
    2:2:java.util.Set keySet():57:57 -> keySet
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():89:89 -> keySet
    1:1:java.lang.Object lastKey():57:57 -> lastKey
    2:2:java.lang.Integer lastKey():177:177 -> lastKey
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):57:57 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):57:57 -> tailMap
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList -> com.android.tools.r8.internal.Ps:
    int[] a -> b
    int size -> c
    1:2:void <init>(int[],boolean):70:71 -> <init>
    3:5:void <init>(int):81:83 -> <init>
    6:6:void <init>(int):82:82 -> <init>
    7:7:void <init>(int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":90,"2":91,"3":92,"4":93,"5":94,"6":95}}
    90:90:void <init>(int):82:82 -> <init>
    91:91:void <init>(int):82:82 -> <init>
    92:92:void <init>(int):82:82 -> <init>
    93:93:void <init>(int):82:82 -> <init>
    94:94:void <init>(int):82:82 -> <init>
    95:95:void <init>(int):82:82 -> <init>
    89:89:void <init>(int):82:82 -> <init>
    96:96:void <init>():90:90 -> <init>
    97:97:void <init>(int[]):135:135 -> <init>
    98:100:void <init>(int[],int,int):149:151 -> <init>
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389:389 -> a
    1:1:void getElements(int,int[],int,int):393 -> a
    2:2:void getElements(int,int[],int,int):394:394 -> a
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):73:73 -> a
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    3:3:void getElements(int,int[],int,int):393 -> a
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    4:4:void getElements(int,int[],int,int):393 -> a
    5:5:void getElements(int,int[],int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":10,"2":11,"3":12,"4":13,"5":14,"6":15}}
    10:10:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    10:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    10:10:void getElements(int,int[],int,int):393 -> a
    11:11:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    11:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    11:11:void getElements(int,int[],int,int):393 -> a
    12:12:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    12:12:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    12:12:void getElements(int,int[],int,int):393 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    13:13:void getElements(int,int[],int,int):393 -> a
    14:14:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    14:14:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    14:14:void getElements(int,int[],int,int):393 -> a
    15:15:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    15:15:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    15:15:void getElements(int,int[],int,int):393 -> a
    6:6:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    6:6:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    6:6:void getElements(int,int[],int,int):393 -> a
    7:7:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    7:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    7:7:void getElements(int,int[],int,int):393 -> a
    8:8:void getElements(int,int[],int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18,"4":19,"5":20,"6":21}}
    16:16:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    16:16:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    16:16:void getElements(int,int[],int,int):393 -> a
    17:17:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    17:17:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    17:17:void getElements(int,int[],int,int):393 -> a
    18:18:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    18:18:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    18:18:void getElements(int,int[],int,int):393 -> a
    19:19:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    19:19:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    19:19:void getElements(int,int[],int,int):393 -> a
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    20:20:void getElements(int,int[],int,int):393 -> a
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    21:21:void getElements(int,int[],int,int):393 -> a
    9:9:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    9:9:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    9:9:void getElements(int,int[],int,int):393 -> a
    22:24:void removeElements(int,int):407:409 -> a
    25:26:int[] toArray(int[]):436:437 -> a
    27:33:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):458:464 -> a
    1:2:boolean add(int):266:267 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224:224 -> b
    2:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    2:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":10,"2":11,"3":12,"4":13,"5":14}}
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    14:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    14:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17}}
    15:15:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    15:15:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    17:17:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    17:17:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    18:22:void add(int,int):256:260 -> b
    23:25:int getInt(int):274:274 -> b
    26:26:int getInt(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":576,"2":577,"3":578,"4":579,"5":580}}
    576:576:int getInt(int):274:274 -> b
    577:577:int getInt(int):274:274 -> b
    578:578:int getInt(int):274:274 -> b
    579:579:int getInt(int):274:274 -> b
    580:580:int getInt(int):274:274 -> b
    300:300:int getInt(int):274:274 -> b
    301:301:int getInt(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":581,"2":582,"3":583}}
    581:581:int getInt(int):274:274 -> b
    582:582:int getInt(int):274:274 -> b
    583:583:int getInt(int):274:274 -> b
    575:575:int getInt(int):274:274 -> b
    1:4:int set(int,int):313:313 -> c
    5:5:int set(int,int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":633,"2":634,"3":635,"4":636,"5":637}}
    633:633:int set(int,int):313:313 -> c
    634:634:int set(int,int):313:313 -> c
    635:635:int set(int,int):313:313 -> c
    636:636:int set(int,int):313:313 -> c
    637:637:int set(int,int):313:313 -> c
    318:318:int set(int,int):313:313 -> c
    319:319:int set(int,int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":633,"2":634,"3":635}}
    633:633:int set(int,int):313:313 -> c
    634:634:int set(int,int):313:313 -> c
    635:635:int set(int,int):313:313 -> c
    632:632:int set(int,int):313:313 -> c
    1:1:void clear():321:321 -> clear
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.clone():549:551 -> clone
    1:3:java.lang.Object clone():48 -> clone
    1:5:int removeInt(int):294:294 -> g
    6:6:int removeInt(int):0:0 -> g
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":596,"2":597,"3":598,"4":599,"5":600}}
    596:596:int removeInt(int):294:294 -> g
    597:597:int removeInt(int):294:294 -> g
    598:598:int removeInt(int):294:294 -> g
    599:599:int removeInt(int):294:294 -> g
    600:600:int removeInt(int):294:294 -> g
    300:300:int removeInt(int):294:294 -> g
    301:301:int removeInt(int):0:0 -> g
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":596,"2":597,"3":598}}
    596:596:int removeInt(int):294:294 -> g
    597:597:int removeInt(int):294:294 -> g
    598:598:int removeInt(int):294:294 -> g
    595:595:int removeInt(int):294:294 -> g
    1:3:boolean rem(int):304:306 -> h
    1:1:boolean isEmpty():339:339 -> isEmpty
    1:2:int indexOf(int):280:281 -> k
    1:2:int lastIndexOf(int):287:288 -> l
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator(int):493:494 -> m
    1:1:void grow(int):250:250 -> n
    2:5:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.grow(int[],int,int):204:207 -> n
    2:5:void grow(int):250 -> n
    6:6:void grow(int):250:250 -> n
    1:6:boolean removeAll(java.util.Collection):482:487 -> removeAll
    1:1:int size():327:327 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList$1 -> com.android.tools.r8.internal.Os:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList this$0 -> d
    int pos -> b
    int last -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList,int):494:495 -> <init>
    1:2:void add(int):524:525 -> a
    1:3:void set(int):529:529 -> b
    1:3:int previousInt():511:511 -> c
    1:1:boolean hasNext():498:498 -> hasNext
    1:1:boolean hasPrevious():502:502 -> hasPrevious
    1:1:int nextIndex():516:516 -> nextIndex
    1:3:int nextInt():506:506 -> nextInt
    1:1:int previousIndex():520:520 -> previousIndex
    1:10:void remove():534:534 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet -> com.android.tools.r8.internal.Rs:
    int[] a -> b
    int size -> c
    1:2:void <init>():55:56 -> <init>
    3:4:void <init>(int):65:66 -> <init>
    5:6:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):76:77 -> <init>
    7:8:void <init>(java.util.Collection):87:88 -> <init>
    9:12:void <init>(int[],int):104:107 -> <init>
    13:13:void <init>(int[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":229,"2":230,"3":231,"4":232,"5":233}}
    229:229:void <init>(int[],int):107:107 -> <init>
    230:230:void <init>(int[],int):107:107 -> <init>
    231:231:void <init>(int[],int):107:107 -> <init>
    232:232:void <init>(int[],int):107:107 -> <init>
    233:233:void <init>(int[],int):107:107 -> <init>
    120:120:void <init>(int[],int):107:107 -> <init>
    121:121:void <init>(int[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":234,"2":235,"3":236}}
    234:234:void <init>(int[],int):107:107 -> <init>
    235:235:void <init>(int[],int):107:107 -> <init>
    236:236:void <init>(int[],int):107:107 -> <init>
    228:228:void <init>(int[],int):107:107 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet):29:29 -> a
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.findKey(int):111:112 -> add
    1:2:boolean add(int):164 -> add
    3:9:boolean add(int):166:172 -> add
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet):29:29 -> b
    1:1:int[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet):29:29 -> c
    1:1:void clear():178:178 -> clear
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.clone():201:205 -> clone
    1:5:java.lang.Object clone():29 -> clone
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.clone():203:203 -> clone
    6:6:java.lang.Object clone():29 -> clone
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.findKey(int):111:112 -> f
    1:2:boolean contains(int):143 -> f
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.findKey(int):111:112 -> i
    1:2:boolean remove(int):153 -> i
    3:6:boolean remove(int):155:158 -> i
    1:1:boolean isEmpty():183:183 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():119:119 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.iterator():119:119 -> iterator
    2:2:java.util.Iterator iterator():29 -> iterator
    1:1:int size():148:148 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet$1 -> com.android.tools.r8.internal.Qs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet this$0 -> c
    int next -> b
    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 -> nextInt
    1:2:void remove():135:136 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays -> com.android.tools.r8.internal.Ss:
    int[] EMPTY_ARRAY -> a
    1:1:void <clinit>():100:100 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator -> com.android.tools.r8.internal.Ts:
    int previousInt() -> c
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection -> com.android.tools.r8.internal.Vs:
    boolean contains(int) -> f
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections -> com.android.tools.r8.internal.Ys:
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):536:536 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$EmptyCollection -> com.android.tools.r8.internal.Ws:
    1:1:void <init>():39:39 -> <init>
    1:1:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):96:96 -> a
    1:1:boolean addAll(java.util.Collection):81:81 -> addAll
    boolean contains(int) -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():38:38 -> iterator
    2:2:java.util.Iterator iterator():38:38 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():55:55 -> iterator
    1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
    1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
    1:1:java.lang.Object[] toArray():49:49 -> toArray
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$UnmodifiableCollection -> com.android.tools.r8.internal.Xs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection collection -> b
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):369:371 -> <init>
    1:1:boolean add(java.lang.Object):365:365 -> add
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$UnmodifiableCollection.add(java.lang.Integer):453:453 -> add
    2:2:boolean add(java.lang.Object):365 -> add
    1:1:boolean addAll(java.util.Collection):437:437 -> addAll
    1:1:void clear():417:417 -> clear
    1:1:boolean contains(java.lang.Object):459:459 -> contains
    1:1:boolean containsAll(java.util.Collection):432:432 -> containsAll
    1:1:boolean equals(java.lang.Object):523:523 -> equals
    1:1:boolean contains(int):396:396 -> f
    1:1:int hashCode():517:517 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:1:java.util.Iterator iterator():365:365 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():400:400 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator):830:830 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():400 -> iterator
    1:1:boolean remove(java.lang.Object):465:465 -> remove
    1:1:boolean removeAll(java.util.Collection):442:442 -> removeAll
    1:1:boolean retainAll(java.util.Collection):447:447 -> retainAll
    1:1:int size():386:386 -> size
    1:1:java.lang.Object[] toArray(java.lang.Object[]):422:422 -> toArray
    2:2:java.lang.Object[] toArray():427:427 -> toArray
    1:1:java.lang.String toString():512:512 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator -> com.android.tools.r8.internal.Zs:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator -> com.android.tools.r8.internal.bt:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators -> com.android.tools.r8.internal.et:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$EmptyIterator EMPTY_ITERATOR -> a
    1:1:void <clinit>():103:103 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$EmptyIterator -> com.android.tools.r8.internal.ct:
    1:1:void <init>():42:42 -> <init>
    1:1:int previousInt():62:62 -> c
    1:1:java.lang.Object clone():87:87 -> clone
    1:1:int nextInt():57:57 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$UnmodifiableIterator -> com.android.tools.r8.internal.dt:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator i -> b
    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 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList -> com.android.tools.r8.internal.ft:
    void getElements(int,int[],int,int) -> a
    void removeElements(int,int) -> a
    void add(int,int) -> b
    int getInt(int) -> b
    int set(int,int) -> c
    int removeInt(int) -> g
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator -> com.android.tools.r8.internal.gt:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists -> com.android.tools.r8.internal.it:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList EMPTY_LIST -> a
    1:1:void <clinit>():323:323 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList -> com.android.tools.r8.internal.ht:
    1:1:void <init>():65:65 -> <init>
    1:1:boolean add(java.lang.Integer):156:156 -> a
    2:3:void getElements(int,int[],int,int):263:264 -> a
    4:4:void removeElements(int,int):269:269 -> a
    1:1:void add(int,java.lang.Object):62:62 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.add(int,java.lang.Integer):132:132 -> add
    2:2:void add(int,java.lang.Object):62 -> add
    3:3:boolean add(java.lang.Object):62:62 -> add
    4:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.add(java.lang.Integer):156:156 -> add
    4:4:boolean add(java.lang.Object):62 -> add
    1:1:boolean addAll(int,java.util.Collection):105:105 -> addAll
    1:1:int getInt(int):70:70 -> b
    2:2:void add(int,int):85:85 -> b
    1:1:int set(int,int):90:90 -> c
    1:1:java.lang.Object clone():295:295 -> clone
    1:1:int compareTo(java.lang.Object):62:62 -> compareTo
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.compareTo(java.util.List):290:290 -> compareTo
    2:2:int compareTo(java.lang.Object):62 -> compareTo
    1:1:boolean equals(java.lang.Object):306:306 -> equals
    1:1:int removeInt(int):80:80 -> g
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.get(int):144:144 -> get
    1:1:java.lang.Object get(int):62 -> get
    1:1:boolean rem(int):75:75 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.iterator():212:212 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():62 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.iterator():212:212 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():62 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator iterator():212:212 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.iterator():212:212 -> iterator
    4:4:java.util.Iterator iterator():62 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator():208:208 -> listIterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.listIterator():208:208 -> listIterator
    2:2:java.util.ListIterator listIterator():62 -> listIterator
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.listIterator(int):216:217 -> listIterator
    3:4:java.util.ListIterator listIterator(int):62 -> listIterator
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.remove(int):180:180 -> remove
    1:1:java.lang.Object remove(int):62 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):62:62 -> set
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.set(int,java.lang.Integer):168:168 -> set
    2:2:java.lang.Object set(int,java.lang.Object):62 -> set
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.subList(int,int):246:246 -> subList
    1:1:java.util.List subList(int,int):62 -> subList
    1:1:java.lang.String toString():311:311 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet -> com.android.tools.r8.internal.pt:
    int[] key -> b
    float f -> h
    int maxFill -> f
    int size -> g
    int n -> e
    int mask -> c
    boolean containsNull -> d
    1:8:void <init>(int,float):77:84 -> <init>
    9:9:void <init>(int,float):79:79 -> <init>
    10:10:void <init>():104:104 -> <init>
    11:12:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection,float):140:141 -> <init>
    1:1:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):277:277 -> a
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.ensureCapacity(int):266:267 -> a
    2:3:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):277 -> a
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.size():412:412 -> a
    4:4:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):280 -> a
    5:5:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):280:280 -> a
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.tryCapacity(long):271:272 -> a
    6:7:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):280 -> a
    8:8:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):283:283 -> a
    1:14:boolean add(int):302:315 -> add
    1:1:boolean addAll(java.util.Collection):289:289 -> addAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.ensureCapacity(int):266:267 -> addAll
    2:3:boolean addAll(java.util.Collection):289 -> addAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.size():412:412 -> addAll
    4:4:boolean addAll(java.util.Collection):292 -> addAll
    5:5:boolean addAll(java.util.Collection):292:292 -> addAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.tryCapacity(long):271:272 -> addAll
    6:7:boolean addAll(java.util.Collection):292 -> addAll
    8:8:boolean addAll(java.util.Collection):295:295 -> addAll
    1:4:void clear():404:407 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.clone():672:677 -> clone
    1:6:java.lang.Object clone():40 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.clone():674:674 -> clone
    7:7:java.lang.Object clone():40 -> clone
    1:9:boolean contains(int):382:390 -> f
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.realSize():262:262 -> hashCode
    1:1:int hashCode():694 -> hashCode
    2:2:int hashCode():695:695 -> hashCode
    1:1:boolean remove(int):365:365 -> i
    2:5:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.removeNullEntry():355:358 -> i
    2:5:boolean remove(int):365 -> i
    6:13:boolean remove(int):369:376 -> i
    1:1:boolean isEmpty():417:417 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():547:547 -> iterator
    1:5:void rehash(int):639:643 -> j
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.realSize():262:262 -> j
    6:6:void rehash(int):644 -> j
    7:16:void rehash(int):645:654 -> j
    1:1:boolean removeEntry(int):348:348 -> k
    2:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.shiftKeys(int):331:336 -> k
    2:7:boolean removeEntry(int):349 -> k
    8:8:boolean removeEntry(int):350:350 -> k
    9:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.shiftKeys(int):339:343 -> k
    9:13:boolean removeEntry(int):349 -> k
    1:1:int size():412:412 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$SetIterator -> com.android.tools.r8.internal.ot:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
    boolean mustReturnNull -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet this$0 -> g
    int c -> d
    int pos -> b
    int last -> c
    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 -> nextInt
    1:5:void remove():528:532 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$SetIterator.shiftKeys(int):507:512 -> remove
    6:11:void remove():532 -> remove
    12:13:void remove():539:540 -> remove
    14:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$SetIterator.shiftKeys(int):515:523 -> remove
    14:22:void remove():532 -> remove
    23:24:void remove():535:536 -> remove
    25:25:void remove():528:528 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet -> com.android.tools.r8.internal.qt:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets -> com.android.tools.r8.internal.st:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():76:76 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets$EmptySet -> com.android.tools.r8.internal.rt:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():52:52 -> clone
    1:1:boolean equals(java.lang.Object):58:58 -> equals
    1:1:boolean rem(int):64:64 -> h
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet -> com.android.tools.r8.internal.tt:
    int firstInt() -> L
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int) -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int) -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int) -> d
    int lastInt() -> p
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets -> com.android.tools.r8.internal.vt:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():168:168 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet -> com.android.tools.r8.internal.ut:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():155:155 -> clone
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.first():139:139 -> first
    1:1:java.lang.Object first():39 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):39:39 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.headSet(java.lang.Integer):117:117 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):39 -> headSet
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.last():150:150 -> last
    1:1:java.lang.Object last():39 -> last
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):39:39 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.subSet(java.lang.Integer,java.lang.Integer):106:106 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):39 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):39:39 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.tailSet(java.lang.Integer):128:128 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):39 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap -> com.android.tools.r8.internal.Z:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(long,java.lang.Object) -> a
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.remove(long) -> a
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.containsKey(java.lang.Object):105:105 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273:273 -> entrySet
    1:1:java.util.Set entrySet():42 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():707:708 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():49 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273 -> entrySet
    2:3:java.util.Set entrySet():42 -> entrySet
    1:3:boolean equals(java.lang.Object):296:298 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.size():386:386 -> equals
    4:4:boolean equals(java.lang.Object):298 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():707:708 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():49 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273 -> equals
    5:6:boolean equals(java.lang.Object):299 -> equals
    7:7:boolean equals(java.lang.Object):299:299 -> equals
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.get(java.lang.Object):120:121 -> get
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Long,java.lang.Object):135:137 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:7:void putAll(java.util.Map):70:76 -> putAll
    8:8:long com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry.getLongKey():439:439 -> putAll
    8:8:void putAll(java.util.Map):76 -> putAll
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:long com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry.getLongKey():439:439 -> putAll
    9:9:void putAll(java.util.Map):76 -> putAll
    10:16:void putAll(java.util.Map):76:82 -> putAll
    17:19:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Long,java.lang.Object):135:137 -> putAll
    17:19:void putAll(java.util.Map):82 -> putAll
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.remove(java.lang.Object):153:155 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():304:304 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273:273 -> toString
    2:2:java.lang.String toString():305 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():707:708 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():49 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273 -> toString
    3:4:java.lang.String toString():305 -> toString
    5:5:java.lang.String toString():305:305 -> toString
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.size():386:386 -> toString
    6:6:java.lang.String toString():306 -> toString
    7:12:java.lang.String toString():309:314 -> toString
    13:13:long com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry.getLongKey():439:439 -> toString
    13:13:java.lang.String toString():314 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:long com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry.getLongKey():439:439 -> toString
    14:14:java.lang.String toString():314 -> toString
    15:21:java.lang.String toString():314:320 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongBidirectionalIterator -> com.android.tools.r8.internal.a0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.<init>():34:34 -> <init>
    1:1:void <init>():34 -> <init>
    long previousLong() -> a
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():57:57 -> next
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():33 -> next
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():0 -> next
      # {"id":"com.android.tools.r8.synthesized"}
    long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.nextLong() -> nextLong
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongBidirectionalIterator.previous():56:56 -> previous
    1:1:java.lang.Object previous():33 -> previous
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongCollection -> com.android.tools.r8.internal.b0:
    1:1:void <init>():37:37 -> <init>
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator() -> a
    1:1:boolean add(long):68:68 -> a
    1:1:boolean add(java.lang.Object):36:36 -> add
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongCollection.add(java.lang.Long):114:114 -> add
    2:2:boolean add(java.lang.Object):36 -> add
    boolean contains(long) -> b
    1:4:boolean rem(long):94:97 -> c
    1:1:boolean contains(java.lang.Object):129:129 -> contains
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet.iterator():737:737 -> iterator
    1:1:boolean remove(java.lang.Object):143:143 -> remove
    1:14:java.lang.String toString():206:219 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList -> com.android.tools.r8.internal.e0:
    1:1:void <init>():33:33 -> <init>
    void add(int,long) -> a
    void removeElements(int,int) -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():32 -> a
    2:2:int compareTo(java.util.List):464:464 -> a
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> a
    3:3:int compareTo(java.util.List):465 -> a
    4:4:int compareTo(java.util.List):466:466 -> a
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> a
    5:5:int compareTo(java.util.List):466 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:11:int compareTo(java.util.List):469:474 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> a
    12:12:int compareTo(java.util.List):476 -> a
    13:15:int compareTo(java.util.List):476:478 -> a
    16:16:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():57:57 -> a
    16:16:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():33 -> a
    16:16:int compareTo(java.util.List):479 -> a
    17:19:int compareTo(java.util.List):479:481 -> a
    1:1:void add(int,java.lang.Object):32:32 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.add(int,java.lang.Long):577:577 -> add
    2:2:void add(int,java.lang.Object):32 -> add
    1:5:boolean addAll(int,java.util.Collection):120:124 -> addAll
    6:6:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.add(int,java.lang.Long):577:577 -> addAll
    6:6:boolean addAll(int,java.util.Collection):124 -> addAll
    7:7:boolean addAll(java.util.Collection):137:137 -> addAll
    long set(int,long) -> b
    1:1:boolean contains(long):274:274 -> b
    1:1:void clear():403:403 -> clear
    1:1:int compareTo(java.lang.Object):32:32 -> compareTo
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> d
    1:1:int indexOf(long):279 -> d
    2:4:int indexOf(long):281:283 -> d
    long removeLong(int) -> e
    1:5:int lastIndexOf(long):290:294 -> e
    6:9:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList subList(int,int):310:313 -> e
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList subList(int,int):312:312 -> e
    1:5:boolean equals(java.lang.Object):430:434 -> equals
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> equals
    6:6:boolean equals(java.lang.Object):435 -> equals
    7:7:boolean equals(java.lang.Object):436:436 -> equals
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> equals
    8:8:boolean equals(java.lang.Object):436 -> equals
    9:9:boolean equals(java.lang.Object):438:438 -> equals
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> equals
    10:10:boolean equals(java.lang.Object):441 -> equals
    11:11:boolean equals(java.lang.Object):441:441 -> equals
    12:12:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():57:57 -> equals
    12:12:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():33 -> equals
    12:12:boolean equals(java.lang.Object):443 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    13:13:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():57:57 -> equals
    13:13:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():33 -> equals
    13:13:boolean equals(java.lang.Object):443 -> equals
    14:14:boolean equals(java.lang.Object):443:443 -> equals
    15:15:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.valEquals(java.lang.Object,java.lang.Object):407:407 -> equals
    15:15:boolean equals(java.lang.Object):443 -> equals
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.get(int):605:605 -> get
    1:1:java.lang.Object get(int):32 -> get
    1:1:void ensureIndex(int):47:47 -> h
    2:2:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102}}
    98:98:void ensureIndex(int):47:47 -> h
    99:99:void ensureIndex(int):47:47 -> h
    100:100:void ensureIndex(int):47:47 -> h
    101:101:void ensureIndex(int):47:47 -> h
    102:102:void ensureIndex(int):47:47 -> h
    49:49:void ensureIndex(int):47:47 -> h
    50:50:void ensureIndex(int):46:46 -> h
    51:51:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102,"6":103}}
    98:98:void ensureIndex(int):46:46 -> h
    99:99:void ensureIndex(int):46:46 -> h
    100:100:void ensureIndex(int):46:46 -> h
    101:101:void ensureIndex(int):46:46 -> h
    102:102:void ensureIndex(int):46:46 -> h
    103:103:void ensureIndex(int):46:46 -> h
    97:97:void ensureIndex(int):46:46 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> hashCode
    1:1:int hashCode():418 -> hashCode
    2:5:int hashCode():419:422 -> hashCode
    1:1:void ensureRestrictedIndex(int):62:62 -> i
    2:2:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131,"5":132}}
    128:128:void ensureRestrictedIndex(int):62:62 -> i
    129:129:void ensureRestrictedIndex(int):62:62 -> i
    130:130:void ensureRestrictedIndex(int):62:62 -> i
    131:131:void ensureRestrictedIndex(int):62:62 -> i
    132:132:void ensureRestrictedIndex(int):62:62 -> i
    64:64:void ensureRestrictedIndex(int):62:62 -> i
    65:65:void ensureRestrictedIndex(int):61:61 -> i
    66:66:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131,"5":132,"6":133}}
    128:128:void ensureRestrictedIndex(int):61:61 -> i
    129:129:void ensureRestrictedIndex(int):61:61 -> i
    130:130:void ensureRestrictedIndex(int):61:61 -> i
    131:131:void ensureRestrictedIndex(int):61:61 -> i
    132:132:void ensureRestrictedIndex(int):61:61 -> i
    133:133:void ensureRestrictedIndex(int):61:61 -> i
    127:127:void ensureRestrictedIndex(int):61:61 -> i
    1:1:int indexOf(java.lang.Object):619:619 -> indexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> iterator
    1:1:java.util.Iterator iterator():32 -> iterator
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator(int) -> j
    1:1:int lastIndexOf(java.lang.Object):633:633 -> lastIndexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> listIterator
    1:1:java.util.ListIterator listIterator():32 -> listIterator
    2:2:java.util.ListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList.listIterator(int):725:725 -> listIterator
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.remove(int):647:647 -> remove
    1:1:java.lang.Object remove(int):32 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):32:32 -> set
    2:2:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.set(int,java.lang.Long):591:591 -> set
    2:2:java.lang.Object set(int,java.lang.Object):32 -> set
    1:1:java.util.List subList(int,int):32:32 -> subList
    1:1:java.lang.String toString():708:708 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> toString
    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.internal.d0:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList l -> b
    boolean $assertionsDisabled -> e
    int to -> d
    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:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():725 -> a
    2:2:boolean access$000(com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList):725:725 -> a
    3:5:boolean add(long):749:751 -> a
    6:9:void add(int,long):757:760 -> a
    10:14:void removeElements(int,int):803:807 -> a
    1:1:void add(int,java.lang.Object):725:725 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.add(int,java.lang.Long):577:577 -> add
    2:2:void add(int,java.lang.Object):725 -> add
    1:3:boolean addAll(int,java.util.Collection):765:767 -> addAll
    1:3:boolean assertRange():741:743 -> b
    4:5:long set(int,long):785:786 -> b
    1:2:long getLong(int):772:773 -> c
    3:7:boolean rem(long):887:891 -> c
    1:1:int compareTo(java.lang.Object):725:725 -> compareTo
    1:3:long removeLong(int):778:780 -> e
    4:7:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList subList(int,int):879:882 -> e
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList subList(int,int):881:881 -> e
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.get(int):605:605 -> get
    1:1:java.lang.Object get(int):725 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> iterator
    1:1:java.util.Iterator iterator():725 -> iterator
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator(int):820:821 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> listIterator
    1:1:java.util.ListIterator listIterator():725 -> listIterator
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.remove(int):647:647 -> remove
    1:1:java.lang.Object remove(int):725 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):725:725 -> set
    2:2:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.set(int,java.lang.Long):591:591 -> set
    2:2:java.lang.Object set(int,java.lang.Object):725 -> set
    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.internal.c0:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList this$0 -> d
    boolean $assertionsDisabled -> e
    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 previousLong():838:838 -> a
    4:8:void add(long):851:851 -> a
    1:3:void set(long):858:858 -> b
    1:1:boolean hasNext():825:825 -> hasNext
    1:1:boolean hasPrevious():829:829 -> hasPrevious
    1:1:int nextIndex():843:843 -> nextIndex
    1:3:long nextLong():833:833 -> nextLong
    1:1:int previousIndex():847:847 -> previousIndex
    1:11:void remove():863:863 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongListIterator -> com.android.tools.r8.internal.f0:
    1:1:void <init>():35:35 -> <init>
    void add(long) -> a
    1:1:void add(java.lang.Object):34:34 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongListIterator.add(java.lang.Long):83:83 -> add
    2:2:void add(java.lang.Object):34 -> add
    void set(long) -> b
    1:1:void set(java.lang.Object):34:34 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongListIterator.set(java.lang.Long):70:70 -> set
    2:2:void set(java.lang.Object):34 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongSet -> com.android.tools.r8.internal.g0:
    1:1:void <init>():32:32 -> <init>
    1:1:boolean rem(long):87:87 -> c
    2:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet.remove(long):755:757 -> c
    2:4:boolean rem(long):87 -> c
    1:3:boolean equals(java.lang.Object):41:43 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet.size():745:745 -> equals
    4:4:boolean equals(java.lang.Object):43 -> equals
    5:5:boolean equals(java.lang.Object):44:44 -> equals
    1:1:int hashCode():57:57 -> hashCode
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet.size():745:745 -> hashCode
    2:2:int hashCode():57 -> hashCode
    3:8:int hashCode():58:63 -> hashCode
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$Entry -> com.android.tools.r8.internal.uC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.vC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap -> com.android.tools.r8.internal.EC:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> k
    java.lang.Object[] value -> c
    int size -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet entries -> i
    long[] key -> b
    boolean containsNullKey -> e
    int n -> f
    int maxFill -> g
    int mask -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongSet keys -> j
    1:9:void <init>(int,float):91:99 -> <init>
    1:1:java.lang.Object access$400(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,int):49:49 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.removeNullEntry():228:228 -> a
    2:2:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.removeNullEntry():229:232 -> a
    3:6:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.insert(long,java.lang.Object):249:264 -> a
    7:22:java.lang.Object put(long,java.lang.Object):271 -> a
    23:24:java.lang.Object put(long,java.lang.Object):273:274 -> a
    25:25:java.lang.Object remove(long):309:309 -> a
    26:30:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.removeNullEntry():228:232 -> a
    26:30:java.lang.Object remove(long):309 -> a
    31:38:java.lang.Object remove(long):313:320 -> a
    1:10:boolean containsKey(long):344:353 -> b
    1:11:java.lang.Object get(long):327:337 -> c
    1:5:void clear():377:381 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.clone():945:954 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.clone():947:947 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:5:boolean containsValue(java.lang.Object):360:364 -> containsValue
    1:7:void rehash(int):907:913 -> d
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.realSize():205:205 -> d
    8:8:void rehash(int):914 -> d
    9:21:void rehash(int):915:927 -> d
    1:3:java.lang.Object removeEntry(int):219:221 -> e
    4:10:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.shiftKeys(int):289:295 -> e
    4:10:java.lang.Object removeEntry(int):222 -> e
    11:11:java.lang.Object removeEntry(int):223:223 -> e
    12:17:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.shiftKeys(int):298:303 -> e
    12:17:java.lang.Object removeEntry(int):222 -> e
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():971 -> hashCode
    2:10:int hashCode():972:980 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.keySet():768:769 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):238:238 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):238 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.size():386:386 -> putAll
    4:4:void putAll(java.util.Map):240 -> putAll
    5:5:void putAll(java.util.Map):240:240 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):240 -> putAll
    8:8:void putAll(java.util.Map):243:243 -> putAll
    1:1:int size():386:386 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.values():794:815 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1 -> com.android.tools.r8.internal.wC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):794:794 -> <init>
    1:1:void clear():812:812 -> clear
    1:1:boolean contains(java.lang.Object):807:807 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():797:797 -> iterator
    1:1:int size():802:802 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$EntryIterator -> com.android.tools.r8.internal.xC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry entry -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> i
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):600:600 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):600:600 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$EntryIterator.next():605:605 -> next
    1:1:java.lang.Object next():600 -> next
    1:2:void remove():610:611 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeyIterator -> com.android.tools.r8.internal.yC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):721:722 -> <init>
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeyIterator.next():733:733 -> next
    1:1:java.lang.Object next():720 -> next
    1:1:long nextLong():727:727 -> nextLong
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.zC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):737:737 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):737:737 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():740:740 -> a
    1:1:boolean contains(long):750:750 -> b
    1:1:void clear():762:762 -> clear
    1:1:int size():745:745 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry -> com.android.tools.r8.internal.AC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,int):430:431 -> <init>
    1:3:boolean equals(java.lang.Object):469:471 -> equals
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry.getKey():463:463 -> getKey
    1:1:java.lang.Object getKey():425 -> getKey
    1:1:java.lang.Object getValue():444:444 -> getValue
    1:1:int hashCode():476:476 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):449:450 -> setValue
    1:1:java.lang.String toString():481:481 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.BC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):625:625 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):625:625 -> <init>
    1:1:void clear():701:701 -> clear
    1:16:boolean contains(java.lang.Object):637:652 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():627:627 -> iterator
    1:29:boolean remove(java.lang.Object):659:687 -> remove
    1:1:int size():696:696 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapIterator -> com.android.tools.r8.internal.CC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> g
    boolean mustReturnNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList wrapped -> f
    int c -> d
    int pos -> b
    int last -> c
    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 -> j
    1:5:void remove():576:580 -> remove
    6:12:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapIterator.shiftKeys(int):553:559 -> remove
    6:12:void remove():580 -> remove
    13:14:void remove():587:588 -> remove
    15:24:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapIterator.shiftKeys(int):562:571 -> remove
    15:24:void remove():580 -> remove
    25:26:void remove():583:584 -> remove
    27:27:void remove():576:576 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$ValueIterator -> com.android.tools.r8.internal.DC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):782:783 -> <init>
    1:1:java.lang.Object next():788:788 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList -> com.android.tools.r8.internal.GC:
    long[] a -> b
    int size -> c
    1:3:void <init>(int):81:83 -> <init>
    4:4:void <init>(int):82:82 -> <init>
    5:5:void <init>(int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":90,"4":91,"5":92,"6":93}}
    88:88:void <init>(int):82:82 -> <init>
    89:89:void <init>(int):82:82 -> <init>
    90:90:void <init>(int):82:82 -> <init>
    91:91:void <init>(int):82:82 -> <init>
    92:92:void <init>(int):82:82 -> <init>
    93:93:void <init>(int):82:82 -> <init>
    87:87:void <init>(int):82:82 -> <init>
    1:2:void add(int,long):256:257 -> a
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250:250 -> a
    3:3:void add(int,long):257 -> a
    4:7:long[] com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrays.grow(long[],int,int):205:208 -> a
    4:7:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250 -> a
    4:7:void add(int,long):257 -> a
    8:8:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250:250 -> a
    8:8:void add(int,long):257 -> a
    9:11:void add(int,long):258:260 -> a
    12:12:boolean add(long):266:266 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250:250 -> a
    13:13:boolean add(long):266 -> a
    14:17:long[] com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrays.grow(long[],int,int):205:208 -> a
    14:17:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250 -> a
    14:17:boolean add(long):266 -> a
    18:18:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250:250 -> a
    18:18:boolean add(long):266 -> a
    19:19:boolean add(long):267:267 -> a
    20:22:void removeElements(int,int):407:409 -> a
    1:4:long set(int,long):313:313 -> b
    5:5:long set(int,long):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":633,"2":634,"3":635,"4":636,"5":637}}
    633:633:long set(int,long):313:313 -> b
    634:634:long set(int,long):313:313 -> b
    635:635:long set(int,long):313:313 -> b
    636:636:long set(int,long):313:313 -> b
    637:637:long set(int,long):313:313 -> b
    318:318:long set(int,long):313:313 -> b
    319:319:long set(int,long):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":633,"2":634,"3":635}}
    633:633:long set(int,long):313:313 -> b
    634:634:long set(int,long):313:313 -> b
    635:635:long set(int,long):313:313 -> b
    632:632:long set(int,long):313:313 -> b
    1:3:long getLong(int):274:274 -> c
    4:4:long getLong(int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":554,"2":555,"3":556,"4":557,"5":558}}
    554:554:long getLong(int):274:274 -> c
    555:555:long getLong(int):274:274 -> c
    556:556:long getLong(int):274:274 -> c
    557:557:long getLong(int):274:274 -> c
    558:558:long getLong(int):274:274 -> c
    278:278:long getLong(int):274:274 -> c
    279:279:long getLong(int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":559,"2":560,"3":561}}
    559:559:long getLong(int):274:274 -> c
    560:560:long getLong(int):274:274 -> c
    561:561:long getLong(int):274:274 -> c
    553:553:long getLong(int):274:274 -> c
    562:564:boolean rem(long):304:306 -> c
    1:1:void clear():321:321 -> clear
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.clone():549:551 -> clone
    1:3:java.lang.Object clone():48 -> clone
    1:2:int indexOf(long):280:281 -> d
    1:2:int lastIndexOf(long):287:288 -> e
    3:7:long removeLong(int):294:294 -> e
    8:8:long removeLong(int):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":598,"2":599,"3":600,"4":601,"5":602}}
    598:598:long removeLong(int):294:294 -> e
    599:599:long removeLong(int):294:294 -> e
    600:600:long removeLong(int):294:294 -> e
    601:601:long removeLong(int):294:294 -> e
    602:602:long removeLong(int):294:294 -> e
    302:302:long removeLong(int):294:294 -> e
    303:303:long removeLong(int):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":603,"2":604,"3":605}}
    603:603:long removeLong(int):294:294 -> e
    604:604:long removeLong(int):294:294 -> e
    605:605:long removeLong(int):294:294 -> e
    597:597:long removeLong(int):294:294 -> e
    1:1:boolean isEmpty():339:339 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator(int):493:494 -> j
    1:6:boolean removeAll(java.util.Collection):482:487 -> removeAll
    1:1:int size():327:327 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList$1 -> com.android.tools.r8.internal.FC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList this$0 -> d
    int pos -> b
    int last -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList,int):494:495 -> <init>
    1:3:long previousLong():511:511 -> a
    4:5:void add(long):524:525 -> a
    1:3:void set(long):529:529 -> b
    1:1:boolean hasNext():498:498 -> hasNext
    1:1:boolean hasPrevious():502:502 -> hasPrevious
    1:1:int nextIndex():516:516 -> nextIndex
    1:3:long nextLong():506:506 -> nextLong
    1:1:int previousIndex():520:520 -> previousIndex
    1:10:void remove():534:534 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongBidirectionalIterator -> com.android.tools.r8.internal.HC:
    long previousLong() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection -> com.android.tools.r8.internal.IC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator -> com.android.tools.r8.internal.KC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList -> com.android.tools.r8.internal.LC:
    void add(int,long) -> a
    void removeElements(int,int) -> a
    long set(int,long) -> b
    long getLong(int) -> c
    long removeLong(int) -> e
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongSet -> com.android.tools.r8.internal.RC:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap -> com.android.tools.r8.internal.J0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    boolean containsValue(boolean) -> a
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,boolean) -> a
    1:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.remove(java.lang.Object):140:142 -> c
    1:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.remove(java.lang.Object):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.removeBoolean(java.lang.Object) -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap.entrySet():297:297 -> entrySet
    1:1:java.util.Set entrySet():42 -> entrySet
    1:3:boolean equals(java.lang.Object):320:322 -> equals
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap.entrySet():297:297 -> equals
    4:4:boolean equals(java.lang.Object):323 -> equals
    5:5:boolean equals(java.lang.Object):323:323 -> equals
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap.keySet() -> f
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int hashCode():310:310 -> hashCode
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap.entrySet():297:297 -> hashCode
    2:2:int hashCode():311 -> hashCode
    3:3:int hashCode():311:311 -> hashCode
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet.iterator():136:136 -> hashCode
    4:4:int hashCode():311 -> hashCode
    5:5:int hashCode():313:313 -> hashCode
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap.object2BooleanEntrySet() -> k
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.keySet():37:37 -> keySet
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Boolean):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:6:void putAll(java.util.Map):82:87 -> putAll
    7:7:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getKey():128:128 -> putAll
    7:7:void putAll(java.util.Map):88 -> putAll
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getBooleanValue():145:145 -> putAll
    8:8:void putAll(java.util.Map):88 -> putAll
    9:15:void putAll(java.util.Map):88:94 -> putAll
    16:17:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Boolean):123:124 -> putAll
    16:17:void putAll(java.util.Map):94 -> putAll
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.remove(java.lang.Object):41:41 -> remove
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():328:328 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap.entrySet():297:297 -> toString
    2:2:java.lang.String toString():329 -> toString
    3:3:java.lang.String toString():329:329 -> toString
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet.iterator():136:136 -> toString
    4:4:java.lang.String toString():329 -> toString
    5:12:java.lang.String toString():330:337 -> toString
    13:13:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getKey():128:128 -> toString
    13:13:java.lang.String toString():338 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:16:java.lang.String toString():338:340 -> toString
    17:17:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getBooleanValue():145:145 -> toString
    17:17:java.lang.String toString():341 -> toString
    18:21:java.lang.String toString():341:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry -> com.android.tools.r8.internal.I0:
    java.lang.Object key -> b
    boolean value -> c
    1:3:void <init>(java.lang.Object,boolean):121:123 -> <init>
    1:4:boolean equals(java.lang.Object):167:170 -> equals
    1:1:boolean getBooleanValue():145:145 -> getBooleanValue
    1:1:java.lang.Object getKey():128:128 -> getKey
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getValue():140:140 -> getValue
    1:1:java.lang.Object getValue():112 -> getValue
    1:1:int hashCode():175:175 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):112:112 -> setValue
    2:2:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.setValue(java.lang.Boolean):162:162 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):112 -> setValue
    3:3:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.setValue(boolean):150:150 -> setValue
    3:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.setValue(java.lang.Boolean):162 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):112 -> setValue
    1:1:java.lang.String toString():180:180 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap -> com.android.tools.r8.internal.L0:
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,int) -> a
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.removeInt(java.lang.Object) -> c
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    boolean containsValue(int) -> d
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.defaultReturnValue(int):55:55 -> e
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.defaultReturnValue(int):0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):320:323 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():297:297 -> f
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:int hashCode():310:313 -> hashCode
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Integer):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):82:94 -> putAll
    14:15:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Integer):123:124 -> putAll
    14:15:void putAll(java.util.Map):94 -> putAll
    1:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.remove(java.lang.Object):41 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:17:java.lang.String toString():328:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry -> com.android.tools.r8.internal.K0:
    java.lang.Object key -> b
    int value -> c
    1:3:void <init>(java.lang.Object,int):121:123 -> <init>
    1:4:boolean equals(java.lang.Object):167:170 -> equals
    1:1:int getIntValue():145:145 -> getIntValue
    1:1:java.lang.Object getKey():128:128 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry.getValue():140:140 -> getValue
    1:1:java.lang.Object getValue():112 -> getValue
    1:1:int hashCode():175:175 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):112:112 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry.setValue(java.lang.Integer):162:162 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):112 -> setValue
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry.setValue(int):150:150 -> setValue
    3:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry.setValue(java.lang.Integer):162 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):112 -> setValue
    1:1:java.lang.String toString():180:180 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap -> com.android.tools.r8.internal.M0:
    1:1:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap.entrySet():229:229 -> entrySet
    1:1:java.util.Set entrySet():31 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():1422:1423 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():87 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap.entrySet():229 -> entrySet
    2:3:java.util.Set entrySet():31 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap.entrySet():229:229 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> f
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():1422:1423 -> f
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():87 -> f
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap.entrySet():229 -> f
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> f
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongMap -> com.android.tools.r8.internal.N0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,long) -> a
    long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.removeLong(java.lang.Object) -> c
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.containsValue(long):404:408 -> containsValue
    2:6:boolean containsValue(java.lang.Object):62 -> containsValue
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongMap.entrySet():297:297 -> entrySet
    1:1:java.util.Set entrySet():42 -> entrySet
    1:3:boolean equals(java.lang.Object):320:322 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.size():429:429 -> equals
    4:4:boolean equals(java.lang.Object):322 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongMap.entrySet():297:297 -> equals
    5:5:boolean equals(java.lang.Object):323 -> equals
    6:6:boolean equals(java.lang.Object):323:323 -> equals
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap.object2LongEntrySet() -> f
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    2:12:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.getLong(java.lang.Object):371:381 -> get
    2:12:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):108 -> get
    2:12:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):41 -> get
    2:12:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    13:13:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):108:108 -> get
    13:13:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):41 -> get
    13:13:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Long):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):82:94 -> putAll
    14:15:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Long):123:124 -> putAll
    14:15:void putAll(java.util.Map):94 -> putAll
    1:3:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.remove(java.lang.Object):41 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():328:328 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongMap.entrySet():297:297 -> toString
    2:2:java.lang.String toString():329 -> toString
    3:4:java.lang.String toString():329:330 -> toString
    5:5:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.size():429:429 -> toString
    5:5:java.lang.String toString():330 -> toString
    6:17:java.lang.String toString():333:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectMap -> com.android.tools.r8.internal.O0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    1:3:boolean equals(java.lang.Object):272:274 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.size():761:761 -> equals
    4:4:boolean equals(java.lang.Object):274 -> equals
    5:5:boolean equals(java.lang.Object):275:275 -> equals
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226:226 -> equals
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():31 -> equals
    6:6:boolean equals(java.lang.Object):275 -> equals
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.object2ObjectEntrySet():85:85 -> equals
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226 -> equals
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():31 -> equals
    7:7:boolean equals(java.lang.Object):275 -> equals
    8:8:boolean equals(java.lang.Object):275:275 -> equals
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectFunction.put(java.lang.Object,java.lang.Object) -> put
    1:13:void putAll(java.util.Map):69:81 -> putAll
    1:2:java.lang.String toString():280:281 -> toString
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226:226 -> toString
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():31 -> toString
    3:3:java.lang.String toString():281 -> toString
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.object2ObjectEntrySet():85:85 -> toString
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226 -> toString
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():31 -> toString
    4:4:java.lang.String toString():281 -> toString
    5:5:java.lang.String toString():281:281 -> toString
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.iterator():1228:1228 -> toString
    6:6:java.lang.String toString():281 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:java.lang.String toString():282:282 -> toString
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.size():761:761 -> toString
    8:8:java.lang.String toString():282 -> toString
    9:21:java.lang.String toString():285:297 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap -> com.android.tools.r8.internal.P0:
    1:1:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226:226 -> entrySet
    1:1:java.util.Set entrySet():31 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.object2ObjectEntrySet():85:85 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226 -> entrySet
    2:2:java.util.Set entrySet():31 -> entrySet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceMap -> com.android.tools.r8.internal.R0:
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction.clear() -> clear
    1:4:boolean equals(java.lang.Object):272:275 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():226:226 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():31 -> equals
    5:5:boolean equals(java.lang.Object):275 -> equals
    6:6:boolean equals(java.lang.Object):275:275 -> equals
    1:2:int hashCode():262:263 -> hashCode
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():226:226 -> hashCode
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():31 -> hashCode
    3:3:int hashCode():263 -> hashCode
    4:6:int hashCode():263:265 -> hashCode
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction.put(java.lang.Object,java.lang.Object) -> put
    1:13:void putAll(java.util.Map):69:81 -> putAll
    1:2:java.lang.String toString():280:281 -> toString
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():226:226 -> toString
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():31 -> toString
    3:3:java.lang.String toString():281 -> toString
    4:20:java.lang.String toString():281:297 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceMap$BasicEntry -> com.android.tools.r8.internal.Q0:
    java.lang.Object key -> b
    java.lang.Object value -> c
    1:3:void <init>(java.lang.Object,java.lang.Object):103:105 -> <init>
    1:1:java.lang.Object getKey():110:110 -> getKey
    1:1:java.lang.Object getValue():115:115 -> getValue
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap -> com.android.tools.r8.internal.T0:
    1:1:void <init>():34:34 -> <init>
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.subMap(java.lang.Object,java.lang.Object) -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.headMap(java.lang.Object) -> c
    java.util.Comparator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.comparator() -> comparator
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.tailMap(java.lang.Object) -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():226:226 -> entrySet
    1:1:java.util.Set entrySet():31 -> entrySet
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.keySet() -> f
    1:1:java.util.SortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap.headMap(java.lang.Object):1366:1366 -> headMap
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.object2ReferenceEntrySet() -> k
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.keySet():85:85 -> keySet
    1:1:java.util.SortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap.subMap(java.lang.Object,java.lang.Object):1366:1366 -> subMap
    1:1:java.util.SortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap.tailMap(java.lang.Object):1366:1366 -> tailMap
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap$KeySet -> com.android.tools.r8.internal.S0:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap):58:58 -> <init>
    1:1:void clear():71:71 -> clear
    1:1:java.util.Comparator comparator():76:76 -> comparator
    1:1:boolean contains(java.lang.Object):61:61 -> contains
    1:1:java.lang.Object first():81:81 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap$KeySet.headSet(java.lang.Object):91:91 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):58 -> headSet
    1:1:java.lang.Object last():86:86 -> last
    1:1:int size():66:66 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap$KeySet.subSet(java.lang.Object,java.lang.Object):101:101 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):58 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap$KeySet.tailSet(java.lang.Object):96:96 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):58 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectCollection -> com.android.tools.r8.internal.U0:
    1:1:void <init>():37:37 -> <init>
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1.iterator():794:794 -> iterator
    1:15:java.lang.String toString():61:75 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectIterator -> com.android.tools.r8.internal.V0:
    1:1:void <init>():34:34 -> <init>
    1:1:void remove():45:45 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList -> com.android.tools.r8.internal.Y0:
    1:1:void <init>():34:34 -> <init>
    void removeElements(int,int) -> a
    1:1:int compareTo(java.util.List):458:458 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> a
    2:2:int compareTo(java.util.List):459 -> a
    3:3:int compareTo(java.util.List):460:460 -> a
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> a
    4:4:int compareTo(java.util.List):460 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:10:int compareTo(java.util.List):463:468 -> a
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> a
    11:11:int compareTo(java.util.List):470 -> a
    12:17:int compareTo(java.util.List):470:475 -> a
    1:5:boolean addAll(int,java.util.Collection):121:125 -> addAll
    6:6:boolean addAll(java.util.Collection):138:138 -> addAll
    1:1:void clear():404:404 -> clear
    1:1:int compareTo(java.lang.Object):33:33 -> compareTo
    1:1:boolean contains(java.lang.Object):275:275 -> contains
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList subList(int,int):311:314 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList subList(int,int):313:313 -> e
    1:4:boolean equals(java.lang.Object):431:434 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> equals
    5:5:boolean equals(java.lang.Object):435 -> equals
    6:8:boolean equals(java.lang.Object):435:437 -> equals
    9:9:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.valEquals(java.lang.Object,java.lang.Object):408:408 -> equals
    9:9:boolean equals(java.lang.Object):437 -> equals
    1:1:void ensureIndex(int):48:48 -> h
    2:2:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104}}
    100:100:void ensureIndex(int):48:48 -> h
    101:101:void ensureIndex(int):48:48 -> h
    102:102:void ensureIndex(int):48:48 -> h
    103:103:void ensureIndex(int):48:48 -> h
    104:104:void ensureIndex(int):48:48 -> h
    50:50:void ensureIndex(int):48:48 -> h
    51:51:void ensureIndex(int):47:47 -> h
    52:52:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104,"6":105}}
    100:100:void ensureIndex(int):47:47 -> h
    101:101:void ensureIndex(int):47:47 -> h
    102:102:void ensureIndex(int):47:47 -> h
    103:103:void ensureIndex(int):47:47 -> h
    104:104:void ensureIndex(int):47:47 -> h
    105:105:void ensureIndex(int):47:47 -> h
    99:99:void ensureIndex(int):47:47 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> hashCode
    1:1:int hashCode():419 -> hashCode
    2:5:int hashCode():420:423 -> hashCode
    1:1:void ensureRestrictedIndex(int):63:63 -> i
    2:2:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134}}
    130:130:void ensureRestrictedIndex(int):63:63 -> i
    131:131:void ensureRestrictedIndex(int):63:63 -> i
    132:132:void ensureRestrictedIndex(int):63:63 -> i
    133:133:void ensureRestrictedIndex(int):63:63 -> i
    134:134:void ensureRestrictedIndex(int):63:63 -> i
    65:65:void ensureRestrictedIndex(int):63:63 -> i
    66:66:void ensureRestrictedIndex(int):62:62 -> i
    67:67:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134,"6":135}}
    130:130:void ensureRestrictedIndex(int):62:62 -> i
    131:131:void ensureRestrictedIndex(int):62:62 -> i
    132:132:void ensureRestrictedIndex(int):62:62 -> i
    133:133:void ensureRestrictedIndex(int):62:62 -> i
    134:134:void ensureRestrictedIndex(int):62:62 -> i
    135:135:void ensureRestrictedIndex(int):62:62 -> i
    129:129:void ensureRestrictedIndex(int):62:62 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> indexOf
    1:1:int indexOf(java.lang.Object):280 -> indexOf
    2:4:int indexOf(java.lang.Object):282:284 -> indexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():33 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> iterator
    2:2:java.util.Iterator iterator():33 -> iterator
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int) -> j
    1:5:int lastIndexOf(java.lang.Object):291:295 -> lastIndexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> listIterator
    1:1:java.util.ListIterator listIterator():33 -> listIterator
    2:2:java.util.ListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList.listIterator(int):520:520 -> listIterator
    1:1:java.util.List subList(int,int):33:33 -> subList
    1:1:java.lang.String toString():502:502 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> toString
    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.internal.X0:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList l -> b
    boolean $assertionsDisabled -> e
    int to -> d
    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
    2:4:boolean assertRange():536:538 -> a
    5:9:void removeElements(int,int):598:602 -> a
    1:3:boolean add(java.lang.Object):544:546 -> add
    4:7:void add(int,java.lang.Object):552:555 -> add
    1:3:boolean addAll(int,java.util.Collection):560:562 -> addAll
    1:1:int compareTo(java.lang.Object):520:520 -> compareTo
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList subList(int,int):674:677 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList subList(int,int):676:676 -> e
    1:2:java.lang.Object get(int):567:568 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():520 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> iterator
    2:2:java.util.Iterator iterator():520 -> iterator
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int):615:616 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> listIterator
    1:1:java.util.ListIterator listIterator():520 -> listIterator
    1:3:java.lang.Object remove(int):573:575 -> remove
    1:2:java.lang.Object set(int,java.lang.Object):580:581 -> set
    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.internal.W0:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList this$0 -> d
    boolean $assertionsDisabled -> e
    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
    1:1:boolean hasNext():620:620 -> hasNext
    1:1:boolean hasPrevious():624:624 -> hasPrevious
    1:3:java.lang.Object next():628:628 -> next
    1:1:int nextIndex():638:638 -> nextIndex
    1:3:java.lang.Object previous():633:633 -> previous
    1:1:int previousIndex():642:642 -> previousIndex
    1:11:void remove():658:658 -> remove
    1:3:void set(java.lang.Object):653:653 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectListIterator -> com.android.tools.r8.internal.Z0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectBidirectionalIterator.<init>():34:34 -> <init>
    1:1:void <init>():35 -> <init>
    1:1:void add(java.lang.Object):57:57 -> add
    1:1:void set(java.lang.Object):46:46 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectSet -> com.android.tools.r8.internal.a1:
    1:1:void <init>():32:32 -> <init>
    1:4:boolean equals(java.lang.Object):41:44 -> equals
    1:7:int hashCode():57:63 -> hashCode
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectSortedSet -> com.android.tools.r8.internal.b1:
    1:1:void <init>():23:23 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.iterator():1276:1276 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.iterator():1276:1276 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction -> com.android.tools.r8.internal.d1:
    1:1:void <init>():44:44 -> <init>
    1:1:boolean put(java.lang.Object,boolean):71:71 -> a
    1:1:boolean removeBoolean(java.lang.Object):82:82 -> c
    1:1:void clear():93:93 -> clear
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object get(java.lang.Object):41 -> get
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):41:41 -> put
    2:4:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction.put(java.lang.Object,java.lang.Boolean):123:125 -> put
    2:4:java.lang.Object put(java.lang.Object,java.lang.Object):41 -> put
    1:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object remove(java.lang.Object):41 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry -> com.android.tools.r8.internal.e1:
    java.lang.Object key -> b
    boolean value -> c
    1:3:void <init>(java.lang.Object,boolean):121:123 -> <init>
    1:4:boolean equals(java.lang.Object):167:170 -> equals
    1:1:boolean getBooleanValue():145:145 -> getBooleanValue
    1:1:java.lang.Object getKey():128:128 -> getKey
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry.getValue():140:140 -> getValue
    1:1:java.lang.Object getValue():112 -> getValue
    1:1:int hashCode():175:175 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):112:112 -> setValue
    2:2:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry.setValue(java.lang.Boolean):162:162 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):112 -> setValue
    3:3:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry.setValue(boolean):150:150 -> setValue
    3:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry.setValue(java.lang.Boolean):162 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):112 -> setValue
    1:1:java.lang.String toString():180:180 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap -> com.android.tools.r8.internal.g1:
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,int) -> a
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.removeInt(java.lang.Object) -> c
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    boolean containsValue(int) -> d
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.defaultReturnValue(int):55:55 -> e
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.defaultReturnValue(int):0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):320:323 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():297:297 -> f
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:int hashCode():310:313 -> hashCode
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Integer):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):82:94 -> putAll
    14:15:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Integer):123:124 -> putAll
    14:15:void putAll(java.util.Map):94 -> putAll
    1:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.remove(java.lang.Object):41 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:17:java.lang.String toString():328:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry -> com.android.tools.r8.internal.f1:
    java.lang.Object key -> b
    int value -> c
    1:3:void <init>(java.lang.Object,int):121:123 -> <init>
    1:4:boolean equals(java.lang.Object):167:170 -> equals
    1:1:int getIntValue():145:145 -> getIntValue
    1:1:java.lang.Object getKey():128:128 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry.getValue():140:140 -> getValue
    1:1:java.lang.Object getValue():112 -> getValue
    1:1:int hashCode():175:175 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):112:112 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry.setValue(java.lang.Integer):162:162 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):112 -> setValue
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry.setValue(int):150:150 -> setValue
    3:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry.setValue(java.lang.Integer):162 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):112 -> setValue
    1:1:java.lang.String toString():180:180 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap -> com.android.tools.r8.internal.h1:
    1:1:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap.entrySet():229:229 -> entrySet
    1:1:java.util.Set entrySet():31 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.reference2IntEntrySet():87:87 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap.entrySet():229 -> entrySet
    2:2:java.util.Set entrySet():31 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap.entrySet():229:229 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> f
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.reference2IntEntrySet():87:87 -> f
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap.entrySet():229 -> f
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> f
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap -> com.android.tools.r8.internal.i1:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,long) -> a
    long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.removeLong(java.lang.Object) -> c
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.containsValue(long):404:408 -> containsValue
    2:6:boolean containsValue(java.lang.Object):62 -> containsValue
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297:297 -> entrySet
    1:1:java.util.Set entrySet():42 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():761:762 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():49 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297 -> entrySet
    2:3:java.util.Set entrySet():42 -> entrySet
    1:3:boolean equals(java.lang.Object):320:322 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.size():429:429 -> equals
    4:4:boolean equals(java.lang.Object):322 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():761:762 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():49 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297 -> equals
    5:6:boolean equals(java.lang.Object):323 -> equals
    7:7:boolean equals(java.lang.Object):323:323 -> equals
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Long):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:7:void putAll(java.util.Map):82:88 -> putAll
    8:8:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.getLongValue():487:487 -> putAll
    8:8:void putAll(java.util.Map):88 -> putAll
    9:15:void putAll(java.util.Map):88:94 -> putAll
    16:17:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Long):123:124 -> putAll
    16:17:void putAll(java.util.Map):94 -> putAll
    1:3:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.remove(java.lang.Object):41 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():328:328 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297:297 -> toString
    2:2:java.lang.String toString():329 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():761:762 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():49 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297 -> toString
    3:4:java.lang.String toString():329 -> toString
    5:5:java.lang.String toString():329:329 -> toString
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.size():429:429 -> toString
    6:6:java.lang.String toString():330 -> toString
    7:14:java.lang.String toString():333:340 -> toString
    15:15:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.getLongValue():487:487 -> toString
    15:15:java.lang.String toString():341 -> toString
    16:19:java.lang.String toString():341:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceCollection -> com.android.tools.r8.internal.j1:
    1:1:void <init>():37:37 -> <init>
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$3.iterator():1384:1384 -> iterator
    1:15:java.lang.String toString():61:75 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList -> com.android.tools.r8.internal.m1:
    1:1:void <init>():34:34 -> <init>
    void removeElements(int,int) -> a
    1:5:boolean addAll(int,java.util.Collection):121:125 -> addAll
    6:6:boolean addAll(java.util.Collection):138:138 -> addAll
    1:1:void clear():404:404 -> clear
    1:1:boolean contains(java.lang.Object):275:275 -> contains
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList subList(int,int):311:314 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList subList(int,int):313:313 -> e
    1:4:boolean equals(java.lang.Object):427:430 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> equals
    5:5:boolean equals(java.lang.Object):431 -> equals
    6:8:boolean equals(java.lang.Object):431:433 -> equals
    1:1:void ensureIndex(int):48:48 -> h
    2:2:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104}}
    100:100:void ensureIndex(int):48:48 -> h
    101:101:void ensureIndex(int):48:48 -> h
    102:102:void ensureIndex(int):48:48 -> h
    103:103:void ensureIndex(int):48:48 -> h
    104:104:void ensureIndex(int):48:48 -> h
    50:50:void ensureIndex(int):48:48 -> h
    51:51:void ensureIndex(int):47:47 -> h
    52:52:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104,"6":105}}
    100:100:void ensureIndex(int):47:47 -> h
    101:101:void ensureIndex(int):47:47 -> h
    102:102:void ensureIndex(int):47:47 -> h
    103:103:void ensureIndex(int):47:47 -> h
    104:104:void ensureIndex(int):47:47 -> h
    105:105:void ensureIndex(int):47:47 -> h
    99:99:void ensureIndex(int):47:47 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> hashCode
    1:1:int hashCode():415 -> hashCode
    2:5:int hashCode():416:419 -> hashCode
    1:1:void ensureRestrictedIndex(int):63:63 -> i
    2:2:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134}}
    130:130:void ensureRestrictedIndex(int):63:63 -> i
    131:131:void ensureRestrictedIndex(int):63:63 -> i
    132:132:void ensureRestrictedIndex(int):63:63 -> i
    133:133:void ensureRestrictedIndex(int):63:63 -> i
    134:134:void ensureRestrictedIndex(int):63:63 -> i
    65:65:void ensureRestrictedIndex(int):63:63 -> i
    66:66:void ensureRestrictedIndex(int):62:62 -> i
    67:67:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134,"6":135}}
    130:130:void ensureRestrictedIndex(int):62:62 -> i
    131:131:void ensureRestrictedIndex(int):62:62 -> i
    132:132:void ensureRestrictedIndex(int):62:62 -> i
    133:133:void ensureRestrictedIndex(int):62:62 -> i
    134:134:void ensureRestrictedIndex(int):62:62 -> i
    135:135:void ensureRestrictedIndex(int):62:62 -> i
    129:129:void ensureRestrictedIndex(int):62:62 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> indexOf
    1:1:int indexOf(java.lang.Object):280 -> indexOf
    2:4:int indexOf(java.lang.Object):282:284 -> indexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():33 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> iterator
    2:2:java.util.Iterator iterator():33 -> iterator
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int) -> j
    1:5:int lastIndexOf(java.lang.Object):291:295 -> lastIndexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> listIterator
    1:1:java.util.ListIterator listIterator():33 -> listIterator
    2:2:java.util.ListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList.listIterator(int):479:479 -> listIterator
    1:1:java.util.List subList(int,int):33:33 -> subList
    1:1:java.lang.String toString():461:461 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> toString
    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.internal.l1:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList l -> b
    int to -> d
    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
    2:4:boolean assertRange():495:497 -> a
    5:9:void removeElements(int,int):557:561 -> a
    1:3:boolean add(java.lang.Object):503:505 -> add
    4:7:void add(int,java.lang.Object):511:514 -> add
    1:3:boolean addAll(int,java.util.Collection):519:521 -> addAll
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList subList(int,int):633:636 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList subList(int,int):635:635 -> e
    1:2:java.lang.Object get(int):526:527 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():479 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> iterator
    2:2:java.util.Iterator iterator():479 -> iterator
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int):574:575 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> listIterator
    1:1:java.util.ListIterator listIterator():479 -> listIterator
    1:3:java.lang.Object remove(int):532:534 -> remove
    1:2:java.lang.Object set(int,java.lang.Object):539:540 -> set
    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.internal.k1:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList this$0 -> d
    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
    1:1:boolean hasNext():579:579 -> hasNext
    1:1:boolean hasPrevious():583:583 -> hasPrevious
    1:3:java.lang.Object next():587:587 -> next
    1:1:int nextIndex():597:597 -> nextIndex
    1:3:java.lang.Object previous():592:592 -> previous
    1:1:int previousIndex():601:601 -> previousIndex
    1:11:void remove():617:617 -> remove
    1:3:void set(java.lang.Object):612:612 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceSet -> com.android.tools.r8.internal.n1:
    1:1:void <init>():32:32 -> <init>
    1:4:boolean equals(java.lang.Object):41:44 -> equals
    1:7:int hashCode():57:63 -> hashCode
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceSortedSet -> com.android.tools.r8.internal.o1:
    1:1:void <init>():23:23 -> <init>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap -> com.android.tools.r8.internal.SH:
    java.lang.Object[] key -> b
    boolean[] value -> c
    int size -> d
    1:3:void <init>():70:72 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):37:37 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap,java.lang.Object):37:37 -> a
    3:4:boolean containsValue(boolean):270:271 -> a
    5:23:boolean put(java.lang.Object,boolean):283:301 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):37:37 -> b
    2:4:boolean getBoolean(java.lang.Object):244:246 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):37:37 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:1:boolean containsKey(java.lang.Object):265:265 -> containsKey
    1:1:boolean[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):37:37 -> d
    2:9:boolean removeBoolean(java.lang.Object):308:315 -> d
    1:3:int findKey(java.lang.Object):235:237 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keySet():321:321 -> f
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.object2BooleanEntrySet():231:231 -> k
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2BooleanEntrySet():37 -> k
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.values():326:326 -> values
    1:1:java.util.Collection values():37 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet -> com.android.tools.r8.internal.RH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet$1 -> com.android.tools.r8.internal.QH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap -> com.android.tools.r8.internal.VH:
    java.lang.Object[] key -> c
    int[] value -> d
    int size -> e
    1:3:void <init>():70:72 -> <init>
    4:6:void <init>(int):81:83 -> <init>
    7:8:void <init>(java.util.Map):104:105 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):37:37 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap,java.lang.Object):37:37 -> a
    3:6:int getInt(java.lang.Object):244:247 -> a
    7:26:int put(java.lang.Object,int):283:302 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):37:37 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):37:37 -> c
    2:9:int removeInt(java.lang.Object):308:315 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:1:boolean containsKey(java.lang.Object):265:265 -> containsKey
    1:1:int[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):37:37 -> d
    2:4:int findKey(java.lang.Object):235:237 -> d
    5:6:boolean containsValue(int):270:271 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap.object2IntEntrySet():231:231 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet():37 -> e
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keySet():321:321 -> k
    1:1:java.util.Set keySet():37:37 -> keySet
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap.values():326:326 -> values
    1:1:java.util.Collection values():37 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet -> com.android.tools.r8.internal.UH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.TH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntFunction -> com.android.tools.r8.internal.WH:
    int getInt(java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap -> com.android.tools.r8.internal.fI:
    int size -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> o
    java.lang.Object[] key -> c
    int n -> j
    int maxFill -> k
    int last -> h
    int first -> g
    int mask -> e
    long[] link -> i
    int[] value -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet entries -> m
    boolean containsNullKey -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> n
    1:1:void <init>(int,float):147:147 -> <init>
    2:56:void <init>(int,float):102:156 -> <init>
    57:57:void <init>():176:176 -> <init>
    1:1:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,int):87:87 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.removeNullEntry():285:285 -> a
    2:2:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.removeNullEntry():286:290 -> a
    3:7:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):87 -> a
    8:32:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.insert(java.lang.Object,int):307:331 -> a
    8:32:int put(java.lang.Object,int):338 -> a
    33:35:int put(java.lang.Object,int):339:341 -> a
    36:46:int getInt(java.lang.Object):721:731 -> a
    1:1:int removeInt(java.lang.Object):431:431 -> c
    2:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.removeNullEntry():285:290 -> c
    2:7:int removeInt(java.lang.Object):431 -> c
    8:18:int removeInt(java.lang.Object):432:442 -> c
    19:42:void fixPointers(int,int):937:960 -> c
    1:5:void clear():771:775 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.clone():1768:1778 -> clone
    1:11:java.lang.Object clone():87 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.clone():1770:1770 -> clone
    12:12:java.lang.Object clone():87 -> clone
    1:11:boolean containsKey(java.lang.Object):738:748 -> containsKey
    1:5:boolean containsValue(int):754:758 -> d
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():1422:1423 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet():87 -> e
    1:25:void fixPointers(int):899:923 -> f
    1:3:java.lang.Object firstKey():970:970 -> firstKey
    1:42:void rehash(int):1709:1750 -> g
    1:3:int removeEntry(int):276:278 -> h
    4:9:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.shiftKeys(int):410:415 -> h
    4:9:int removeEntry(int):279 -> h
    10:10:int removeEntry(int):280:280 -> h
    11:17:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.shiftKeys(int):418:424 -> h
    11:17:int removeEntry(int):279 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.realSize():262:262 -> hashCode
    1:1:int hashCode():1795 -> hashCode
    2:10:int hashCode():1796:1804 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.headMap(java.lang.Object):1002:1002 -> headMap
    1:1:java.util.SortedMap headMap(java.lang.Object):87 -> headMap
    1:1:boolean isEmpty():785:785 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1531:1532 -> k
    1:1:java.util.Set keySet():87:87 -> keySet
    1:3:java.lang.Object lastKey():981:981 -> lastKey
    1:1:void putAll(java.util.Map):296:296 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.ensureCapacity(int):266:267 -> putAll
    2:3:void putAll(java.util.Map):296 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.size():780:780 -> putAll
    4:4:void putAll(java.util.Map):298 -> putAll
    5:5:void putAll(java.util.Map):298:298 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.tryCapacity(long):271:272 -> putAll
    6:7:void putAll(java.util.Map):298 -> putAll
    8:8:void putAll(java.util.Map):301:301 -> putAll
    1:1:int size():780:780 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.subMap(java.lang.Object,java.lang.Object):1012:1012 -> subMap
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):87 -> subMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.tailMap(java.lang.Object):992:992 -> tailMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):87 -> tailMap
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.values():1596:1617 -> values
    1:22:java.util.Collection values():87 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.XH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1596:1596 -> <init>
    1:1:void clear():1614:1614 -> clear
    1:1:boolean contains(int):1609:1609 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1599:1599 -> iterator
    1:1:int size():1604:1604 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.YH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1222:1222 -> <init>
    1:1:void add(java.lang.Object):1219:1219 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1215:1215 -> add
    2:2:void add(java.lang.Object):1219 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$EntryIterator.next():1231:1231 -> next
    1:1:java.lang.Object next():1219 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$EntryIterator.previous():1236:1236 -> previous
    1:1:java.lang.Object previous():1219 -> previous
    1:2:void remove():1241:1242 -> remove
    1:1:void set(java.lang.Object):1219:1219 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1211:1211 -> set
    2:2:void set(java.lang.Object):1219 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.ZH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1455:1456 -> <init>
    1:1:void add(java.lang.Object):1452:1452 -> add
    1:1:java.lang.Object next():1461:1461 -> next
    1:1:java.lang.Object previous():1442:1442 -> previous
    1:1:void set(java.lang.Object):1447:1447 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.aI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1465:1465 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1):1465:1465 -> <init>
    1:1:void clear():1493:1493 -> clear
    1:1:boolean contains(java.lang.Object):1481:1481 -> contains
    1:3:java.lang.Object first():1498:1498 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.headSet(java.lang.Object):1520:1520 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):1465 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1465 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1465 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    3:3:java.util.Iterator iterator():1465 -> iterator
    1:3:java.lang.Object last():1504:1504 -> last
    1:3:boolean remove(java.lang.Object):1486:1488 -> remove
    1:1:int size():1476:1476 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.subSet(java.lang.Object,java.lang.Object):1525:1525 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.tailSet(java.lang.Object):1515:1515 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.bI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,int):824:825 -> <init>
    1:3:boolean equals(java.lang.Object):875:877 -> equals
    1:1:int getIntValue():838:838 -> getIntValue
    1:1:java.lang.Object getKey():833:833 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.getValue():857:857 -> getValue
    1:1:java.lang.Object getValue():819 -> getValue
    1:1:int hashCode():882:882 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):819:819 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):819 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.setValue(int):843:844 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):819 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):819 -> setValue
    1:1:java.lang.String toString():887:887 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.cI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1269:1269 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1):1269:1269 -> <init>
    1:1:void clear():1373:1373 -> clear
    1:16:boolean contains(java.lang.Object):1309:1324 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.first():1296:1296 -> first
    1:3:java.lang.Object first():1269 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1269:1269 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1286:1286 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1269 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1271:1271 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.last():1302:1302 -> last
    1:3:java.lang.Object last():1269 -> last
    1:29:boolean remove(java.lang.Object):1331:1359 -> remove
    1:1:int size():1368:1368 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1269:1269 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1281:1281 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1269 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1269:1269 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1291:1291 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1269 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.dI:
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> f
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1):1032:1032 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1057:1057 -> <init>
    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 -> j
    1:6:int nextEntry():1127:1127 -> k
    1:6:int previousEntry():1136:1136 -> l
    1:2:int nextIndex():1117:1118 -> nextIndex
    1:2:int previousIndex():1122:1123 -> previousIndex
    1:47:void remove():1145:1191 -> remove
    48:48:void remove():1146:1146 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.eI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1578:1579 -> <init>
    1:1:void add(java.lang.Object):1544:1544 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator.add(java.lang.Integer):1565:1565 -> add
    2:2:void add(java.lang.Object):1544 -> add
    1:1:int previousInt():1547:1547 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator.next():1590:1590 -> next
    1:1:java.lang.Object next():1544 -> next
    1:1:int nextInt():1584:1584 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator.previous():1553:1553 -> previous
    1:1:java.lang.Object previous():1544 -> previous
    1:1:void set(java.lang.Object):1544:1544 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator.set(java.lang.Integer):1559:1559 -> set
    2:2:void set(java.lang.Object):1544 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap -> com.android.tools.r8.internal.iI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet() -> e
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry -> com.android.tools.r8.internal.gI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet -> com.android.tools.r8.internal.hI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap -> com.android.tools.r8.internal.rI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keys -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> l
    java.lang.Object[] key -> c
    int[] value -> d
    int maxFill -> h
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet entries -> j
    1:9:void <init>(int,float):91:99 -> <init>
    1:1:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,int):49:49 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.removeNullEntry():227:227 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.removeNullEntry():228:231 -> a
    3:6:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.insert(java.lang.Object,int):248:263 -> a
    7:22:int put(java.lang.Object,int):270 -> a
    23:25:int put(java.lang.Object,int):271:273 -> a
    26:36:int getInt(java.lang.Object):371:381 -> a
    1:1:int removeInt(java.lang.Object):353:353 -> c
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.removeNullEntry():227:231 -> c
    2:6:int removeInt(java.lang.Object):353 -> c
    7:17:int removeInt(java.lang.Object):354:364 -> c
    1:4:void clear():421:424 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.clone():999:1008 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.clone():1001:1001 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:11:boolean containsKey(java.lang.Object):388:398 -> containsKey
    1:5:boolean containsValue(int):404:408 -> d
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.object2IntEntrySet():761:762 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet():49 -> e
    1:7:void rehash(int):961:967 -> f
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.realSize():205:205 -> f
    8:8:void rehash(int):968 -> f
    9:21:void rehash(int):969:981 -> f
    1:2:int removeEntry(int):219:220 -> g
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.shiftKeys(int):333:338 -> g
    3:8:int removeEntry(int):221 -> g
    9:9:int removeEntry(int):222:222 -> g
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.shiftKeys(int):341:346 -> g
    10:15:int removeEntry(int):221 -> g
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():1025 -> hashCode
    2:10:int hashCode():1026:1034 -> hashCode
    1:1:boolean isEmpty():434:434 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.keySet():816:817 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.size():429:429 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int size():429:429 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.values():848:869 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1 -> com.android.tools.r8.internal.jI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):848:848 -> <init>
    1:1:void clear():866:866 -> clear
    1:1:boolean contains(int):861:861 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():851:851 -> iterator
    1:1:int size():856:856 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.kI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry entry -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> i
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):654:654 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):654:654 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$EntryIterator.next():659:659 -> next
    1:1:java.lang.Object next():654 -> next
    1:2:void remove():664:665 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.lI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):775:776 -> <init>
    1:1:java.lang.Object next():781:781 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.mI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):785:785 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):785:785 -> <init>
    1:1:void clear():810:810 -> clear
    1:1:boolean contains(java.lang.Object):798:798 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
    1:3:boolean remove(java.lang.Object):803:805 -> remove
    1:1:int size():793:793 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.nI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,int):473:474 -> <init>
    1:3:boolean equals(java.lang.Object):524:526 -> equals
    1:1:int getIntValue():487:487 -> getIntValue
    1:1:java.lang.Object getKey():482:482 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.getValue():506:506 -> getValue
    1:1:java.lang.Object getValue():468 -> getValue
    1:1:int hashCode():531:531 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):468:468 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):468 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.setValue(int):492:493 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):468 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.oI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):679:679 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):679:679 -> <init>
    1:1:void clear():755:755 -> clear
    1:16:boolean contains(java.lang.Object):691:706 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
    1:29:boolean remove(java.lang.Object):713:741 -> remove
    1:1:int size():750:750 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.pI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    int pos -> b
    int last -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> g
    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 -> j
    1:5:void remove():630:634 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapIterator.shiftKeys(int):608:613 -> remove
    6:11:void remove():634 -> remove
    12:13:void remove():641:642 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapIterator.shiftKeys(int):616:625 -> remove
    14:23:void remove():634 -> remove
    24:25:void remove():637:638 -> remove
    26:26:void remove():630:630 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.qI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):830:831 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$ValueIterator.next():842:842 -> next
    1:1:java.lang.Object next():829 -> next
    1:1:int nextInt():836:836 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.sI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$Entry -> com.android.tools.r8.internal.tI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet -> com.android.tools.r8.internal.uI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap -> com.android.tools.r8.internal.DI:
    long[] value -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keys -> j
    java.lang.Object[] key -> b
    int size -> h
    boolean containsNullKey -> e
    int n -> f
    int maxFill -> g
    int mask -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection values -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet entries -> i
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>():119:119 -> <init>
    1:1:long access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,int):49:49 -> a
    2:2:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.removeNullEntry():227:227 -> a
    2:2:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.removeNullEntry():228:231 -> a
    3:6:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.insert(java.lang.Object,long):248:263 -> a
    7:22:long put(java.lang.Object,long):270 -> a
    23:24:long put(java.lang.Object,long):272:273 -> a
    1:1:long removeLong(java.lang.Object):353:353 -> c
    2:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.removeNullEntry():227:231 -> c
    2:6:long removeLong(java.lang.Object):353 -> c
    7:14:long removeLong(java.lang.Object):357:364 -> c
    1:4:void clear():421:424 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.clone():999:1008 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.clone():1001:1001 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:11:boolean containsKey(java.lang.Object):388:398 -> containsKey
    1:7:void rehash(int):961:967 -> d
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.realSize():205:205 -> d
    8:8:void rehash(int):968 -> d
    9:21:void rehash(int):969:981 -> d
    1:2:long removeEntry(int):219:220 -> e
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.shiftKeys(int):333:338 -> e
    3:8:long removeEntry(int):221 -> e
    9:9:long removeEntry(int):222:222 -> e
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.shiftKeys(int):341:346 -> e
    10:15:long removeEntry(int):221 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.object2LongEntrySet():761:762 -> f
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2LongEntrySet():49 -> f
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():1025 -> hashCode
    2:10:int hashCode():1026:1034 -> hashCode
    1:1:boolean isEmpty():434:434 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.keySet():816:817 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.size():429:429 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int size():429:429 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.values():848:869 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1 -> com.android.tools.r8.internal.vI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):848:848 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():851:851 -> a
    1:1:boolean contains(long):861:861 -> b
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.containsValue(long):404:404 -> b
    2:2:boolean contains(long):861 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.containsValue(long):405:408 -> b
    3:6:boolean contains(long):861 -> b
    1:1:void clear():866:866 -> clear
    1:1:int size():856:856 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$EntryIterator -> com.android.tools.r8.internal.wI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):654:654 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):654:654 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$EntryIterator.next():659:659 -> next
    1:1:java.lang.Object next():654 -> next
    1:2:void remove():664:665 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$KeyIterator -> com.android.tools.r8.internal.xI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):775:776 -> <init>
    1:1:java.lang.Object next():781:781 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$KeySet -> com.android.tools.r8.internal.yI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):785:785 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):785:785 -> <init>
    1:1:void clear():810:810 -> clear
    1:1:boolean contains(java.lang.Object):798:798 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
    1:3:boolean remove(java.lang.Object):803:805 -> remove
    1:1:int size():793:793 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry -> com.android.tools.r8.internal.zI:
    int index -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,int):473:474 -> <init>
    1:3:boolean equals(java.lang.Object):524:526 -> equals
    1:1:java.lang.Object getKey():482:482 -> getKey
    1:1:long getLongValue():487:487 -> getLongValue
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.getValue():506:506 -> getValue
    1:1:java.lang.Object getValue():468 -> getValue
    1:1:int hashCode():531:531 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):468:468 -> setValue
    2:2:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):468 -> setValue
    3:4:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.setValue(long):492:493 -> setValue
    3:4:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):468 -> setValue
    5:5:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.AI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):679:679 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):679:679 -> <init>
    1:1:void clear():755:755 -> clear
    1:16:boolean contains(java.lang.Object):691:706 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
    1:29:boolean remove(java.lang.Object):713:741 -> remove
    1:1:int size():750:750 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapIterator -> com.android.tools.r8.internal.BI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> g
    int pos -> b
    int last -> c
    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 -> j
    1:5:void remove():630:634 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapIterator.shiftKeys(int):608:613 -> remove
    6:11:void remove():634 -> remove
    12:13:void remove():641:642 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapIterator.shiftKeys(int):616:625 -> remove
    14:23:void remove():634 -> remove
    24:25:void remove():637:638 -> remove
    26:26:void remove():630:630 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$ValueIterator -> com.android.tools.r8.internal.CI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):830:831 -> <init>
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$ValueIterator.next():842:842 -> next
    1:1:java.lang.Object next():829 -> next
    1:1:long nextLong():836:836 -> nextLong
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap -> com.android.tools.r8.internal.MI:
    java.lang.Object[] key -> b
    int size -> l
    java.lang.Object[] value -> c
    int n -> j
    int maxFill -> k
    int last -> h
    int first -> g
    int mask -> d
    long[] link -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values -> o
    com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy strategy -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet entries -> m
    boolean containsNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> n
    1:1:void <init>(int,float,com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy):149:149 -> <init>
    2:59:void <init>(int,float,com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy):102:159 -> <init>
    1:1:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,int):85:85 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.removeNullEntry():315:315 -> a
    2:2:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):85 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:8:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.removeNullEntry():316:321 -> a
    3:8:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):85 -> a
    1:24:void fixPointers(int,int):894:917 -> c
    1:6:void clear():751:756 -> clear
    1:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.clone():1701:1712 -> clone
    1:12:java.lang.Object clone():85 -> clone
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.clone():1703:1703 -> clone
    13:13:java.lang.Object clone():85 -> clone
    1:11:boolean containsKey(java.lang.Object):718:728 -> containsKey
    1:5:boolean containsValue(java.lang.Object):734:738 -> containsValue
    1:25:void fixPointers(int):856:880 -> d
    1:42:void rehash(int):1642:1683 -> e
    1:4:java.lang.Object removeEntry(int):305:308 -> f
    5:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.shiftKeys(int):387:393 -> f
    5:11:java.lang.Object removeEntry(int):309 -> f
    12:12:java.lang.Object removeEntry(int):310:310 -> f
    13:19:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.shiftKeys(int):396:402 -> f
    13:19:java.lang.Object removeEntry(int):309 -> f
    20:21:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet object2ObjectEntrySet():1379:1380 -> f
    1:3:java.lang.Object firstKey():927:927 -> firstKey
    1:11:java.lang.Object get(java.lang.Object):701:711 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.realSize():291:291 -> hashCode
    1:1:int hashCode():1729 -> hashCode
    2:10:int hashCode():1730:1738 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.headMap(java.lang.Object):959:959 -> headMap
    1:1:java.util.SortedMap headMap(java.lang.Object):85 -> headMap
    1:1:boolean isEmpty():766:766 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.keySet():1488:1489 -> keySet
    1:2:java.util.Set keySet():85 -> keySet
    1:3:java.lang.Object lastKey():938:938 -> lastKey
    1:26:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.insert(java.lang.Object,java.lang.Object):337:362 -> put
    1:26:java.lang.Object put(java.lang.Object,java.lang.Object):369 -> put
    27:28:java.lang.Object put(java.lang.Object,java.lang.Object):371:372 -> put
    1:1:void putAll(java.util.Map):327:327 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.ensureCapacity(int):295:296 -> putAll
    2:3:void putAll(java.util.Map):327 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.size():761:761 -> putAll
    4:4:void putAll(java.util.Map):329 -> putAll
    5:5:void putAll(java.util.Map):329:329 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.tryCapacity(long):300:301 -> putAll
    6:7:void putAll(java.util.Map):329 -> putAll
    8:8:void putAll(java.util.Map):332:332 -> putAll
    1:2:java.lang.Object remove(java.lang.Object):408:409 -> remove
    3:9:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.removeNullEntry():315:321 -> remove
    3:9:java.lang.Object remove(java.lang.Object):409 -> remove
    10:17:java.lang.Object remove(java.lang.Object):413:420 -> remove
    1:1:int size():761:761 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.subMap(java.lang.Object,java.lang.Object):969:969 -> subMap
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):85 -> subMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.tailMap(java.lang.Object):949:949 -> tailMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):85 -> tailMap
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.values():1529:1550 -> values
    1:22:java.util.Collection values():85 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1 -> com.android.tools.r8.internal.EI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1529:1529 -> <init>
    1:1:void clear():1547:1547 -> clear
    1:1:boolean contains(java.lang.Object):1542:1542 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1532:1532 -> iterator
    1:1:int size():1537:1537 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$EntryIterator -> com.android.tools.r8.internal.FI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1181:1181 -> <init>
    1:1:void add(java.lang.Object):1178:1178 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1174:1174 -> add
    2:2:void add(java.lang.Object):1178 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$EntryIterator.next():1190:1190 -> next
    1:1:java.lang.Object next():1178 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$EntryIterator.previous():1195:1195 -> previous
    1:1:java.lang.Object previous():1178 -> previous
    1:2:void remove():1200:1201 -> remove
    1:1:void set(java.lang.Object):1178:1178 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1170:1170 -> set
    2:2:void set(java.lang.Object):1178 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeyIterator -> com.android.tools.r8.internal.GI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1412:1413 -> <init>
    1:1:void add(java.lang.Object):1409:1409 -> add
    1:1:java.lang.Object next():1418:1418 -> next
    1:1:java.lang.Object previous():1399:1399 -> previous
    1:1:void set(java.lang.Object):1404:1404 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet -> com.android.tools.r8.internal.HI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1422:1422 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1):1422:1422 -> <init>
    1:1:void clear():1450:1450 -> clear
    1:1:boolean contains(java.lang.Object):1438:1438 -> contains
    1:3:java.lang.Object first():1455:1455 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.headSet(java.lang.Object):1477:1477 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):1422 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.iterator():1428:1428 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1422 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.iterator():1428:1428 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1422 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.iterator():1428:1428 -> iterator
    3:3:java.util.Iterator iterator():1422 -> iterator
    1:3:java.lang.Object last():1461:1461 -> last
    1:3:boolean remove(java.lang.Object):1443:1445 -> remove
    1:1:int size():1433:1433 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.subSet(java.lang.Object,java.lang.Object):1482:1482 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1422 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.tailSet(java.lang.Object):1472:1472 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1422 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry -> com.android.tools.r8.internal.II:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,int):805:806 -> <init>
    1:3:boolean equals(java.lang.Object):832:834 -> equals
    1:1:java.lang.Object getKey():814:814 -> getKey
    1:1:java.lang.Object getValue():819:819 -> getValue
    1:1:int hashCode():839:839 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):824:825 -> setValue
    1:1:java.lang.String toString():844:844 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet -> com.android.tools.r8.internal.JI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1228:1228 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1):1228:1228 -> <init>
    1:1:void clear():1330:1330 -> clear
    1:15:boolean contains(java.lang.Object):1268:1282 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.first():1255:1255 -> first
    1:3:java.lang.Object first():1228 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1228:1228 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1245:1245 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1228 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1230:1230 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.last():1261:1261 -> last
    1:3:java.lang.Object last():1228 -> last
    1:28:boolean remove(java.lang.Object):1289:1316 -> remove
    1:1:int size():1325:1325 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1228:1228 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1240:1240 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1228 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1228:1228 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1250:1250 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1228 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapIterator -> com.android.tools.r8.internal.KI:
    int curr -> d
    int index -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> f
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1):989:989 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1014:1014 -> <init>
    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 -> j
    1:6:int nextEntry():1084:1084 -> k
    1:6:int previousEntry():1093:1093 -> l
    1:2:int nextIndex():1074:1075 -> nextIndex
    1:2:int previousIndex():1079:1080 -> previousIndex
    1:49:void remove():1102:1150 -> remove
    50:50:void remove():1103:1103 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$ValueIterator -> com.android.tools.r8.internal.LI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1517:1518 -> <init>
    1:1:void add(java.lang.Object):1514:1514 -> add
    1:1:java.lang.Object next():1523:1523 -> next
    1:1:java.lang.Object previous():1504:1504 -> previous
    1:1:void set(java.lang.Object):1509:1509 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap -> com.android.tools.r8.internal.OI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry -> com.android.tools.r8.internal.NI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.PI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap -> com.android.tools.r8.internal.YI:
    java.lang.Object[] value -> d
    int size -> l
    java.lang.Object[] key -> c
    int n -> j
    int maxFill -> k
    int last -> h
    int first -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap$FastSortedEntrySet entries -> m
    long[] link -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> o
    boolean containsNullKey -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> n
    1:1:void <init>(int,float):145:145 -> <init>
    2:56:void <init>(int,float):100:154 -> <init>
    57:57:void <init>(int,float):147:147 -> <init>
    1:1:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,int):85:85 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.removeNullEntry():284:284 -> a
    2:2:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):85 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:8:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.removeNullEntry():285:290 -> a
    3:8:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):85 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):938:938 -> b
    1:24:void fixPointers(int,int):863:886 -> c
    25:25:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):928:928 -> c
    1:6:void clear():720:725 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.clone():1670:1680 -> clone
    1:11:java.lang.Object clone():85 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.clone():1672:1672 -> clone
    12:12:java.lang.Object clone():85 -> clone
    1:11:boolean containsKey(java.lang.Object):687:697 -> containsKey
    1:5:boolean containsValue(java.lang.Object):703:707 -> containsValue
    1:25:void fixPointers(int):825:849 -> d
    26:26:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):918:918 -> d
    1:42:void rehash(int):1611:1652 -> e
    1:4:java.lang.Object removeEntry(int):274:277 -> f
    5:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.shiftKeys(int):356:362 -> f
    5:11:java.lang.Object removeEntry(int):278 -> f
    12:12:java.lang.Object removeEntry(int):279:279 -> f
    13:19:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.shiftKeys(int):365:371 -> f
    13:19:java.lang.Object removeEntry(int):278 -> f
    20:21:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1457:1458 -> f
    1:3:java.lang.Object firstKey():896:896 -> firstKey
    1:11:java.lang.Object get(java.lang.Object):670:680 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.realSize():260:260 -> hashCode
    1:1:int hashCode():1697 -> hashCode
    2:10:int hashCode():1698:1706 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.headMap(java.lang.Object):928:928 -> headMap
    1:1:java.util.SortedMap headMap(java.lang.Object):85 -> headMap
    1:1:boolean isEmpty():735:735 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.object2ReferenceEntrySet():1348:1349 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet object2ReferenceEntrySet():85 -> k
    1:3:java.lang.Object lastKey():907:907 -> lastKey
    1:25:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.insert(java.lang.Object,java.lang.Object):307:331 -> put
    1:25:java.lang.Object put(java.lang.Object,java.lang.Object):338 -> put
    26:28:java.lang.Object put(java.lang.Object,java.lang.Object):339:341 -> put
    1:1:void putAll(java.util.Map):296:296 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.ensureCapacity(int):264:265 -> putAll
    2:3:void putAll(java.util.Map):296 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.size():730:730 -> putAll
    4:4:void putAll(java.util.Map):298 -> putAll
    5:5:void putAll(java.util.Map):298:298 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.tryCapacity(long):269:270 -> putAll
    6:7:void putAll(java.util.Map):298 -> putAll
    8:8:void putAll(java.util.Map):301:301 -> putAll
    1:1:java.lang.Object remove(java.lang.Object):378:378 -> remove
    2:8:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.removeNullEntry():284:290 -> remove
    2:8:java.lang.Object remove(java.lang.Object):378 -> remove
    9:19:java.lang.Object remove(java.lang.Object):379:389 -> remove
    1:1:int size():730:730 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.subMap(java.lang.Object,java.lang.Object):938:938 -> subMap
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):85 -> subMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.tailMap(java.lang.Object):918:918 -> tailMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):85 -> tailMap
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.values():1498:1519 -> values
    1:22:java.util.Collection values():85 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1 -> com.android.tools.r8.internal.QI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1498:1498 -> <init>
    1:1:void clear():1516:1516 -> clear
    1:1:boolean contains(java.lang.Object):1511:1511 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1501:1501 -> iterator
    1:1:int size():1506:1506 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.RI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1150:1150 -> <init>
    1:1:void add(java.lang.Object):1147:1147 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1143:1143 -> add
    2:2:void add(java.lang.Object):1147 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$EntryIterator.next():1159:1159 -> next
    1:1:java.lang.Object next():1147 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$EntryIterator.previous():1164:1164 -> previous
    1:1:java.lang.Object previous():1147 -> previous
    1:2:void remove():1169:1170 -> remove
    1:1:void set(java.lang.Object):1147:1147 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1139:1139 -> set
    2:2:void set(java.lang.Object):1147 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.SI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1381:1382 -> <init>
    1:1:void add(java.lang.Object):1378:1378 -> add
    1:1:java.lang.Object next():1387:1387 -> next
    1:1:java.lang.Object previous():1368:1368 -> previous
    1:1:void set(java.lang.Object):1373:1373 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.TI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1391:1391 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1):1391:1391 -> <init>
    1:1:void clear():1419:1419 -> clear
    1:1:boolean contains(java.lang.Object):1407:1407 -> contains
    1:3:java.lang.Object first():1424:1424 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.headSet(java.lang.Object):1446:1446 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):1391 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.iterator():1397:1397 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1391 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.iterator():1397:1397 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1391 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.iterator():1397:1397 -> iterator
    3:3:java.util.Iterator iterator():1391 -> iterator
    1:3:java.lang.Object last():1430:1430 -> last
    1:3:boolean remove(java.lang.Object):1412:1414 -> remove
    1:1:int size():1402:1402 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.subSet(java.lang.Object,java.lang.Object):1451:1451 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1391 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.tailSet(java.lang.Object):1441:1441 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1391 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.UI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,int):774:775 -> <init>
    1:3:boolean equals(java.lang.Object):801:803 -> equals
    1:1:java.lang.Object getKey():783:783 -> getKey
    1:1:java.lang.Object getValue():788:788 -> getValue
    1:1:int hashCode():808:808 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):793:794 -> setValue
    1:1:java.lang.String toString():813:813 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.VI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1197:1197 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1):1197:1197 -> <init>
    1:1:void clear():1299:1299 -> clear
    1:15:boolean contains(java.lang.Object):1237:1251 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.first():1224:1224 -> first
    1:3:java.lang.Object first():1197 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1197:1197 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1214:1214 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1197 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1199:1199 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.last():1230:1230 -> last
    1:3:java.lang.Object last():1197 -> last
    1:28:boolean remove(java.lang.Object):1258:1285 -> remove
    1:1:int size():1294:1294 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1197:1197 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1209:1209 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1197 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1197:1197 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1219:1219 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1197 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.WI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> f
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1):958:958 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):983:983 -> <init>
    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 -> j
    1:6:int nextEntry():1053:1053 -> k
    1:6:int previousEntry():1062:1062 -> l
    1:2:int nextIndex():1043:1044 -> nextIndex
    1:2:int previousIndex():1048:1049 -> previousIndex
    1:49:void remove():1071:1119 -> remove
    50:50:void remove():1072:1072 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.XI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1486:1487 -> <init>
    1:1:void add(java.lang.Object):1483:1483 -> add
    1:1:java.lang.Object next():1492:1492 -> next
    1:1:java.lang.Object previous():1473:1473 -> previous
    1:1:void set(java.lang.Object):1478:1478 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap -> com.android.tools.r8.internal.aJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry -> com.android.tools.r8.internal.ZI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap -> com.android.tools.r8.internal.sJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry[] nodePath -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> h
    boolean modified -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry tree -> c
    int count -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry -> e
    boolean[] dirPath -> k
    1:1:void <init>():81:81 -> <init>
    2:10:void <init>():75:83 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1352:1352 -> b
    1:1:int compare(java.lang.Object,java.lang.Object):220:220 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):1342:1342 -> c
    1:6:void clear():666:671 -> clear
    1:14:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1850:1863 -> clone
    1:14:java.lang.Object clone():43 -> clone
    15:16:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):813:814 -> clone
    15:16:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1863 -> clone
    15:16:java.lang.Object clone():43 -> clone
    17:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1865:1870 -> clone
    17:22:java.lang.Object clone():43 -> clone
    23:24:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):813:814 -> clone
    23:24:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1871 -> clone
    23:24:java.lang.Object clone():43 -> clone
    25:49:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1872:1896 -> clone
    25:49:java.lang.Object clone():43 -> clone
    50:51:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):824:825 -> clone
    50:51:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1897 -> clone
    50:51:java.lang.Object clone():43 -> clone
    52:52:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1852:1852 -> clone
    52:52:java.lang.Object clone():43 -> clone
    1:1:boolean containsKey(java.lang.Object):934:934 -> containsKey
    1:3:boolean containsValue(java.lang.Object):654:656 -> containsValue
    4:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$ValueIterator.next():1278:1278 -> containsValue
    4:4:boolean containsValue(java.lang.Object):658 -> containsValue
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):1347:1347 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry findKey(java.lang.Object):233:235 -> e
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> e
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry findKey(java.lang.Object):235 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left():729:729 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry findKey(java.lang.Object):236 -> e
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right():739:739 -> e
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry findKey(java.lang.Object):236 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1261:1262 -> f
    1:3:java.lang.Object firstKey():956:956 -> firstKey
    1:2:java.lang.Object get(java.lang.Object):950:951 -> get
    1:1:boolean isEmpty():944:944 -> isEmpty
    1:77:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet object2ReferenceEntrySet():1116:1192 -> k
    1:2:void allocatePaths():268:269 -> l
    1:3:java.lang.Object lastKey():962:962 -> lastKey
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):296:306 -> put
    1:11:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> put
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):306 -> put
    12:12:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    13:23:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):310:320 -> put
    13:23:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    24:25:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):824:825 -> put
    24:25:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):321 -> put
    24:25:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    26:33:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):324:331 -> put
    26:33:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    34:35:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):813:814 -> put
    34:35:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):332 -> put
    34:35:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    36:70:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):338:372 -> put
    36:70:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.succ(boolean):781:781 -> put
    71:71:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):373 -> put
    71:71:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    72:92:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):374:394 -> put
    72:92:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.succ(boolean):781:781 -> put
    93:93:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):395 -> put
    93:93:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    94:119:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):396:421 -> put
    94:119:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    120:121:java.lang.Object put(java.lang.Object,java.lang.Object):275:276 -> put
    122:122:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):335:335 -> put
    122:122:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    1:8:java.lang.Object remove(java.lang.Object):436:443 -> remove
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> remove
    9:9:java.lang.Object remove(java.lang.Object):443 -> remove
    10:10:java.lang.Object remove(java.lang.Object):464:464 -> remove
    11:13:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():855:857 -> remove
    11:13:java.lang.Object remove(java.lang.Object):464 -> remove
    14:67:java.lang.Object remove(java.lang.Object):464:517 -> remove
    68:69:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):824:825 -> remove
    68:69:java.lang.Object remove(java.lang.Object):517 -> remove
    70:118:java.lang.Object remove(java.lang.Object):518:566 -> remove
    119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.succ(boolean):781:781 -> remove
    119:119:java.lang.Object remove(java.lang.Object):567 -> remove
    120:135:java.lang.Object remove(java.lang.Object):568:583 -> remove
    136:209:java.lang.Object remove(java.lang.Object):557:630 -> remove
    210:210:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.succ(boolean):781:781 -> remove
    210:210:java.lang.Object remove(java.lang.Object):631 -> remove
    211:211:java.lang.Object remove(java.lang.Object):632:632 -> remove
    212:255:java.lang.Object remove(java.lang.Object):606:649 -> remove
    256:257:java.lang.Object remove(java.lang.Object):444:445 -> remove
    258:258:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right():739:739 -> remove
    258:258:java.lang.Object remove(java.lang.Object):447 -> remove
    259:260:java.lang.Object remove(java.lang.Object):451:452 -> remove
    261:261:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left():729:729 -> remove
    261:261:java.lang.Object remove(java.lang.Object):455 -> remove
    262:263:java.lang.Object remove(java.lang.Object):459:460 -> remove
    1:1:int size():939:939 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.values():1311:1332 -> values
    1:22:java.util.Collection values():43 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1 -> com.android.tools.r8.internal.cJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> c
    java.util.Comparator comparator -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1116:1117 -> <init>
    1:1:void clear():1164:1164 -> clear
    1:1:java.util.Comparator comparator():1125:1125 -> comparator
    1:4:boolean contains(java.lang.Object):1141:1144 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.first():1169:1169 -> first
    1:1:java.lang.Object first():1116 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1116:1116 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1184:1184 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1116 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1130:1130 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.last():1174:1174 -> last
    1:1:java.lang.Object last():1116 -> last
    1:4:boolean remove(java.lang.Object):1150:1153 -> remove
    1:1:int size():1159:1159 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1116:1116 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1179:1179 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1116 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1116:1116 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1189:1189 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1116 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1$1 -> com.android.tools.r8.internal.bJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1 this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1117:1117 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1117:1117 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1119:1119 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1117 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$2 -> com.android.tools.r8.internal.dJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1311:1311 -> <init>
    1:1:void clear():1329:1329 -> clear
    1:1:boolean contains(java.lang.Object):1319:1319 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1314:1314 -> iterator
    1:1:int size():1324:1324 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry -> com.android.tools.r8.internal.eJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry left -> d
    int info -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry right -> e
    1:1:void <init>():707:707 -> <init>
    2:3:void <init>(java.lang.Object,java.lang.Object):719:720 -> <init>
    1:2:void pred(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):791:792 -> a
    3:4:void black(boolean):845:846 -> a
    1:2:void pred(boolean):768:769 -> b
    3:4:void succ(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):802:803 -> b
    5:5:boolean black():834:834 -> b
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry clone():886:892 -> c
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry clone():888:888 -> c
    1:1:java.lang.Object clone():685:685 -> clone
    1:1:boolean pred():748:748 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry prev():868:870 -> e
    1:3:boolean equals(java.lang.Object):899:901 -> equals
    1:1:boolean succ():757:757 -> f
    1:1:int hashCode():906:906 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):876:877 -> setValue
    1:1:java.lang.String toString():911:911 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator -> com.android.tools.r8.internal.fJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1086:1086 -> <init>
    1:1:void add(java.lang.Object):1085:1085 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1110:1110 -> add
    2:2:void add(java.lang.Object):1085 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.next():1095:1095 -> next
    1:1:java.lang.Object next():1085 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.previous():1100:1100 -> previous
    1:1:java.lang.Object previous():1085 -> previous
    1:1:void set(java.lang.Object):1085:1085 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1105:1105 -> set
    2:2:void set(java.lang.Object):1085 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$KeyIterator -> com.android.tools.r8.internal.gJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1206:1206 -> <init>
    1:1:void add(java.lang.Object):1230:1230 -> add
    1:1:java.lang.Object next():1215:1215 -> next
    1:1:java.lang.Object previous():1220:1220 -> previous
    1:1:void set(java.lang.Object):1225:1225 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$KeySet -> com.android.tools.r8.internal.hJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1237:1237 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1237:1237 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1239:1239 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap -> com.android.tools.r8.internal.pJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> h
    java.lang.Object to -> d
    boolean bottom -> e
    java.lang.Object from -> c
    boolean top -> f
    1:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap,java.lang.Object,boolean,java.lang.Object,boolean):1397:1403 -> <init>
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1624:1625 -> b
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> b
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1625 -> b
    4:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1625:1626 -> b
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> b
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1626 -> b
    7:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1626:1628 -> b
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):1612:1613 -> c
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> c
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):1613 -> c
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):1613:1613 -> c
    1:4:void clear():1408:1411 -> clear
    1:1:java.util.Comparator comparator():1607:1607 -> comparator
    1:1:boolean containsKey(java.lang.Object):1550:1550 -> containsKey
    1:4:boolean containsValue(java.lang.Object):1555:1558 -> containsValue
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):1618:1619 -> d
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> d
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):1619 -> d
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):1619:1619 -> d
    1:1:boolean in(java.lang.Object):1423:1423 -> e
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> e
    2:2:boolean in(java.lang.Object):1423 -> e
    3:3:boolean in(java.lang.Object):1423:1423 -> e
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> e
    4:4:boolean in(java.lang.Object):1423 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1521:1522 -> f
    1:3:java.lang.Object firstKey():1679:1681 -> firstKey
    4:4:java.lang.Object firstKey():1680:1680 -> firstKey
    1:1:java.lang.Object get(java.lang.Object):1569:1569 -> get
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703:1703 -> isEmpty
    1:1:boolean isEmpty():1602 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):998:998 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703 -> isEmpty
    2:2:boolean isEmpty():1602 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1704:1704 -> isEmpty
    3:3:boolean isEmpty():1602 -> isEmpty
    1:79:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet object2ReferenceEntrySet():1428:1506 -> k
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1638:1644 -> l
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):252:252 -> l
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1644 -> l
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):252 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1644 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left():729:729 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):254 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1644 -> l
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right():739:739 -> l
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):254 -> l
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1644 -> l
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1646:1646 -> l
    13:13:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> l
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1646 -> l
    14:16:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():855:857 -> l
    14:16:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1646 -> l
    17:17:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1650:1650 -> l
    18:18:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> l
    18:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1650 -> l
    1:3:java.lang.Object lastKey():1686:1688 -> lastKey
    4:4:java.lang.Object lastKey():1687:1687 -> lastKey
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1661:1667 -> m
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):252:252 -> m
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1667 -> m
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> m
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):252 -> m
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1667 -> m
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left():729:729 -> m
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):254 -> m
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1667 -> m
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right():739:739 -> m
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):254 -> m
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1667 -> m
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1669:1669 -> m
    13:13:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> m
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1669 -> m
    14:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1669:1673 -> m
    19:19:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> m
    19:19:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1673 -> m
    1:2:java.lang.Object put(java.lang.Object,java.lang.Object):1574:1575 -> put
    3:3:java.lang.Object put(java.lang.Object,java.lang.Object):0:0 -> put
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1581,"2":1582,"3":1583}}
    1581:1581:java.lang.Object put(java.lang.Object,java.lang.Object):1575:1575 -> put
    1582:1582:java.lang.Object put(java.lang.Object,java.lang.Object):1575:1575 -> put
    1583:1583:java.lang.Object put(java.lang.Object,java.lang.Object):1575:1575 -> put
    1578:1580:java.lang.Object put(java.lang.Object,java.lang.Object):1575:1577 -> put
    1:4:java.lang.Object remove(java.lang.Object):1583:1586 -> remove
    1:5:int size():1591:1595 -> size
    1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap.values():1527:1544 -> values
    1:18:java.util.Collection values():1366 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1 -> com.android.tools.r8.internal.iJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1428:1428 -> <init>
    1:1:void clear():1478:1478 -> clear
    1:1:java.util.Comparator comparator():1441:1441 -> comparator
    1:4:boolean contains(java.lang.Object):1447:1450 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.first():1483:1483 -> first
    1:1:java.lang.Object first():1428 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1428:1428 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1498:1498 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1428 -> headSet
    1:1:boolean isEmpty():1473:1473 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703:1703 -> isEmpty
    2:2:boolean isEmpty():1473 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):998:998 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703 -> isEmpty
    3:3:boolean isEmpty():1473 -> isEmpty
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1704:1704 -> isEmpty
    4:4:boolean isEmpty():1473 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1431:1431 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.last():1488:1488 -> last
    1:1:java.lang.Object last():1428 -> last
    1:4:boolean remove(java.lang.Object):1456:1459 -> remove
    1:1:int size():1466:1466 -> size
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1743:1743 -> size
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1733 -> size
    2:2:int size():1466 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1428:1428 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1493:1493 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1428 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1428:1428 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1503:1503 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1428 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$2 -> com.android.tools.r8.internal.jJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1527:1527 -> <init>
    1:1:void clear():1541:1541 -> clear
    1:1:boolean contains(java.lang.Object):1533:1533 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1529:1529 -> iterator
    1:1:int size():1537:1537 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.kJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1509:1509 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1509:1509 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1511:1511 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.lJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1734:1734 -> <init>
    1:1:void add(java.lang.Object):1733:1733 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1758:1758 -> add
    2:2:void add(java.lang.Object):1733 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1743:1743 -> next
    1:1:java.lang.Object next():1733 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.previous():1748:1748 -> previous
    1:1:java.lang.Object previous():1733 -> previous
    1:1:void set(java.lang.Object):1733:1733 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1753:1753 -> set
    2:2:void set(java.lang.Object):1733 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.mJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703:1704 -> <init>
    1:1:void updateNext():1728:1728 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():855:855 -> l
    2:2:void updateNext():1728 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():856:857 -> l
    3:4:void updateNext():1728 -> l
    5:6:void updateNext():1728:1729 -> l
    7:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> l
    7:7:void updateNext():1729 -> l
    8:8:void updateNext():1729:1729 -> l
    1:2:void updatePrevious():1723:1724 -> m
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> m
    3:3:void updatePrevious():1724 -> m
    4:4:void updatePrevious():1724:1724 -> m
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.nJ:
    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
    1:1:java.lang.Object next():1783:1783 -> next
    1:1:java.lang.Object previous():1788:1788 -> previous
    1:1:void set(java.lang.Object):1793:1793 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.oJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1812:1812 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1812:1812 -> <init>
    1:1:void add(java.lang.Object):1830:1830 -> add
    1:1:java.lang.Object next():1815:1815 -> next
    1:1:java.lang.Object previous():1820:1820 -> previous
    1:1:void set(java.lang.Object):1825:1825 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$TreeIterator -> com.android.tools.r8.internal.qJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry prev -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry curr -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry next -> c
    int index -> e
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):997:997 -> <init>
    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 -> j
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry previousEntry():1035:1035 -> k
    1:1:void updateNext():1019:1019 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():855:855 -> l
    2:2:void updateNext():1019 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():856:857 -> l
    3:4:void updateNext():1019 -> l
    5:5:void updateNext():1019:1019 -> l
    1:1:void updatePrevious():1031:1031 -> m
    1:1:int nextIndex():1043:1043 -> nextIndex
    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.internal.rJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1275:1275 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1275:1275 -> <init>
    1:1:void add(java.lang.Object):1293:1293 -> add
    1:1:java.lang.Object next():1278:1278 -> next
    1:1:java.lang.Object previous():1283:1283 -> previous
    1:1:void set(java.lang.Object):1288:1288 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.tJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList -> com.android.tools.r8.internal.vJ:
    java.lang.Object[] a -> b
    int size -> c
    1:3:void <init>(int):96:98 -> <init>
    4:4:void <init>(int):97:97 -> <init>
    5:5:void <init>(int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105,"4":106,"5":107,"6":108}}
    103:103:void <init>(int):97:97 -> <init>
    104:104:void <init>(int):97:97 -> <init>
    105:105:void <init>(int):97:97 -> <init>
    106:106:void <init>(int):97:97 -> <init>
    107:107:void <init>(int):97:97 -> <init>
    108:108:void <init>(int):97:97 -> <init>
    102:102:void <init>(int):97:97 -> <init>
    1:6:void removeElements(int,int):453:458 -> a
    1:2:void add(int,java.lang.Object):299:300 -> add
    3:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList.grow(int):287:291 -> add
    3:7:void add(int,java.lang.Object):300 -> add
    8:10:void add(int,java.lang.Object):301:303 -> add
    11:11:boolean add(java.lang.Object):309:309 -> add
    12:16:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList.grow(int):287:291 -> add
    12:16:boolean add(java.lang.Object):309 -> add
    17:17:boolean add(java.lang.Object):310:310 -> add
    1:2:void clear():365:366 -> clear
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList.clone():553:555 -> clone
    1:3:java.lang.Object clone():57 -> clone
    1:3:java.lang.Object get(int):317:317 -> get
    4:4:java.lang.Object get(int):0:0 -> get
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642,"4":643,"5":644}}
    640:640:java.lang.Object get(int):317:317 -> get
    641:641:java.lang.Object get(int):317:317 -> get
    642:642:java.lang.Object get(int):317:317 -> get
    643:643:java.lang.Object get(int):317:317 -> get
    644:644:java.lang.Object get(int):317:317 -> get
    321:321:java.lang.Object get(int):317:317 -> get
    322:322:java.lang.Object get(int):0:0 -> get
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642}}
    640:640:java.lang.Object get(int):317:317 -> get
    641:641:java.lang.Object get(int):317:317 -> get
    642:642:java.lang.Object get(int):317:317 -> get
    639:639:java.lang.Object get(int):317:317 -> get
    1:2:int indexOf(java.lang.Object):323:324 -> indexOf
    1:1:boolean isEmpty():385:385 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int):497:498 -> j
    1:2:int lastIndexOf(java.lang.Object):330:331 -> lastIndexOf
    1:6:java.lang.Object remove(int):337:337 -> remove
    7:7:java.lang.Object remove(int):0:0 -> remove
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":683,"2":684,"3":685,"4":686,"5":687}}
    683:683:java.lang.Object remove(int):337:337 -> remove
    684:684:java.lang.Object remove(int):337:337 -> remove
    685:685:java.lang.Object remove(int):337:337 -> remove
    686:686:java.lang.Object remove(int):337:337 -> remove
    687:687:java.lang.Object remove(int):337:337 -> remove
    344:344:java.lang.Object remove(int):337:337 -> remove
    345:345:java.lang.Object remove(int):0:0 -> remove
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":688,"2":689,"3":690}}
    688:688:java.lang.Object remove(int):337:337 -> remove
    689:689:java.lang.Object remove(int):337:337 -> remove
    690:690:java.lang.Object remove(int):337:337 -> remove
    682:682:java.lang.Object remove(int):337:337 -> remove
    691:693:boolean remove(java.lang.Object):348:350 -> remove
    1:7:boolean removeAll(java.util.Collection):485:491 -> removeAll
    1:4:java.lang.Object set(int,java.lang.Object):357:357 -> set
    5:5:java.lang.Object set(int,java.lang.Object):0:0 -> set
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":721,"2":722,"3":723,"4":724,"5":725}}
    721:721:java.lang.Object set(int,java.lang.Object):357:357 -> set
    722:722:java.lang.Object set(int,java.lang.Object):357:357 -> set
    723:723:java.lang.Object set(int,java.lang.Object):357:357 -> set
    724:724:java.lang.Object set(int,java.lang.Object):357:357 -> set
    725:725:java.lang.Object set(int,java.lang.Object):357:357 -> set
    362:362:java.lang.Object set(int,java.lang.Object):357:357 -> set
    363:363:java.lang.Object set(int,java.lang.Object):0:0 -> set
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":721,"2":722,"3":723}}
    721:721:java.lang.Object set(int,java.lang.Object):357:357 -> set
    722:722:java.lang.Object set(int,java.lang.Object):357:357 -> set
    723:723:java.lang.Object set(int,java.lang.Object):357:357 -> set
    720:720:java.lang.Object set(int,java.lang.Object):357:357 -> set
    1:1:int size():372:372 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList$1 -> com.android.tools.r8.internal.uJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList this$0 -> d
    int pos -> b
    int last -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList,int):498:499 -> <init>
    1:2:void add(java.lang.Object):528:529 -> add
    1:1:boolean hasNext():502:502 -> hasNext
    1:1:boolean hasPrevious():506:506 -> hasPrevious
    1:3:java.lang.Object next():510:510 -> next
    1:1:int nextIndex():520:520 -> nextIndex
    1:3:java.lang.Object previous():515:515 -> previous
    1:1:int previousIndex():524:524 -> previousIndex
    1:10:void remove():538:538 -> remove
    1:3:void set(java.lang.Object):533:533 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet -> com.android.tools.r8.internal.xJ:
    java.lang.Object[] a -> b
    int size -> c
    1:4:void <init>(java.lang.Object[],int):104:107 -> <init>
    5:5:void <init>(java.lang.Object[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223,"4":224,"5":225}}
    221:221:void <init>(java.lang.Object[],int):107:107 -> <init>
    222:222:void <init>(java.lang.Object[],int):107:107 -> <init>
    223:223:void <init>(java.lang.Object[],int):107:107 -> <init>
    224:224:void <init>(java.lang.Object[],int):107:107 -> <init>
    225:225:void <init>(java.lang.Object[],int):107:107 -> <init>
    112:112:void <init>(java.lang.Object[],int):107:107 -> <init>
    113:113:void <init>(java.lang.Object[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223}}
    221:221:void <init>(java.lang.Object[],int):107:107 -> <init>
    222:222:void <init>(java.lang.Object[],int):107:107 -> <init>
    223:223:void <init>(java.lang.Object[],int):107:107 -> <init>
    220:220:void <init>(java.lang.Object[],int):107:107 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):29:29 -> a
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.findKey(java.lang.Object):111:112 -> add
    1:2:boolean add(java.lang.Object):166 -> add
    3:9:boolean add(java.lang.Object):168:174 -> add
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):29:29 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):29:29 -> c
    1:2:void clear():180:181 -> clear
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.clone():204:208 -> clone
    1:5:java.lang.Object clone():29 -> clone
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.clone():206:206 -> clone
    6:6:java.lang.Object clone():29 -> clone
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.findKey(java.lang.Object):111:112 -> contains
    1:2:boolean contains(java.lang.Object):144 -> contains
    1:1:boolean isEmpty():186:186 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():119:119 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.iterator():119:119 -> iterator
    2:2:java.util.Iterator iterator():29 -> iterator
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.findKey(java.lang.Object):111:112 -> remove
    1:2:boolean remove(java.lang.Object):154 -> remove
    3:7:boolean remove(java.lang.Object):156:160 -> remove
    1:1:int size():149:149 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet$1 -> com.android.tools.r8.internal.wJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet this$0 -> c
    int next -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):119:120 -> <init>
    1:1:boolean hasNext():124:124 -> hasNext
    1:3:java.lang.Object next():129:129 -> next
    1:3:void remove():135:137 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrays -> com.android.tools.r8.internal.yJ:
# {"id":"sourceFile","fileName":"ObjectArrays.java"}
    java.lang.Object[] EMPTY_ARRAY -> a
    1:1:void <clinit>():88:88 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator -> com.android.tools.r8.internal.AJ:
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.BidirectionalIterator.previous() -> previous
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection -> com.android.tools.r8.internal.BJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections -> com.android.tools.r8.internal.EJ:
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection):383:383 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$EmptyCollection -> com.android.tools.r8.internal.CJ:
    1:1:void <init>():39:39 -> <init>
    1:1:boolean addAll(java.util.Collection):81:81 -> addAll
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():55:55 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$EmptyCollection.iterator():55:55 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():38 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$EmptyCollection.iterator():55:55 -> iterator
    3:3:java.util.Iterator iterator():38 -> iterator
    1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
    1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
    1:1:java.lang.Object[] toArray():49:49 -> toArray
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$UnmodifiableCollection -> com.android.tools.r8.internal.DJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection collection -> b
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection):276:278 -> <init>
    1:1:boolean add(java.lang.Object):283:283 -> add
    1:1:boolean addAll(java.util.Collection):344:344 -> addAll
    1:1:void clear():324:324 -> clear
    1:1:boolean contains(java.lang.Object):303:303 -> contains
    1:1:boolean containsAll(java.util.Collection):339:339 -> containsAll
    1:1:boolean equals(java.lang.Object):370:370 -> equals
    1:1:int hashCode():364:364 -> hashCode
    1:1:boolean isEmpty():298:298 -> isEmpty
    1:1:java.util.Iterator iterator():272:272 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():307:307 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator):762:762 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():307 -> iterator
    1:1:boolean remove(java.lang.Object):288:288 -> remove
    1:1:boolean removeAll(java.util.Collection):349:349 -> removeAll
    1:1:boolean retainAll(java.util.Collection):354:354 -> retainAll
    1:1:int size():293:293 -> size
    1:1:java.lang.Object[] toArray(java.lang.Object[]):329:329 -> toArray
    2:2:java.lang.Object[] toArray():334:334 -> toArray
    1:1:java.lang.String toString():359:359 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator -> com.android.tools.r8.internal.GJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators -> com.android.tools.r8.internal.KJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$EmptyIterator EMPTY_ITERATOR -> a
    1:1:void <clinit>():103:103 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$EmptyIterator -> com.android.tools.r8.internal.HJ:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():87:87 -> clone
    1:1:java.lang.Object next():57:57 -> next
    1:1:java.lang.Object previous():62:62 -> previous
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$SingletonIterator -> com.android.tools.r8.internal.IJ:
    java.lang.Object element -> b
    int curr -> c
    1:2:void <init>(java.lang.Object):127:128 -> <init>
    1:1:boolean hasNext():133:133 -> hasNext
    1:1:boolean hasPrevious():138:138 -> hasPrevious
    1:4:java.lang.Object next():143:143 -> next
    1:1:int nextIndex():157:157 -> nextIndex
    1:4:java.lang.Object previous():150:150 -> previous
    1:1:int previousIndex():162:162 -> previousIndex
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$UnmodifiableIterator -> com.android.tools.r8.internal.JJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator i -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator):739:740 -> <init>
    1:1:boolean hasNext():745:745 -> hasNext
    1:1:java.lang.Object next():750:750 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList -> com.android.tools.r8.internal.LJ:
    void removeElements(int,int) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator -> com.android.tools.r8.internal.MJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet -> com.android.tools.r8.internal.OJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets -> com.android.tools.r8.internal.RJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():70:70 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$EmptySet -> com.android.tools.r8.internal.PJ:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():52:52 -> clone
    1:1:boolean equals(java.lang.Object):58:58 -> equals
    1:1:boolean remove(java.lang.Object):47:47 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton -> com.android.tools.r8.internal.QJ:
    java.lang.Object element -> b
    1:2:void <init>(java.lang.Object):96:97 -> <init>
    1:1:boolean addAll(java.util.Collection):122:122 -> addAll
    1:1:boolean contains(java.lang.Object):102:102 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton.iterator():112:112 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():92 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.singleton(java.lang.Object):176:176 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton.iterator():112 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():92 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton.iterator():112:112 -> iterator
    3:3:java.util.Iterator iterator():92 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.singleton(java.lang.Object):176:176 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton.iterator():112 -> iterator
    4:4:java.util.Iterator iterator():92 -> iterator
    1:1:boolean remove(java.lang.Object):107:107 -> remove
    1:1:boolean removeAll(java.util.Collection):127:127 -> removeAll
    1:1:boolean retainAll(java.util.Collection):132:132 -> retainAll
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet -> com.android.tools.r8.internal.SJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets -> com.android.tools.r8.internal.UJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():114:114 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet -> com.android.tools.r8.internal.TJ:
    1:1:void <init>():43:43 -> <init>
    1:1:java.lang.Object clone():101:101 -> clone
    1:1:java.lang.Object first():86:86 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet.headSet(java.lang.Object):75:75 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):40 -> headSet
    1:1:java.lang.Object last():91:91 -> last
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet.subSet(java.lang.Object,java.lang.Object):69:69 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):40 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet.tailSet(java.lang.Object):81:81 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):40 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunction -> com.android.tools.r8.internal.jQ:
    boolean getBoolean(java.lang.Object) -> b
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap -> com.android.tools.r8.internal.mQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet() -> h
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$Entry -> com.android.tools.r8.internal.kQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$FastEntrySet -> com.android.tools.r8.internal.lQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps -> com.android.tools.r8.internal.pQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap EMPTY_MAP -> a
    1:1:void <clinit>():135:135 -> <clinit>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap singleton(java.lang.Object,boolean):260:260 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap -> com.android.tools.r8.internal.nQ:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.<init>():41:41 -> <init>
    1:1:void <init>():46 -> <init>
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.getBoolean(java.lang.Object) -> b
      # {"id":"com.android.tools.r8.synthesized"}
    void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.clear() -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object clone():106:106 -> clone
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.containsKey(java.lang.Object) -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap.reference2BooleanEntrySet():73:73 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap.entrySet():86 -> entrySet
    1:1:java.util.Set entrySet():43 -> entrySet
    1:2:boolean equals(java.lang.Object):121:122 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():73:73 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():92:92 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap.keySet():92:92 -> keySet
    2:2:java.util.Set keySet():43 -> keySet
    1:1:void putAll(java.util.Map):67:67 -> putAll
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.size() -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():127:127 -> toString
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap.values():97:97 -> values
    1:1:java.util.Collection values():43 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton -> com.android.tools.r8.internal.oQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keys -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection values -> f
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.key -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entries -> d
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.value -> c
    1:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.<init>(java.lang.Object,boolean):123:125 -> <init>
    1:3:void <init>(java.lang.Object,boolean):164 -> <init>
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.getBoolean(java.lang.Object):135:135 -> b
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.getBoolean(java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.clone() -> clone
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.containsKey(java.lang.Object):130:130 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean containsValue(java.lang.Object):180:180 -> containsValue
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton.entrySet():204:204 -> entrySet
    1:1:java.util.Set entrySet():157 -> entrySet
    1:4:boolean equals(java.lang.Object):232:235 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton.entrySet():204:204 -> equals
    5:5:boolean equals(java.lang.Object):235 -> equals
    6:6:boolean equals(java.lang.Object):235:235 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():190:190 -> h
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets.singleton(java.lang.Object):151:151 -> h
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():190 -> h
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():190:191 -> h
    1:1:int hashCode():226:226 -> hashCode
    1:1:java.util.Set keySet():157:157 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():209:209 -> keySet
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets.singleton(java.lang.Object):151:151 -> keySet
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():209 -> keySet
    4:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():209:210 -> keySet
    1:1:void putAll(java.util.Map):185:185 -> putAll
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.size() -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":242,"2":243,"3":244}}
    242:242:java.lang.String toString():240:240 -> toString
    243:243:java.lang.String toString():240:240 -> toString
    244:244:java.lang.String toString():240:240 -> toString
    241:241:java.lang.String toString():240:240 -> toString
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton.values():215:216 -> values
    1:2:java.util.Collection values():157 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap -> com.android.tools.r8.internal.yQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection values -> k
    java.lang.Object[] key -> b
    boolean[] value -> c
    int size -> h
    boolean containsNullKey -> e
    int n -> f
    int maxFill -> g
    int mask -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keys -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$FastEntrySet entries -> i
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.<init>():45:45 -> <init>
    1:1:void <init>(int,float):91 -> <init>
    2:6:void <init>(int,float):95:99 -> <init>
    7:7:void <init>():119:119 -> <init>
    1:1:boolean access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):49:49 -> a
    2:2:boolean access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,int):49:49 -> a
    3:18:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.insert(java.lang.Object,boolean):248:263 -> a
    3:18:boolean put(java.lang.Object,boolean):270 -> a
    19:20:boolean put(java.lang.Object,boolean):272:273 -> a
    1:11:boolean getBoolean(java.lang.Object):326:336 -> b
    1:12:boolean removeBoolean(java.lang.Object):308:319 -> c
    1:4:void clear():376:379 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.clone():954:963 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.clone():956:956 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:10:boolean containsKey(java.lang.Object):343:352 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.containsValue(java.lang.Object):62:62 -> containsValue
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.containsValue(java.lang.Object):0 -> containsValue
      # {"id":"com.android.tools.r8.synthesized"}
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.containsValue(boolean):359:363 -> containsValue
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.containsValue(java.lang.Object):62 -> containsValue
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.containsValue(java.lang.Object):0 -> containsValue
      # {"id":"com.android.tools.r8.synthesized"}
    1:7:void rehash(int):916:922 -> d
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.realSize():205:205 -> d
    8:8:void rehash(int):923 -> d
    9:21:void rehash(int):924:936 -> d
    1:2:boolean removeEntry(int):219:220 -> e
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.shiftKeys(int):288:293 -> e
    3:8:boolean removeEntry(int):221 -> e
    9:9:boolean removeEntry(int):222:222 -> e
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.shiftKeys(int):296:301 -> e
    10:15:boolean removeEntry(int):221 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():297:297 -> entrySet
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():42 -> entrySet
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    1:3:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):320:322 -> equals
    1:3:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.size():384:384 -> equals
    4:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):322 -> equals
    4:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():297:297 -> equals
    5:5:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):323 -> equals
    5:5:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):323:323 -> equals
    6:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    1:5:boolean removeNullEntry():227:231 -> f
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.reference2BooleanEntrySet():716:717 -> h
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():49 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():980 -> hashCode
    2:10:int hashCode():981:989 -> hashCode
    1:1:boolean isEmpty():389:389 -> isEmpty
    1:1:java.util.Set keySet():49:49 -> keySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():771:772 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.size():384:384 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:20:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.putAll(java.util.Map):82:94 -> putAll
    8:20:void putAll(java.util.Map):242 -> putAll
    21:22:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction.put(java.lang.Object,java.lang.Boolean):123:124 -> putAll
    21:22:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.putAll(java.util.Map):94 -> putAll
    21:22:void putAll(java.util.Map):242 -> putAll
    1:1:int size():384:384 -> size
    1:1:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():328:328 -> toString
    1:1:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():297:297 -> toString
    2:2:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():329 -> toString
    2:2:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():329:329 -> toString
    3:3:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.size():384:384 -> toString
    4:4:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():330 -> toString
    4:4:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    5:16:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():333:344 -> toString
    5:16:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.values():803:824 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1 -> com.android.tools.r8.internal.qQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):803:803 -> <init>
    1:1:boolean contains(boolean):816:816 -> b
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.containsValue(boolean):359:359 -> b
    2:2:boolean contains(boolean):816 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.containsValue(boolean):360:363 -> b
    3:6:boolean contains(boolean):816 -> b
    1:1:void clear():821:821 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():806:806 -> iterator
    1:1:int size():811:811 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$EntryIterator -> com.android.tools.r8.internal.rQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):609:609 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):609:609 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$EntryIterator.next():614:614 -> next
    1:1:java.lang.Object next():609 -> next
    1:2:void remove():619:620 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$KeyIterator -> com.android.tools.r8.internal.sQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):730:731 -> <init>
    1:1:java.lang.Object next():736:736 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$KeySet -> com.android.tools.r8.internal.tQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):740:740 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):740:740 -> <init>
    1:1:void clear():765:765 -> clear
    1:1:boolean contains(java.lang.Object):753:753 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():743:743 -> iterator
    1:3:boolean remove(java.lang.Object):758:760 -> remove
    1:1:int size():748:748 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry -> com.android.tools.r8.internal.uQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,int):428:429 -> <init>
    1:3:boolean equals(java.lang.Object):479:481 -> equals
    1:1:boolean getBooleanValue():442:442 -> getBooleanValue
    1:1:java.lang.Object getKey():437:437 -> getKey
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.getValue():461:461 -> getValue
    1:1:java.lang.Object getValue():423 -> getValue
    1:1:int hashCode():486:486 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):423:423 -> setValue
    2:2:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.setValue(java.lang.Boolean):473:473 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):423 -> setValue
    3:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.setValue(boolean):447:448 -> setValue
    3:4:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.setValue(java.lang.Boolean):473 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):423 -> setValue
    5:5:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.setValue(java.lang.Boolean):473:473 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):423 -> setValue
    1:1:java.lang.String toString():491:491 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.vQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):634:634 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):634:634 -> <init>
    1:1:void clear():710:710 -> clear
    1:16:boolean contains(java.lang.Object):646:661 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():636:636 -> iterator
    1:29:boolean remove(java.lang.Object):668:696 -> remove
    1:1:int size():705:705 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapIterator -> com.android.tools.r8.internal.wQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> g
    boolean mustReturnNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
    int c -> d
    int pos -> b
    int last -> c
    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 -> j
    1:5:void remove():585:589 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapIterator.shiftKeys(int):563:568 -> remove
    6:11:void remove():589 -> remove
    12:13:void remove():596:597 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapIterator.shiftKeys(int):571:580 -> remove
    14:23:void remove():589 -> remove
    24:25:void remove():592:593 -> remove
    26:26:void remove():585:585 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$ValueIterator -> com.android.tools.r8.internal.xQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):785:786 -> <init>
    1:1:boolean nextBoolean():791:791 -> g
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$ValueIterator.next():797:797 -> next
    1:1:java.lang.Object next():784 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap -> com.android.tools.r8.internal.BQ:
    java.lang.Object[] key -> c
    int[] value -> d
    int size -> e
    1:3:void <init>():70:72 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):37:37 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:235 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap,java.lang.Object):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):236:237 -> a
    3:4:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap,java.lang.Object):37 -> a
    5:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:237 -> a
    5:7:int put(java.lang.Object,int):283 -> a
    8:25:int put(java.lang.Object,int):285:302 -> a
    26:29:int getInt(java.lang.Object):244:247 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):37:37 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):37:37 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.reference2IntEntrySet():231:231 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet():37 -> c
    3:5:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:237 -> c
    3:5:int removeInt(java.lang.Object):308 -> c
    6:12:int removeInt(java.lang.Object):309:315 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:237 -> containsKey
    1:3:boolean containsKey(java.lang.Object):265 -> containsKey
    1:1:int[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):37:37 -> d
    2:3:boolean containsValue(int):270:271 -> d
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.keySet():321:321 -> keySet
    1:1:java.util.Set keySet():37 -> keySet
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.values():326:326 -> values
    1:1:java.util.Collection values():37 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet -> com.android.tools.r8.internal.AQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.zQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntFunction -> com.android.tools.r8.internal.CQ:
    int getInt(java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap -> com.android.tools.r8.internal.LQ:
    int size -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> o
    java.lang.Object[] key -> c
    int n -> j
    int maxFill -> k
    int last -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet keys -> n
    int first -> g
    int mask -> e
    long[] link -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet entries -> m
    int[] value -> d
    boolean containsNullKey -> f
    1:1:void <init>(int,float):147:147 -> <init>
    2:56:void <init>(int,float):102:156 -> <init>
    57:57:void <init>(int,float):149:149 -> <init>
    58:58:void <init>():176:176 -> <init>
    1:1:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,int):87:87 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.removeNullEntry():285:285 -> a
    2:2:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.removeNullEntry():286:290 -> a
    3:7:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):87 -> a
    8:32:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.insert(java.lang.Object,int):307:331 -> a
    8:32:int put(java.lang.Object,int):338 -> a
    33:35:int put(java.lang.Object,int):339:341 -> a
    36:46:int getInt(java.lang.Object):721:731 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet():87:87 -> c
    2:2:int removeInt(java.lang.Object):431:431 -> c
    3:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.removeNullEntry():285:290 -> c
    3:8:int removeInt(java.lang.Object):431 -> c
    9:19:int removeInt(java.lang.Object):432:442 -> c
    20:43:void fixPointers(int,int):937:960 -> c
    1:5:void clear():771:775 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.clone():1768:1778 -> clone
    1:11:java.lang.Object clone():87 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.clone():1770:1770 -> clone
    12:12:java.lang.Object clone():87 -> clone
    1:10:boolean containsKey(java.lang.Object):738:747 -> containsKey
    1:5:boolean containsValue(int):754:758 -> d
    1:25:void fixPointers(int):899:923 -> f
    1:3:java.lang.Object firstKey():970:970 -> firstKey
    1:42:void rehash(int):1709:1750 -> g
    1:3:int removeEntry(int):276:278 -> h
    4:9:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.shiftKeys(int):410:415 -> h
    4:9:int removeEntry(int):279 -> h
    10:10:int removeEntry(int):280:280 -> h
    11:17:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.shiftKeys(int):418:424 -> h
    11:17:int removeEntry(int):279 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.realSize():262:262 -> hashCode
    1:1:int hashCode():1795 -> hashCode
    2:10:int hashCode():1796:1804 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.headMap(java.lang.Object):1002:1002 -> headMap
    1:1:java.util.SortedMap headMap(java.lang.Object):87 -> headMap
    1:1:boolean isEmpty():785:785 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet keySet():1531:1532 -> k
    1:1:java.util.Set keySet():87:87 -> keySet
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet reference2IntEntrySet():1422:1423 -> l
    1:3:java.lang.Object lastKey():981:981 -> lastKey
    1:1:void putAll(java.util.Map):296:296 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.ensureCapacity(int):266:267 -> putAll
    2:3:void putAll(java.util.Map):296 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.size():780:780 -> putAll
    4:4:void putAll(java.util.Map):298 -> putAll
    5:5:void putAll(java.util.Map):298:298 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.tryCapacity(long):271:272 -> putAll
    6:7:void putAll(java.util.Map):298 -> putAll
    8:8:void putAll(java.util.Map):301:301 -> putAll
    1:1:int size():780:780 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.subMap(java.lang.Object,java.lang.Object):1012:1012 -> subMap
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):87 -> subMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.tailMap(java.lang.Object):992:992 -> tailMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):87 -> tailMap
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.values():1596:1617 -> values
    1:22:java.util.Collection values():87 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.DQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1596:1596 -> <init>
    1:1:void clear():1614:1614 -> clear
    1:1:boolean contains(int):1609:1609 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1599:1599 -> iterator
    1:1:int size():1604:1604 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.EQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1222:1222 -> <init>
    1:1:void add(java.lang.Object):1219:1219 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1215:1215 -> add
    2:2:void add(java.lang.Object):1219 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$EntryIterator.next():1231:1231 -> next
    1:1:java.lang.Object next():1219 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$EntryIterator.previous():1236:1236 -> previous
    1:1:java.lang.Object previous():1219 -> previous
    1:2:void remove():1241:1242 -> remove
    1:1:void set(java.lang.Object):1219:1219 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1211:1211 -> set
    2:2:void set(java.lang.Object):1219 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.FQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1455:1456 -> <init>
    1:1:void add(java.lang.Object):1452:1452 -> add
    1:1:java.lang.Object next():1461:1461 -> next
    1:1:java.lang.Object previous():1442:1442 -> previous
    1:1:void set(java.lang.Object):1447:1447 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.GQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1465:1465 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1):1465:1465 -> <init>
    1:1:void clear():1493:1493 -> clear
    1:1:boolean contains(java.lang.Object):1481:1481 -> contains
    1:3:java.lang.Object first():1498:1498 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.headSet(java.lang.Object):1520:1520 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):1465 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1465 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    2:2:java.util.Iterator iterator():1465 -> iterator
    1:3:java.lang.Object last():1504:1504 -> last
    1:3:boolean remove(java.lang.Object):1486:1488 -> remove
    1:1:int size():1476:1476 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.subSet(java.lang.Object,java.lang.Object):1525:1525 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.tailSet(java.lang.Object):1515:1515 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.HQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,int):824:825 -> <init>
    1:3:boolean equals(java.lang.Object):875:877 -> equals
    1:1:int getIntValue():838:838 -> getIntValue
    1:1:java.lang.Object getKey():833:833 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.getValue():857:857 -> getValue
    1:1:java.lang.Object getValue():819 -> getValue
    1:1:int hashCode():882:882 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):819:819 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):819 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.setValue(int):843:844 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):819 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):819 -> setValue
    1:1:java.lang.String toString():887:887 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.IQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1269:1269 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1):1269:1269 -> <init>
    1:1:void clear():1373:1373 -> clear
    1:16:boolean contains(java.lang.Object):1309:1324 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.first():1296:1296 -> first
    1:3:java.lang.Object first():1269 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1269:1269 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1286:1286 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1269 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1271:1271 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.last():1302:1302 -> last
    1:3:java.lang.Object last():1269 -> last
    1:29:boolean remove(java.lang.Object):1331:1359 -> remove
    1:1:int size():1368:1368 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1269:1269 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1281:1281 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1269 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1269:1269 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1291:1291 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1269 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.JQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> f
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1):1032:1032 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1057:1057 -> <init>
    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 -> j
    1:6:int nextEntry():1127:1127 -> k
    1:6:int previousEntry():1136:1136 -> l
    1:2:int nextIndex():1117:1118 -> nextIndex
    1:2:int previousIndex():1122:1123 -> previousIndex
    1:47:void remove():1145:1191 -> remove
    48:48:void remove():1146:1146 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.KQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1578:1579 -> <init>
    1:1:void add(java.lang.Object):1544:1544 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator.add(java.lang.Integer):1565:1565 -> add
    2:2:void add(java.lang.Object):1544 -> add
    1:1:int previousInt():1547:1547 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator.next():1590:1590 -> next
    1:1:java.lang.Object next():1544 -> next
    1:1:int nextInt():1584:1584 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator.previous():1553:1553 -> previous
    1:1:java.lang.Object previous():1544 -> previous
    1:1:void set(java.lang.Object):1544:1544 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator.set(java.lang.Integer):1559:1559 -> set
    2:2:void set(java.lang.Object):1544 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap -> com.android.tools.r8.internal.OQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet() -> c
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry -> com.android.tools.r8.internal.MQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet -> com.android.tools.r8.internal.NQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap -> com.android.tools.r8.internal.XQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet entries -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> l
    java.lang.Object[] key -> c
    int[] value -> d
    int maxFill -> h
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keys -> k
    int mask -> e
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>(int,float):93:93 -> <init>
    11:11:void <init>(int):110:110 -> <init>
    12:12:void <init>():119:119 -> <init>
    1:1:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,int):49:49 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.removeNullEntry():227:227 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.removeNullEntry():228:231 -> a
    3:6:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.insert(java.lang.Object,int):248:263 -> a
    7:22:int put(java.lang.Object,int):270 -> a
    23:25:int put(java.lang.Object,int):271:273 -> a
    26:36:int getInt(java.lang.Object):371:381 -> a
    1:1:int removeInt(java.lang.Object):353:353 -> c
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.removeNullEntry():227:231 -> c
    2:6:int removeInt(java.lang.Object):353 -> c
    7:17:int removeInt(java.lang.Object):354:364 -> c
    18:19:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.reference2IntEntrySet():761:762 -> c
    18:19:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet():49 -> c
    1:4:void clear():421:424 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.clone():999:1008 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.clone():1001:1001 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:10:boolean containsKey(java.lang.Object):388:397 -> containsKey
    1:5:boolean containsValue(int):404:408 -> d
    1:7:void rehash(int):961:967 -> f
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.realSize():205:205 -> f
    8:8:void rehash(int):968 -> f
    9:21:void rehash(int):969:981 -> f
    1:2:int removeEntry(int):219:220 -> g
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.shiftKeys(int):333:338 -> g
    3:8:int removeEntry(int):221 -> g
    9:9:int removeEntry(int):222:222 -> g
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.shiftKeys(int):341:346 -> g
    10:15:int removeEntry(int):221 -> g
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():1025 -> hashCode
    2:10:int hashCode():1026:1034 -> hashCode
    1:1:boolean isEmpty():434:434 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.keySet():816:817 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.size():429:429 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int size():429:429 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.values():848:869 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1 -> com.android.tools.r8.internal.PQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):848:848 -> <init>
    1:1:void clear():866:866 -> clear
    1:1:boolean contains(int):861:861 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():851:851 -> iterator
    1:1:int size():856:856 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.QQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):654:654 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):654:654 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$EntryIterator.next():659:659 -> next
    1:1:java.lang.Object next():654 -> next
    1:2:void remove():664:665 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.RQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):775:776 -> <init>
    1:1:java.lang.Object next():781:781 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.SQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):785:785 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):785:785 -> <init>
    1:1:void clear():810:810 -> clear
    1:1:boolean contains(java.lang.Object):798:798 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
    1:3:boolean remove(java.lang.Object):803:805 -> remove
    1:1:int size():793:793 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.TQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,int):473:474 -> <init>
    1:3:boolean equals(java.lang.Object):524:526 -> equals
    1:1:int getIntValue():487:487 -> getIntValue
    1:1:java.lang.Object getKey():482:482 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.getValue():506:506 -> getValue
    1:1:java.lang.Object getValue():468 -> getValue
    1:1:int hashCode():531:531 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):468:468 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):468 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.setValue(int):492:493 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):468 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.UQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):679:679 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):679:679 -> <init>
    1:1:void clear():755:755 -> clear
    1:16:boolean contains(java.lang.Object):691:706 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
    1:29:boolean remove(java.lang.Object):713:741 -> remove
    1:1:int size():750:750 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.VQ:
    boolean mustReturnNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
    int c -> d
    int pos -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> g
    int last -> c
    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 -> j
    1:5:void remove():630:634 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapIterator.shiftKeys(int):608:613 -> remove
    6:11:void remove():634 -> remove
    12:13:void remove():641:642 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapIterator.shiftKeys(int):616:625 -> remove
    14:23:void remove():634 -> remove
    24:25:void remove():637:638 -> remove
    26:26:void remove():630:630 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.WQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):830:831 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$ValueIterator.next():842:842 -> next
    1:1:java.lang.Object next():829 -> next
    1:1:int nextInt():836:836 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.YQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$Entry -> com.android.tools.r8.internal.ZQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet -> com.android.tools.r8.internal.aR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap -> com.android.tools.r8.internal.jR:
    long[] value -> c
    java.lang.Object[] key -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet entries -> i
    int size -> h
    boolean containsNullKey -> e
    int n -> f
    int maxFill -> g
    int mask -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection values -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keys -> j
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>(int,float):93:93 -> <init>
    1:1:long access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,int):49:49 -> a
    2:2:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.removeNullEntry():227:227 -> a
    2:2:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.removeNullEntry():228:231 -> a
    3:6:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.insert(java.lang.Object,long):248:263 -> a
    7:22:long put(java.lang.Object,long):270 -> a
    23:24:long put(java.lang.Object,long):272:273 -> a
    1:1:long removeLong(java.lang.Object):353:353 -> c
    2:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.removeNullEntry():227:231 -> c
    2:6:long removeLong(java.lang.Object):353 -> c
    7:14:long removeLong(java.lang.Object):357:364 -> c
    1:4:void clear():421:424 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.clone():999:1008 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.clone():1001:1001 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:10:boolean containsKey(java.lang.Object):388:397 -> containsKey
    1:11:long getLong(java.lang.Object):371:381 -> d
    12:18:void rehash(int):961:967 -> d
    19:19:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.realSize():205:205 -> d
    19:19:void rehash(int):968 -> d
    20:32:void rehash(int):969:981 -> d
    1:2:long removeEntry(int):219:220 -> e
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.shiftKeys(int):333:338 -> e
    3:8:long removeEntry(int):221 -> e
    9:9:long removeEntry(int):222:222 -> e
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.shiftKeys(int):341:346 -> e
    10:15:long removeEntry(int):221 -> e
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():1025 -> hashCode
    2:10:int hashCode():1026:1034 -> hashCode
    1:1:boolean isEmpty():434:434 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.keySet():816:817 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.size():429:429 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int size():429:429 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.values():848:869 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1 -> com.android.tools.r8.internal.bR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):848:848 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():851:851 -> a
    1:1:boolean contains(long):861:861 -> b
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.containsValue(long):404:404 -> b
    2:2:boolean contains(long):861 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.containsValue(long):405:408 -> b
    3:6:boolean contains(long):861 -> b
    1:1:void clear():866:866 -> clear
    1:1:int size():856:856 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$EntryIterator -> com.android.tools.r8.internal.cR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):654:654 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):654:654 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$EntryIterator.next():659:659 -> next
    1:1:java.lang.Object next():654 -> next
    1:2:void remove():664:665 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$KeyIterator -> com.android.tools.r8.internal.dR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):775:776 -> <init>
    1:1:java.lang.Object next():781:781 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$KeySet -> com.android.tools.r8.internal.eR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):785:785 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):785:785 -> <init>
    1:1:void clear():810:810 -> clear
    1:1:boolean contains(java.lang.Object):798:798 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
    1:3:boolean remove(java.lang.Object):803:805 -> remove
    1:1:int size():793:793 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry -> com.android.tools.r8.internal.fR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,int):473:474 -> <init>
    1:3:boolean equals(java.lang.Object):524:526 -> equals
    1:1:java.lang.Object getKey():482:482 -> getKey
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.getValue():506:506 -> getValue
    1:1:java.lang.Object getValue():468 -> getValue
    1:1:int hashCode():531:531 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):468:468 -> setValue
    2:2:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):468 -> setValue
    3:4:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.setValue(long):492:493 -> setValue
    3:4:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):468 -> setValue
    5:5:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.gR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):679:679 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):679:679 -> <init>
    1:1:void clear():755:755 -> clear
    1:16:boolean contains(java.lang.Object):691:706 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
    1:29:boolean remove(java.lang.Object):713:741 -> remove
    1:1:int size():750:750 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapIterator -> com.android.tools.r8.internal.hR:
    boolean mustReturnNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
    int c -> d
    int pos -> b
    int last -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> g
    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 -> j
    1:5:void remove():630:634 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapIterator.shiftKeys(int):608:613 -> remove
    6:11:void remove():634 -> remove
    12:13:void remove():641:642 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapIterator.shiftKeys(int):616:625 -> remove
    14:23:void remove():634 -> remove
    24:25:void remove():637:638 -> remove
    26:26:void remove():630:630 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$ValueIterator -> com.android.tools.r8.internal.iR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):830:831 -> <init>
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$ValueIterator.next():842:842 -> next
    1:1:java.lang.Object next():829 -> next
    1:1:long nextLong():836:836 -> nextLong
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList -> com.android.tools.r8.internal.lR:
    java.lang.Object[] a -> b
    int size -> c
    1:3:void <init>(int):96:98 -> <init>
    4:4:void <init>(int):97:97 -> <init>
    5:5:void <init>(int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105,"4":106,"5":107,"6":108}}
    103:103:void <init>(int):97:97 -> <init>
    104:104:void <init>(int):97:97 -> <init>
    105:105:void <init>(int):97:97 -> <init>
    106:106:void <init>(int):97:97 -> <init>
    107:107:void <init>(int):97:97 -> <init>
    108:108:void <init>(int):97:97 -> <init>
    102:102:void <init>(int):97:97 -> <init>
    1:6:void removeElements(int,int):453:458 -> a
    1:2:void add(int,java.lang.Object):299:300 -> add
    3:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList.grow(int):287:291 -> add
    3:7:void add(int,java.lang.Object):300 -> add
    8:10:void add(int,java.lang.Object):301:303 -> add
    11:11:boolean add(java.lang.Object):309:309 -> add
    12:16:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList.grow(int):287:291 -> add
    12:16:boolean add(java.lang.Object):309 -> add
    17:17:boolean add(java.lang.Object):310:310 -> add
    1:2:void clear():365:366 -> clear
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList.clone():553:555 -> clone
    1:3:java.lang.Object clone():57 -> clone
    1:3:java.lang.Object get(int):317:317 -> get
    4:4:java.lang.Object get(int):0:0 -> get
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642,"4":643,"5":644}}
    640:640:java.lang.Object get(int):317:317 -> get
    641:641:java.lang.Object get(int):317:317 -> get
    642:642:java.lang.Object get(int):317:317 -> get
    643:643:java.lang.Object get(int):317:317 -> get
    644:644:java.lang.Object get(int):317:317 -> get
    321:321:java.lang.Object get(int):317:317 -> get
    322:322:java.lang.Object get(int):0:0 -> get
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642}}
    640:640:java.lang.Object get(int):317:317 -> get
    641:641:java.lang.Object get(int):317:317 -> get
    642:642:java.lang.Object get(int):317:317 -> get
    639:639:java.lang.Object get(int):317:317 -> get
    1:2:int indexOf(java.lang.Object):323:324 -> indexOf
    1:1:boolean isEmpty():385:385 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int):497:498 -> j
    1:2:int lastIndexOf(java.lang.Object):330:331 -> lastIndexOf
    1:6:java.lang.Object remove(int):337:337 -> remove
    7:7:java.lang.Object remove(int):0:0 -> remove
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":683,"2":684,"3":685,"4":686,"5":687}}
    683:683:java.lang.Object remove(int):337:337 -> remove
    684:684:java.lang.Object remove(int):337:337 -> remove
    685:685:java.lang.Object remove(int):337:337 -> remove
    686:686:java.lang.Object remove(int):337:337 -> remove
    687:687:java.lang.Object remove(int):337:337 -> remove
    344:344:java.lang.Object remove(int):337:337 -> remove
    345:345:java.lang.Object remove(int):0:0 -> remove
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":688,"2":689,"3":690}}
    688:688:java.lang.Object remove(int):337:337 -> remove
    689:689:java.lang.Object remove(int):337:337 -> remove
    690:690:java.lang.Object remove(int):337:337 -> remove
    682:682:java.lang.Object remove(int):337:337 -> remove
    691:693:boolean remove(java.lang.Object):348:350 -> remove
    1:7:boolean removeAll(java.util.Collection):485:491 -> removeAll
    1:4:java.lang.Object set(int,java.lang.Object):357:357 -> set
    5:5:java.lang.Object set(int,java.lang.Object):0:0 -> set
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":721,"2":722,"3":723,"4":724,"5":725}}
    721:721:java.lang.Object set(int,java.lang.Object):357:357 -> set
    722:722:java.lang.Object set(int,java.lang.Object):357:357 -> set
    723:723:java.lang.Object set(int,java.lang.Object):357:357 -> set
    724:724:java.lang.Object set(int,java.lang.Object):357:357 -> set
    725:725:java.lang.Object set(int,java.lang.Object):357:357 -> set
    362:362:java.lang.Object set(int,java.lang.Object):357:357 -> set
    363:363:java.lang.Object set(int,java.lang.Object):0:0 -> set
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":721,"2":722,"3":723}}
    721:721:java.lang.Object set(int,java.lang.Object):357:357 -> set
    722:722:java.lang.Object set(int,java.lang.Object):357:357 -> set
    723:723:java.lang.Object set(int,java.lang.Object):357:357 -> set
    720:720:java.lang.Object set(int,java.lang.Object):357:357 -> set
    1:1:int size():372:372 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList$1 -> com.android.tools.r8.internal.kR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList this$0 -> d
    int pos -> b
    int last -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList,int):498:499 -> <init>
    1:2:void add(java.lang.Object):528:529 -> add
    1:1:boolean hasNext():502:502 -> hasNext
    1:1:boolean hasPrevious():506:506 -> hasPrevious
    1:3:java.lang.Object next():510:510 -> next
    1:1:int nextIndex():520:520 -> nextIndex
    1:3:java.lang.Object previous():515:515 -> previous
    1:1:int previousIndex():524:524 -> previousIndex
    1:10:void remove():538:538 -> remove
    1:3:void set(java.lang.Object):533:533 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet -> com.android.tools.r8.internal.nR:
    java.lang.Object[] a -> b
    int size -> c
    1:4:void <init>(java.lang.Object[],int):104:107 -> <init>
    5:5:void <init>(java.lang.Object[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223,"4":224,"5":225}}
    221:221:void <init>(java.lang.Object[],int):107:107 -> <init>
    222:222:void <init>(java.lang.Object[],int):107:107 -> <init>
    223:223:void <init>(java.lang.Object[],int):107:107 -> <init>
    224:224:void <init>(java.lang.Object[],int):107:107 -> <init>
    225:225:void <init>(java.lang.Object[],int):107:107 -> <init>
    112:112:void <init>(java.lang.Object[],int):107:107 -> <init>
    113:113:void <init>(java.lang.Object[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223}}
    221:221:void <init>(java.lang.Object[],int):107:107 -> <init>
    222:222:void <init>(java.lang.Object[],int):107:107 -> <init>
    223:223:void <init>(java.lang.Object[],int):107:107 -> <init>
    220:220:void <init>(java.lang.Object[],int):107:107 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):29:29 -> a
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.findKey(java.lang.Object):111:112 -> add
    1:2:boolean add(java.lang.Object):166 -> add
    3:9:boolean add(java.lang.Object):168:174 -> add
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):29:29 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):29:29 -> c
    1:2:void clear():180:181 -> clear
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.clone():204:208 -> clone
    1:5:java.lang.Object clone():29 -> clone
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.clone():206:206 -> clone
    6:6:java.lang.Object clone():29 -> clone
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.findKey(java.lang.Object):111:112 -> contains
    1:2:boolean contains(java.lang.Object):144 -> contains
    1:1:boolean isEmpty():186:186 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():119:119 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.iterator():119:119 -> iterator
    2:2:java.util.Iterator iterator():29 -> iterator
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.findKey(java.lang.Object):111:112 -> remove
    1:2:boolean remove(java.lang.Object):154 -> remove
    3:7:boolean remove(java.lang.Object):156:160 -> remove
    1:1:int size():149:149 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet$1 -> com.android.tools.r8.internal.mR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet this$0 -> c
    int next -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):119:120 -> <init>
    1:1:boolean hasNext():124:124 -> hasNext
    1:3:java.lang.Object next():129:129 -> next
    1:3:void remove():135:137 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection -> com.android.tools.r8.internal.oR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections -> com.android.tools.r8.internal.rR:
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection):383:383 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$EmptyCollection -> com.android.tools.r8.internal.pR:
    1:1:void <init>():39:39 -> <init>
    1:1:boolean addAll(java.util.Collection):81:81 -> addAll
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$EmptyCollection.iterator():55:55 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():38 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$EmptyCollection.iterator():55:55 -> iterator
    2:2:java.util.Iterator iterator():38 -> iterator
    1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
    1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
    1:1:java.lang.Object[] toArray():49:49 -> toArray
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$UnmodifiableCollection -> com.android.tools.r8.internal.qR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection collection -> b
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection):276:278 -> <init>
    1:1:boolean add(java.lang.Object):283:283 -> add
    1:1:boolean addAll(java.util.Collection):344:344 -> addAll
    1:1:void clear():324:324 -> clear
    1:1:boolean contains(java.lang.Object):303:303 -> contains
    1:1:boolean containsAll(java.util.Collection):339:339 -> containsAll
    1:1:boolean equals(java.lang.Object):370:370 -> equals
    1:1:int hashCode():364:364 -> hashCode
    1:1:boolean isEmpty():298:298 -> isEmpty
    1:1:java.util.Iterator iterator():272:272 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():307:307 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator):762:762 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():307 -> iterator
    1:1:boolean remove(java.lang.Object):288:288 -> remove
    1:1:boolean removeAll(java.util.Collection):349:349 -> removeAll
    1:1:boolean retainAll(java.util.Collection):354:354 -> retainAll
    1:1:int size():293:293 -> size
    1:1:java.lang.Object[] toArray(java.lang.Object[]):329:329 -> toArray
    2:2:java.lang.Object[] toArray():334:334 -> toArray
    1:1:java.lang.String toString():359:359 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList -> com.android.tools.r8.internal.sR:
    void removeElements(int,int) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet -> com.android.tools.r8.internal.uR:
    java.lang.Object[] key -> b
    float f -> h
    int maxFill -> f
    int size -> g
    int n -> e
    int mask -> c
    boolean containsNull -> d
    1:8:void <init>(int,float):77:84 -> <init>
    1:14:boolean add(java.lang.Object):268:281 -> add
    1:1:boolean addAll(java.util.Collection):255:255 -> addAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.ensureCapacity(int):243:244 -> addAll
    2:3:boolean addAll(java.util.Collection):255 -> addAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.size():380:380 -> addAll
    4:4:boolean addAll(java.util.Collection):258 -> addAll
    5:5:boolean addAll(java.util.Collection):258:258 -> addAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.tryCapacity(long):248:249 -> addAll
    6:7:boolean addAll(java.util.Collection):258 -> addAll
    8:8:boolean addAll(java.util.Collection):261:261 -> addAll
    1:4:void clear():372:375 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.clone():640:645 -> clone
    1:6:java.lang.Object clone():40 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.clone():642:642 -> clone
    7:7:java.lang.Object clone():40 -> clone
    1:9:boolean contains(java.lang.Object):350:358 -> contains
    1:5:void rehash(int):607:611 -> h
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.realSize():239:239 -> h
    6:6:void rehash(int):612 -> h
    7:16:void rehash(int):613:622 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.realSize():239:239 -> hashCode
    1:1:int hashCode():662 -> hashCode
    2:4:int hashCode():663:665 -> hashCode
    1:1:boolean removeEntry(int):314:314 -> i
    2:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.shiftKeys(int):297:302 -> i
    2:7:boolean removeEntry(int):315 -> i
    8:8:boolean removeEntry(int):316:316 -> i
    9:13:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.shiftKeys(int):305:309 -> i
    9:13:boolean removeEntry(int):315 -> i
    1:1:boolean isEmpty():385:385 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():515:515 -> iterator
    1:1:boolean remove(java.lang.Object):332:332 -> remove
    2:5:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.removeNullEntry():321:324 -> remove
    2:5:boolean remove(java.lang.Object):332 -> remove
    6:13:boolean remove(java.lang.Object):336:343 -> remove
    1:1:int size():380:380 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$SetIterator -> com.android.tools.r8.internal.tR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet this$0 -> g
    boolean mustReturnNull -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
    int c -> d
    int pos -> b
    int last -> c
    1:21:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet):414:434 -> <init>
    22:22:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet,com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$1):414:414 -> <init>
    1:1:boolean hasNext():442:442 -> hasNext
    1:16:java.lang.Object next():446:446 -> next
    1:5:void remove():496:500 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$SetIterator.shiftKeys(int):475:480 -> remove
    6:11:void remove():500 -> remove
    12:13:void remove():507:508 -> remove
    14:22:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$SetIterator.shiftKeys(int):483:491 -> remove
    14:22:void remove():500 -> remove
    23:24:void remove():503:504 -> remove
    25:25:void remove():496:496 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet -> com.android.tools.r8.internal.vR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets -> com.android.tools.r8.internal.yR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():70:70 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$EmptySet -> com.android.tools.r8.internal.wR:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():52:52 -> clone
    1:1:boolean equals(java.lang.Object):58:58 -> equals
    1:1:boolean remove(java.lang.Object):47:47 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton -> com.android.tools.r8.internal.xR:
    java.lang.Object element -> b
    1:2:void <init>(java.lang.Object):96:97 -> <init>
    1:1:boolean addAll(java.util.Collection):122:122 -> addAll
    1:1:boolean contains(java.lang.Object):102:102 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton.iterator():112:112 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():92 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.singleton(java.lang.Object):176:176 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton.iterator():112 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():92 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton.iterator():112:112 -> iterator
    3:3:java.util.Iterator iterator():92 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.singleton(java.lang.Object):176:176 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton.iterator():112 -> iterator
    4:4:java.util.Iterator iterator():92 -> iterator
    1:1:boolean remove(java.lang.Object):107:107 -> remove
    1:1:boolean removeAll(java.util.Collection):127:127 -> removeAll
    1:1:boolean retainAll(java.util.Collection):132:132 -> retainAll
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet -> com.android.tools.r8.internal.zR:
com.android.tools.r8.jar.CfApplicationWriter -> com.android.tools.r8.internal.A6:
    com.android.tools.r8.graph.DexApplication application -> a
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> i
    com.android.tools.r8.utils.InternalOptions options -> e
    com.android.tools.r8.naming.NamingLens namingLens -> d
    java.util.function.Predicate isTypeMissing -> g
    com.android.tools.r8.cf.CfVersion MIN_VERSION_FOR_COMPILER_GENERATED_CODE -> h
    com.android.tools.r8.graph.GraphLens graphLens -> c
    com.android.tools.r8.dex.Marker marker -> f
    1:18:void <clinit>():78:95 -> <clinit>
    1:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.dex.Marker,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):98:107 -> <init>
    1:1:int com.android.tools.r8.graph.ParameterAnnotationsList.getAnnotableParameterCount():102:102 -> a
    1:1:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):483 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):482:482 -> a
    3:3:int com.android.tools.r8.graph.ParameterAnnotationsList.getAnnotableParameterCount():102:102 -> a
    3:3:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):485 -> a
    4:11:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):484:491 -> a
    12:12:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):489:489 -> a
    13:14:void write(com.android.tools.r8.ClassFileConsumer):111:112 -> a
    15:19:void write(com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.utils.AndroidApp):116:120 -> a
    20:23:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):137:140 -> a
    24:29:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):139:144 -> a
    30:33:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):125:128 -> a
    30:33:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    34:34:boolean com.android.tools.r8.dex.Marker.isCfBackend():228:228 -> a
    34:34:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):128 -> a
    34:34:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    35:35:boolean com.android.tools.r8.dex.Marker.isDexBackend():232:232 -> a
    35:35:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):128 -> a
    35:35:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    36:37:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):128:129 -> a
    36:37:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    38:38:boolean com.android.tools.r8.dex.Marker.isCfBackend():228:228 -> a
    38:38:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):130 -> a
    38:38:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    39:39:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):130:130 -> a
    39:39:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    40:47:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144:151 -> a
    48:48:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> a
    48:48:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):151 -> a
    49:61:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):153:165 -> a
    62:62:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    62:62:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):169 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    63:65:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):171:173 -> a
    66:70:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):170:174 -> a
    71:71:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):167:167 -> a
    72:73:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):155:156 -> a
    74:74:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    74:74:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):160 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    75:76:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):161:162 -> a
    77:96:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):158:177 -> a
    97:97:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):187:187 -> a
    98:98:void com.android.tools.r8.org.objectweb.asm.ClassWriter.<init>(int):229:229 -> a
    98:98:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):187 -> a
    99:109:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):188:198 -> a
    110:116:java.lang.String com.android.tools.r8.jar.CfApplicationWriter.getSourceDebugExtension(com.android.tools.r8.graph.DexAnnotationSet):359:365 -> a
    110:116:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):198 -> a
    117:117:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):199:199 -> a
    118:125:com.android.tools.r8.cf.CfVersion com.android.tools.r8.jar.CfApplicationWriter.getClassFileVersion(com.android.tools.r8.graph.DexProgramClass):335:342 -> a
    118:125:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):200 -> a
    126:144:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):201:219 -> a
    145:145:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):276:276 -> a
    145:145:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):219 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    148:151:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):279:282 -> a
    148:151:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):219 -> a
    152:163:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):221:232 -> a
    164:174:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.jar.CfApplicationWriter.getAnnotationDefaults(com.android.tools.r8.graph.DexAnnotationSet):369:379 -> a
    164:174:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):232 -> a
    175:196:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):234:255 -> a
    197:197:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:476 -> a
    197:197:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):255 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    200:203:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):479:482 -> a
    200:203:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):255 -> a
    204:240:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):256:292 -> a
    241:245:void com.android.tools.r8.utils.ExceptionUtils.withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,java.util.function.Consumer):51:55 -> a
    241:245:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):292 -> a
    246:246:void lambda$writeClass$0(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.graph.ProgramMethod):275:275 -> a
    247:247:void lambda$writeClass$2(com.android.tools.r8.ClassFileConsumer,byte[],java.lang.String,com.android.tools.r8.DiagnosticsHandler):293:293 -> a
    248:248:int compareTypesThroughLens(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):297:297 -> a
    249:255:int compareMethodsThroughLens(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):306:312 -> a
    256:259:int compareMethodsThroughLens(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):310:313 -> a
    260:260:com.android.tools.r8.graph.DexType[] lambda$compareMethodsThroughLens$3(com.android.tools.r8.graph.DexMethod):311:311 -> a
    261:264:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):317:320 -> a
    265:265:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    265:265:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    266:266:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    266:266:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320 -> a
    267:267:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
    268:268:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":612,"2":613,"3":614}}
    612:612:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
    613:613:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
    614:614:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
    589:590:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):321:322 -> a
    591:591:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1937:1937 -> a
    591:591:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):323 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    595:595:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1941:1941 -> a
    595:595:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):323 -> a
    596:596:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    596:596:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1942 -> a
    596:596:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):323 -> a
    597:602:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):322:327 -> a
    603:607:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1937:1941 -> a
    603:607:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):327 -> a
    608:608:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    608:608:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1942 -> a
    608:608:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):327 -> a
    609:611:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):328:330 -> a
    615:622:com.android.tools.r8.graph.DexValue getSystemAnnotationValue(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexType):348:355 -> a
    623:629:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):404:410 -> a
    630:630:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:476 -> a
    630:630:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):410 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    633:636:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):479:482 -> a
    633:636:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):410 -> a
    637:640:java.lang.Object com.android.tools.r8.jar.CfApplicationWriter.getStaticValue(com.android.tools.r8.graph.DexEncodedField):397:400 -> a
    637:640:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):411 -> a
    641:642:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):412:413 -> a
    643:651:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):423:431 -> a
    652:652:boolean com.android.tools.r8.graph.DexEncodedMethod.isDeprecated():260:260 -> a
    652:652:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):432 -> a
    653:656:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):435:438 -> a
    657:657:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):878:878 -> a
    657:657:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):438 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    660:663:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):881:884 -> a
    660:663:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):438 -> a
    664:664:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):439:439 -> a
    665:673:java.lang.String[] com.android.tools.r8.jar.CfApplicationWriter.getExceptions(com.android.tools.r8.graph.DexAnnotationSet):383:391 -> a
    665:673:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):439 -> a
    674:682:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):440:448 -> a
    683:696:void com.android.tools.r8.jar.CfApplicationWriter.writeMethodParametersAnnotation(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.DexAnnotation[]):458:471 -> a
    683:696:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):448 -> a
    697:699:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):449:451 -> a
    700:703:void com.android.tools.r8.jar.CfApplicationWriter.writeCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):594:597 -> a
    700:703:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):452 -> a
    704:704:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor lambda$writeParameterAnnotations$4(com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,boolean):490:490 -> a
    705:714:void writeAnnotations(com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer,com.android.tools.r8.graph.DexAnnotation[]):500:509 -> a
    715:720:void writeAnnotations(com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer,com.android.tools.r8.graph.DexAnnotation[]):508:513 -> a
    721:722:void writeAnnotation(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,com.android.tools.r8.graph.DexEncodedAnnotation):519:520 -> a
    723:781:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):525:583 -> a
    782:785:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):528:531 -> a
    786:813:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):530:557 -> a
    814:824:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):554:564 -> a
    825:843:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):561:579 -> a
    844:844:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):577:577 -> a
    845:845:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):573:573 -> a
    846:849:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):567:570 -> a
    1:1:void lambda$writeClass$1(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.graph.ProgramMethod):278:278 -> b
    2:2:com.android.tools.r8.graph.DexString returnTypeThroughLens(com.android.tools.r8.graph.DexMethod):301:301 -> b
com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer -> com.android.tools.r8.internal.z6:
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visit(java.lang.String,boolean) -> a
com.android.tools.r8.jetbrains.kotlin.DeprecationLevel$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Xe:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.Lazy -> com.android.tools.r8.internal.KA:
# {"id":"sourceFile","fileName":"Lazy.kt"}
com.android.tools.r8.jetbrains.kotlin.LazyKt -> com.android.tools.r8.jetbrains.kotlin.a:
    1:38:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0:37 -> a
    1:38:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    39:39:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):36:36 -> a
    39:39:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    40:40:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):35:35 -> a
    40:40:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    41:41:void com.android.tools.r8.jetbrains.kotlin.SynchronizedLazyImpl.<init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0,java.lang.Object,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):55:55 -> a
    41:41:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):35 -> a
    41:41:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):21:21 -> b
    1:1:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:void com.android.tools.r8.jetbrains.kotlin.SynchronizedLazyImpl.<init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0,java.lang.Object,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):55:55 -> b
    2:2:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):21 -> b
    2:2:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyKt -> com.android.tools.r8.jetbrains.kotlin.b:
# {"id":"sourceFile","fileName":"Lazy.kt"}
com.android.tools.r8.jetbrains.kotlin.NoWhenBranchMatchedException -> com.android.tools.r8.internal.cH:
# {"id":"sourceFile","fileName":"NoWhenBranchMatchedException.kt"}
    1:1:void <init>():9:9 -> <init>
com.android.tools.r8.jetbrains.kotlin.Pair -> com.android.tools.r8.internal.iL:
# {"id":"sourceFile","fileName":"Tuples.kt"}
    java.lang.Object first -> b
    java.lang.Object second -> c
    1:3:void <init>(java.lang.Object,java.lang.Object):26:28 -> <init>
    java.lang.Object component1() -> a
    java.lang.Object component2() -> b
    1:1:java.lang.Object getFirst():27:27 -> c
    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.jetbrains.kotlin.SafePublicationLazyImpl:
# {"id":"sourceFile","fileName":"LazyJVM.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 initializer -> b
    java.lang.Object _value -> c
    java.util.concurrent.atomic.AtomicReferenceFieldUpdater valueUpdater -> d
    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
    1:1:boolean isInitialized():117:117 -> toString
    1:1:java.lang.String toString():119 -> toString
    2:2:java.lang.String toString():119:119 -> toString
com.android.tools.r8.jetbrains.kotlin.SynchronizedLazyImpl -> com.android.tools.r8.jetbrains.kotlin.c:
# {"id":"sourceFile","fileName":"LazyJVM.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 initializer -> b
    java.lang.Object lock -> d
    java.lang.Object _value -> c
    1:5:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0,java.lang.Object):55:59 -> <init>
    1:14:java.lang.Object getValue():63:76 -> getValue
    15:15:java.lang.Object getValue():69:69 -> getValue
    1:1:boolean isInitialized():82:82 -> toString
    1:1:java.lang.String toString():84 -> toString
    2:2:java.lang.String toString():84:84 -> toString
com.android.tools.r8.jetbrains.kotlin.UNINITIALIZED_VALUE -> com.android.tools.r8.internal.j00:
# {"id":"sourceFile","fileName":"Lazy.kt"}
    com.android.tools.r8.jetbrains.kotlin.UNINITIALIZED_VALUE INSTANCE -> a
    1:1:void <init>():71:71 -> <init>
com.android.tools.r8.jetbrains.kotlin.UninitializedPropertyAccessException -> com.android.tools.r8.internal.n00:
# {"id":"sourceFile","fileName":"UninitializedPropertyAccessException.kt"}
    1:1:void <init>(java.lang.String):11:11 -> <init>
com.android.tools.r8.jetbrains.kotlin.Unit -> com.android.tools.r8.internal.p00:
# {"id":"sourceFile","fileName":"Unit.kt"}
    com.android.tools.r8.jetbrains.kotlin.Unit INSTANCE -> a
    1:1:void <init>():22:22 -> <init>
    1:1:java.lang.String toString():23:23 -> toString
com.android.tools.r8.jetbrains.kotlin.UnsafeLazyImpl -> com.android.tools.r8.internal.K00:
# {"id":"sourceFile","fileName":"Lazy.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 initializer -> b
    java.lang.Object _value -> c
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):74:76 -> <init>
    1:6:java.lang.Object getValue():80:85 -> getValue
    1:1:boolean com.android.tools.r8.jetbrains.kotlin.UnsafeLazyImpl.isInitialized():88:88 -> toString
    1:1:java.lang.String toString():90 -> toString
    2:2:java.lang.String toString():90:90 -> toString
com.android.tools.r8.jetbrains.kotlin._Assertions -> com.android.tools.r8.internal.r30:
# {"id":"sourceFile","fileName":"AssertionsJVM.kt"}
    boolean ENABLED -> a
    1:1:void <clinit>():14:14 -> <clinit>
com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection -> com.android.tools.r8.internal.r:
# {"id":"sourceFile","fileName":"AbstractCollection.kt"}
    1:1:void <init>():14:14 -> <init>
    int getSize() -> a
    1:2:boolean contains(java.lang.Object):43:44 -> contains
    3:3:boolean contains(java.lang.Object):19:19 -> contains
    1:2:boolean containsAll(java.util.Collection):46:47 -> containsAll
    3:3:boolean containsAll(java.util.Collection):22:22 -> containsAll
    1:1:int com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection.size():14:14 -> isEmpty
    1:1:boolean isEmpty():24 -> isEmpty
    1:1:int size():14:14 -> size
    1:1:java.lang.Object[] toArray():34:34 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):40:40 -> toArray
    1:1:java.lang.String toString():26:26 -> toString
com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection$toString$1 -> com.android.tools.r8.internal.q:
# {"id":"sourceFile","fileName":"AbstractCollection.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection this$0 -> b
    1:1:java.lang.CharSequence com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection$toString$1.invoke(java.lang.Object):27:27 -> a
    1:1:java.lang.Object invoke(java.lang.Object):26 -> a
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList -> com.android.tools.r8.internal.Y:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    1:1:void <init>():21:21 -> <init>
    1:3:boolean equals(java.lang.Object):61:63 -> equals
    4:154:boolean com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$Companion.orderedEquals$kotlin_stdlib(java.util.Collection,java.util.Collection):0:150 -> equals
    4:154:boolean equals(java.lang.Object):63 -> equals
    1:2:int com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$Companion.orderedHashCode$kotlin_stdlib(java.util.Collection):138:139 -> hashCode
    1:2:int hashCode():69 -> hashCode
    1:1:int indexOf(java.lang.Object):159:159 -> indexOf
    2:2:int indexOf(java.lang.Object):27:27 -> indexOf
    1:1:java.util.Iterator iterator():25:25 -> iterator
    1:3:int lastIndexOf(java.lang.Object):165:167 -> lastIndexOf
    4:143:int lastIndexOf(java.lang.Object):29:168 -> lastIndexOf
    1:1:java.util.ListIterator listIterator():31:31 -> listIterator
    2:2:java.util.ListIterator listIterator(int):33:33 -> listIterator
    1:1:java.util.List subList(int,int):35:35 -> subList
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$Companion -> com.android.tools.r8.internal.U:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    1:1:void checkPositionIndex$kotlin_stdlib(int,int):114:114 -> a
    2:2:void checkRangeIndexes$kotlin_stdlib(int,int,int):123:123 -> a
    3:3:void checkRangeIndexes$kotlin_stdlib(int,int,int):120:120 -> a
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$IteratorImpl -> com.android.tools.r8.internal.V:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.AbstractList this$0 -> c
    int index -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlin.collections.AbstractList):71:71 -> <init>
    1:1:void setIndex(int):73:73 -> a
    1:1:boolean hasNext():75:75 -> hasNext
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection.size():14:14 -> hasNext
    2:2:boolean hasNext():75 -> hasNext
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:int getIndex():73:73 -> j
    1:3:java.lang.Object next():78:78 -> next
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$ListIteratorImpl -> com.android.tools.r8.internal.W:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.AbstractList this$0 -> d
    1:5:void <init>(com.android.tools.r8.jetbrains.kotlin.collections.AbstractList,int):86:90 -> <init>
    1:1:boolean hasPrevious():93:93 -> hasPrevious
    1:1:int nextIndex():95:95 -> nextIndex
    1:3:java.lang.Object previous():98:98 -> previous
    1:1:int previousIndex():102:102 -> previousIndex
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$SubList -> com.android.tools.r8.internal.X:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.AbstractList list -> b
    int _size -> d
    int fromIndex -> c
    1:6:void <init>(com.android.tools.r8.jetbrains.kotlin.collections.AbstractList,int,int):37:42 -> <init>
    1:1:int getSize():51:51 -> a
    1:3:java.lang.Object get(int):46:48 -> get
    4:4:void com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$Companion.checkElementIndex$kotlin_stdlib(int,int):108:108 -> get
    4:4:java.lang.Object get(int):46 -> get
com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt -> com.android.tools.r8.internal.s3:
    1:169:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.asList(int[]):0:168 -> a
    1:169:java.util.List asList(int[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    170:170:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.asList(java.lang.Object[]):0:0 -> a
    170:170:java.util.List asList(java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    171:171:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysUtilJVM.asList(java.lang.Object[]):13:13 -> a
    171:171:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.asList(java.lang.Object[]):133 -> a
    171:171:java.util.List asList(java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    172:172:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.asList(java.lang.Object[]):133:133 -> a
    172:172:java.util.List asList(java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    173:173:java.lang.Integer com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.getOrNull(int[],int):0:0 -> a
    173:173:java.lang.Integer getOrNull(int[],int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    174:174:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.getLastIndex(int[]):8065:8065 -> a
    174:174:java.lang.Integer com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.getOrNull(int[],int):1448 -> a
    174:174:java.lang.Integer getOrNull(int[],int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    175:175:java.lang.Integer com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.getOrNull(int[],int):1448:1448 -> a
    175:175:java.lang.Integer getOrNull(int[],int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9971:9971 -> b
    1:1:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    2:3:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toMutableList(int[]):10062:10063 -> b
    2:3:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9974 -> b
    2:3:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9973:9973 -> b
    4:4:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsJVMKt.listOf(java.lang.Object):20:20 -> b
    5:5:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9973 -> b
    5:5:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9972:9972 -> b
    6:6:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt__ArraysKt -> com.android.tools.r8.internal.t3:
# {"id":"sourceFile","fileName":"Arrays.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3 -> com.android.tools.r8.internal.u3:
# {"id":"sourceFile","fileName":"_ArraysJvm.kt"}
    int[] $this_asList -> b
    1:1:void <init>(int[]):168:168 -> <init>
    1:1:int getSize():169:169 -> a
    1:1:boolean contains(java.lang.Object):168:168 -> contains
    1:1:boolean contains(int):171:171 -> f
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.contains(int[],int):0:0 -> f
    2:2:boolean contains(int):171 -> f
    3:4:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.indexOf(int[],int):1544:1545 -> f
    3:4:boolean com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.contains(int[],int):540 -> f
    3:4:boolean contains(int):171 -> f
    1:1:java.lang.Integer com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.get(int):172:172 -> get
    1:1:java.lang.Object get(int):168 -> get
    1:1:int indexOf(java.lang.Object):168:168 -> indexOf
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.indexOf(int):173:173 -> indexOf
    2:2:int indexOf(java.lang.Object):168 -> indexOf
    3:1548:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.indexOf(int[],int):0:1545 -> indexOf
    3:1548:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.indexOf(int):173 -> indexOf
    3:1548:int indexOf(java.lang.Object):168 -> indexOf
    1:1:boolean isEmpty():170:170 -> isEmpty
    1:1:int lastIndexOf(java.lang.Object):168:168 -> lastIndexOf
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.lastIndexOf(int):174:174 -> lastIndexOf
    2:2:int lastIndexOf(java.lang.Object):168 -> lastIndexOf
    3:2136:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.lastIndexOf(int[],int):0:2133 -> lastIndexOf
    3:2136:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.lastIndexOf(int):174 -> lastIndexOf
    3:2136:int lastIndexOf(java.lang.Object):168 -> lastIndexOf
com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt -> com.android.tools.r8.internal.v3:
# {"id":"sourceFile","fileName":"_Arrays.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt -> com.android.tools.r8.internal.ac:
    1:142:boolean com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__MutableCollectionsKt.addAll(java.util.Collection,java.lang.Object[]):0:141 -> a
    1:142:boolean addAll(java.util.Collection,java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    143:182:int com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__IterablesKt.collectionSizeOrDefault(java.lang.Iterable,int):0:39 -> a
    143:182:int collectionSizeOrDefault(java.lang.Iterable,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    183:183:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsJVMKt.listOf(java.lang.Object):20:20 -> a
    183:183:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.listOfNotNull(java.lang.Object):120 -> a
    183:183:java.util.List listOfNotNull(java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    184:184:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.listOfNotNull(java.lang.Object):120:120 -> a
    184:184:java.util.List listOfNotNull(java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    185:185:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.listOf(java.lang.Object[]):77:77 -> a
    185:185:java.util.List listOf(java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    186:186:void com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.throwIndexOverflow():463:463 -> a
    186:186:void throwIndexOverflow():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    187:2696:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1071:3580 -> a
    187:2696:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2697:2697:void com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.sortWith(java.lang.Object[],java.util.Comparator):2557:2557 -> a
    2697:2697:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1073 -> a
    2697:2697:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2698:5205:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1073:3580 -> a
    2698:5205:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5206:5209:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1343:1346 -> a
    5206:5209:java.util.Set toSet(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5210:5211:java.util.Collection com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toCollection(java.lang.Iterable,java.util.Collection):1293:1294 -> a
    5210:5211:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1346 -> a
    5210:5211:java.util.Set toSet(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5212:5212:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1345:1345 -> a
    5212:5212:java.util.Set toSet(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5213:5213:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.SetsKt__SetsJVMKt.setOf(java.lang.Object):18:18 -> a
    5213:5213:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1345 -> a
    5213:5213:java.util.Set toSet(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5214:5214:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1344:1344 -> a
    5214:5214:java.util.Set toSet(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5215:5217:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.plus(java.util.Collection,java.lang.Iterable):3117:3119 -> a
    5215:5217:java.util.List plus(java.util.Collection,java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5218:5218:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363:3363 -> a
    5218:5218:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5219:8583:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):0:3364 -> a
    5219:8583:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    5219:8583:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8584:8587:java.lang.Appendable com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinTo(java.lang.Iterable,java.lang.Appendable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3342:3345 -> a
    8584:8587:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3364 -> a
    8584:8587:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    8584:8587:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8588:8591:void com.android.tools.r8.jetbrains.kotlin.text.StringsKt__AppendableKt.appendElement(java.lang.Appendable,java.lang.Object,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):85:88 -> a
    8588:8591:java.lang.Appendable com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinTo(java.lang.Iterable,java.lang.Appendable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3347 -> a
    8588:8591:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3364 -> a
    8588:8591:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    8588:8591:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8592:8593:java.lang.Appendable com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinTo(java.lang.Iterable,java.lang.Appendable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3350:3351 -> a
    8592:8593:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3364 -> a
    8592:8593:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    8592:8593:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8594:8594:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3364:3364 -> a
    8594:8594:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    8594:8594:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1312:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):0:1311 -> b
    1:1312:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1313:1313:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.util.Collection):1333:1333 -> b
    1313:1313:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1314 -> b
    1313:1313:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1314:1314:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1313:1313 -> b
    1314:1314:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1315:1315:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsJVMKt.listOf(java.lang.Object):20:20 -> b
    1315:1315:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1313 -> b
    1315:1315:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1316:1316:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1312:1312 -> b
    1316:1316:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1317:1317:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1325:1325 -> b
    1317:1317:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1317:1317:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1318:1318:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.util.Collection):1333:1333 -> b
    1318:1318:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1325 -> b
    1318:1318:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1318:1318:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1319:1319:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1326:1326 -> b
    1319:1319:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1319:1319:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1320:1321:java.util.Collection com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toCollection(java.lang.Iterable,java.util.Collection):1293:1294 -> b
    1320:1321:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1326 -> b
    1320:1321:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1320:1321:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1322:1324:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.optimizeReadOnlyList(java.util.List):291:293 -> b
    1322:1324:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1322:1324:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1325:1325:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsJVMKt.listOf(java.lang.Object):20:20 -> b
    1325:1325:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.optimizeReadOnlyList(java.util.List):293 -> b
    1325:1325:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1325:1325:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1326:1326:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.optimizeReadOnlyList(java.util.List):292:292 -> b
    1326:1326:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1326:1326:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1327:1327:java.lang.Iterable com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.withIndex(java.lang.Iterable):1628:1628 -> b
    1327:1327:java.lang.Iterable withIndex(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt -> com.android.tools.r8.internal.bc:
# {"id":"sourceFile","fileName":"Collections.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__IteratorsJVMKt -> com.android.tools.r8.internal.cc:
# {"id":"sourceFile","fileName":"IteratorsJVM.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__MutableCollectionsJVMKt -> com.android.tools.r8.internal.dc:
# {"id":"sourceFile","fileName":"MutableCollectionsJVM.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__ReversedViewsKt -> com.android.tools.r8.internal.ec:
# {"id":"sourceFile","fileName":"ReversedViews.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt -> com.android.tools.r8.internal.gc:
# {"id":"sourceFile","fileName":"_Collections.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt$withIndex$1 -> com.android.tools.r8.internal.fc:
# {"id":"sourceFile","fileName":"_Collections.kt"}
    java.lang.Iterable $this_withIndex -> b
    1:1:java.util.Iterator com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt$withIndex$1.invoke():1628:1628 -> a
    1:1:java.lang.Object invoke():1628 -> a
com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator -> com.android.tools.r8.internal.Qh:
# {"id":"sourceFile","fileName":"Collections.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator INSTANCE -> b
    1:1:void <init>():15:15 -> <init>
    1:1:void add(java.lang.Object):15:15 -> add
    2:2:void com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator.add(java.lang.Void):0:0 -> add
    2:2:void add(java.lang.Object):15 -> add
    1:1:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator.next():20:20 -> next
    1:1:java.lang.Object next():15 -> next
    1:1:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator.previous():21:21 -> previous
    1:1:java.lang.Object previous():15 -> previous
    1:1:void set(java.lang.Object):15:15 -> set
    2:2:void com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator.set(java.lang.Void):0:0 -> set
    2:2:void set(java.lang.Object):15 -> set
com.android.tools.r8.jetbrains.kotlin.collections.EmptyList -> com.android.tools.r8.internal.Rh:
# {"id":"sourceFile","fileName":"Collections.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.EmptyList INSTANCE -> b
    1:1:void <init>():24:24 -> <init>
    1:1:void add(int,java.lang.Object):24:24 -> add
    2:2:void com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.add(int,java.lang.Void):0:0 -> add
    2:2:void add(int,java.lang.Object):24 -> add
    3:3:boolean add(java.lang.Object):24:24 -> add
    4:4:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.add(java.lang.Void):0:0 -> add
    4:4:boolean add(java.lang.Object):24 -> add
    1:1:boolean contains(java.lang.Object):24:24 -> contains
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.contains(java.lang.Void):0:0 -> contains
    2:2:boolean contains(java.lang.Object):24 -> contains
    1:1:boolean containsAll(java.util.Collection):34:34 -> containsAll
    1:1:boolean equals(java.lang.Object):27:27 -> equals
    1:1:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.get(int):36:36 -> get
    1:1:java.lang.Object get(int):24 -> get
    1:1:int indexOf(java.lang.Object):24:24 -> indexOf
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.indexOf(java.lang.Void):0:0 -> indexOf
    2:2:int indexOf(java.lang.Object):24 -> indexOf
    1:1:java.util.Iterator iterator():40:40 -> iterator
    1:1:int lastIndexOf(java.lang.Object):24:24 -> lastIndexOf
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.lastIndexOf(java.lang.Void):0:0 -> lastIndexOf
    2:2:int lastIndexOf(java.lang.Object):24 -> lastIndexOf
    1:1:java.util.ListIterator listIterator():41:41 -> listIterator
    2:2:java.util.ListIterator listIterator(int):44:44 -> listIterator
    3:3:java.util.ListIterator listIterator(int):43:43 -> listIterator
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> listIterator
    4:4:java.util.ListIterator listIterator(int):43 -> listIterator
    5:5:java.util.ListIterator listIterator(int):43:43 -> listIterator
    1:1:java.lang.Object set(int,java.lang.Object):24:24 -> set
    2:2:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.set(int,java.lang.Void):0:0 -> set
    2:2:java.lang.Object set(int,java.lang.Object):24 -> set
    1:1:java.util.List subList(int,int):49:49 -> subList
    1:1:java.lang.String toString():29:29 -> toString
com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap -> com.android.tools.r8.internal.Sh:
# {"id":"sourceFile","fileName":"Maps.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap INSTANCE -> b
    1:1:void <init>():14:14 -> <init>
    1:1:boolean containsValue(java.lang.Object):14:14 -> containsValue
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap.containsValue(java.lang.Void):0:0 -> containsValue
    2:2:boolean containsValue(java.lang.Object):14 -> containsValue
    1:1:java.util.Set entrySet():14:14 -> entrySet
    1:1:boolean equals(java.lang.Object):17:17 -> equals
    1:1:java.util.Set keySet():14:14 -> keySet
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):14:14 -> put
    2:2:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap.put(java.lang.Object,java.lang.Void):0:0 -> put
    2:2:java.lang.Object put(java.lang.Object,java.lang.Object):14 -> put
    1:1:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap.remove(java.lang.Object):0:0 -> remove
    1:1:java.lang.Object remove(java.lang.Object):14 -> remove
    1:1:java.lang.String toString():19:19 -> toString
    1:1:java.util.Collection values():14:14 -> values
com.android.tools.r8.jetbrains.kotlin.collections.EmptySet -> com.android.tools.r8.internal.Uh:
# {"id":"sourceFile","fileName":"Sets.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.EmptySet INSTANCE -> b
    1:1:void <init>():14:14 -> <init>
    1:1:boolean add(java.lang.Object):14:14 -> add
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptySet.add(java.lang.Void):0:0 -> add
    2:2:boolean add(java.lang.Object):14 -> add
    1:1:boolean contains(java.lang.Object):14:14 -> contains
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptySet.contains(java.lang.Void):0:0 -> contains
    2:2:boolean contains(java.lang.Object):14 -> contains
    1:1:boolean containsAll(java.util.Collection):24:24 -> containsAll
    1:1:boolean equals(java.lang.Object):17:17 -> equals
    1:1:java.util.Iterator iterator():26:26 -> iterator
    1:1:java.lang.String toString():19:19 -> toString
com.android.tools.r8.jetbrains.kotlin.collections.IndexedValue -> com.android.tools.r8.internal.Vo:
# {"id":"sourceFile","fileName":"IndexedValue.kt"}
    java.lang.Object value -> b
    int index -> a
    1:1:void <init>(int,java.lang.Object):14:14 -> <init>
    1:1:int getIndex():14:14 -> a
    1:1:java.lang.Object getValue():14:14 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterable -> com.android.tools.r8.internal.Wo:
# {"id":"sourceFile","fileName":"Iterables.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 iteratorFactory -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):24:24 -> <init>
    1:1:java.util.Iterator iterator():25:25 -> iterator
com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterator -> com.android.tools.r8.internal.Xo:
# {"id":"sourceFile","fileName":"Iterators.kt"}
    java.util.Iterator iterator -> b
    int index -> c
    1:1:void <init>(java.util.Iterator):38:38 -> <init>
    1:1:boolean hasNext():40:40 -> hasNext
    1:1:com.android.tools.r8.jetbrains.kotlin.collections.IndexedValue com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterator.next():41:41 -> next
    1:1:java.lang.Object next():38 -> next
com.android.tools.r8.jetbrains.kotlin.collections.MapsKt -> com.android.tools.r8.internal.AD:
    int mapCapacity(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):547:550 -> a
    1:4:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:6:void com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.putAll(java.util.Map,java.lang.Iterable):415:416 -> a
    5:6:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable,java.util.Map):560 -> a
    5:6:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):550 -> a
    5:6:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:7:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):549:549 -> a
    7:7:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:35:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsJVMKt.mapOf(com.android.tools.r8.jetbrains.kotlin.Pair):0:27 -> a
    8:35:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):549 -> a
    8:35:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    36:36:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):548:548 -> a
    36:36:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsJVMKt -> com.android.tools.r8.internal.BD:
# {"id":"sourceFile","fileName":"MapsJVM.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.MapsKt___MapsKt -> com.android.tools.r8.internal.CD:
# {"id":"sourceFile","fileName":"_Maps.kt"}
com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt -> com.android.tools.r8.internal.RM:
# {"id":"sourceFile","fileName":"progressionUtil.kt"}
    1:1:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.mod(int,int):10:10 -> a
    1:1:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.differenceModulo(int,int,int):21 -> a
    1:1:int getProgressionLastElement(int,int,int):46 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.mod(int,int):10:10 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.differenceModulo(int,int,int):21 -> a
    2:2:int getProgressionLastElement(int,int,int):47 -> a
    3:3:int getProgressionLastElement(int,int,int):48:48 -> a
com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt -> com.android.tools.r8.internal.Rv:
# {"id":"sourceFile","fileName":"JvmClassMapping.kt"}
    1:4:java.lang.Class getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):58:61 -> a
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 -> com.android.tools.r8.internal.Zk:
# {"id":"sourceFile","fileName":"Functions.kt"}
    java.lang.Object invoke() -> a
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 -> com.android.tools.r8.internal.bl:
# {"id":"sourceFile","fileName":"Functions.kt"}
    java.lang.Object invoke(java.lang.Object) -> a
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function10 -> com.android.tools.r8.internal.al:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function11 -> com.android.tools.r8.internal.cl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function12 -> com.android.tools.r8.internal.dl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function13 -> com.android.tools.r8.internal.el:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function14 -> com.android.tools.r8.internal.fl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function15 -> com.android.tools.r8.internal.gl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function16 -> com.android.tools.r8.internal.hl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function17 -> com.android.tools.r8.internal.il:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function18 -> com.android.tools.r8.internal.jl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function19 -> com.android.tools.r8.internal.kl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function2 -> com.android.tools.r8.internal.pl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function20 -> com.android.tools.r8.internal.ml:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function21 -> com.android.tools.r8.internal.nl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function22 -> com.android.tools.r8.internal.ol:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function3 -> com.android.tools.r8.internal.ql:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function4 -> com.android.tools.r8.internal.rl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function5 -> com.android.tools.r8.internal.sl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function6 -> com.android.tools.r8.internal.tl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function7 -> com.android.tools.r8.internal.ul:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function8 -> com.android.tools.r8.internal.vl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function9 -> com.android.tools.r8.internal.wl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassBasedDeclarationContainer -> com.android.tools.r8.internal.E9:
# {"id":"sourceFile","fileName":"ClassBasedDeclarationContainer.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassReference -> com.android.tools.r8.internal.Ka:
# {"id":"sourceFile","fileName":"ClassReference.kt"}
    java.util.Map FUNCTION_CLASSES -> b
    java.lang.Class jClass -> a
    1:1:void <clinit>():102:102 -> <clinit>
    2:110:void <clinit>():101:209 -> <clinit>
    111:111:void <clinit>():107:107 -> <clinit>
    112:112:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlin.TuplesKt.to(java.lang.Object,java.lang.Object):43:43 -> <clinit>
    112:112:void <clinit>():107 -> <clinit>
    113:216:void <clinit>():107:107 -> <clinit>
    218:321:void <clinit>():109:212 -> <clinit>
    322:322:void <clinit>():156:156 -> <clinit>
    323:323:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> <clinit>
    323:323:void <clinit>():156 -> <clinit>
    324:324:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlin.TuplesKt.to(java.lang.Object,java.lang.Object):43:43 -> <clinit>
    324:324:void <clinit>():156 -> <clinit>
    325:328:void <clinit>():156:159 -> <clinit>
    329:329:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> <clinit>
    329:329:void <clinit>():159 -> <clinit>
    330:389:void <clinit>():159:218 -> <clinit>
    390:390:void <clinit>():216:216 -> <clinit>
    391:391:void <clinit>():163:163 -> <clinit>
    1:1:void <init>(java.lang.Class):10:10 -> <init>
    1:1:java.lang.Class getJClass():10:10 -> a
    1:1:boolean equals(java.lang.Object):91:91 -> equals
    1:1:int hashCode():94:94 -> hashCode
    1:1:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassReference.getJClass():10:10 -> toString
    1:1:java.lang.String toString():97 -> toString
    2:2:java.lang.String toString():97:97 -> toString
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> toString
    3:3:java.lang.String toString():97 -> toString
com.android.tools.r8.jetbrains.kotlin.jvm.internal.CollectionToArray -> com.android.tools.r8.internal.Wb:
# {"id":"sourceFile","fileName":"CollectionToArray.kt"}
    java.lang.Object[] EMPTY -> a
    1:1:void <clinit>():127:127 -> <clinit>
    2:2:void <clinit>():14:14 -> <clinit>
    1:76:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):30:105 -> a
    77:152:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):34:34 -> a
    157:244:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):39:126 -> a
    245:248:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):43:46 -> a
    249:249:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):39:39 -> a
    250:250:java.lang.Object[] toArray(java.util.Collection):83:83 -> a
    251:316:java.lang.Object[] toArray(java.util.Collection):21:86 -> a
    317:399:java.lang.Object[] toArray(java.util.Collection):22:104 -> a
    400:400:java.lang.Object[] toArray(java.util.Collection):23:23 -> a
com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics -> com.android.tools.r8.internal.fu:
    1:1:void throwUninitializedPropertyAccessException(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5,"4":6,"5":7,"6":8}}
    3:3:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    4:4:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    5:5:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    6:6:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    7:7:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    8:8:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwUninitializedProperty(java.lang.String):54:54 -> a
    2:2:void throwUninitializedPropertyAccessException(java.lang.String):58 -> a
    9:9:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwJavaNpe():45:45 -> a
    9:9:void checkNotNull(java.lang.Object):25 -> a
    10:10:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    11:11:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107,"4":108,"5":109}}
    105:105:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    106:106:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    107:107:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    108:108:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    109:109:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    104:104:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    110:110:boolean areEqual(java.lang.Object,java.lang.Object):167:167 -> a
    111:111:java.lang.Throwable sanitizeStackTrace(java.lang.Throwable):251:251 -> a
    112:123:java.lang.Throwable com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.sanitizeStackTrace(java.lang.Throwable,java.lang.String):255:266 -> a
    112:123:java.lang.Throwable sanitizeStackTrace(java.lang.Throwable):251 -> a
    1:1:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> b
    1:1:void checkNotNullParameter(java.lang.Object,java.lang.String):131 -> b
    2:13:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.createParameterIsNullExceptionMessage(java.lang.String):144:155 -> b
    2:13:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140 -> b
    2:13:void checkNotNullParameter(java.lang.Object,java.lang.String):131 -> b
    14:14:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> b
    14:14:void checkNotNullParameter(java.lang.Object,java.lang.String):131 -> b
com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda -> com.android.tools.r8.internal.pA:
# {"id":"sourceFile","fileName":"Lambda.kt"}
    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.Reflection -> com.android.tools.r8.internal.CR:
    com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory factory -> a
    1:9:void <clinit>():26:34 -> <clinit>
    1:1:com.android.tools.r8.jetbrains.kotlin.reflect.KClass getOrCreateKotlinClass(java.lang.Class):59:59 -> a
    2:2:com.android.tools.r8.jetbrains.kotlin.reflect.KClass com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory.getOrCreateKotlinClass(java.lang.Class):30:30 -> a
    2:2:com.android.tools.r8.jetbrains.kotlin.reflect.KClass getOrCreateKotlinClass(java.lang.Class):59 -> a
    3:3:java.lang.String renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda):78:78 -> a
    4:5:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory.renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.FunctionBase):44:45 -> a
    4:5:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory.renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda):39 -> a
    4:5:java.lang.String renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda):78 -> a
com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory -> com.android.tools.r8.internal.DR:
    1:1:void <init>():14:14 -> <init>
com.android.tools.r8.jetbrains.kotlin.reflect.KClass -> com.android.tools.r8.internal.Tw:
# {"id":"sourceFile","fileName":"KClass.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt -> com.android.tools.r8.internal.TW:
    1:71:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.replace(java.lang.String,char,char,boolean):0:70 -> a
    1:71:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.replace$default(java.lang.String,char,char,boolean,int,java.lang.Object):68 -> a
    1:71:java.lang.String replace$default(java.lang.String,char,char,boolean,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    72:72:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith$default(java.lang.String,java.lang.String,boolean,int,java.lang.Object):416:416 -> a
    72:72:boolean startsWith$default(java.lang.String,java.lang.String,boolean,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast(java.lang.String,char,java.lang.String):0:0 -> b
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):483 -> b
    1:1:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.getLastIndex(java.lang.CharSequence):379:379 -> b
    2:2:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.lastIndexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1116 -> b
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast(java.lang.String,char,java.lang.String):484 -> b
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):483 -> b
    2:2:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.lastIndexOf(java.lang.CharSequence,char,int,boolean):1120:1120 -> b
    3:3:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.lastIndexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1116 -> b
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast(java.lang.String,char,java.lang.String):484 -> b
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):483 -> b
    3:3:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast(java.lang.String,char,java.lang.String):485:485 -> b
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):483 -> b
    4:4:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__IndentKt -> com.android.tools.r8.internal.UW:
# {"id":"sourceFile","fileName":"Indent.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__RegexExtensionsKt -> com.android.tools.r8.internal.VW:
# {"id":"sourceFile","fileName":"RegexExtensions.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringBuilderKt -> com.android.tools.r8.internal.WW:
# {"id":"sourceFile","fileName":"StringBuilder.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringNumberConversionsKt -> com.android.tools.r8.internal.XW:
# {"id":"sourceFile","fileName":"StringNumberConversions.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt -> com.android.tools.r8.internal.YW:
# {"id":"sourceFile","fileName":"Strings.kt"}
    1:1:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):0:0 -> a
    1:1:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    2:3:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1087:1088 -> a
    2:3:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    2:3:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    2:3:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    4:6:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOfAny(java.lang.CharSequence,char[],int,boolean):933:935 -> a
    4:6:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1088 -> a
    4:6:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    4:6:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    4:6:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    7:7:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.getLastIndex(java.lang.CharSequence):379:379 -> a
    7:7:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOfAny(java.lang.CharSequence,char[],int,boolean):938 -> a
    7:7:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1088 -> a
    7:7:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    7:7:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    7:7:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    8:687:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOfAny(java.lang.CharSequence,char[],int,boolean):939:1618 -> a
    8:687:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1088 -> a
    8:687:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    8:687:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    8:687:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    688:688:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1090:1090 -> a
    688:688:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    688:688:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    688:688:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    689:690:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith(java.lang.String,java.lang.String,boolean):0:0 -> a
    1108:1108:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith(java.lang.String,java.lang.String,boolean):418:418 -> a
    1109:1111:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.regionMatches(java.lang.String,int,java.lang.String,int,int,boolean):654:656 -> a
    1109:1111:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith(java.lang.String,java.lang.String,boolean):420 -> a
com.android.tools.r8.jetbrains.kotlin.text.StringsKt___StringsKt -> com.android.tools.r8.internal.ZW:
# {"id":"sourceFile","fileName":"_Strings.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag -> com.android.tools.r8.internal.vk:
# {"id":"sourceFile","fileName":"Flag.kt"}
    int bitWidth -> b
    int value -> c
    int offset -> a
    1:65:void <clinit>():63:127 -> <clinit>
    1:1:void <init>(int,int,int):40:40 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,int):41:41 -> <init>
    3:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField):43:43 -> <init>
    1:1:boolean invoke(int):52:52 -> a
    1:1:int plus$kotlinx_metadata(int):46:46 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$Property -> com.android.tools.r8.internal.sk:
# {"id":"sourceFile","fileName":"Flag.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag HAS_GETTER -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag HAS_SETTER -> b
    1:79:void <clinit>():343:421 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$Type -> com.android.tools.r8.internal.tk:
# {"id":"sourceFile","fileName":"Flag.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag IS_NULLABLE -> a
    1:7:void <clinit>():455:461 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$TypeParameter -> com.android.tools.r8.internal.uk:
# {"id":"sourceFile","fileName":"Flag.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag IS_REIFIED -> a
    1:1:void <clinit>():472:472 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$ValueParameter -> com.android.tools.r8.internal.vk$a:
# {"id":"sourceFile","fileName":"Flag.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag DECLARES_DEFAULT_VALUE -> a
    1:13:void <clinit>():486:498 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.FlagsKt -> com.android.tools.r8.internal.Ck:
# {"id":"sourceFile","fileName":"Flags.kt"}
    1:1:int flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):28:28 -> a
    2:2:int flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):25:25 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException -> com.android.tools.r8.internal.Ro:
# {"id":"sourceFile","fileName":"InconsistentKotlinMetadataException.kt"}
    1:1:void <init>(java.lang.String,java.lang.Throwable):8:8 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation -> com.android.tools.r8.internal.Uw:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.util.Map arguments -> b
    java.lang.String className -> a
    1:1:void <init>(java.lang.String,java.util.Map):18:18 -> <init>
    1:1:java.util.Map getArguments():18:18 -> a
    1:1:java.lang.String getClassName():18:18 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument -> com.android.tools.r8.internal.Ww:
# {"id":"sourceFile","fileName":"annotations.kt"}
    1:1:void <init>():23:23 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$AnnotationValue -> com.android.tools.r8.internal.Vw:
# {"id":"sourceFile","fileName":"annotations.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation annotation -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):65:65 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation getAnnotation():65:65 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ArrayValue -> com.android.tools.r8.internal.Ww$a:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.util.List elements -> a
    1:1:void <init>(java.util.List):66:66 -> <init>
    1:1:java.util.List getElements():66:66 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue -> com.android.tools.r8.internal.Xw:
# {"id":"sourceFile","fileName":"annotations.kt"}
    boolean value -> a
    1:1:void <init>(boolean):44:44 -> <init>
    1:1:java.lang.Boolean getValue():44:44 -> a
    1:1:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue -> com.android.tools.r8.internal.Yw:
# {"id":"sourceFile","fileName":"annotations.kt"}
    byte value -> a
    1:1:void <init>(byte):37:37 -> <init>
    1:1:java.lang.Byte getValue():37:37 -> a
    1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue -> com.android.tools.r8.internal.Zw:
# {"id":"sourceFile","fileName":"annotations.kt"}
    char value -> a
    1:1:void <init>(char):38:38 -> <init>
    1:1:java.lang.Character getValue():38:38 -> a
    1:1:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue -> com.android.tools.r8.internal.ax:
# {"id":"sourceFile","fileName":"annotations.kt"}
    double value -> a
    1:1:void <init>(double):43:43 -> <init>
    1:1:java.lang.Double getValue():43:43 -> a
    1:1:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    4:4:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue -> com.android.tools.r8.internal.bx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.lang.String enumClassName -> a
    java.lang.String enumEntryName -> b
    1:1:void <init>(java.lang.String,java.lang.String):63:63 -> <init>
    1:1:java.lang.String getEnumClassName():63:63 -> a
    1:1:java.lang.String getEnumEntryName():63:63 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue -> com.android.tools.r8.internal.cx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    float value -> a
    1:1:void <init>(float):42:42 -> <init>
    1:1:java.lang.Float getValue():42:42 -> a
    1:1:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    4:4:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue -> com.android.tools.r8.internal.dx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    int value -> a
    1:1:void <init>(int):40:40 -> <init>
    1:1:java.lang.Integer getValue():40:40 -> a
    1:1:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$KClassValue -> com.android.tools.r8.internal.ex:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.lang.String className -> a
    int arrayDimensionCount -> b
    1:1:void <init>(java.lang.String,int):61:61 -> <init>
    1:1:int getArrayDimensionCount():61:61 -> a
    1:1:java.lang.String getClassName():61:61 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LiteralValue -> com.android.tools.r8.internal.fx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    1:1:void <init>():30:30 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue -> com.android.tools.r8.internal.gx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    long value -> a
    1:1:void <init>(long):41:41 -> <init>
    1:1:java.lang.Long getValue():41:41 -> a
    1:1:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue -> com.android.tools.r8.internal.hx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    short value -> a
    1:1:void <init>(short):39:39 -> <init>
    1:1:java.lang.Short getValue():39:39 -> a
    1:1:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue -> com.android.tools.r8.internal.ix:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.lang.String value -> a
    1:1:void <init>(java.lang.String):59:59 -> <init>
    1:1:java.lang.String getValue():59:59 -> a
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue -> com.android.tools.r8.internal.jx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    byte value -> a
    1:1:void <init>(byte):48:48 -> <init>
    1:1:byte getValue-w2LRezQ():48:48 -> a
    1:1:byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue.getValue-w2LRezQ():48:48 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue.getValue-w2LRezQ():48:48 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue.getValue-w2LRezQ():48:48 -> hashCode
    1:1:int hashCode():0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    7:7:java.lang.String toString():0:0 -> toString
    2:2:byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue.getValue-w2LRezQ():48:48 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.UByte.toString-impl(byte):343:343 -> toString
    3:3:java.lang.String toString():0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue -> com.android.tools.r8.internal.kx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    int value -> a
    1:1:void <init>(int):54:54 -> <init>
    1:1:int getValue-pVg5ArA():54:54 -> a
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue.getValue-pVg5ArA():54:54 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue.getValue-pVg5ArA():54:54 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue.getValue-pVg5ArA():54:54 -> hashCode
    1:1:int hashCode():0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    7:7:java.lang.String toString():0:0 -> toString
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue.getValue-pVg5ArA():54:54 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.UInt.toString-impl(int):365:365 -> toString
    3:3:java.lang.String toString():0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue -> com.android.tools.r8.internal.lx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    long value -> a
    1:1:void <init>(long):57:57 -> <init>
    1:1:long getValue-s-VKNKU():57:57 -> a
    1:1:long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue.getValue-s-VKNKU():57:57 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue.getValue-s-VKNKU():57:57 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue.getValue-s-VKNKU():57:57 -> hashCode
    1:1:int hashCode():0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14,"2":15,"3":16}}
    14:14:java.lang.String toString():0:0 -> toString
    15:15:java.lang.String toString():0:0 -> toString
    16:16:java.lang.String toString():0:0 -> toString
    2:2:long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue.getValue-s-VKNKU():57:57 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:11:java.lang.String com.android.tools.r8.jetbrains.kotlin.UnsignedKt.ulongToString(long,int):95:103 -> toString
    3:11:java.lang.String com.android.tools.r8.jetbrains.kotlin.UnsignedKt.ulongToString(long):92 -> toString
    3:11:java.lang.String com.android.tools.r8.jetbrains.kotlin.ULong.toString-impl(long):368 -> toString
    3:11:java.lang.String toString():0 -> toString
    12:12:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> toString
    12:12:java.lang.String com.android.tools.r8.jetbrains.kotlin.UnsignedKt.ulongToString(long,int):103 -> toString
    12:12:java.lang.String com.android.tools.r8.jetbrains.kotlin.UnsignedKt.ulongToString(long):92 -> toString
    12:12:java.lang.String com.android.tools.r8.jetbrains.kotlin.ULong.toString-impl(long):368 -> toString
    12:12:java.lang.String toString():0 -> toString
    13:13:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue -> com.android.tools.r8.internal.mx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    short value -> a
    1:1:void <init>(short):51:51 -> <init>
    1:1:short getValue-Mh2AYeg():51:51 -> a
    1:1:short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue.getValue-Mh2AYeg():51:51 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue.getValue-Mh2AYeg():51:51 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue.getValue-Mh2AYeg():51:51 -> hashCode
    1:1:int hashCode():0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    7:7:java.lang.String toString():0:0 -> toString
    2:2:short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue.getValue-Mh2AYeg():51:51 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.UShort.toString-impl(short):344:344 -> toString
    3:3:java.lang.String toString():0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass -> com.android.tools.r8.internal.nx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List extensions -> q
    java.util.List versionRequirements -> p
    java.lang.String companionObject -> j
    java.lang.String inlineClassUnderlyingPropertyName -> n
    int flags -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType inlineClassUnderlyingType -> o
    java.util.List functions -> f
    java.util.List supertypes -> e
    java.util.List typeParameters -> d
    java.util.List constructors -> i
    java.util.List typeAliases -> h
    java.util.List properties -> g
    java.lang.String name -> c
    java.util.List sealedSubclasses -> m
    java.util.List enumEntries -> l
    java.util.List nestedClasses -> k
    1:1017:void <init>():35:1051 -> <init>
    1018:1018:void <init>():112:112 -> <init>
    1:1:void setFlags(int):39:39 -> a
    2:2:java.util.List getFunctions():59:59 -> a
    3:3:void setInlineClassUnderlyingPropertyName(java.lang.String):99:99 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):120:120 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):126:126 -> a
    6:6:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getFunctions():59:59 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):126 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):126:126 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):129:129 -> a
    9:9:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getProperties():64:64 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):129 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):129:129 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):164:164 -> a
    12:894:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):172:1054 -> a
    895:1778:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):173:1056 -> a
    1779:1779:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):174:174 -> a
    1780:1780:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getFunctions():59:59 -> a
    1780:1780:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):175 -> a
    1781:1781:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):1058:1058 -> a
    1782:1782:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):175:175 -> a
    1783:1783:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getProperties():64:64 -> a
    1783:1783:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):176 -> a
    1784:1784:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):1060:1060 -> a
    1785:1785:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):176:176 -> a
    1786:1786:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getTypeAliases():69:69 -> a
    1786:1786:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):177 -> a
    1787:1787:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):1062:1062 -> a
    1788:2675:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):177:1064 -> a
    2676:3564:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):178:1066 -> a
    3565:4453:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):180:1068 -> a
    4454:5343:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):181:1070 -> a
    5344:6234:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):182:1072 -> a
    6235:7124:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):185:1074 -> a
    7125:7125:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):186:186 -> a
    7126:7126:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor.getType():54:54 -> a
    7126:7126:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):186 -> a
    7127:7128:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):186:187 -> a
    1:1:java.util.List getProperties():64:64 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):132:132 -> b
    3:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getTypeAliases():69:69 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):132 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):132:132 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor visitConstructor(int):135:135 -> b
    6:6:void visitCompanionObject(java.lang.String):138:138 -> b
    1:1:java.util.List getTypeAliases():69:69 -> c
    2:2:void visit(int,java.lang.String):115:115 -> c
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.setName(java.lang.String):44:44 -> c
    3:3:void visit(int,java.lang.String):116 -> c
    4:4:void visitEnumEntry(java.lang.String):146:146 -> c
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitInlineClassUnderlyingType(int):158:158 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitSupertype(int):123:123 -> d
    2:2:void visitInlineClassUnderlyingPropertyName(java.lang.String):154:154 -> d
    1:1:void visitNestedClass(java.lang.String):142:142 -> e
    1:1:java.lang.String getCompanionObject():79:79 -> f
    2:2:void visitSealedSubclass(java.lang.String):150:150 -> f
    1:1:java.util.List getConstructors():74:74 -> g
    1:1:java.util.List getEnumEntries():89:89 -> h
    1:1:int getFlags():39:39 -> i
    1:1:java.lang.String getInlineClassUnderlyingPropertyName():99:99 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getInlineClassUnderlyingType():104:104 -> k
    1:1:java.lang.String getName():44:44 -> l
    1:1:java.util.List getNestedClasses():84:84 -> m
    1:1:java.util.List getSealedSubclasses():94:94 -> n
    1:1:java.util.List getSupertypes():54:54 -> o
    1:1:java.util.List getTypeParameters():49:49 -> p
    1:1:java.util.List getVersionRequirements():109:109 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():161:161 -> r
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor -> com.android.tools.r8.internal.px:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor -> com.android.tools.r8.internal.qx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):57:57 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor.getDelegate():59:59 -> e
    1:1:void visitEnd():170 -> e
    2:2:void visitEnd():170:170 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier -> com.android.tools.r8.internal.sx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    1:1:void <init>():972:972 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$Class -> com.android.tools.r8.internal.rx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.String name -> a
    1:1:void <init>(java.lang.String):978:978 -> <init>
    1:1:java.lang.String getName():978:978 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$TypeAlias -> com.android.tools.r8.internal.sx$a:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.String name -> a
    1:1:void <init>(java.lang.String):993:993 -> <init>
    1:1:java.lang.String getName():993:993 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$TypeParameter -> com.android.tools.r8.internal.sx$b:
# {"id":"sourceFile","fileName":"nodes.kt"}
    int id -> a
    1:1:void <init>(int):985:985 -> <init>
    1:1:int getId():985:985 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue -> com.android.tools.r8.internal.tx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.Object value -> a
    1:1:void <init>(java.lang.Object):1042:1042 -> <init>
    1:1:java.lang.Object getValue():1042:1042 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor -> com.android.tools.r8.internal.ux:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List extensions -> e
    java.util.List versionRequirements -> d
    java.util.List valueParameters -> c
    int flags -> b
    1:745:void <init>(int):307:1051 -> <init>
    746:746:void <init>(int):319:319 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):322:322 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):328:328 -> a
    3:721:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):336:336 -> a
    722:1442:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):337:337 -> a
    1443:2164:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):338:338 -> a
    2165:2165:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor.getType():260:260 -> a
    2165:2165:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):338 -> a
    2166:2167:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):338:339 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():325:325 -> b
    1:1:int getFlags():307:307 -> c
    1:1:java.util.List getValueParameters():311:311 -> d
    1:1:java.util.List getVersionRequirements():316:316 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor -> com.android.tools.r8.internal.wx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor -> com.android.tools.r8.internal.xx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):263:263 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):263:263 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String) -> a
    1:1:void visitEnd():291:291 -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement() -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract -> com.android.tools.r8.internal.yx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List effects -> b
    1:5:void <init>():832:836 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):839:839 -> a
    2:205:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor):847:847 -> a
    206:206:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor):848:848 -> a
    1:1:java.util.List getEffects():836:836 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor -> com.android.tools.r8.internal.zx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):732:732 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor):732:732 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):741:741 -> a
    2:2:void visitEnd():747:747 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer -> com.android.tools.r8.internal.Ax:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List getFunctions() -> a
    java.util.List getProperties() -> b
    java.util.List getTypeAliases() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor -> com.android.tools.r8.internal.Bx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor):11:11 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String) -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor getDelegate():11:11 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect -> com.android.tools.r8.internal.Cx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List constructorArguments -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind invocationKind -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression conclusion -> e
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):865:865 -> <init>
    2:9:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):863:870 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConclusionOfConditionalEffect():881:881 -> a
    2:164:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor):889:889 -> a
    165:166:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor):890:891 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConstructorArgument():878:878 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression getConclusion():875:875 -> d
    1:1:java.util.List getConstructorArguments():870:870 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind getInvocationKind():864:864 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType getType():863:863 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression -> com.android.tools.r8.internal.Dx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.Integer parameterIndex -> c
    java.util.List andArguments -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue constantValue -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType isInstanceType -> e
    java.util.List orArguments -> g
    int flags -> b
    1:33:void <init>():901:933 -> <init>
    1:2:void visit(int,java.lang.Integer):936:937 -> a
    3:3:void visitConstantValue(java.lang.Object):941:941 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitIsInstanceType(int):945:945 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitAndArgument():948:948 -> a
    6:97:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor):959:1050 -> a
    98:188:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor):962:1052 -> a
    189:190:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor):963:964 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument():951:951 -> c
    1:1:java.util.List getAndArguments():927:927 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue getConstantValue():916:916 -> e
    1:1:int getFlags():905:905 -> f
    1:1:java.util.List getOrArguments():933:933 -> g
    1:1:java.lang.Integer getParameterIndex():911:911 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType isInstanceType():921:921 -> i
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor -> com.android.tools.r8.internal.Ex:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):791:791 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor):791:791 -> <init>
    void visit(int,java.lang.Integer) -> a
    void visitConstantValue(java.lang.Object) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitIsInstanceType(int):818:818 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitAndArgument():825:825 -> a
    1:1:void visitEnd():838:838 -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind -> com.android.tools.r8.internal.Fx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind AT_MOST_ONCE -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind AT_LEAST_ONCE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind EXACTLY_ONCE -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind[] $VALUES -> e
    1:3:void <clinit>():882:884 -> <clinit>
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind[] com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind.$values():0:0 -> <clinit>
    4:4:void <clinit>():884 -> <clinit>
    5:5:void <clinit>():884:884 -> <clinit>
    1:1:void <init>(java.lang.String,int):881:881 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind[] values() -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType -> com.android.tools.r8.internal.Gx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType RETURNS_CONSTANT -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType RETURNS_NOT_NULL -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType[] $VALUES -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType CALLS -> c
    1:3:void <clinit>():870:872 -> <clinit>
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType[] com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType.$values():0:0 -> <clinit>
    4:4:void <clinit>():872 -> <clinit>
    5:5:void <clinit>():872:872 -> <clinit>
    1:1:void <init>(java.lang.String,int):869:869 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType[] values() -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor -> com.android.tools.r8.internal.Hx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):760:760 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor):760:760 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConclusionOfConditionalEffect():773:773 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConstructorArgument():766:766 -> b
    1:1:void visitEnd():779:779 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType -> com.android.tools.r8.internal.Jx:
# {"id":"sourceFile","fileName":"extensions.kt"}
    com.android.tools.r8.jetbrains.kotlin.reflect.KClass klass -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):31:31 -> <init>
    1:1:boolean equals(java.lang.Object):33:33 -> equals
    1:1:int hashCode():36:36 -> hashCode
    2:2:int com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassReference.hashCode():94:94 -> hashCode
    2:2:int hashCode():36 -> hashCode
    1:1:java.lang.String toString():39:39 -> toString
    2:30:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaClass(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):0:28 -> toString
    2:30:java.lang.String toString():39 -> toString
    31:31:java.lang.String toString():39:39 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor -> com.android.tools.r8.internal.Kx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound -> com.android.tools.r8.internal.Lx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> a
    java.lang.String typeFlexibilityId -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):1021:1021 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getType():1021:1021 -> a
    1:1:java.lang.String getTypeFlexibilityId():1021:1021 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction -> com.android.tools.r8.internal.Mx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List valueParameters -> f
    java.util.List typeParameters -> d
    java.util.List extensions -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType returnType -> g
    java.util.List versionRequirements -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType receiverParameterType -> e
    int flags -> b
    java.lang.String name -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract contract -> i
    1:1:void <init>(int,java.lang.String):352:352 -> <init>
    2:703:void <init>(int,java.lang.String):350:1051 -> <init>
    704:704:void <init>(int,java.lang.String):384:384 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):387:387 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):390:390 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):393:393 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor visitContract():402:402 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):405:405 -> a
    6:648:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):413:413 -> a
    649:1291:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):414:1056 -> a
    1292:1935:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):415:1058 -> a
    1936:2579:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):417:1060 -> a
    2580:2580:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):419:419 -> a
    2581:2581:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor.getType():126:126 -> a
    2581:2581:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):419 -> a
    2582:2583:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):419:420 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):396:396 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction.setReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):371:371 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):396 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():399:399 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract getContract():381:381 -> d
    1:1:int getFlags():350:350 -> e
    1:1:java.lang.String getName():351:351 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getReceiverParameterType():361:361 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getReturnType():371:371 -> h
    1:1:java.util.List getTypeParameters():356:356 -> i
    1:1:java.util.List getValueParameters():366:366 -> j
    1:1:java.util.List getVersionRequirements():376:376 -> k
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor -> com.android.tools.r8.internal.Ox:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor -> com.android.tools.r8.internal.Px:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):301:301 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):301:301 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):312:312 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):320:320 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):329:329 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor visitContract():349:349 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):357:357 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):337:337 -> b
    2:2:void visitEnd():363:363 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():343:343 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda -> com.android.tools.r8.internal.Qx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction function -> b
    1:1:void <init>():282:282 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):289:289 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.setFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):286:286 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):289 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor -> com.android.tools.r8.internal.Rx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):240:240 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):240:240 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):248:248 -> a
    2:2:void visitEnd():254:254 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage -> com.android.tools.r8.internal.Sx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List functions -> b
    java.util.List extensions -> e
    java.util.List typeAliases -> d
    java.util.List properties -> c
    1:858:void <init>():194:1051 -> <init>
    859:859:void <init>():211:211 -> <init>
    1:1:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getFunctions():198:198 -> a
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):231 -> a
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):1053:1053 -> a
    3:3:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):231:231 -> a
    4:4:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getProperties():203:203 -> a
    4:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):232 -> a
    5:5:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):1056:1056 -> a
    6:6:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):232:232 -> a
    7:7:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getTypeAliases():208:208 -> a
    7:7:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):233 -> a
    8:8:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):1058:1058 -> a
    9:836:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):233:1060 -> a
    837:837:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):234:234 -> a
    838:838:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor.getType():99:99 -> a
    838:838:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):234 -> a
    839:840:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):234:235 -> a
    841:841:java.util.List getFunctions():198:198 -> a
    842:842:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):214:214 -> a
    843:843:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getFunctions():198:198 -> a
    843:843:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):214 -> a
    844:844:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):214:214 -> a
    845:845:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):217:217 -> a
    846:846:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getProperties():203:203 -> a
    846:846:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):217 -> a
    847:847:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):217:217 -> a
    848:848:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):223:223 -> a
    1:1:java.util.List getProperties():203:203 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):220:220 -> b
    3:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getTypeAliases():208:208 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):220 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):220:220 -> b
    1:1:java.util.List getTypeAliases():208:208 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor -> com.android.tools.r8.internal.Ux:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor -> com.android.tools.r8.internal.Vx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):179:179 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):179:179 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor.getDelegate():181:181 -> e
    1:1:void visitEnd():195 -> e
    2:2:void visitEnd():195:195 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty -> com.android.tools.r8.internal.Wx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List typeParameters -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter setterParameter -> h
    java.util.List versionRequirements -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType receiverParameterType -> g
    int getterFlags -> d
    int setterFlags -> e
    int flags -> b
    java.lang.String name -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType returnType -> i
    java.util.List extensions -> k
    1:1:void <init>(int,java.lang.String,int,int):439:439 -> <init>
    2:618:void <init>(int,java.lang.String,int,int):435:1051 -> <init>
    619:619:void <init>(int,java.lang.String,int,int):466:466 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):469:469 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):472:472 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitSetterParameter(int,java.lang.String):475:475 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):484:484 -> a
    5:568:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):492:492 -> a
    569:1132:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):493:1056 -> a
    1133:1695:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):496:1058 -> a
    1696:1696:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):497:497 -> a
    1697:1697:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor.getType():172:172 -> a
    1697:1697:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):497 -> a
    1698:1699:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):497:498 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):478:478 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty.setReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):458:458 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):478 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():481:481 -> b
    1:1:int getFlags():435:435 -> c
    1:1:int getGetterFlags():437:437 -> d
    1:1:java.lang.String getName():436:436 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getReceiverParameterType():448:448 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getReturnType():458:458 -> g
    1:1:int getSetterFlags():438:438 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter getSetterParameter():453:453 -> i
    1:1:java.util.List getTypeParameters():443:443 -> j
    1:1:java.util.List getVersionRequirements():463:463 -> k
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor -> com.android.tools.r8.internal.Yx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor -> com.android.tools.r8.internal.Zx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):373:373 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):373:373 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):384:384 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):392:392 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitSetterParameter(int,java.lang.String):401:401 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):423:423 -> a
    5:5:void visitEnd():429:429 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):409:409 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():415:415 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmType -> com.android.tools.r8.internal.ay:
# {"id":"sourceFile","fileName":"nodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound flexibleTypeUpperBound -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier classifier -> c
    java.util.List arguments -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType outerType -> f
    java.util.List extensions -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType abbreviatedType -> e
    int flags -> b
    1:384:void <init>(int):668:1051 -> <init>
    385:385:void <init>(int):710:710 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):668:668 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.getClassifier():672:672 -> a
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):749 -> a
    3:307:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):750:1054 -> a
    308:313:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):755:760 -> a
    314:314:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):759:759 -> a
    315:315:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    315:315:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):759 -> a
    316:613:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):759:1056 -> a
    614:614:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):766:766 -> a
    615:615:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor.getType():327:327 -> a
    615:615:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):766 -> a
    616:617:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):766:767 -> a
    618:618:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.getClassifier():672:672 -> a
    618:618:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):749 -> a
    619:619:void visitClass(java.lang.String):713:713 -> a
    620:620:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.setClassifier(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier):672:672 -> a
    620:620:void visitClass(java.lang.String):713 -> a
    621:621:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitArgument(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):725:725 -> a
    622:622:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitAbbreviatedType(int):732:732 -> a
    623:623:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitFlexibleTypeUpperBound(int,java.lang.String):738:738 -> a
    1:1:void visitTypeAlias(java.lang.String):717:717 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.setClassifier(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier):672:672 -> b
    2:2:void visitTypeAlias(java.lang.String):717 -> b
    3:3:void visitStarProjection():728:728 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):735:735 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):741:741 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getAbbreviatedType():688:688 -> c
    2:2:void visitTypeParameter(int):721:721 -> c
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.setClassifier(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier):672:672 -> c
    3:3:void visitTypeParameter(int):721 -> c
    1:1:java.util.List getArguments():677:677 -> d
    1:1:int getFlags():668:668 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound getFlexibleTypeUpperBound():707:707 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getOuterType():700:700 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias -> com.android.tools.r8.internal.by:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List typeParameters -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType expandedType -> f
    java.util.List extensions -> i
    java.util.List versionRequirements -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType underlyingType -> e
    java.util.List annotations -> g
    int flags -> b
    java.lang.String name -> c
    1:1:void <init>(int,java.lang.String):511:511 -> <init>
    2:551:void <init>(int,java.lang.String):509:1058 -> <init>
    552:552:void <init>(int,java.lang.String):1057:1057 -> <init>
    553:1072:void <init>(int,java.lang.String):539:539 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):542:542 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):548:548 -> a
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.setExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):526:526 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):548 -> a
    4:4:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):551:551 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):555:555 -> a
    6:504:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):566:566 -> a
    505:505:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getUnderlyingType():520:520 -> a
    505:505:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567 -> a
    506:506:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567:567 -> a
    507:507:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getUnderlyingType():520:520 -> a
    507:507:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567 -> a
    508:508:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567:567 -> a
    509:509:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getUnderlyingType():520:520 -> a
    509:509:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567 -> a
    510:510:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getExpandedType():526:526 -> a
    510:510:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568 -> a
    511:511:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568:568 -> a
    512:512:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getExpandedType():526:526 -> a
    512:512:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568 -> a
    513:513:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568:568 -> a
    514:514:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getExpandedType():526:526 -> a
    514:514:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568 -> a
    515:1012:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):569:569 -> a
    1013:1511:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):570:570 -> a
    1512:2011:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):571:571 -> a
    2012:2012:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):572:572 -> a
    2013:2013:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getExpandedType():526:526 -> a
    2013:2013:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568 -> a
    2014:2014:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getUnderlyingType():520:520 -> a
    2014:2014:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):545:545 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.setUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):520:520 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):545 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():558:558 -> b
    1:1:java.util.List getAnnotations():531:531 -> c
    1:1:int getFlags():509:509 -> d
    1:1:java.lang.String getName():510:510 -> e
    1:1:java.util.List getTypeParameters():515:515 -> f
    1:1:java.util.List getVersionRequirements():536:536 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasExtensionVisitor -> com.android.tools.r8.internal.dy:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor -> com.android.tools.r8.internal.ey:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):439:439 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):439:439 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):450:450 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):467:467 -> a
    3:3:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):475:475 -> a
    4:4:void visitEnd():496:496 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):458:458 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():482:482 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor -> com.android.tools.r8.internal.gy:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter -> com.android.tools.r8.internal.hy:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List upperBounds -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> e
    int id -> d
    java.util.List extensions -> g
    int flags -> b
    java.lang.String name -> c
    1:1:void <init>(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):636:636 -> <init>
    2:421:void <init>(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):632:1051 -> <init>
    422:422:void <init>(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):643:643 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):646:646 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):649:649 -> a
    3:400:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):657:657 -> a
    401:800:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):658:658 -> a
    801:801:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor.getType():291:291 -> a
    801:801:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):658 -> a
    802:803:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):658:659 -> a
    1:1:int getFlags():632:632 -> b
    1:1:int getId():634:634 -> c
    1:1:java.lang.String getName():633:633 -> d
    1:1:java.util.List getUpperBounds():640:640 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance getVariance():635:635 -> f
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor -> com.android.tools.r8.internal.jy:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor -> com.android.tools.r8.internal.ky:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):544:544 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):544:544 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):551:551 -> a
    2:2:void visitEnd():565:565 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection -> com.android.tools.r8.internal.ly:
# {"id":"sourceFile","fileName":"nodes.kt"}
    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
    1:1:void <clinit>():1010:1010 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):1003:1003 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance component1() -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType component2() -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getType():1003:1003 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance getVariance():1003:1003 -> d
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor -> com.android.tools.r8.internal.my:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):580:580 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):580:580 -> <init>
    1:1:void visitClass(java.lang.String):587:587 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitArgument(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):617:617 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitAbbreviatedType(int):639:639 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitFlexibleTypeUpperBound(int,java.lang.String):665:665 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):673:673 -> a
    6:6:void visitEnd():679:679 -> a
    1:1:void visitTypeAlias(java.lang.String):597:597 -> b
    2:2:void visitStarProjection():624:624 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):654:654 -> b
    1:1:void visitTypeParameter(int):606:606 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter -> com.android.tools.r8.internal.ny:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List extensions -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType varargElementType -> e
    int flags -> b
    java.lang.String name -> c
    1:1:void <init>(int,java.lang.String):585:585 -> <init>
    2:477:void <init>(int,java.lang.String):583:1058 -> <init>
    478:478:void <init>(int,java.lang.String):1057:1057 -> <init>
    479:939:void <init>(int,java.lang.String):598:598 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):601:601 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter.setType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):590:590 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):601 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):607:607 -> a
    4:452:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor):615:1063 -> a
    453:454:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor):617:618 -> a
    1:1:int getFlags():583:583 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):604:604 -> b
    1:1:java.lang.String getName():584:584 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getType():590:590 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getVarargElementType():595:595 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterExtensionVisitor -> com.android.tools.r8.internal.py:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor -> com.android.tools.r8.internal.qy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):506:506 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor):506:506 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):513:513 -> a
    2:2:void visitEnd():535:535 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):521:521 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance -> com.android.tools.r8.internal.ry:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance INVARIANT -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance OUT -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance IN -> c
    1:11:void <clinit>():850:860 -> <clinit>
    1:1:void <init>(java.lang.String,int):846:846 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion -> com.android.tools.r8.internal.sy:
# {"id":"sourceFile","fileName":"nodes.kt"}
    int minor -> b
    int patch -> c
    int major -> a
    1:1:void <init>(int,int,int):1030:1030 -> <init>
    1:1:int getMajor():1030:1030 -> a
    1:1:int getMinor():1030:1030 -> b
    1:1:int getPatch():1030:1030 -> c
    1:1:java.lang.String toString():1031:1031 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement -> com.android.tools.r8.internal.ty:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.Integer errorCode -> d
    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 -> f
    java.lang.String message -> e
    1:1:void <init>():777:777 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getKind():781:781 -> a
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getLevel():786:786 -> a
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820 -> a
    3:3:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820:820 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    4:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821 -> a
    5:5:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821:821 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    6:6:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821 -> a
    7:7:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821:821 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    8:8:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821 -> a
    9:10:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821:822 -> a
    11:13:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    11:13:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getLevel():786:786 -> a
    14:14:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getKind():781:781 -> a
    15:15:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.setKind(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind):781:781 -> a
    16:16:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):804 -> a
    17:17:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.setLevel(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel):786:786 -> a
    17:17:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):805 -> a
    18:19:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):806:807 -> a
    20:20:void visitVersion(int,int,int):811:811 -> a
    21:21:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.setVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion):801:801 -> a
    21:21:void visitVersion(int,int,int):811 -> a
    1:1:java.lang.Integer getErrorCode():791:791 -> b
    1:1:java.lang.String getMessage():796:796 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel -> com.android.tools.r8.internal.uy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel HIDDEN -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel ERROR -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel WARNING -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel[] $VALUES -> e
    1:3:void <clinit>():891:893 -> <clinit>
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel[] com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel.$values():0:0 -> <clinit>
    4:4:void <clinit>():893 -> <clinit>
    5:5:void <clinit>():893:893 -> <clinit>
    1:1:void <init>(java.lang.String,int):890:890 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind -> com.android.tools.r8.internal.vy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind COMPILER_VERSION -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind API_VERSION -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind LANGUAGE_VERSION -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind[] $VALUES -> e
    1:3:void <clinit>():900:902 -> <clinit>
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind[] com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind.$values():0:0 -> <clinit>
    4:4:void <clinit>():902 -> <clinit>
    5:5:void <clinit>():902:902 -> <clinit>
    1:1:void <init>(java.lang.String,int):899:899 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor -> com.android.tools.r8.internal.wy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):691:691 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):691:691 -> <init>
    void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String) -> a
    void visitVersion(int,int,int) -> a
    1:1:void visitEnd():720:720 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.NodesKt -> com.android.tools.r8.internal.fH:
# {"id":"sourceFile","fileName":"nodes.kt"}
    1:1:java.lang.Object addTo(java.lang.Object,java.util.Collection):1045:1045 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter -> com.android.tools.r8.internal.gb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder t -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):413:413 -> <init>
    2:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List):413:415 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):13:13 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):471 -> a
    2:474:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:472 -> a
    2:474:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitExtensions$1.invoke(java.lang.Object):471 -> a
    2:474:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):14 -> a
    2:474:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):471 -> a
    475:475:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):16:16 -> a
    475:475:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):471 -> a
    476:476:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):471:471 -> a
    477:477:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):425:425 -> a
    478:478:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:36 -> a
    478:478:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    478:478:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):425 -> a
    479:479:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor visitConstructor(int):431:431 -> a
    480:480:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):129:129 -> a
    480:480:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    480:480:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor visitConstructor(int):431 -> a
    481:481:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):434:434 -> a
    482:482:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):152:152 -> a
    482:482:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    482:482:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):434 -> a
    483:483:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):437:437 -> a
    484:484:void visitCompanionObject(java.lang.String):443:443 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):440:440 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):253:253 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):440 -> b
    3:5:void visitEnumEntry(java.lang.String):451:451 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitInlineClassUnderlyingType(int):465:465 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitInlineClassUnderlyingType(int):465 -> b
    1:4:void visit(int,java.lang.String):418:421 -> c
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitSupertype(int):428:428 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitSupertype(int):428 -> c
    7:7:void visitInlineClassUnderlyingPropertyName(java.lang.String):461:461 -> c
    1:1:void visitNestedClass(java.lang.String):447:447 -> d
    1:1:void visitSealedSubclass(java.lang.String):457:457 -> e
    2:3:void visitEnd():476:477 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext getC():415:415 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder getT():414:414 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():468:468 -> h
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> h
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> h
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():468 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitConstructor$1 -> com.android.tools.r8.internal.Xa:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):431:431 -> a
    2:433:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitConstructor$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):0:431 -> a
    2:433:java.lang.Object invoke(java.lang.Object):431 -> a
    434:434:java.lang.Object invoke(java.lang.Object):431:431 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitFunction$1 -> com.android.tools.r8.internal.Ya:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):434:434 -> a
    2:436:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitFunction$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):0:434 -> a
    2:436:java.lang.Object invoke(java.lang.Object):434 -> a
    437:437:java.lang.Object invoke(java.lang.Object):434:434 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitInlineClassUnderlyingType$1 -> com.android.tools.r8.internal.Za:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):465:465 -> a
    2:467:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitInlineClassUnderlyingType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:465 -> a
    2:467:java.lang.Object invoke(java.lang.Object):465 -> a
    468:468:java.lang.Object invoke(java.lang.Object):465:465 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitProperty$1 -> com.android.tools.r8.internal.ab:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):437:437 -> a
    2:439:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:437 -> a
    2:439:java.lang.Object invoke(java.lang.Object):437 -> a
    440:440:java.lang.Object invoke(java.lang.Object):437:437 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitSupertype$1 -> com.android.tools.r8.internal.bb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):428:428 -> a
    2:430:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitSupertype$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:428 -> a
    2:430:java.lang.Object invoke(java.lang.Object):428 -> a
    431:431:java.lang.Object invoke(java.lang.Object):428:428 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeAlias$1 -> com.android.tools.r8.internal.cb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):440:440 -> a
    2:442:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeAlias$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):0:440 -> a
    2:442:java.lang.Object invoke(java.lang.Object):440 -> a
    443:443:java.lang.Object invoke(java.lang.Object):440:440 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeParameter$1 -> com.android.tools.r8.internal.db:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):425:425 -> a
    2:427:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:425 -> a
    2:427:java.lang.Object invoke(java.lang.Object):425 -> a
    428:428:java.lang.Object invoke(java.lang.Object):425:425 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitVersionRequirement$1 -> com.android.tools.r8.internal.eb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):468:468 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitVersionRequirement$1.invoke(int):468:468 -> a
    2:2:java.lang.Object invoke(java.lang.Object):468 -> a
    3:3:java.lang.Object invoke(java.lang.Object):468:468 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter -> com.android.tools.r8.internal.HA:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder t -> b
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):532:534 -> <init>
    1:1:void setT(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):533:533 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):537:537 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):152:152 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):537 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext getC():534:534 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder getT():533:533 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter$visitFunction$1 -> com.android.tools.r8.internal.GA:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):537:537 -> a
    2:539:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter$visitFunction$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):0:537 -> a
    2:539:java.lang.Object invoke(java.lang.Object):537 -> a
    540:540:java.lang.Object invoke(java.lang.Object):537:537 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter -> com.android.tools.r8.internal.gL:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder t -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):482:482 -> <init>
    2:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List):482:484 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):13:13 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):496 -> a
    2:499:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:497 -> a
    2:499:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitExtensions$1.invoke(java.lang.Object):496 -> a
    2:499:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):14 -> a
    2:499:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):496 -> a
    500:500:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):16:16 -> a
    500:500:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):496 -> a
    501:501:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):496:496 -> a
    502:502:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):487:487 -> a
    503:503:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):152:152 -> a
    503:503:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    503:503:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):487 -> a
    504:504:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):490:490 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):493:493 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):253:253 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):493 -> b
    1:2:void visitEnd():501:502 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext getC():484:484 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder getT():483:483 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitFunction$1 -> com.android.tools.r8.internal.dL:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):487:487 -> a
    2:489:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitFunction$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):0:487 -> a
    2:489:java.lang.Object invoke(java.lang.Object):487 -> a
    490:490:java.lang.Object invoke(java.lang.Object):487:487 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitProperty$1 -> com.android.tools.r8.internal.eL:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):490:490 -> a
    2:492:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:490 -> a
    2:492:java.lang.Object invoke(java.lang.Object):490 -> a
    493:493:java.lang.Object invoke(java.lang.Object):490:490 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitTypeAlias$1 -> com.android.tools.r8.internal.fL:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):493:493 -> a
    2:495:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitTypeAlias$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):0:493 -> a
    2:495:java.lang.Object invoke(java.lang.Object):493 -> a
    496:496:java.lang.Object invoke(java.lang.Object):493:493 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext -> com.android.tools.r8.internal.BP:
# {"id":"sourceFile","fileName":"readers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable types -> b
    java.util.List contextExtensions -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver strings -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable versionRequirements -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext parent -> d
    java.util.List extensions -> g
    java.util.Map typeParameterNameToId -> f
    1:10:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext,java.util.List):21:30 -> <init>
    11:11:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):26:26 -> <init>
    12:12:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):21:21 -> <init>
    1:1:java.util.List getExtensions$kotlinx_metadata():30:30 -> a
    2:2:java.lang.String className(int):36:36 -> a
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext withTypeParameters(java.util.List):42:44 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver getStrings():22:22 -> b
    2:2:java.lang.String get(int):33:33 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable getTypes():23:23 -> c
    2:2:java.lang.Integer getTypeParameterId(int):39:39 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable getVersionRequirements$kotlinx_metadata():24:24 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt -> com.android.tools.r8.internal.DP:
# {"id":"sourceFile","fileName":"readUtils.kt"}
    1:53:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):18:70 -> a
    54:54:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):69:69 -> a
    55:56:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):20:21 -> a
    57:57:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlin.TuplesKt.to(java.lang.Object,java.lang.Object):43:43 -> a
    57:57:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):21 -> a
    58:58:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):69:69 -> a
    59:59:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):23:23 -> a
    60:60:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):17:17 -> a
    61:66:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):28:33 -> a
    67:67:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":209,"2":210,"3":211}}
    209:209:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):34:34 -> a
    210:210:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):34:34 -> a
    211:211:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):34:34 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):34:34 -> a
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):33:33 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):32:32 -> a
    104:104:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):31:31 -> a
    105:127:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):30:52 -> a
    128:160:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):51:83 -> a
    161:161:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):82:82 -> a
    162:194:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):51:51 -> a
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):50:50 -> a
    196:196:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):49:49 -> a
    197:197:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):48:48 -> a
    198:198:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):47:47 -> a
    199:199:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):46:46 -> a
    200:200:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):45:45 -> a
    201:201:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):44:44 -> a
    202:205:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):40:43 -> a
    206:206:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):42:42 -> a
    207:207:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):41:41 -> a
    208:208:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):39:39 -> a
    212:212:java.lang.String getClassName(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,int):57:57 -> a
    213:213:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
    213:213:java.lang.String getClassName(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,int):57 -> a
    214:214:java.lang.String getClassName(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,int):58:58 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt$WhenMappings -> com.android.tools.r8.internal.CP:
# {"id":"sourceFile","fileName":"readUtils.kt"}
    int[] $EnumSwitchMapping$0 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt -> com.android.tools.r8.internal.EP:
# {"id":"sourceFile","fileName":"readers.kt"}
    1:1:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):52:52 -> a
    2:59:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):0:57 -> a
    2:59:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    60:60:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18:18 -> a
    60:60:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):57 -> a
    60:60:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    61:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.getEMPTY():15:15 -> a
    61:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18 -> a
    61:61:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):57 -> a
    61:61:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    62:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18:18 -> a
    62:64:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):57 -> a
    62:64:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    65:526:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):54:515 -> a
    65:526:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    527:527:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):514:514 -> a
    527:527:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    528:528:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):513:513 -> a
    528:528:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    529:529:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeParameterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):501:501 -> a
    529:529:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):518 -> a
    529:529:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    530:530:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):518:518 -> a
    530:530:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    531:985:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):64:518 -> a
    531:985:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    986:986:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):67:67 -> a
    986:986:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    987:1107:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.supertypes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:120 -> a
    987:1107:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):67 -> a
    987:1107:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1108:1108:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.supertypes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):24:24 -> a
    1108:1108:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):67 -> a
    1108:1108:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1109:1114:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):67:72 -> a
    1109:1114:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1115:1127:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):202:214 -> a
    1115:1127:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):72 -> a
    1115:1127:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1128:1142:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):75:89 -> a
    1128:1142:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1143:1143:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):87:87 -> a
    1143:1143:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1144:1144:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    1144:1144:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):87 -> a
    1144:1144:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1145:1155:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):87:97 -> a
    1145:1155:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1156:1156:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):115:115 -> a
    1156:1156:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1156:1156:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1157:1185:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.inlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:28 -> a
    1157:1185:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):115 -> a
    1157:1185:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1157:1185:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1186:1593:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):118:525 -> a
    1186:1593:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1186:1593:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1594:1594:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):122:122 -> a
    1594:1594:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1594:1594:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1595:1666: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$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:71 -> a
    1595:1666:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):122 -> a
    1595:1666:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1595:1666:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1667:1668:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):122:123 -> a
    1667:1668:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1667:1668:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1669:1670:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    1669:1670:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):100 -> a
    1669:1670:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1671:1682:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):100:111 -> a
    1671:1682:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1683:1683:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):129:129 -> a
    1684:1818:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):0:134 -> a
    1684:1818:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1819:1819:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18:18 -> a
    1819:1819:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):134 -> a
    1819:1819:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1820:1820:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.getEMPTY():15:15 -> a
    1820:1820:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18 -> a
    1820:1820:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):134 -> a
    1820:1820:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1821:1823:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18:18 -> a
    1821:1823:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):134 -> a
    1821:1823:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1824:1837:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):131:144 -> a
    1824:1837:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1838:1844:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):178:184 -> a
    1845:1851:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):183:189 -> a
    1852:2127:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):283:558 -> a
    1852:2127:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2128:2128:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):557:557 -> a
    2128:2128:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2129:2129:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):556:556 -> a
    2129:2129:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2130:2130:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeParameterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):501:501 -> a
    2130:2130:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):561 -> a
    2130:2130:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2131:2131:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):561:561 -> a
    2131:2131:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2132:2407:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):286:561 -> a
    2132:2407:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2408:2408:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):289:289 -> a
    2408:2408:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2409:2510:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.underlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:101 -> a
    2409:2510:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):289 -> a
    2409:2510:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2511:2514:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):290:293 -> a
    2511:2514:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2515:2622:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.expandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:107 -> a
    2515:2622:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):293 -> a
    2515:2622:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2623:2638:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):294:309 -> a
    2623:2638:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2639:2640:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.expandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):107:108 -> a
    2639:2640:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):293 -> a
    2639:2640:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2641:2642:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.underlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):101:102 -> a
    2641:2642:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):289 -> a
    2641:2642:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2643:2643:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):194:194 -> a
    2644:2644:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.getEMPTY():15:15 -> a
    2644:2644:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):194 -> a
    2645:2649:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):194:198 -> a
    2650:2970:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):218:538 -> a
    2971:2971:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):537:537 -> a
    2972:2972:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):536:536 -> a
    2973:2973:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeParameterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):501:501 -> a
    2973:2973:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):541 -> a
    2974:2974:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):541:541 -> a
    2975:3295:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):221:541 -> a
    3296:3296:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):224:224 -> a
    3297:3354: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):0:57 -> a
    3297:3354:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):224 -> a
    3355:3356:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    3355:3356:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):225 -> a
    3357:3364:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):225:232 -> a
    3365:3414: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$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:49 -> a
    3365:3414:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):232 -> a
    3415:3419:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):233:237 -> a
    3420:3426:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):432:438 -> a
    3420:3426:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3427:3427:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):437:437 -> a
    3427:3427:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3428:3436:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):436:444 -> a
    3428:3436:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3437:3437:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):443:443 -> a
    3437:3437:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3438:3443:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):442:447 -> a
    3438:3443:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3444:3452:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):454:462 -> a
    3444:3452:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):447 -> a
    3444:3452:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3453:3453:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):450:450 -> a
    3453:3453:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3454:3462:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):240:248 -> a
    3463:3464: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$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):49:50 -> a
    3463:3464:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):232 -> a
    3465:3761:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):252:548 -> a
    3762:3762:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):547:547 -> a
    3763:3763:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):546:546 -> a
    3764:3764:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeParameterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):501:501 -> a
    3764:3764:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):551 -> a
    3765:3765:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):551:551 -> a
    3766:4062:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):255:551 -> a
    4063:4063:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):258:258 -> a
    4064:4135: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$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:71 -> a
    4064:4135:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):258 -> a
    4136:4137:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4136:4137:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):259 -> a
    4138:4158:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):259:279 -> a
    4159:4163:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):313:317 -> a
    4164:4247:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.varargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:83 -> a
    4164:4247:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):317 -> a
    4248:4249:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4248:4249:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):318 -> a
    4250:4257:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):318:325 -> a
    4258:4258:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):342:342 -> a
    4259:4383:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.upperBounds(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:124 -> a
    4259:4383:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):342 -> a
    4384:4384:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.upperBounds(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):45:45 -> a
    4384:4384:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):342 -> a
    4385:4393:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):342:350 -> a
    4394:4412:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):355:373 -> a
    4413:4413:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):372:372 -> a
    4414:4414:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):371:371 -> a
    4415:4422:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):370:377 -> a
    4423:4457: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$Type$Argument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:34 -> a
    4423:4457:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):377 -> a
    4458:4459:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4458:4459:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):379 -> a
    4460:4460:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):379:379 -> a
    4461:4461:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):378:378 -> a
    4462:4462:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    4462:4462:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):378 -> a
    4463:4470:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):378:385 -> a
    4471:4566:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.abbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:95 -> a
    4471:4566:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):385 -> a
    4567:4568:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4567:4568:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):386 -> a
    4569:4572:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):386:389 -> a
    4573:4662:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.outerType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:89 -> a
    4573:4662:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):389 -> a
    4663:4664:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4663:4664:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):390 -> a
    4665:4668:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):390:393 -> a
    4669:4709:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.flexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:40 -> a
    4669:4709:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):393 -> a
    4710:4711:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4710:4711:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):395 -> a
    4712:4712:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):396:396 -> a
    4713:4723:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):394:404 -> a
    4724:4724:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    4725:4725:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5094,"2":5095,"3":5096}}
    5094:5094:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    5095:5095:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    5096:5096:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    5085:5085:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    5086:5086:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5086:5086:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360 -> a
    5087:5091:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:364 -> a
    5092:5092:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5092:5092:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):364 -> a
    5093:5093:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):364:364 -> a
    5097:5097:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408:408 -> a
    5098:5200:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):0:102 -> a
    5098:5200:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5201:5205:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version$Companion.decode(java.lang.Integer,java.lang.Integer):65:65 -> a
    5201:5205:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):100 -> a
    5201:5205:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5210:5214:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version$Companion.decode(java.lang.Integer,java.lang.Integer):70:70 -> a
    5210:5214:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):100 -> a
    5210:5214:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5219:5219:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version$Companion.decode(java.lang.Integer,java.lang.Integer):75:75 -> a
    5219:5219:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):100 -> a
    5219:5219:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5220:5230:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):105:115 -> a
    5220:5230:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5231:5234:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):411:414 -> a
    5235:5235:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):413:413 -> a
    5236:5244:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):412:420 -> a
    5245:5245:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):419:419 -> a
    5246:5256:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):418:428 -> a
    5257:5257:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):409:409 -> a
    5258:5258:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5258:5258:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):409 -> a
    5259:5259:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):409:409 -> a
    5260:5261:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):467:468 -> a
    5262:5272:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):466:476 -> a
    5273:5273:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):475:475 -> a
    5274:5274:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):474:474 -> a
    5275:5284:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):472:481 -> a
    5285:5398:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.isInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:113 -> a
    5285:5398:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):481 -> a
    5399:5400:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    5399:5400:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):482 -> a
    5401:5412:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):482:493 -> a
    5413:5414:int getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    5415:5415:int getPropertyGetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):504:504 -> a
    5416:5416:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getDefaultPropertyAccessorFlags(int):510:510 -> a
    5416:5416:int getPropertyGetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):504 -> a
    1:1:int getPropertySetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):507:507 -> b
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getDefaultPropertyAccessorFlags(int):510:510 -> b
    2:2:int getPropertySetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):507 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext -> com.android.tools.r8.internal.r20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable versionRequirements -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable strings -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):22:22 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List):22:23 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable getStrings():22:22 -> a
    2:2:int get(java.lang.String):26:26 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable getVersionRequirements():23:23 -> b
    2:2:int getClassName(java.lang.String):29:29 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteUtilsKt -> com.android.tools.r8.internal.s20:
# {"id":"sourceFile","fileName":"writeUtils.kt"}
    1:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):17:22 -> a
    7:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3058:3059 -> a
    7:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):22 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):22:22 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):20:20 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):22 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060:3060 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):22 -> a
    13:13:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.ClassNameKt.isLocal(java.lang.String):23:23 -> a
    13:13:int getClassNameIndex(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.lang.String):111 -> a
    14:16:int getClassNameIndex(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.lang.String):112:114 -> a
    17:87:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):29:99 -> a
    88:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> a
    88:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):99 -> a
    90:90:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):99:99 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):99 -> a
    92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
    92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):99 -> a
    93:96:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):101:104 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt -> com.android.tools.r8.internal.p30:
# {"id":"sourceFile","fileName":"writers.kt"}
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor writeProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):189:189 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 -> com.android.tools.r8.internal.v20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder t -> b
    int $flags -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):129:130 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):133:133 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):227:227 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):133 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):139:139 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):13:13 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):139 -> a
    5:145:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:140 -> a
    5:145:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitExtensions$1.invoke(java.lang.Object):139 -> a
    5:145:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):14 -> a
    5:145:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):139 -> a
    146:146:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):16:16 -> a
    146:146:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):139 -> a
    147:147:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):139:139 -> a
    148:151:void visitEnd():144:147 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():136:136 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():136 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder getT():130:130 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1 -> com.android.tools.r8.internal.t20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):133:133 -> a
    2:135:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):0:133 -> a
    2:135:java.lang.Object invoke(java.lang.Object):133 -> a
    136:137:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18807:18808 -> a
    136:137:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):133 -> a
    136:137:java.lang.Object invoke(java.lang.Object):133 -> a
    138:138:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):133:133 -> a
    138:138:java.lang.Object invoke(java.lang.Object):133 -> a
    139:139:java.lang.Object invoke(java.lang.Object):133:133 -> a
    140:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    140:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809 -> a
    140:140:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):133 -> a
    140:140:java.lang.Object invoke(java.lang.Object):133 -> a
    141:141:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> a
    141:141:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):133 -> a
    141:141:java.lang.Object invoke(java.lang.Object):133 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.u20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):136:136 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitVersionRequirement$1.invoke(int):136:136 -> a
    2:2:java.lang.Object invoke(java.lang.Object):136 -> a
    3:3:java.lang.Object invoke(java.lang.Object):136:136 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1 -> com.android.tools.r8.internal.x20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder t -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):337:338 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):341:341 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):351:351 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):341 -> a
    3:3:void visitEnd():344:344 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder getT():338:338 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1$visitEffect$1 -> com.android.tools.r8.internal.w20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):341:341 -> a
    2:343:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1$visitEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):0:341 -> a
    2:343:java.lang.Object invoke(java.lang.Object):341 -> a
    344:344:java.lang.Object invoke(java.lang.Object):341:341 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 -> com.android.tools.r8.internal.B20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder t -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType $type -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind $invocationKind -> e
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):351:352 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConclusionOfConditionalEffect():358:358 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:378 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConclusionOfConditionalEffect():358 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConstructorArgument():355:355 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:378 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConstructorArgument():355 -> b
    1:4:void visitEnd():362:365 -> c
    5:5:void visitEnd():364:364 -> c
    6:14:void visitEnd():363:371 -> c
    15:15:void visitEnd():369:369 -> c
    16:21:void visitEnd():368:373 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder getT():352:352 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$WhenMappings -> com.android.tools.r8.internal.y20:
# {"id":"sourceFile","fileName":"writers.kt"}
    int[] $EnumSwitchMapping$1 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1 -> com.android.tools.r8.internal.z20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):358:358 -> a
    2:360:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:358 -> a
    2:360:java.lang.Object invoke(java.lang.Object):358 -> a
    361:362:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25928 -> a
    361:362:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):358 -> a
    361:362:java.lang.Object invoke(java.lang.Object):358 -> a
    363:363:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):358:358 -> a
    363:363:java.lang.Object invoke(java.lang.Object):358 -> a
    364:364:java.lang.Object invoke(java.lang.Object):358:358 -> a
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> a
    365:365:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):358 -> a
    365:365:java.lang.Object invoke(java.lang.Object):358 -> a
    366:366:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> a
    366:366:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):358 -> a
    366:366:java.lang.Object invoke(java.lang.Object):358 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConstructorArgument$1 -> com.android.tools.r8.internal.A20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):355:355 -> a
    2:357:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConstructorArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:355 -> a
    2:357:java.lang.Object invoke(java.lang.Object):355 -> a
    358:358:java.lang.Object invoke(java.lang.Object):355:355 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 -> com.android.tools.r8.internal.F20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder t -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:379 -> <init>
    1:5:void visit(int,java.lang.Integer):382:386 -> a
    6:9:void visitConstantValue(java.lang.Object):392:395 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitIsInstanceType(int):400:400 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitIsInstanceType(int):400 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitAndArgument():403:403 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:378 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitAndArgument():403 -> a
    1:1:void visitEnd():409:409 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument():406:406 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:378 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument():406 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder getT():379:379 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitAndArgument$1 -> com.android.tools.r8.internal.C20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):403:403 -> a
    2:405:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitAndArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:403 -> a
    2:405:java.lang.Object invoke(java.lang.Object):403 -> a
    406:406:java.lang.Object invoke(java.lang.Object):403:403 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitIsInstanceType$1 -> com.android.tools.r8.internal.D20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):400:400 -> a
    2:402:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitIsInstanceType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:400 -> a
    2:402:java.lang.Object invoke(java.lang.Object):400 -> a
    403:403:java.lang.Object invoke(java.lang.Object):400:400 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitOrArgument$1 -> com.android.tools.r8.internal.E20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):406:406 -> a
    2:408:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitOrArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:406 -> a
    2:408:java.lang.Object invoke(java.lang.Object):406 -> a
    409:409:java.lang.Object invoke(java.lang.Object):406:406 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 -> com.android.tools.r8.internal.N20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder t -> b
    int $flags -> e
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> d
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,java.lang.String,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):152:153 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):156:156 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:36 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):156 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):159:159 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):159 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):162:162 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):227:227 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):162 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor visitContract():171:171 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):337:337 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor visitContract():171 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):174:174 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):165:165 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):165 -> b
    3:7:void visitEnd():179:183 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():168:168 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():168 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder getT():153:153 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1 -> com.android.tools.r8.internal.G20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):171:171 -> a
    2:173:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):0:171 -> a
    2:173:java.lang.Object invoke(java.lang.Object):171 -> a
    174:175:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23898:23899 -> a
    174:175:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):171 -> a
    174:175:java.lang.Object invoke(java.lang.Object):171 -> a
    176:176:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):171:171 -> a
    176:176:java.lang.Object invoke(java.lang.Object):171 -> a
    177:177:java.lang.Object invoke(java.lang.Object):171:171 -> a
    178:178:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    178:178:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23900 -> a
    178:178:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):171 -> a
    178:178:java.lang.Object invoke(java.lang.Object):171 -> a
    179:179:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23900:23900 -> a
    179:179:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):171 -> a
    179:179:java.lang.Object invoke(java.lang.Object):171 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitExtensions$1 -> com.android.tools.r8.internal.H20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:java.lang.Object invoke(java.lang.Object):174:174 -> a
    2:177:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:175 -> a
    2:177:java.lang.Object invoke(java.lang.Object):174 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReceiverParameterType$1 -> com.android.tools.r8.internal.I20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):159:159 -> a
    2:161:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReceiverParameterType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:159 -> a
    2:161:java.lang.Object invoke(java.lang.Object):159 -> a
    162:162:java.lang.Object invoke(java.lang.Object):159:159 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReturnType$1 -> com.android.tools.r8.internal.J20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):165:165 -> a
    2:167:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReturnType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:165 -> a
    2:167:java.lang.Object invoke(java.lang.Object):165 -> a
    168:168:java.lang.Object invoke(java.lang.Object):165:165 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitTypeParameter$1 -> com.android.tools.r8.internal.K20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):156:156 -> a
    2:158:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:156 -> a
    2:158:java.lang.Object invoke(java.lang.Object):156 -> a
    159:159:java.lang.Object invoke(java.lang.Object):156:156 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitValueParameter$1 -> com.android.tools.r8.internal.L20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):162:162 -> a
    2:164:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):0:162 -> a
    2:164:java.lang.Object invoke(java.lang.Object):162 -> a
    165:165:java.lang.Object invoke(java.lang.Object):162:162 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.M20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):168:168 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitVersionRequirement$1.invoke(int):168:168 -> a
    2:2:java.lang.Object invoke(java.lang.Object):168 -> a
    3:3:java.lang.Object invoke(java.lang.Object):168:168 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 -> com.android.tools.r8.internal.U20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder t -> b
    int $getterFlags -> f
    int $setterFlags -> g
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> h
    int $flags -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> d
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,java.lang.String,int,int,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):189:190 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):193:193 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:36 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):193 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):196:196 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):196 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitSetterParameter(int,java.lang.String):199:199 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):227:227 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitSetterParameter(int,java.lang.String):199 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):208:208 -> a
    8:15:void visitEnd():213:220 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):202:202 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):202 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():205:205 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():205 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder getT():190:190 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitExtensions$1 -> com.android.tools.r8.internal.O20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> c
    1:1:java.lang.Object invoke(java.lang.Object):208:208 -> a
    2:211:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:209 -> a
    2:211:java.lang.Object invoke(java.lang.Object):208 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReceiverParameterType$1 -> com.android.tools.r8.internal.P20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):196:196 -> a
    2:198:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReceiverParameterType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:196 -> a
    2:198:java.lang.Object invoke(java.lang.Object):196 -> a
    199:199:java.lang.Object invoke(java.lang.Object):196:196 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReturnType$1 -> com.android.tools.r8.internal.Q20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):202:202 -> a
    2:204:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReturnType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:202 -> a
    2:204:java.lang.Object invoke(java.lang.Object):202 -> a
    205:205:java.lang.Object invoke(java.lang.Object):202:202 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1 -> com.android.tools.r8.internal.R20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):199:199 -> a
    2:201:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):0:199 -> a
    2:201:java.lang.Object invoke(java.lang.Object):199 -> a
    202:203:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18807:18808 -> a
    202:203:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):199 -> a
    202:203:java.lang.Object invoke(java.lang.Object):199 -> a
    204:204:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):199:199 -> a
    204:204:java.lang.Object invoke(java.lang.Object):199 -> a
    205:205:java.lang.Object invoke(java.lang.Object):199:199 -> a
    206:206:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    206:206:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809 -> a
    206:206:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):199 -> a
    206:206:java.lang.Object invoke(java.lang.Object):199 -> a
    207:207:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> a
    207:207:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):199 -> a
    207:207:java.lang.Object invoke(java.lang.Object):199 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitTypeParameter$1 -> com.android.tools.r8.internal.S20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):193:193 -> a
    2:195:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:193 -> a
    2:195:java.lang.Object invoke(java.lang.Object):193 -> a
    196:196:java.lang.Object invoke(java.lang.Object):193:193 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.T20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):205:205 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitVersionRequirement$1.invoke(int):205:205 -> a
    2:2:java.lang.Object invoke(java.lang.Object):205 -> a
    3:3:java.lang.Object invoke(java.lang.Object):205:205 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 -> com.android.tools.r8.internal.Z20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder t -> b
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> e
    int $flags -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:65 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder access$getT$p(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1):64:64 -> a
    2:2:void visitClass(java.lang.String):68:68 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitArgument(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):82:82 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitArgument(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):82 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitAbbreviatedType(int):98:98 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitAbbreviatedType(int):98 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitFlexibleTypeUpperBound(int,java.lang.String):104:104 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitFlexibleTypeUpperBound(int,java.lang.String):104 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):112:112 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):13:13 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):112 -> a
    11:124:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:113 -> a
    11:124:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitExtensions$1.invoke(java.lang.Object):112 -> a
    11:124:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):14 -> a
    11:124:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):112 -> a
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):16:16 -> a
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):112 -> a
    126:126:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):112:112 -> a
    127:134:void visitEnd():117:124 -> a
    1:1:void visitTypeAlias(java.lang.String):72:72 -> b
    2:4:void visitStarProjection():76:76 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):101:101 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):101 -> b
    1:1:void visitTypeParameter(int):94:94 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitAbbreviatedType$1 -> com.android.tools.r8.internal.V20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):98:98 -> a
    2:100:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitAbbreviatedType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:98 -> a
    2:100:java.lang.Object invoke(java.lang.Object):98 -> a
    101:101:java.lang.Object invoke(java.lang.Object):98:98 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitArgument$1 -> com.android.tools.r8.internal.W20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance $variance -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):82:82 -> a
    2:91:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:89 -> a
    2:91:java.lang.Object invoke(java.lang.Object):82 -> a
    92:92:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):83:83 -> a
    92:92:java.lang.Object invoke(java.lang.Object):82 -> a
    93:93:java.lang.Object invoke(java.lang.Object):82:82 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitFlexibleTypeUpperBound$1 -> com.android.tools.r8.internal.X20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    java.lang.String $typeFlexibilityId -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> c
    1:1:java.lang.Object invoke(java.lang.Object):104:104 -> a
    2:110:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitFlexibleTypeUpperBound$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:108 -> a
    2:110:java.lang.Object invoke(java.lang.Object):104 -> a
    111:111:java.lang.Object invoke(java.lang.Object):104:104 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitOuterType$1 -> com.android.tools.r8.internal.Y20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):101:101 -> a
    2:103:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitOuterType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:101 -> a
    2:103:java.lang.Object invoke(java.lang.Object):101 -> a
    104:104:java.lang.Object invoke(java.lang.Object):101:101 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 -> com.android.tools.r8.internal.f30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder t -> b
    int $flags -> d
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> e
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):253:254 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):257:257 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:36 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):257 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):263:263 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):263 -> a
    5:5:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):266:266 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):273:273 -> a
    7:11:void visitEnd():278:282 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):260:260 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):260 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():270:270 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():270 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder getT():254:254 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExpandedType$1 -> com.android.tools.r8.internal.a30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):263:263 -> a
    2:265:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExpandedType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:263 -> a
    2:265:java.lang.Object invoke(java.lang.Object):263 -> a
    266:266:java.lang.Object invoke(java.lang.Object):263:263 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExtensions$1 -> com.android.tools.r8.internal.b30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> c
    1:1:java.lang.Object invoke(java.lang.Object):273:273 -> a
    2:276:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:274 -> a
    2:276:java.lang.Object invoke(java.lang.Object):273 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitTypeParameter$1 -> com.android.tools.r8.internal.c30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):257:257 -> a
    2:259:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:257 -> a
    2:259:java.lang.Object invoke(java.lang.Object):257 -> a
    260:260:java.lang.Object invoke(java.lang.Object):257:257 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitUnderlyingType$1 -> com.android.tools.r8.internal.d30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):260:260 -> a
    2:262:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitUnderlyingType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:260 -> a
    2:262:java.lang.Object invoke(java.lang.Object):260 -> a
    263:263:java.lang.Object invoke(java.lang.Object):260:260 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.e30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):270:270 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitVersionRequirement$1.invoke(int):270:270 -> a
    2:2:java.lang.Object invoke(java.lang.Object):270 -> a
    3:3:java.lang.Object invoke(java.lang.Object):270:270 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1 -> com.android.tools.r8.internal.h30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder t -> b
    int $flags -> f
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> h
    int $id -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance $variance -> g
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,java.lang.String,int,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:37 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder access$getT$p(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1):36:36 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):40:40 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):40 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):43:43 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):13:13 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):43 -> a
    6:50:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:44 -> a
    6:50:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitExtensions$1.invoke(java.lang.Object):43 -> a
    6:50:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):14 -> a
    6:50:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):43 -> a
    51:51:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):16:16 -> a
    51:51:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):43 -> a
    52:52:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):43:43 -> a
    53:64:void visitEnd():48:59 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitUpperBound$1 -> com.android.tools.r8.internal.g30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):40:40 -> a
    2:42:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitUpperBound$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:40 -> a
    2:42:java.lang.Object invoke(java.lang.Object):40 -> a
    43:43:java.lang.Object invoke(java.lang.Object):40:40 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 -> com.android.tools.r8.internal.l30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder t -> b
    int $flags -> d
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> e
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):227:228 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):231:231 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):231 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):237:237 -> a
    4:8:void visitEnd():242:246 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder getT():228:228 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):234:234 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):234 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitExtensions$1 -> com.android.tools.r8.internal.i30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:java.lang.Object invoke(java.lang.Object):237:237 -> a
    2:240:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:238 -> a
    2:240:java.lang.Object invoke(java.lang.Object):237 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitType$1 -> com.android.tools.r8.internal.j30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):231:231 -> a
    2:233:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:231 -> a
    2:233:java.lang.Object invoke(java.lang.Object):231 -> a
    234:234:java.lang.Object invoke(java.lang.Object):231:231 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitVarargElementType$1 -> com.android.tools.r8.internal.k30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):234:234 -> a
    2:236:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitVarargElementType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:234 -> a
    2:236:java.lang.Object invoke(java.lang.Object):234 -> a
    237:237:java.lang.Object invoke(java.lang.Object):234:234 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 -> com.android.tools.r8.internal.o30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder t -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> <init>
    1:5:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):292:296 -> a
    6:6:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):295:295 -> a
    7:7:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):294:294 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.getDefaultInstanceForType():21825:21825 -> a
    8:8:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):298 -> a
    9:15:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):298:304 -> a
    16:16:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):303:303 -> a
    17:17:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):302:302 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.getDefaultInstanceForType():21825:21825 -> a
    18:18:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):306 -> a
    19:26:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):306:313 -> a
    27:27:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):292:292 -> a
    28:31:void visitVersion(int,int,int):319:322 -> a
    32:32:void visitVersion(int,int,int):320:320 -> a
    33:36:void visitEnd():329:332 -> a
    37:37:void visitEnd():330:330 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder getT():289:289 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$1 -> com.android.tools.r8.internal.m30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):322:322 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$1.invoke(int):323:323 -> a
    2:2:java.lang.Object invoke(java.lang.Object):322 -> a
    3:3:java.lang.Object invoke(java.lang.Object):322:322 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$2 -> com.android.tools.r8.internal.n30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):322:322 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$2.invoke(int):324:324 -> a
    2:2:java.lang.Object invoke(java.lang.Object):322 -> a
    3:3:java.lang.Object invoke(java.lang.Object):322:322 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt -> com.android.tools.r8.internal.jj:
# {"id":"sourceFile","fileName":"extensionUtils.kt"}
    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):13:16 -> a
    5:13:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension singleOfType(java.util.Collection,com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):25:33 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmClassExtension -> com.android.tools.r8.internal.ox:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmConstructorExtension -> com.android.tools.r8.internal.vx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension -> com.android.tools.r8.internal.Ix:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
    void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmFunctionExtension -> com.android.tools.r8.internal.Nx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPackageExtension -> com.android.tools.r8.internal.Tx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPropertyExtension -> com.android.tools.r8.internal.Xx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeAliasExtension -> com.android.tools.r8.internal.cy:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension -> com.android.tools.r8.internal.fy:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeParameterExtension -> com.android.tools.r8.internal.iy:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmValueParameterExtension -> com.android.tools.r8.internal.oy:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions -> com.android.tools.r8.internal.dE:
# {"id":"sourceFile","fileName":"MetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion Companion -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion -> com.android.tools.r8.internal.cE:
# {"id":"sourceFile","fileName":"MetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion $$INSTANCE -> a
    com.android.tools.r8.jetbrains.kotlin.Lazy INSTANCES$delegate -> b
    1:1:void <clinit>():84:84 -> <clinit>
    1:1:void <init>():83:83 -> <init>
    1:1:java.util.List getINSTANCES():84:84 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2 -> com.android.tools.r8.internal.bE:
# {"id":"sourceFile","fileName":"MetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2 INSTANCE -> b
    1:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2.invoke():85:87 -> a
    1:3:java.lang.Object invoke():84 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation -> com.android.tools.r8.internal.AN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List argument_ -> e
    int memoizedSerializedSize -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation defaultInstance -> h
    int id_ -> d
    byte memoizedIsInitialized -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:2653:void <clinit>():1956:4608 -> <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):1875:1875 -> <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):1875:1875 -> <init>
    3:2367:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):1881:4245 -> <init>
    2368:2368:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):1882:1882 -> <init>
    2369:4731:void <init>(boolean):1884:1884 -> <init>
    4732:7078:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1899:4245 -> <init>
    7079:7111:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1900:1932 -> <init>
    7112:7129:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1923:1940 -> <init>
    7130:7145:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1938:1953 -> <init>
    7146:7153:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1944:1951 -> <init>
    1:1:int access$4402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,int):1875:1875 -> a
    2:2:java.util.List access$4500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):1875:1875 -> a
    3:3:java.util.List access$4502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,java.util.List):1875:1875 -> a
    4:11:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):4235:4242 -> a
    1:1:int access$4602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,int):1875:1875 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$4700(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):1875:1875 -> b
    3:8:boolean isInitialized():4215:4220 -> b
    9:9:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.getArgumentCount():4193:4193 -> b
    9:9:boolean isInitialized():4223 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.getArgument(int):4199:4199 -> b
    10:10:boolean isInitialized():4224 -> b
    11:16:boolean isInitialized():4224:4229 -> b
    1:14:int getSerializedSize():4247:4260 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder():4324:4324 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilderForType():4325 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():1875 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder():4324:4324 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.toBuilder():4329 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():1875 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327:4327 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.toBuilder():4329 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():1875 -> e
    1:1:java.util.List getArgumentList():4180:4180 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation getDefaultInstance():1888:1888 -> h
    1:1:int getId():4171:4171 -> i
    1:1:boolean hasId():4165:4165 -> j
    1:2:void initFields():4210:4211 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder newBuilder():4324:4324 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder():4324:4324 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder toBuilder():4329 -> m
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327:4327 -> m
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder toBuilder():4329 -> m
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$1 -> com.android.tools.r8.internal.rN:
    1:1:void <init>():1957:1957 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$1.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.internal.yN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument defaultInstance -> h
    int memoizedSerializedSize -> g
    int nameId_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value value_ -> e
    byte memoizedIsInitialized -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:2074:void <clinit>():2079:4152 -> <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):1996:1996 -> <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):1996:1996 -> <init>
    3:1861:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2002:3860 -> <init>
    1862:1862:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2003:2003 -> <init>
    1863:3719:void <init>(boolean):2005:2005 -> <init>
    3720:5560:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2020:3860 -> <init>
    5561:5598:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2021:2058 -> <init>
    5599:5621:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2044:2066 -> <init>
    5622:5634:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2064:2076 -> <init>
    5635:5639:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2070:2074 -> <init>
    1:1:int access$3802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument,int):1996:1996 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value access$3902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):1996:1996 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$4100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):1996:1996 -> a
    4:11:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):3850:3857 -> a
    1:1:int access$4002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument,int):1996:1996 -> b
    2:11:boolean isInitialized():3828:3837 -> b
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.getValue():3819:3819 -> b
    12:12:boolean isInitialized():3840 -> b
    13:17:boolean isInitialized():3840:3844 -> b
    1:14:int getSerializedSize():3862:3875 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilder():3939:3939 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilderForType():3940 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():1996 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilder():3939:3939 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):3942 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.toBuilder():3944 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():1996 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):3942:3942 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.toBuilder():3944 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():1996 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument getDefaultInstance():2009:2009 -> g
    1:1:int getNameId():3804:3804 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value getValue():3819:3819 -> i
    1:1:boolean hasNameId():3798:3798 -> j
    1:1:boolean hasValue():3813:3813 -> k
    1:2:void initFields():3823:3824 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder newBuilder():3939:3939 -> m
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$1 -> com.android.tools.r8.internal.sN:
    1:1:void <init>():2080:2080 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2085:2085 -> 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):2080 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder -> com.android.tools.r8.internal.tN:
    int nameId_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value value_ -> e
    int bitField0_ -> c
    1:132:void <init>():3956:4087 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):3949:3949 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4008:4013 -> a
    8:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4126:4128 -> a
    8:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4013 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder():2995:2995 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4128 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4013 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998:2998 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4128 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4013 -> a
    13:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4128:4134 -> a
    13:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4013 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4015:4015 -> a
    21:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4042:4048 -> a
    21:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3949 -> a
    28:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4044:4048 -> a
    28:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3949 -> a
    33:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder setNameId(int):4072:4073 -> a
    35:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder setValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4107:4109 -> a
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.buildPartial():3992:4003 -> c
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.build():3984 -> c
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3949 -> c
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.build():3985:3985 -> c
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3949 -> c
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.build():3986 -> c
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3949 -> c
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.build():3986:3986 -> c
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3949 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.create():3963:3963 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.clone():3976 -> clone
    1:1:java.lang.Object clone():3949 -> clone
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.buildPartial():3992:4003 -> clone
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.clone():3976 -> clone
    2:13:java.lang.Object clone():3949 -> clone
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.clone():3976:3976 -> clone
    14:14:java.lang.Object clone():3949 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.create():3963:3963 -> f
    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 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.buildPartial():3992:4003 -> g
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3984 -> g
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3985:3985 -> g
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> g
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3986 -> g
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3986:3986 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value -> com.android.tools.r8.internal.xN:
    int flags_ -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value defaultInstance -> q
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int arrayDimensionCount_ -> m
    int enumValueId_ -> j
    long intValue_ -> e
    float floatValue_ -> f
    int stringValue_ -> h
    int classId_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation annotation_ -> k
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type type_ -> d
    byte memoizedIsInitialized -> o
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> r
    double doubleValue_ -> g
    java.util.List arrayElement_ -> l
    int memoizedSerializedSize -> p
    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>
    3:620:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2263:2880 -> <init>
    621:621:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2264:2264 -> <init>
    622:1237:void <init>(boolean):2266:2266 -> <init>
    1238:1837:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2281:2880 -> <init>
    1838:1930:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2282:2374 -> <init>
    1931:1932:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2368:2369 -> <init>
    1933:1936:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2361:2364 -> <init>
    1937:1945:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2348:2356 -> <init>
    1946:1947:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2342:2343 -> <init>
    1948:1949:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2337:2338 -> <init>
    1950:1951:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2332:2333 -> <init>
    1952:1953:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2327:2328 -> <init>
    1954:1955:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2322:2323 -> <init>
    1956:1957:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2317:2318 -> <init>
    1958:2035:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2305:2382 -> <init>
    2036:2051:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2380:2395 -> <init>
    2052:2059:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2386:2393 -> <init>
    1:1:boolean hasStringValue():2647:2647 -> A
    1:1:boolean hasType():2581:2581 -> B
    1:11:void initFields():2807:2817 -> C
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder newBuilder():2995:2995 -> D
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder():2995:2995 -> E
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998 -> E
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder toBuilder():3000 -> E
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998:2998 -> E
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder toBuilder():3000 -> E
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type access$2302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type):2257:2257 -> a
    2:2:long access$2402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,long):2257:2257 -> a
    3:3:float access$2502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,float):2257:2257 -> a
    4:4:double access$2602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,double):2257:2257 -> a
    5:5:int access$2702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation access$3002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):2257:2257 -> a
    7:7:java.util.List access$3100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2257:2257 -> a
    8:8:java.util.List access$3102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,java.util.List):2257:2257 -> a
    9:43:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):2843:2877 -> a
    1:1:int access$2802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$3500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2257:2257 -> b
    3:7:boolean isInitialized():2821:2825 -> b
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.getAnnotation():2706:2706 -> b
    8:8:boolean isInitialized():2826 -> b
    9:10:boolean isInitialized():2826:2827 -> b
    11:11:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.getArrayElementCount():2728:2728 -> b
    11:11:boolean isInitialized():2831 -> b
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.getArrayElement(int):2734:2734 -> b
    12:12:boolean isInitialized():2832 -> b
    13:18:boolean isInitialized():2832:2837 -> b
    1:1:int access$2902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> c
    2:11:int getSerializedSize():2882:2891 -> c
    12:12:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt64Size(int,long):715:715 -> c
    12:12:int getSerializedSize():2891 -> c
    13:13:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt64SizeNoTag(long):948:948 -> c
    13:13:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt64Size(int,long):715 -> c
    13:13:int getSerializedSize():2891 -> c
    14:14:int getSerializedSize():2894:2894 -> c
    15:15:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeFloatSize(int,float):536:536 -> c
    15:15:int getSerializedSize():2895 -> c
    16:16:int getSerializedSize():2898:2898 -> c
    17:17:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeDoubleSize(int,double):528:528 -> c
    17:17:int getSerializedSize():2899 -> c
    18:47:int getSerializedSize():2902:2931 -> c
    1:1:int access$3202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder():2995:2995 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilderForType():2996 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():2257 -> d
    1:1:int access$3302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder():2995:2995 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.toBuilder():3000 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2257 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998:2998 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.toBuilder():3000 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2257 -> e
    1:1:int access$3402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation getAnnotation():2706:2706 -> g
    1:1:int getArrayDimensionCount():2780:2780 -> h
    1:1:java.util.List getArrayElementList():2715:2715 -> i
    1:1:int getClassId():2676:2676 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value getDefaultInstance():2270:2270 -> k
    1:1:double getDoubleValue():2638:2638 -> l
    1:1:int getEnumValueId():2691:2691 -> m
    1:1:int getFlags():2803:2803 -> n
    1:1:float getFloatValue():2623:2623 -> o
    1:1:long getIntValue():2608:2608 -> p
    1:1:int getStringValue():2653:2653 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type getType():2593:2593 -> r
    1:1:boolean hasAnnotation():2700:2700 -> s
    1:1:boolean hasArrayDimensionCount():2762:2762 -> t
    1:1:boolean hasClassId():2666:2666 -> u
    1:1:boolean hasDoubleValue():2632:2632 -> v
    1:1:boolean hasEnumValueId():2685:2685 -> w
    1:1:boolean hasFlags():2793:2793 -> x
    1:1:boolean hasFloatValue():2617:2617 -> y
    1:1:boolean hasIntValue():2602:2602 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$1 -> com.android.tools.r8.internal.uN:
    1:1:void <init>():2399:2399 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2404:2404 -> 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):2399 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder -> com.android.tools.r8.internal.vN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type type_ -> d
    int flags_ -> n
    int arrayDimensionCount_ -> m
    int enumValueId_ -> j
    long intValue_ -> e
    float floatValue_ -> f
    int stringValue_ -> h
    int classId_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation annotation_ -> k
    int bitField0_ -> c
    double doubleValue_ -> g
    java.util.List arrayElement_ -> l
    1:516:void <init>():3012:3527 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):3005:3005 -> a
    2:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3119:3142 -> a
    26:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3506:3508 -> a
    26:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3142 -> a
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder():4324:4324 -> a
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327 -> a
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3508 -> a
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3142 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327:4327 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3508 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3142 -> a
    31:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3508:3514 -> a
    31:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3142 -> a
    38:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3144:3147 -> a
    42:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.ensureArrayElementIsMutable():3530:3532 -> a
    42:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3149 -> a
    45:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3150:3160 -> a
    56:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3187:3193 -> a
    56:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3005 -> a
    63:67:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3189:3193 -> a
    63:67:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3005 -> a
    68:71:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type):3236:3239 -> a
    72:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setIntValue(long):3276:3277 -> a
    74:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setFloatValue(float):3308:3309 -> a
    76:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setDoubleValue(double):3340:3341 -> a
    78:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3487:3489 -> a
    81:83:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.ensureArrayElementIsMutable():3530:3532 -> a
    81:83:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3607 -> a
    84:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608:3608 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3058:3058 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3059:3059 -> a
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608 -> a
    87:87:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608:3608 -> a
    88:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    88:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060 -> a
    88:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608 -> a
    89:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060:3060 -> a
    89:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608 -> a
    90:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setArrayDimensionCount(int):3705:3706 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setClassId(int):3416:3417 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3058:3059 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3005 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3005 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060:3060 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3005 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setEnumValueId(int):3452:3453 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.create():3019:3019 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.clone():3050 -> clone
    1:1:java.lang.Object clone():3005 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.clone():3050:3050 -> clone
    2:2:java.lang.Object clone():3005 -> clone
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setFlags(int):3761:3762 -> d
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setStringValue(int):3372:3373 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.create():3019:3019 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder access$2100():3005 -> f
    1:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value buildPartial():3066:3114 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type -> com.android.tools.r8.internal.wN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type[] $VALUES -> p
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type BYTE -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type CHAR -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type SHORT -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type INT -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type LONG -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type FLOAT -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type DOUBLE -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type BOOLEAN -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type STRING -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type CLASS -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ENUM -> m
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ANNOTATION -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ARRAY -> o
    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>
    1:1:int getNumber():2526:2526 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2542:2542 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2541:2541 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2540:2540 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2539:2539 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2538:2538 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2537:2537 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2536:2536 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2535:2535 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2534:2534 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2533:2533 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2532:2532 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2531:2531 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2530:2530 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type[] values():2416:2416 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder -> com.android.tools.r8.internal.zN:
    java.util.List argument_ -> e
    int id_ -> d
    int bitField0_ -> c
    1:138:void <init>():4341:4478 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):4334:4334 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4394:4401 -> a
    10:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.ensureArgumentIsMutable():4481:4483 -> a
    10:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4403 -> a
    13:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4404:4408 -> a
    18:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4433:4439 -> a
    18:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4334 -> a
    25:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4435:4439 -> a
    25:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4334 -> a
    30:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder setId(int):4463:4464 -> a
    32:34:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.ensureArgumentIsMutable():4481:4483 -> a
    32:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder):4558 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder):4559:4559 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():4334 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():4334 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():4334 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.create():4348:4348 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.clone():4361 -> clone
    1:1:java.lang.Object clone():4334 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.clone():4361:4361 -> clone
    2:2:java.lang.Object clone():4334 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.create():4348:4348 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder access$4200():4334 -> f
    1:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation buildPartial():4377:4389 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class -> com.android.tools.r8.internal.EN:
    java.util.List enumEntry_ -> r
    java.util.List property_ -> p
    int fqName_ -> f
    byte memoizedIsInitialized -> A
    int bitField0_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> x
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class defaultInstance -> C
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> z
    java.util.List supertypeId_ -> j
    int inlineClassUnderlyingTypeId_ -> w
    java.util.List typeParameter_ -> h
    int inlineClassUnderlyingPropertyName_ -> u
    java.util.List constructor_ -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    java.util.List nestedClassName_ -> l
    java.util.List typeAlias_ -> q
    int nestedClassNameMemoizedSerializedSize -> m
    java.util.List function_ -> o
    int supertypeIdMemoizedSerializedSize -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> D
    java.util.List sealedSubclassFqName_ -> s
    int companionObjectName_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type inlineClassUnderlyingType_ -> v
    java.util.List versionRequirement_ -> y
    int flags_ -> e
    int memoizedSerializedSize -> B
    java.util.List supertype_ -> i
    int sealedSubclassFqNameMemoizedSerializedSize -> t
    1:2946:void <clinit>():8837:11782 -> <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):8534:8534 -> <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):8534:8534 -> <init>
    3:1090:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):8541:9628 -> <init>
    1091:1091:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):8542:8542 -> <init>
    1092:2177:void <init>(boolean):8544:8544 -> <init>
    2178:3247:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8559:9628 -> <init>
    3248:3471:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8560:8783 -> <init>
    3472:3481:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8761:8770 -> <init>
    3482:3485:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8754:8757 -> <init>
    3486:3494:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8741:8749 -> <init>
    3495:3496:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8735:8736 -> <init>
    3497:3505:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8723:8731 -> <init>
    3506:3507:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8717:8718 -> <init>
    3508:3517:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8704:8713 -> <init>
    3518:3521:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8697:8700 -> <init>
    3522:3525:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8689:8692 -> <init>
    3526:3529:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8681:8684 -> <init>
    3530:3533:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8673:8676 -> <init>
    3534:3537:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8665:8668 -> <init>
    3538:3541:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8657:8660 -> <init>
    3542:3551:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8643:8652 -> <init>
    3552:3555:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8636:8639 -> <init>
    3556:3559:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8628:8631 -> <init>
    3560:3563:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8620:8623 -> <init>
    3564:3565:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8614:8615 -> <init>
    3566:3567:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8609:8610 -> <init>
    3568:3577:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8596:8605 -> <init>
    3578:3581:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8589:8592 -> <init>
    3582:3790:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8583:8791 -> <init>
    3791:3836:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8789:8834 -> <init>
    3837:3876:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8795:8834 -> <init>
    1:1:java.util.List getTypeParameterList():9039:9039 -> A
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable getTypeTable():9404:9404 -> B
    1:1:java.util.List getVersionRequirementList():9418:9418 -> C
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable getVersionRequirementTable():9453:9453 -> D
    1:1:boolean hasCompanionObjectName():9024:9024 -> E
    1:1:boolean hasFlags():8981:8981 -> F
    1:1:boolean hasFqName():9009:9009 -> G
    1:1:boolean hasInlineClassUnderlyingPropertyName():9353:9353 -> H
    1:1:boolean hasInlineClassUnderlyingType():9368:9368 -> I
    1:1:boolean hasInlineClassUnderlyingTypeId():9383:9383 -> J
    1:1:boolean hasTypeTable():9398:9398 -> K
    1:1:boolean hasVersionRequirementTable():9447:9447 -> L
    1:19:void initFields():9457:9475 -> M
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder newBuilder():9811:9811 -> N
    1:1:java.util.List access$10000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> a
    2:2:java.util.List access$10002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> a
    3:3:int access$10202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$10302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):8534:8534 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable access$10502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):8534:8534 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable access$10702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):8534:8534 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getDefaultInstanceForType():8552:8552 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():8534 -> a
    8:13:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9551:9556 -> a
    14:14:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSupertypeIdList():9110:9110 -> a
    14:14:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9558 -> a
    15:32:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9558:9575 -> a
    33:33:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getNestedClassNameList():9133:9133 -> a
    33:33:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9577 -> a
    34:54:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9577:9597 -> a
    55:55:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSealedSubclassFqNameList():9331:9331 -> a
    55:55:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9599 -> a
    56:82:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9599:9625 -> a
    1:1:java.util.List access$10100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> b
    2:2:java.util.List access$10102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> b
    3:3:int access$10402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> b
    4:9:boolean isInitialized():9479:9484 -> b
    10:10:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeParameterCount():9052:9052 -> b
    10:10:boolean isInitialized():9487 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeParameter(int):9058:9058 -> b
    11:11:boolean isInitialized():9488 -> b
    12:13:boolean isInitialized():9488:9489 -> b
    14:14:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSupertypeCount():9087:9087 -> b
    14:14:boolean isInitialized():9493 -> b
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSupertype(int):9093:9093 -> b
    15:15:boolean isInitialized():9494 -> b
    16:17:boolean isInitialized():9494:9495 -> b
    18:18:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getConstructorCount():9168:9168 -> b
    18:18:boolean isInitialized():9499 -> b
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getConstructor(int):9174:9174 -> b
    19:19:boolean isInitialized():9500 -> b
    20:21:boolean isInitialized():9500:9501 -> b
    22:22:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getFunctionCount():9203:9203 -> b
    22:22:boolean isInitialized():9505 -> b
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getFunction(int):9209:9209 -> b
    23:23:boolean isInitialized():9506 -> b
    24:25:boolean isInitialized():9506:9507 -> b
    26:26:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getPropertyCount():9238:9238 -> b
    26:26:boolean isInitialized():9511 -> b
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getProperty(int):9244:9244 -> b
    27:27:boolean isInitialized():9512 -> b
    28:29:boolean isInitialized():9512:9513 -> b
    30:30:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeAliasCount():9273:9273 -> b
    30:30:boolean isInitialized():9517 -> b
    31:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeAlias(int):9279:9279 -> b
    31:31:boolean isInitialized():9518 -> b
    32:33:boolean isInitialized():9518:9519 -> b
    34:34:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getEnumEntryCount():9308:9308 -> b
    34:34:boolean isInitialized():9523 -> b
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getEnumEntry(int):9314:9314 -> b
    35:35:boolean isInitialized():9524 -> b
    36:41:boolean isInitialized():9524:9529 -> b
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getInlineClassUnderlyingType():9374:9374 -> b
    42:42:boolean isInitialized():9530 -> b
    43:48:boolean isInitialized():9530:9535 -> b
    49:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeTable():9404:9404 -> b
    49:49:boolean isInitialized():9536 -> b
    50:59:boolean isInitialized():9536:9545 -> b
    1:1:java.util.List access$10600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> c
    2:2:java.util.List access$10602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> c
    3:3:int access$10802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> c
    4:15:int getSerializedSize():9630:9641 -> c
    16:16:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSupertypeIdList():9110:9110 -> c
    16:16:int getSerializedSize():9645 -> c
    17:43:int getSerializedSize():9645:9671 -> c
    44:44:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getNestedClassNameList():9133:9133 -> c
    44:44:int getSerializedSize():9675 -> c
    45:75:int getSerializedSize():9675:9705 -> c
    76:76:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSealedSubclassFqNameList():9331:9331 -> c
    76:76:int getSerializedSize():9709 -> c
    77:103:int getSerializedSize():9709:9735 -> c
    104:104:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getVersionRequirementList():9418:9418 -> c
    104:104:int getSerializedSize():9739 -> c
    105:113:int getSerializedSize():9739:9747 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$10900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> d
    2:2:int access$8902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> d
    3:3:java.util.List access$9202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> d
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilder():9811:9811 -> d
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilderForType():9812 -> d
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():8534 -> d
    1:1:int access$9002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> e
    2:2:java.util.List access$9200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> e
    3:3:java.util.List access$9302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> e
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilder():9811:9811 -> e
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):9814 -> e
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.toBuilder():9816 -> e
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():8534 -> e
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):9814:9814 -> e
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.toBuilder():9816 -> e
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():8534 -> e
    1:1:int access$9102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> f
    2:2:java.util.List access$9300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> f
    3:3:java.util.List access$9402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> f
    1:1:java.util.List access$9400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> g
    2:2:java.util.List access$9502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> g
    1:1:java.util.List access$9500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> h
    2:2:java.util.List access$9602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> h
    1:1:java.util.List access$9600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> i
    2:2:java.util.List access$9702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> i
    1:1:java.util.List access$9700(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> j
    2:2:java.util.List access$9802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> j
    1:1:java.util.List access$9800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> k
    2:2:java.util.List access$9902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> k
    3:3:int getCompanionObjectName():9030:9030 -> k
    1:1:java.util.List access$9900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> l
    2:2:java.util.List getConstructorList():9155:9155 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class getDefaultInstance():8548:8548 -> m
    1:1:java.util.List getEnumEntryList():9295:9295 -> n
    1:1:int getFlags():9000:9000 -> o
    1:1:int getFqName():9015:9015 -> p
    1:1:java.util.List getFunctionList():9190:9190 -> q
    1:1:int getInlineClassUnderlyingPropertyName():9359:9359 -> r
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getInlineClassUnderlyingType():9374:9374 -> s
    1:1:int getInlineClassUnderlyingTypeId():9389:9389 -> t
    1:1:java.util.List getNestedClassNameList():9133:9133 -> u
    1:1:java.util.List getPropertyList():9225:9225 -> v
    1:1:java.util.List getSealedSubclassFqNameList():9331:9331 -> w
    1:1:java.util.List getSupertypeIdList():9110:9110 -> x
    1:1:java.util.List getSupertypeList():9074:9074 -> y
    1:1:java.util.List getTypeAliasList():9260:9260 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$1 -> com.android.tools.r8.internal.BN:
    1:1:void <init>():8838:8838 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8843:8843 -> 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):8838 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder -> com.android.tools.r8.internal.CN:
    java.util.List sealedSubclassFqName_ -> r
    java.util.List enumEntry_ -> q
    java.util.List typeAlias_ -> p
    java.util.List property_ -> o
    int companionObjectName_ -> h
    int flags_ -> f
    int fqName_ -> g
    int bitField0_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type inlineClassUnderlyingType_ -> t
    java.util.List versionRequirement_ -> w
    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
    java.util.List typeParameter_ -> i
    int inlineClassUnderlyingTypeId_ -> u
    java.util.List function_ -> n
    java.util.List constructor_ -> m
    int inlineClassUnderlyingPropertyName_ -> s
    java.util.List nestedClassName_ -> l
    java.util.List supertypeId_ -> k
    1:1891:void <init>():9827:11717 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):9821:9821 -> a
    2:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):9992:10005 -> a
    16:18:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureTypeParameterIsMutable():10369:10371 -> a
    16:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10007 -> a
    19:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10008:10015 -> a
    27:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSupertypeIsMutable():10494:10496 -> a
    27:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10017 -> a
    30:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10018:10025 -> a
    38:40:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSupertypeIdIsMutable():10618:10620 -> a
    38:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10027 -> a
    41:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10028:10035 -> a
    49:51:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureNestedClassNameIsMutable():10684:10686 -> a
    49:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10037 -> a
    52:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10038:10045 -> a
    60:62:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureConstructorIsMutable():10751:10753 -> a
    60:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10047 -> a
    63:70:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10048:10055 -> a
    71:73:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureFunctionIsMutable():10876:10878 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10057 -> a
    74:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10058:10065 -> a
    82:84:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensurePropertyIsMutable():11001:11003 -> a
    82:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10067 -> a
    85:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10068:10075 -> a
    93:95:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureTypeAliasIsMutable():11126:11128 -> a
    93:95:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10077 -> a
    96:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10078:10085 -> a
    104:106:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureEnumEntryIsMutable():11251:11253 -> a
    104:106:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10087 -> a
    107:114:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10088:10095 -> a
    115:117:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSealedSubclassFqNameIsMutable():11375:11377 -> a
    115:117:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10097 -> a
    118:126:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10098:10106 -> a
    127:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11510:11512 -> a
    127:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10106 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11512 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10106 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11512 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10106 -> a
    132:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11512:11518 -> a
    132:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10106 -> a
    139:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10108:10109 -> a
    141:142:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.setInlineClassUnderlyingTypeId(int):11548:11549 -> a
    141:142:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10109 -> a
    143:144:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10111:10112 -> a
    145:147:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11602:11604 -> a
    145:147:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10112 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11604 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10112 -> a
    149:149:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> a
    149:149:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11604 -> a
    149:149:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10112 -> a
    150:156:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11604:11610 -> a
    150:156:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10112 -> a
    157:160:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10114:10117 -> a
    161:163:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureVersionRequirementIsMutable():11625:11627 -> a
    161:163:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10119 -> a
    164:169:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10120:10125 -> a
    170:172:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11756:11758 -> a
    170:172:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10125 -> a
    173:173:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> a
    173:173:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484 -> a
    173:173:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11758 -> a
    173:173:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10125 -> a
    174:174:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484:22484 -> a
    174:174:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11758 -> a
    174:174:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10125 -> a
    175:181:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11758:11764 -> a
    175:181:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10125 -> a
    182:183:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10127:10128 -> a
    184:190:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):10205:10211 -> a
    184:190:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):9821 -> a
    191:195:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):10207:10211 -> a
    191:195:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):9821 -> a
    196:198:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureTypeParameterIsMutable():10369:10371 -> a
    196:198:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10446 -> a
    199:199:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447:10447 -> a
    200:200:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7811 -> a
    200:200:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    201:201:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7812:7812 -> a
    201:201:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447 -> a
    202:202:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447:10447 -> a
    203:203:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    203:203:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> a
    203:203:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447 -> a
    204:204:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> a
    204:204:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447 -> a
    205:207:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSupertypeIsMutable():10494:10496 -> a
    205:207:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addSupertype(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):10571 -> a
    208:208:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addSupertype(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):10572:10572 -> a
    209:211:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureNestedClassNameIsMutable():10684:10686 -> a
    209:211:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addNestedClassName(int):10722 -> a
    212:212:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addNestedClassName(int):10723:10723 -> a
    213:215:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureConstructorIsMutable():10751:10753 -> a
    213:215:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10828 -> a
    216:216:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829:10829 -> a
    217:217:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14066:14066 -> a
    217:217:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    218:218:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14067:14067 -> a
    218:218:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829 -> a
    219:219:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829:10829 -> a
    220:220:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    220:220:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14068 -> a
    220:220:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829 -> a
    221:221:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14068:14068 -> a
    221:221:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829 -> a
    222:224:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureFunctionIsMutable():10876:10878 -> a
    222:224:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10953 -> a
    225:225:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954:10954 -> a
    226:226:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15398:15398 -> a
    226:226:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    227:227:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15399:15399 -> a
    227:227:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954 -> a
    228:228:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954:10954 -> a
    229:229:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    229:229:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400 -> a
    229:229:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954 -> a
    230:230:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400:15400 -> a
    230:230:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954 -> a
    231:233:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensurePropertyIsMutable():11001:11003 -> a
    231:233:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11078 -> a
    234:234:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079:11079 -> a
    235:235:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17361 -> a
    235:235:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    236:236:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17362:17362 -> a
    236:236:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079 -> a
    237:237:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079:11079 -> a
    238:238:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    238:238:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> a
    238:238:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079 -> a
    239:239:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
    239:239:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079 -> a
    240:242:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureTypeAliasIsMutable():11126:11128 -> a
    240:242:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11203 -> a
    243:243:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204:11204 -> a
    244:244:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19966:19966 -> a
    244:244:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    245:245:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19967:19967 -> a
    245:245:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204 -> a
    246:246:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204:11204 -> a
    247:247:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    247:247:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968 -> a
    247:247:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204 -> a
    248:248:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968:19968 -> a
    248:248:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204 -> a
    249:251:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureEnumEntryIsMutable():11251:11253 -> a
    249:251:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addEnumEntry(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder):11328 -> a
    252:252:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addEnumEntry(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder):11329:11329 -> a
    253:255:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11491:11493 -> a
    256:258:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11737:11739 -> a
    1:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSealedSubclassFqNameIsMutable():11375:11377 -> b
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addSealedSubclassFqName(int):11413 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addSealedSubclassFqName(int):11414:11414 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9889:9890 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():9821 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9891 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():9821 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9891:9891 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():9821 -> c
    5:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureVersionRequirementIsMutable():11625:11627 -> c
    5:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addVersionRequirement(int):11683 -> c
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addVersionRequirement(int):11684:11684 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.create():9834:9834 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.clone():9881 -> clone
    1:1:java.lang.Object clone():9821 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.clone():9881:9881 -> clone
    2:2:java.lang.Object clone():9821 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.getDefaultInstanceForType():9885:9885 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():9821 -> d
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setCompanionObjectName(int):10351:10352 -> d
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setFlags(int):10274:10275 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.create():9834:9834 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder access$8700():9821 -> f
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setFqName(int):10319:10320 -> f
    1:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class buildPartial():9897:9987 -> g
    92:93:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setInlineClassUnderlyingPropertyName(int):11456:11457 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind -> com.android.tools.r8.internal.DN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind INTERFACE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind CLASS -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind COMPANION_OBJECT -> i
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ENUM_ENTRY -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ENUM_CLASS -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind OBJECT -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind[] $VALUES -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ANNOTATION_CLASS -> g
    1:25:void <clinit>():8864:8888 -> <clinit>
    26:26:void <clinit>():8855:8855 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):8954:8955 -> <init>
    1:1:int getNumber():8925:8925 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind[] values():8855:8855 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor -> com.android.tools.r8.internal.HN:
    java.util.List valueParameter_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor defaultInstance -> j
    int memoizedSerializedSize -> i
    int bitField0_ -> d
    int flags_ -> e
    java.util.List versionRequirement_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    byte memoizedIsInitialized -> h
    1:671:void <clinit>():13773:14443 -> <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):13667:13667 -> <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):13667:13667 -> <init>
    3:260:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):13674:13931 -> <init>
    261:261:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):13675:13675 -> <init>
    262:517:void <init>(boolean):13677:13677 -> <init>
    518:757:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13692:13931 -> <init>
    758:811:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13693:13746 -> <init>
    812:815:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13730:13733 -> <init>
    816:819:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13722:13725 -> <init>
    820:858:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13716:13754 -> <init>
    859:877:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13752:13770 -> <init>
    878:890:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13758:13770 -> <init>
    1:1:int access$13002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,int):13667:13667 -> a
    2:2:java.util.List access$13100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):13667:13667 -> a
    3:3:java.util.List access$13102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,java.util.List):13667:13667 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.getDefaultInstanceForType():13685:13685 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():13667 -> a
    5:19:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):13914:13928 -> a
    1:1:java.util.List access$13200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):13667:13667 -> b
    2:2:java.util.List access$13202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,java.util.List):13667:13667 -> b
    3:3:int access$13302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,int):13667:13667 -> b
    4:4:boolean isInitialized():13894:13894 -> b
    5:5:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.getValueParameterCount():13837:13837 -> b
    5:5:boolean isInitialized():13898 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.getValueParameter(int):13843:13843 -> b
    6:6:boolean isInitialized():13899 -> b
    7:16:boolean isInitialized():13899:13908 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$13400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):13667:13667 -> c
    2:17:int getSerializedSize():13933:13948 -> c
    18:18:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.getVersionRequirementList():13864:13864 -> c
    18:18:int getSerializedSize():13952 -> c
    19:23:int getSerializedSize():13952:13956 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilder():14020:14020 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilderForType():14021 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():13667 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilder():14020:14020 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14023 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.toBuilder():14025 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():13667 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14023:14023 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.toBuilder():14025 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():13667 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor getDefaultInstance():13681:13681 -> k
    1:1:int getFlags():13815:13815 -> l
    1:1:java.util.List getValueParameterList():13824:13824 -> m
    1:1:java.util.List getVersionRequirementList():13864:13864 -> n
    1:1:boolean hasFlags():13802:13802 -> o
    1:3:void initFields():13888:13890 -> p
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder newBuilder():14020:14020 -> q
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$1 -> com.android.tools.r8.internal.FN:
    1:1:void <init>():13774:13774 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13779:13779 -> 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):13774 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder -> com.android.tools.r8.internal.GN:
    int flags_ -> f
    java.util.List versionRequirement_ -> h
    int bitField0_ -> e
    java.util.List valueParameter_ -> g
    1:309:void <init>():14036:14344 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):14030:14030 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14096:14103 -> a
    10:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.ensureValueParameterIsMutable():14222:14224 -> a
    10:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14105 -> a
    13:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14106:14113 -> a
    21:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.ensureVersionRequirementIsMutable():14346:14348 -> a
    21:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14115 -> a
    24:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14116:14121 -> a
    30:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14146:14152 -> a
    30:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14030 -> a
    37:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14148:14152 -> a
    37:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14030 -> a
    42:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.ensureValueParameterIsMutable():14222:14224 -> a
    42:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):14276 -> a
    45:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):14277:14277 -> a
    46:48:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.ensureVersionRequirementIsMutable():14346:14348 -> a
    46:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder addVersionRequirement(int):14404 -> a
    49:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder addVersionRequirement(int):14405:14405 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder setFlags(int):14197:14198 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14066:14067 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():14030 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14068 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():14030 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14068:14068 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():14030 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.create():14043:14043 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.clone():14058 -> clone
    1:1:java.lang.Object clone():14030 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.clone():14058:14058 -> clone
    2:2:java.lang.Object clone():14030 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.getDefaultInstanceForType():14062:14062 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():14030 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.create():14043:14043 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder access$12800():14030 -> f
    1:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor buildPartial():14074:14091 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract -> com.android.tools.r8.internal.KN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract defaultInstance -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List effect_ -> c
    byte memoizedIsInitialized -> d
    int memoizedSerializedSize -> e
    1:390:void <clinit>():23702:24091 -> <clinit>
    391:391:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.initFields():23753:23753 -> <clinit>
    391:391:void <clinit>():24092 -> <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):23626:23626 -> <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):23626:23626 -> <init>
    3:151:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):23632:23780 -> <init>
    152:152:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):23633:23633 -> <init>
    153:299:void <init>(boolean):23635:23635 -> <init>
    300:430:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23650:23780 -> <init>
    431:466:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23651:23686 -> <init>
    467:482:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23684:23699 -> <init>
    483:490:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23690:23697 -> <init>
    1:1:java.util.List access$22800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23626:23626 -> a
    2:2:java.util.List access$22802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,java.util.List):23626:23626 -> a
    3:7:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):23773:23777 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$22900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23626:23626 -> b
    2:2:boolean isInitialized():23757:23757 -> b
    3:3:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.getEffectCount():23736:23736 -> b
    3:3:boolean isInitialized():23761 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.getEffect(int):23742:23742 -> b
    4:4:boolean isInitialized():23762 -> b
    5:10:boolean isInitialized():23762:23767 -> b
    1:10:int getSerializedSize():23782:23791 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder():23855:23855 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilderForType():23856 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():23626 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder():23855:23855 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.toBuilder():23860 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():23626 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858:23858 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.toBuilder():23860 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():23626 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract getDefaultInstance():23639:23639 -> g
    1:1:java.util.List getEffectList():23723:23723 -> h
    1:1:void initFields():23753:23753 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder newBuilder():23855:23855 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder():23855:23855 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder toBuilder():23860 -> k
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858:23858 -> k
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder toBuilder():23860 -> k
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$1 -> com.android.tools.r8.internal.IN:
    1:1:void <init>():23703:23703 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23708:23708 -> 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):23703 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder -> com.android.tools.r8.internal.JN:
    java.util.List effect_ -> d
    int bitField0_ -> c
    1:91:void <init>():23872:23962 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):23865:23865 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23917:23921 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.ensureEffectIsMutable():23965:23967 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23923 -> a
    10:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23924:23928 -> a
    15:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23949:23955 -> a
    15:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23865 -> a
    22:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23951:23955 -> a
    22:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23865 -> a
    27:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.ensureEffectIsMutable():23965:23967 -> a
    27:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24042 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043:24043 -> a
    31:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24721:24721 -> a
    31:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24722:24722 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043:24043 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24723 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24723:24723 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23898:23899 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():23865 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23900 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():23865 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23900:23900 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():23865 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.create():23879:23879 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.clone():23890 -> clone
    1:1:java.lang.Object clone():23865 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.clone():23890:23890 -> clone
    2:2:java.lang.Object clone():23865 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.create():23879:23879 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder access$22600():23865 -> f
    1:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract buildPartial():23906:23912 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect -> com.android.tools.r8.internal.PN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType effectType_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List effectConstructorArgument_ -> e
    int memoizedSerializedSize -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression conclusionOfConditionalEffect_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> k
    int bitField0_ -> c
    byte memoizedIsInitialized -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind kind_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect defaultInstance -> j
    1:836:void <clinit>():24269:25104 -> <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):24156:24156 -> <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):24156:24156 -> <init>
    3:426:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):24162:24585 -> <init>
    427:427:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):24163:24163 -> <init>
    428:849:void <init>(boolean):24165:24165 -> <init>
    850:1255:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24180:24585 -> <init>
    1256:1319:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24181:24244 -> <init>
    1320:1328:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24225:24233 -> <init>
    1329:1332:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24217:24220 -> <init>
    1333:1382:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24204:24253 -> <init>
    1383:1398:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24251:24266 -> <init>
    1399:1406:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24257:24264 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType access$23302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType):24156:24156 -> a
    2:2:java.util.List access$23400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24156:24156 -> a
    3:3:java.util.List access$23402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,java.util.List):24156:24156 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression access$23502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):24156:24156 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind access$23602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind):24156:24156 -> a
    6:6:int access$23702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,int):24156:24156 -> a
    7:20:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):24569:24582 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$23800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24156:24156 -> b
    2:2:boolean isInitialized():24547:24547 -> b
    3:3:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.getEffectConstructorArgumentCount():24483:24483 -> b
    3:3:boolean isInitialized():24551 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.getEffectConstructorArgument(int):24489:24489 -> b
    4:4:boolean isInitialized():24552 -> b
    5:10:boolean isInitialized():24552:24557 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.getConclusionOfConditionalEffect():24521:24521 -> b
    11:11:boolean isInitialized():24558 -> b
    12:17:boolean isInitialized():24558:24563 -> b
    1:22:int getSerializedSize():24587:24608 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilder():24672:24672 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilderForType():24673 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():24156 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilder():24672:24672 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24675 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.toBuilder():24677 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():24156 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24675:24675 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.toBuilder():24677 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():24156 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression getConclusionOfConditionalEffect():24521:24521 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect getDefaultInstance():24169:24169 -> h
    1:1:java.util.List getEffectConstructorArgumentList():24470:24470 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType getEffectType():24461:24461 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind getKind():24536:24536 -> k
    1:1:boolean hasConclusionOfConditionalEffect():24510:24510 -> l
    1:1:boolean hasEffectType():24455:24455 -> m
    1:1:boolean hasKind():24530:24530 -> n
    1:4:void initFields():24540:24543 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder newBuilder():24672:24672 -> p
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$1 -> com.android.tools.r8.internal.LN:
    1:1:void <init>():24270:24270 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24275:24275 -> 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):24270 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder -> com.android.tools.r8.internal.MN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType effectType_ -> d
    java.util.List effectConstructorArgument_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression conclusionOfConditionalEffect_ -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind kind_ -> g
    1:376:void <init>():24689:25064 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):24682:24682 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24754:24761 -> a
    10:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.ensureEffectConstructorArgumentIsMutable():24852:24854 -> a
    10:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24763 -> a
    13:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24764:24769 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25038:25040 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24769 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder():25867:25867 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25040 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24769 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870:25870 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25040 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24769 -> a
    24:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25040:25046 -> a
    24:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24769 -> a
    31:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24771:24774 -> a
    35:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24801:24807 -> a
    35:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24682 -> a
    42:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24803:24807 -> a
    42:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24682 -> a
    47:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder setEffectType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType):24832:24835 -> a
    51:53:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.ensureEffectConstructorArgumentIsMutable():24852:24854 -> a
    51:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24929 -> a
    54:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930:24930 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25927 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25928:25928 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930 -> a
    57:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930:24930 -> a
    58:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    58:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> a
    58:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930 -> a
    59:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> a
    59:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930 -> a
    60:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder setConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25009:25011 -> a
    63:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder setKind(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind):25082:25085 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24721:24722 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():24682 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24723 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():24682 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24723:24723 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():24682 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.create():24696:24696 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.clone():24713 -> clone
    1:1:java.lang.Object clone():24682 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.clone():24713:24713 -> clone
    2:2:java.lang.Object clone():24682 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.create():24696:24696 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder access$23100():24682 -> f
    1:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect buildPartial():24729:24749 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType -> com.android.tools.r8.internal.NN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_CONSTANT -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType CALLS -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_NOT_NULL -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType[] $VALUES -> f
    int value -> b
    1:18:void <clinit>():24304:24321 -> <clinit>
    19:19:void <clinit>():24295:24295 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):24376:24377 -> <init>
    1:1:int getNumber():24351:24351 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24357:24357 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24356:24356 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24355:24355 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind -> com.android.tools.r8.internal.ON:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind AT_MOST_ONCE -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind[] $VALUES -> f
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind EXACTLY_ONCE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind AT_LEAST_ONCE -> e
    1:9:void <clinit>():24391:24399 -> <clinit>
    10:10:void <clinit>():24386:24386 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):24441:24442 -> <init>
    1:1:int getNumber():24416:24416 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24422:24422 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24421:24421 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24420:24420 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry -> com.android.tools.r8.internal.SN:
    int memoizedSerializedSize -> g
    int bitField0_ -> d
    int name_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry defaultInstance -> h
    byte memoizedIsInitialized -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:273:void <clinit>():20842:21114 -> <clinit>
    274:274:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.initFields():20874:20874 -> <clinit>
    274:274:void <clinit>():21115 -> <clinit>
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    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):20771:20771 -> <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):20771:20771 -> <init>
    3:128:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):20778:20903 -> <init>
    129:129:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):20779:20779 -> <init>
    130:253:void <init>(boolean):20781:20781 -> <init>
    254:361:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20796:20903 -> <init>
    362:394:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20797:20829 -> <init>
    395:407:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20827:20839 -> <init>
    408:414:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20833:20839 -> <init>
    1:1:int access$19702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry,int):20771:20771 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$19900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry):20771:20771 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.getDefaultInstanceForType():20789:20789 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():20771 -> a
    4:12:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):20892:20900 -> a
    1:1:int access$19802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry,int):20771:20771 -> b
    2:10:boolean isInitialized():20878:20886 -> b
    1:11:int getSerializedSize():20905:20915 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilder():20979:20979 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilderForType():20980 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():20771 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilder():20979:20979 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry):20982 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.toBuilder():20984 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():20771 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry):20982:20982 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.toBuilder():20984 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():20771 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry getDefaultInstance():20785:20785 -> k
    1:1:int getName():20870:20870 -> l
    1:1:boolean hasName():20864:20864 -> m
    1:1:void initFields():20874:20874 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder newBuilder():20979:20979 -> o
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$1 -> com.android.tools.r8.internal.QN:
    1:1:void <init>():20843:20843 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20848:20848 -> 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):20843 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder -> com.android.tools.r8.internal.RN:
    int name_ -> f
    int bitField0_ -> e
    1:1:void <init>():20995:20995 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):20989:20989 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry):21041:21046 -> a
    8:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21065:21071 -> a
    8:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20989 -> a
    15:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21067:21071 -> a
    15:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20989 -> a
    20:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder setName(int):21095:21096 -> a
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.buildPartial():21029:21036 -> c
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.build():21021 -> c
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():20989 -> c
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.build():21022:21022 -> c
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():20989 -> c
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.build():21023 -> c
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():20989 -> c
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.build():21023:21023 -> c
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():20989 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.create():21002:21002 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.clone():21013 -> clone
    1:1:java.lang.Object clone():20989 -> clone
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.buildPartial():21029:21036 -> clone
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.clone():21013 -> clone
    2:9:java.lang.Object clone():20989 -> clone
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.clone():21013:21013 -> clone
    10:10:java.lang.Object clone():20989 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.getDefaultInstanceForType():21017:21017 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():20989 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.create():21002:21002 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder access$19500():20989 -> f
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.buildPartial():21029:21036 -> g
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21021 -> g
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21022:21022 -> g
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> g
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21023 -> g
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21023:21023 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression -> com.android.tools.r8.internal.WN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int memoizedSerializedSize -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression defaultInstance -> m
    int isInstanceTypeId_ -> h
    int flags_ -> d
    int valueParameterReference_ -> e
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue constantValue_ -> f
    byte memoizedIsInitialized -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type isInstanceType_ -> g
    java.util.List orArgument_ -> j
    java.util.List andArgument_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> n
    1:1328:void <clinit>():25388:26715 -> <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):25261:25261 -> <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):25261:25261 -> <init>
    3:504:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):25267:25768 -> <init>
    505:505:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):25268:25268 -> <init>
    506:1005:void <init>(boolean):25270:25270 -> <init>
    1006:1489:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25285:25768 -> <init>
    1490:1565:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25286:25361 -> <init>
    1566:1569:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25350:25353 -> <init>
    1570:1571:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25344:25345 -> <init>
    1572:1580:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25332:25340 -> <init>
    1581:1588:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25319:25326 -> <init>
    1589:1590:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25314:25315 -> <init>
    1591:1651:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25309:25369 -> <init>
    1652:1670:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25367:25385 -> <init>
    1671:1681:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25373:25383 -> <init>
    1:1:int access$24202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,int):25261:25261 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue access$24402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue):25261:25261 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$24502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):25261:25261 -> a
    4:4:java.util.List access$24700(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25261:25261 -> a
    5:5:java.util.List access$24702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,java.util.List):25261:25261 -> a
    6:28:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):25743:25765 -> a
    1:1:int access$24302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,int):25261:25261 -> b
    2:2:java.util.List access$24800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25261:25261 -> b
    3:3:java.util.List access$24802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,java.util.List):25261:25261 -> b
    4:8:boolean isInitialized():25715:25719 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getIsInstanceType():25556:25556 -> b
    9:9:boolean isInitialized():25720 -> b
    10:11:boolean isInitialized():25720:25721 -> b
    12:12:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getAndArgumentCount():25611:25611 -> b
    12:12:boolean isInitialized():25725 -> b
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getAndArgument(int):25623:25623 -> b
    13:13:boolean isInitialized():25726 -> b
    14:15:boolean isInitialized():25726:25727 -> b
    16:16:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getOrArgumentCount():25676:25676 -> b
    16:16:boolean isInitialized():25731 -> b
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getOrArgument(int):25688:25688 -> b
    17:17:boolean isInitialized():25732 -> b
    18:23:boolean isInitialized():25732:25737 -> b
    1:1:int access$24602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,int):25261:25261 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$25000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25261:25261 -> c
    3:36:int getSerializedSize():25770:25803 -> c
    1:1:int access$24902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,int):25261:25261 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder():25867:25867 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilderForType():25868 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():25261 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder():25867:25867 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.toBuilder():25872 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():25261 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870:25870 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.toBuilder():25872 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():25261 -> e
    1:1:java.util.List getAndArgumentList():25586:25586 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue getConstantValue():25531:25531 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression getDefaultInstance():25274:25274 -> i
    1:1:int getFlags():25491:25491 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getIsInstanceType():25556:25556 -> k
    1:1:int getIsInstanceTypeId():25571:25571 -> l
    1:1:java.util.List getOrArgumentList():25651:25651 -> m
    1:1:int getValueParameterReference():25516:25516 -> n
    1:1:boolean hasConstantValue():25525:25525 -> o
    1:1:boolean hasFlags():25480:25480 -> p
    1:1:boolean hasIsInstanceType():25545:25545 -> q
    1:1:boolean hasIsInstanceTypeId():25565:25565 -> r
    1:1:boolean hasValueParameterReference():25505:25505 -> s
    1:7:void initFields():25705:25711 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder newBuilder():25867:25867 -> u
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder():25867:25867 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder toBuilder():25872 -> v
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870:25870 -> v
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder toBuilder():25872 -> v
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$1 -> com.android.tools.r8.internal.TN:
    1:1:void <init>():25389:25389 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25394:25394 -> 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):25389 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder -> com.android.tools.r8.internal.UN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type isInstanceType_ -> g
    int isInstanceTypeId_ -> h
    java.util.List orArgument_ -> j
    java.util.List andArgument_ -> i
    int flags_ -> d
    int valueParameterReference_ -> e
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue constantValue_ -> f
    1:625:void <init>():25889:26513 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):25882:25882 -> a
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25973:25984 -> a
    14:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26258:26260 -> a
    14:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25984 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26260 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25984 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26260 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25984 -> a
    19:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26260:26266 -> a
    19:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25984 -> a
    26:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25986:25987 -> a
    28:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.setIsInstanceTypeId(int):26301:26302 -> a
    28:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25987 -> a
    30:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25989:25992 -> a
    34:36:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.ensureAndArgumentIsMutable():26319:26321 -> a
    34:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25994 -> a
    37:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25995:26002 -> a
    45:47:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.ensureOrArgumentIsMutable():26516:26518 -> a
    45:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):26004 -> a
    48:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):26005:26009 -> a
    53:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):26042:26048 -> a
    53:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25882 -> a
    60:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):26044:26048 -> a
    60:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25882 -> a
    65:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder setFlags(int):26087:26088 -> a
    67:70:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder setConstantValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue):26177:26180 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder setIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26229:26231 -> a
    74:76:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.ensureAndArgumentIsMutable():26319:26321 -> a
    74:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26444 -> a
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445:26445 -> a
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25927 -> a
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25928:25928 -> a
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445 -> a
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445:26445 -> a
    81:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    81:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> a
    81:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445 -> a
    82:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> a
    82:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder setValueParameterReference(int):26139:26140 -> b
    3:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.ensureOrArgumentIsMutable():26516:26518 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26641 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642:26642 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25927 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25928:25928 -> b
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642:26642 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25928 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():25882 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():25882 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():25882 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.create():25896:25896 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.clone():25919 -> clone
    1:1:java.lang.Object clone():25882 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.clone():25919:25919 -> clone
    2:2:java.lang.Object clone():25882 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.create():25896:25896 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder access$24000():25882 -> f
    1:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression buildPartial():25935:25968 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue -> com.android.tools.r8.internal.VN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue FALSE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue NULL -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue[] $VALUES -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue TRUE -> c
    int value -> b
    1:9:void <clinit>():25411:25419 -> <clinit>
    10:10:void <clinit>():25406:25406 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):25461:25462 -> <init>
    1:1:int getNumber():25436:25436 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25442:25442 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25441:25441 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25440:25440 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function -> com.android.tools.r8.internal.ZN:
    int receiverTypeId_ -> l
    java.util.List versionRequirement_ -> o
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function defaultInstance -> s
    int returnTypeId_ -> i
    int oldFlags_ -> f
    int name_ -> g
    int bitField0_ -> d
    int flags_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> t
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract contract_ -> p
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> h
    java.util.List typeParameter_ -> j
    byte memoizedIsInitialized -> q
    int memoizedSerializedSize -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    java.util.List valueParameter_ -> m
    1:1596:void <clinit>():14810:16405 -> <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):14621:14621 -> <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):14621:14621 -> <init>
    3:584:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):14628:15209 -> <init>
    585:585:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):14629:14629 -> <init>
    586:1165:void <init>(boolean):14631:14631 -> <init>
    1166:1729:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14646:15209 -> <init>
    1730:1863:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14647:14780 -> <init>
    1864:1873:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14758:14767 -> <init>
    1874:1877:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14751:14754 -> <init>
    1878:1886:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14738:14746 -> <init>
    1887:1888:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14732:14733 -> <init>
    1889:1890:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14727:14728 -> <init>
    1891:1892:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14722:14723 -> <init>
    1893:1896:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14715:14718 -> <init>
    1897:1905:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14702:14710 -> <init>
    1906:1909:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14694:14697 -> <init>
    1910:1918:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14681:14689 -> <init>
    1919:1920:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14675:14676 -> <init>
    1921:2039:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14670:14788 -> <init>
    2040:2061:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14786:14807 -> <init>
    2062:2077:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14792:14807 -> <init>
    1:1:boolean hasOldFlags():14877:14877 -> A
    1:1:boolean hasReceiverType():14972:14972 -> B
    1:1:boolean hasReceiverTypeId():14987:14987 -> C
    1:1:boolean hasReturnType():14907:14907 -> D
    1:1:boolean hasReturnTypeId():14922:14922 -> E
    1:1:boolean hasTypeTable():15037:15037 -> F
    1:12:void initFields():15096:15107 -> G
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder newBuilder():15334:15334 -> H
    1:1:int access$13802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$14102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):14621:14621 -> a
    3:3:java.util.List access$14300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):14621:14621 -> a
    4:4:java.util.List access$14302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,java.util.List):14621:14621 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable access$14702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):14621:14621 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract access$14902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):14621:14621 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getDefaultInstanceForType():14639:14639 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():14621 -> a
    8:49:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):15165:15206 -> a
    1:1:int access$13902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$14402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):14621:14621 -> b
    3:3:java.util.List access$14600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):14621:14621 -> b
    4:4:java.util.List access$14602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,java.util.List):14621:14621 -> b
    5:13:boolean isInitialized():15111:15119 -> b
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getReturnType():14913:14913 -> b
    14:14:boolean isInitialized():15120 -> b
    15:16:boolean isInitialized():15120:15121 -> b
    17:17:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getTypeParameterCount():14950:14950 -> b
    17:17:boolean isInitialized():15125 -> b
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getTypeParameter(int):14956:14956 -> b
    18:18:boolean isInitialized():15126 -> b
    19:24:boolean isInitialized():15126:15131 -> b
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getReceiverType():14978:14978 -> b
    25:25:boolean isInitialized():15132 -> b
    26:27:boolean isInitialized():15132:15133 -> b
    28:28:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getValueParameterCount():15015:15015 -> b
    28:28:boolean isInitialized():15137 -> b
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getValueParameter(int):15021:15021 -> b
    29:29:boolean isInitialized():15138 -> b
    30:35:boolean isInitialized():15138:15143 -> b
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getTypeTable():15043:15043 -> b
    36:36:boolean isInitialized():15144 -> b
    37:42:boolean isInitialized():15144:15149 -> b
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getContract():15092:15092 -> b
    43:43:boolean isInitialized():15150 -> b
    44:53:boolean isInitialized():15150:15159 -> b
    1:1:int access$14002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> c
    2:2:java.util.List access$14800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):14621:14621 -> c
    3:3:java.util.List access$14802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,java.util.List):14621:14621 -> c
    4:51:int getSerializedSize():15211:15258 -> c
    52:52:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getVersionRequirementList():15057:15057 -> c
    52:52:int getSerializedSize():15262 -> c
    53:61:int getSerializedSize():15262:15270 -> c
    1:1:int access$14202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$15100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):14621:14621 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilder():15334:15334 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilderForType():15335 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():14621 -> d
    1:1:int access$14502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilder():15334:15334 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15337 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.toBuilder():15339 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():14621 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15337:15337 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.toBuilder():15339 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():14621 -> e
    1:1:int access$15002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract getContract():15092:15092 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function getDefaultInstance():14635:14635 -> l
    1:1:int getFlags():14868:14868 -> m
    1:1:int getName():14898:14898 -> n
    1:1:int getOldFlags():14883:14883 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getReceiverType():14978:14978 -> p
    1:1:int getReceiverTypeId():14993:14993 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getReturnType():14913:14913 -> r
    1:1:int getReturnTypeId():14928:14928 -> s
    1:1:java.util.List getTypeParameterList():14937:14937 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable getTypeTable():15043:15043 -> u
    1:1:java.util.List getValueParameterList():15002:15002 -> v
    1:1:java.util.List getVersionRequirementList():15057:15057 -> w
    1:1:boolean hasContract():15086:15086 -> x
    1:1:boolean hasFlags():14847:14847 -> y
    1:1:boolean hasName():14892:14892 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$1 -> com.android.tools.r8.internal.XN:
    1:1:void <init>():14811:14811 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14816:14816 -> 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):14811 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder -> com.android.tools.r8.internal.YN:
    java.util.List versionRequirement_ -> p
    int receiverTypeId_ -> m
    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
    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
    java.util.List valueParameter_ -> n
    java.util.List typeParameter_ -> k
    1:991:void <init>():15350:16340 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):15344:15344 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15465:15470 -> a
    8:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.setOldFlags(int):15705:15706 -> a
    8:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15470 -> a
    10:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15472:15476 -> a
    15:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15791:15793 -> a
    15:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15476 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15793 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15476 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15793 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15476 -> a
    20:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15793:15799 -> a
    20:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15476 -> a
    27:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15478:15479 -> a
    29:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.setReturnTypeId(int):15829:15830 -> a
    29:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15479 -> a
    31:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15481:15484 -> a
    35:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureTypeParameterIsMutable():15847:15849 -> a
    35:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15486 -> a
    38:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15487:15492 -> a
    44:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16008:16010 -> a
    44:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15492 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16010 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15492 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16010 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15492 -> a
    49:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16010:16016 -> a
    49:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15492 -> a
    56:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15494:15495 -> a
    58:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.setReceiverTypeId(int):16046:16047 -> a
    58:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15495 -> a
    60:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15497:15500 -> a
    64:66:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureValueParameterIsMutable():16064:16066 -> a
    64:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15502 -> a
    67:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15503:15508 -> a
    73:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):16225:16227 -> a
    73:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15508 -> a
    76:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> a
    76:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> a
    76:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):16227 -> a
    76:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15508 -> a
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> a
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):16227 -> a
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15508 -> a
    78:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):16227:16233 -> a
    78:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15508 -> a
    85:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15510:15513 -> a
    89:91:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureVersionRequirementIsMutable():16248:16250 -> a
    89:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15515 -> a
    92:97:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15516:15521 -> a
    98:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16379:16381 -> a
    98:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15521 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder():23855:23855 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16381 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15521 -> a
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858:23858 -> a
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16381 -> a
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15521 -> a
    103:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16381:16387 -> a
    103:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15521 -> a
    110:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15523:15524 -> a
    112:118:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15583:15589 -> a
    112:118:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15344 -> a
    119:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15585:15589 -> a
    119:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15344 -> a
    124:126:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureTypeParameterIsMutable():15847:15849 -> a
    124:126:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15924 -> a
    127:127:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925:15925 -> a
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7811 -> a
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7812:7812 -> a
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925:15925 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925 -> a
    132:132:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> a
    132:132:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925 -> a
    133:135:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15989:15991 -> a
    136:138:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureValueParameterIsMutable():16064:16066 -> a
    136:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16141 -> a
    139:139:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142:16142 -> a
    140:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18807:18807 -> a
    140:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    141:141:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18808:18808 -> a
    141:141:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142 -> a
    142:142:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142:16142 -> a
    143:143:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    143:143:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809 -> a
    143:143:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142 -> a
    144:144:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> a
    144:144:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142 -> a
    145:147:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureVersionRequirementIsMutable():16248:16250 -> a
    145:147:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addVersionRequirement(int):16306 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addVersionRequirement(int):16307:16307 -> a
    149:151:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16360:16362 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setFlags(int):15658:15659 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15772:15774 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15398:15399 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():15344 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():15344 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400:15400 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():15344 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setName(int):15737:15738 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.create():15357:15357 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.clone():15390 -> clone
    1:1:java.lang.Object clone():15344 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.clone():15390:15390 -> clone
    2:2:java.lang.Object clone():15344 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.getDefaultInstanceForType():15394:15394 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():15344 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.create():15357:15357 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder access$13600():15344 -> f
    1:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function buildPartial():15406:15460 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind -> com.android.tools.r8.internal.aO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind DELEGATION -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind[] $VALUES -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind SYNTHESIZED -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind DECLARATION -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind FAKE_OVERRIDE -> d
    int value -> 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.internal.bO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality SEALED -> f
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality OPEN -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality ABSTRACT -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality FINAL -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality[] $VALUES -> g
    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.internal.eO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> i
    byte memoizedIsInitialized -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package defaultInstance -> l
    java.util.List property_ -> f
    java.util.List function_ -> e
    int memoizedSerializedSize -> k
    int bitField0_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> m
    java.util.List typeAlias_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    1:997:void <clinit>():11981:12977 -> <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):11856:11856 -> <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):11856:11856 -> <init>
    3:342:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):11863:12202 -> <init>
    343:343:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):11864:11864 -> <init>
    344:681:void <init>(boolean):11866:11866 -> <init>
    682:1003:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11881:12202 -> <init>
    1004:1073:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11882:11951 -> <init>
    1074:1082:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11930:11938 -> <init>
    1083:1086:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11922:11925 -> <init>
    1087:1090:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11914:11917 -> <init>
    1091:1144:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11906:11959 -> <init>
    1145:1166:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11957:11978 -> <init>
    1167:1182:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11963:11978 -> <init>
    1:1:java.util.List access$11300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):11856:11856 -> a
    2:2:java.util.List access$11302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,java.util.List):11856:11856 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable access$11602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11856:11856 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable access$11702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11856:11856 -> a
    5:5:int access$11802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,int):11856:11856 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getDefaultInstanceForType():11874:11874 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():11856 -> a
    7:27:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):12179:12199 -> a
    1:1:java.util.List access$11400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):11856:11856 -> b
    2:2:java.util.List access$11402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,java.util.List):11856:11856 -> b
    3:3:boolean isInitialized():12141:12141 -> b
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getFunctionCount():12016:12016 -> b
    4:4:boolean isInitialized():12145 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getFunction(int):12022:12022 -> b
    5:5:boolean isInitialized():12146 -> b
    6:7:boolean isInitialized():12146:12147 -> b
    8:8:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getPropertyCount():12051:12051 -> b
    8:8:boolean isInitialized():12151 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getProperty(int):12057:12057 -> b
    9:9:boolean isInitialized():12152 -> b
    10:11:boolean isInitialized():12152:12153 -> b
    12:12:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getTypeAliasCount():12086:12086 -> b
    12:12:boolean isInitialized():12157 -> b
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getTypeAlias(int):12092:12092 -> b
    13:13:boolean isInitialized():12158 -> b
    14:19:boolean isInitialized():12158:12163 -> b
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getTypeTable():12114:12114 -> b
    20:20:boolean isInitialized():12164 -> b
    21:30:boolean isInitialized():12164:12173 -> b
    1:1:java.util.List access$11500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):11856:11856 -> c
    2:2:java.util.List access$11502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,java.util.List):11856:11856 -> c
    3:29:int getSerializedSize():12204:12230 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$11900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):11856:11856 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilder():12294:12294 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilderForType():12295 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():11856 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilder():12294:12294 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12297 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.toBuilder():12299 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():11856 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12297:12297 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.toBuilder():12299 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():11856 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package getDefaultInstance():11870:11870 -> k
    1:1:java.util.List getFunctionList():12003:12003 -> l
    1:1:java.util.List getPropertyList():12038:12038 -> m
    1:1:java.util.List getTypeAliasList():12073:12073 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable getTypeTable():12114:12114 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable getVersionRequirementTable():12129:12129 -> p
    1:1:boolean hasTypeTable():12108:12108 -> q
    1:1:boolean hasVersionRequirementTable():12123:12123 -> r
    1:5:void initFields():12133:12137 -> s
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder newBuilder():12294:12294 -> t
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$1 -> com.android.tools.r8.internal.cO:
    1:1:void <init>():11982:11982 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11987:11987 -> 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):11982 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder -> com.android.tools.r8.internal.dO:
    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
    java.util.List function_ -> f
    java.util.List typeAlias_ -> h
    int bitField0_ -> e
    java.util.List property_ -> g
    1:603:void <init>():12310:12912 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):12304:12304 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12383:12387 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensureFunctionIsMutable():12480:12482 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12389 -> a
    10:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12390:12397 -> a
    18:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensurePropertyIsMutable():12605:12607 -> a
    18:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12399 -> a
    21:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12400:12407 -> a
    29:31:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensureTypeAliasIsMutable():12730:12732 -> a
    29:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12409 -> a
    32:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12410:12415 -> a
    38:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):12891:12893 -> a
    38:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12415 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):12893 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12415 -> a
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> a
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):12893 -> a
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12415 -> a
    43:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):12893:12899 -> a
    43:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12415 -> a
    50:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12417:12418 -> a
    52:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12951:12953 -> a
    52:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12418 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12953 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12418 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484:22484 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12953 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12418 -> a
    57:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12953:12959 -> a
    57:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12418 -> a
    64:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12420:12421 -> a
    66:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12464:12470 -> a
    66:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12304 -> a
    73:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12466:12470 -> a
    73:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12304 -> a
    78:80:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensureFunctionIsMutable():12480:12482 -> a
    78:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12557 -> a
    81:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558:12558 -> a
    82:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15398:15398 -> a
    82:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    83:83:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15399:15399 -> a
    83:83:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558 -> a
    84:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558:12558 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558 -> a
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400:15400 -> a
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558 -> a
    87:89:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensurePropertyIsMutable():12605:12607 -> a
    87:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12682 -> a
    90:90:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683:12683 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17361 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17362:17362 -> a
    92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683 -> a
    93:93:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683:12683 -> a
    94:94:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    94:94:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> a
    94:94:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683 -> a
    95:95:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
    95:95:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683 -> a
    96:98:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensureTypeAliasIsMutable():12730:12732 -> a
    96:98:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12807 -> a
    99:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808:12808 -> a
    100:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19966:19966 -> a
    100:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19967:19967 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808 -> a
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808:12808 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808 -> a
    104:104:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968:19968 -> a
    104:104:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808 -> a
    105:107:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder setVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12932:12934 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12344:12345 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():12304 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():12304 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346:12346 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():12304 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.create():12317:12317 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.clone():12336 -> clone
    1:1:java.lang.Object clone():12304 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.clone():12336:12336 -> clone
    2:2:java.lang.Object clone():12304 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.getDefaultInstanceForType():12340:12340 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():12304 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.create():12317:12317 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder access$11100():12304 -> f
    1:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package buildPartial():12352:12378 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property -> com.android.tools.r8.internal.hO:
    int getterFlags_ -> n
    int setterFlags_ -> o
    int receiverTypeId_ -> l
    java.util.List versionRequirement_ -> p
    int returnTypeId_ -> i
    int oldFlags_ -> f
    int name_ -> g
    int bitField0_ -> d
    int flags_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property defaultInstance -> s
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> t
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> h
    java.util.List typeParameter_ -> j
    byte memoizedIsInitialized -> q
    int memoizedSerializedSize -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter setterValueParameter_ -> m
    1:1501:void <clinit>():16779:18279 -> <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):16604:16604 -> <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):16604:16604 -> <init>
    3:564:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):16611:17172 -> <init>
    565:565:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):16612:16612 -> <init>
    566:1125:void <init>(boolean):16614:16614 -> <init>
    1126:1669:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16629:17172 -> <init>
    1670:1792:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16630:16752 -> <init>
    1793:1796:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16736:16739 -> <init>
    1797:1798:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16730:16731 -> <init>
    1799:1800:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16725:16726 -> <init>
    1801:1802:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16720:16721 -> <init>
    1803:1804:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16715:16716 -> <init>
    1805:1806:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16710:16711 -> <init>
    1807:1815:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16698:16706 -> <init>
    1816:1824:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16685:16693 -> <init>
    1825:1828:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16677:16680 -> <init>
    1829:1837:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16664:16672 -> <init>
    1838:1839:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16658:16659 -> <init>
    1840:1947:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16653:16760 -> <init>
    1948:1966:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16758:16776 -> <init>
    1967:1979:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16764:16776 -> <init>
    1:1:boolean hasOldFlags():16848:16848 -> A
    1:1:boolean hasReceiverType():16943:16943 -> B
    1:1:boolean hasReceiverTypeId():16958:16958 -> C
    1:1:boolean hasReturnType():16878:16878 -> D
    1:1:boolean hasReturnTypeId():16893:16893 -> E
    1:1:boolean hasSetterFlags():17027:17027 -> F
    1:1:boolean hasSetterValueParameter():16973:16973 -> G
    1:12:void initFields():17071:17082 -> H
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder newBuilder():17297:17297 -> I
    1:1:int access$15502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$15802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16604:16604 -> a
    3:3:java.util.List access$16000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):16604:16604 -> a
    4:4:java.util.List access$16002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,java.util.List):16604:16604 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter access$16302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):16604:16604 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getDefaultInstanceForType():16622:16622 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():16604 -> a
    7:48:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):17128:17169 -> a
    1:1:int access$15602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$16102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16604:16604 -> b
    3:3:java.util.List access$16600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):16604:16604 -> b
    4:4:java.util.List access$16602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,java.util.List):16604:16604 -> b
    5:13:boolean isInitialized():17086:17094 -> b
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getReturnType():16884:16884 -> b
    14:14:boolean isInitialized():17095 -> b
    15:16:boolean isInitialized():17095:17096 -> b
    17:17:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getTypeParameterCount():16921:16921 -> b
    17:17:boolean isInitialized():17100 -> b
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getTypeParameter(int):16927:16927 -> b
    18:18:boolean isInitialized():17101 -> b
    19:24:boolean isInitialized():17101:17106 -> b
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getReceiverType():16949:16949 -> b
    25:25:boolean isInitialized():17107 -> b
    26:31:boolean isInitialized():17107:17112 -> b
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getSetterValueParameter():16979:16979 -> b
    32:32:boolean isInitialized():17113 -> b
    33:42:boolean isInitialized():17113:17122 -> b
    1:1:int access$15702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$16800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):16604:16604 -> c
    3:54:int getSerializedSize():17174:17225 -> c
    55:55:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getVersionRequirementList():17047:17047 -> c
    55:55:int getSerializedSize():17229 -> c
    56:60:int getSerializedSize():17229:17233 -> c
    1:1:int access$15902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilder():17297:17297 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilderForType():17298 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():16604 -> d
    1:1:int access$16202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilder():17297:17297 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17300 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.toBuilder():17302 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():16604 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17300:17300 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.toBuilder():17302 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():16604 -> e
    1:1:int access$16402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> f
    1:1:int access$16502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> g
    1:1:int access$16702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property getDefaultInstance():16618:16618 -> k
    1:1:int getFlags():16839:16839 -> l
    1:1:int getGetterFlags():17018:17018 -> m
    1:1:int getName():16869:16869 -> n
    1:1:int getOldFlags():16854:16854 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getReceiverType():16949:16949 -> p
    1:1:int getReceiverTypeId():16964:16964 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getReturnType():16884:16884 -> r
    1:1:int getReturnTypeId():16899:16899 -> s
    1:1:int getSetterFlags():17033:17033 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter getSetterValueParameter():16979:16979 -> u
    1:1:java.util.List getTypeParameterList():16908:16908 -> v
    1:1:java.util.List getVersionRequirementList():17047:17047 -> w
    1:1:boolean hasFlags():16817:16817 -> x
    1:1:boolean hasGetterFlags():17000:17000 -> y
    1:1:boolean hasName():16863:16863 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$1 -> com.android.tools.r8.internal.fO:
    1:1:void <init>():16780:16780 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16785:16785 -> 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):16780 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder -> com.android.tools.r8.internal.gO:
    int getterFlags_ -> o
    java.util.List versionRequirement_ -> q
    int receiverTypeId_ -> m
    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
    int setterFlags_ -> p
    java.util.List typeParameter_ -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter setterValueParameter_ -> n
    1:868:void <init>():17313:18180 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):17307:17307 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17427:17432 -> a
    8:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.setOldFlags(int):17652:17653 -> a
    8:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17432 -> a
    10:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17434:17438 -> a
    15:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17738:17740 -> a
    15:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17438 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17740 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17438 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17740 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17438 -> a
    20:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17740:17746 -> a
    20:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17438 -> a
    27:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17440:17441 -> a
    29:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.setReturnTypeId(int):17776:17777 -> a
    29:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17441 -> a
    31:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17443:17446 -> a
    35:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.ensureTypeParameterIsMutable():17794:17796 -> a
    35:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17448 -> a
    38:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17449:17454 -> a
    44:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17955:17957 -> a
    44:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17454 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17957 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17454 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17957 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17454 -> a
    49:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17957:17963 -> a
    49:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17454 -> a
    56:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17456:17457 -> a
    58:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.setReceiverTypeId(int):17993:17994 -> a
    58:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17457 -> a
    60:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17459:17460 -> a
    62:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18047:18049 -> a
    62:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17460 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder():18755:18755 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18049 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17460 -> a
    66:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758:18758 -> a
    66:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18049 -> a
    66:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17460 -> a
    67:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18049:18055 -> a
    67:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17460 -> a
    74:83:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17462:17471 -> a
    84:86:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.ensureVersionRequirementIsMutable():18182:18184 -> a
    84:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17473 -> a
    87:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17474:17479 -> a
    93:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):17526:17532 -> a
    93:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):17307 -> a
    100:104:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):17528:17532 -> a
    100:104:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):17307 -> a
    105:107:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.ensureTypeParameterIsMutable():17794:17796 -> a
    105:107:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17871 -> a
    108:108:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872:17872 -> a
    109:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7811 -> a
    109:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7812:7812 -> a
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872:17872 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872 -> a
    113:113:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> a
    113:113:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872 -> a
    114:116:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17936:17938 -> a
    117:119:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18028:18030 -> a
    120:122:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.ensureVersionRequirementIsMutable():18182:18184 -> a
    120:122:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addVersionRequirement(int):18240 -> a
    123:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addVersionRequirement(int):18241:18241 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setFlags(int):17604:17605 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17719:17721 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17362 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():17307 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():17307 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():17307 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setGetterFlags(int):18121:18122 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.create():17320:17320 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.clone():17353 -> clone
    1:1:java.lang.Object clone():17307 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.clone():17353:17353 -> clone
    2:2:java.lang.Object clone():17307 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.getDefaultInstanceForType():17357:17357 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():17307 -> d
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setName(int):17684:17685 -> d
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setSetterFlags(int):18165:18166 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.create():17320:17320 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder access$15300():17307 -> f
    1:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property buildPartial():17369:17422 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type -> com.android.tools.r8.internal.oO:
    int outerTypeId_ -> o
    int typeParameterName_ -> l
    int typeAliasName_ -> m
    int className_ -> j
    int typeParameter_ -> k
    int flexibleUpperBoundId_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type defaultInstance -> u
    int flexibleTypeCapabilitiesId_ -> g
    int bitField0_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type abbreviatedType_ -> p
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type outerType_ -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> v
    java.util.List argument_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type flexibleUpperBound_ -> h
    boolean nullable_ -> f
    int memoizedSerializedSize -> t
    byte memoizedIsInitialized -> s
    int flags_ -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    int abbreviatedTypeId_ -> q
    1:2209:void <clinit>():4973:7181 -> <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):4807:4807 -> <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):4807:4807 -> <init>
    3:1248:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):4814:6059 -> <init>
    1249:1249:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):4815:4815 -> <init>
    1250:2493:void <init>(boolean):4817:4817 -> <init>
    2494:3721:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4832:6059 -> <init>
    3722:3838:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4833:4949 -> <init>
    3839:3847:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4936:4944 -> <init>
    3848:3849:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4930:4931 -> <init>
    3850:3851:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4925:4926 -> <init>
    3852:3860:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4913:4921 -> <init>
    3861:3862:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4907:4908 -> <init>
    3863:3864:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4902:4903 -> <init>
    3865:3866:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4897:4898 -> <init>
    3867:3868:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4892:4893 -> <init>
    3869:3877:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4880:4888 -> <init>
    3878:3879:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4874:4875 -> <init>
    3880:3881:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4869:4870 -> <init>
    3882:3885:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4862:4865 -> <init>
    3886:3987:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4856:4957 -> <init>
    3988:4003:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4955:4970 -> <init>
    4004:4013:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4961:4970 -> <init>
    1:1:boolean hasAbbreviatedTypeId():5919:5919 -> A
    1:1:boolean hasClassName():5780:5780 -> B
    1:1:boolean hasFlags():5939:5939 -> C
    1:1:boolean hasFlexibleTypeCapabilitiesId():5730:5730 -> D
    1:1:boolean hasFlexibleUpperBound():5750:5750 -> E
    1:1:boolean hasFlexibleUpperBoundId():5765:5765 -> F
    1:1:boolean hasNullable():5710:5710 -> G
    1:1:boolean hasOuterType():5870:5870 -> H
    1:1:boolean hasOuterTypeId():5889:5889 -> I
    1:1:boolean hasTypeAliasName():5846:5846 -> J
    1:1:boolean hasTypeParameter():5799:5799 -> K
    1:1:boolean hasTypeParameterName():5822:5822 -> L
    1:3:void initFields():5954:5956 -> M
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getDefaultInstance():4821:4821 -> M
    4:4:void initFields():5957 -> M
    5:15:void initFields():5957:5967 -> M
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder newBuilder():6187:6187 -> N
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> O
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> O
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder toBuilder():6192 -> O
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> O
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder toBuilder():6192 -> O
    1:1:java.util.List access$5900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> a
    2:2:java.util.List access$5902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,java.util.List):4807:4807 -> a
    3:3:boolean access$6002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,boolean):4807:4807 -> a
    4:4:int access$6102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$6202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getDefaultInstanceForType():4825:4825 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():4807 -> a
    7:54:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):6009:6056 -> a
    1:1:int access$6302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$6802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$7400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> b
    4:4:boolean isInitialized():5971:5971 -> b
    5:5:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getArgumentCount():5688:5688 -> b
    5:5:boolean isInitialized():5975 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getArgument(int):5694:5694 -> b
    6:6:boolean isInitialized():5976 -> b
    7:12:boolean isInitialized():5976:5981 -> b
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getFlexibleUpperBound():5756:5756 -> b
    13:13:boolean isInitialized():5982 -> b
    14:19:boolean isInitialized():5982:5987 -> b
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getOuterType():5880:5880 -> b
    20:20:boolean isInitialized():5988 -> b
    21:26:boolean isInitialized():5988:5993 -> b
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getAbbreviatedType():5910:5910 -> b
    27:27:boolean isInitialized():5994 -> b
    28:37:boolean isInitialized():5994:6003 -> b
    1:1:int access$6402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$7002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> c
    3:15:int getSerializedSize():6061:6073 -> c
    16:16:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBoolSize(int,boolean):587:587 -> c
    16:16:int getSerializedSize():6074 -> c
    17:63:int getSerializedSize():6077:6123 -> c
    1:1:int access$6502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilderForType():6188 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():4807 -> d
    1:1:int access$6602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.toBuilder():6192 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():4807 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.toBuilder():6192 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():4807 -> e
    1:1:int access$6702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> f
    1:1:int access$6902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> g
    1:1:int access$7102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> h
    1:1:int access$7202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> i
    1:1:int access$7302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getAbbreviatedType():5910:5910 -> k
    1:1:int getAbbreviatedTypeId():5925:5925 -> l
    1:1:java.util.List getArgumentList():5675:5675 -> m
    1:1:int getClassName():5786:5786 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getDefaultInstance():4821:4821 -> o
    1:1:int getFlags():5950:5950 -> p
    1:1:int getFlexibleTypeCapabilitiesId():5741:5741 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getFlexibleUpperBound():5756:5756 -> r
    1:1:int getFlexibleUpperBoundId():5771:5771 -> s
    1:1:boolean getNullable():5716:5716 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getOuterType():5880:5880 -> u
    1:1:int getOuterTypeId():5895:5895 -> v
    1:1:int getTypeAliasName():5857:5857 -> w
    1:1:int getTypeParameter():5809:5809 -> x
    1:1:int getTypeParameterName():5832:5832 -> y
    1:1:boolean hasAbbreviatedType():5904:5904 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$1 -> com.android.tools.r8.internal.iO:
    1:1:void <init>():4974:4974 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4979:4979 -> 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):4974 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument -> com.android.tools.r8.internal.mO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument defaultInstance -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int memoizedSerializedSize -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection projection_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> e
    int typeId_ -> f
    int bitField0_ -> c
    byte memoizedIsInitialized -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> j
    1:538:void <clinit>():5125:5662 -> <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):5030:5030 -> <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):5030:5030 -> <init>
    3:271:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):5036:5304 -> <init>
    272:272:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):5037:5037 -> <init>
    273:539:void <init>(boolean):5039:5039 -> <init>
    540:790:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5054:5304 -> <init>
    791:840:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5055:5104 -> <init>
    841:849:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5091:5099 -> <init>
    850:884:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5078:5112 -> <init>
    885:897:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5110:5122 -> <init>
    898:902:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5116:5120 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection access$5202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection):5030:5030 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$5302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5030:5030 -> a
    3:3:int access$5402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument,int):5030:5030 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$5600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5030:5030 -> a
    5:15:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):5291:5301 -> a
    1:1:int access$5502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument,int):5030:5030 -> b
    2:6:boolean isInitialized():5275:5279 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.getType():5250:5250 -> b
    7:7:boolean isInitialized():5280 -> b
    8:13:boolean isInitialized():5280:5285 -> b
    1:18:int getSerializedSize():5306:5323 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilder():5387:5387 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilderForType():5388 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():5030 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilder():5387:5387 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5390 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.toBuilder():5392 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():5030 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5390:5390 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.toBuilder():5392 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():5030 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument getDefaultInstance():5043:5043 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection getProjection():5227:5227 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getType():5250:5250 -> i
    1:1:int getTypeId():5265:5265 -> j
    1:1:boolean hasProjection():5221:5221 -> k
    1:1:boolean hasType():5240:5240 -> l
    1:1:boolean hasTypeId():5259:5259 -> m
    1:3:void initFields():5269:5271 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder newBuilder():5387:5387 -> o
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$1 -> com.android.tools.r8.internal.jO:
    1:1:void <init>():5126:5126 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5131:5131 -> 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):5126 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder -> com.android.tools.r8.internal.kO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection projection_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> e
    int typeId_ -> f
    int bitField0_ -> c
    1:138:void <init>():5404:5541 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):5397:5397 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5462:5467 -> a
    8:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5600:5602 -> a
    8:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5467 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5602 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5467 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5602 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5467 -> a
    13:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5602:5608 -> a
    13:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5467 -> a
    20:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5469:5470 -> a
    22:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.setTypeId(int):5642:5643 -> a
    22:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5470 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5472:5472 -> a
    25:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5493:5499 -> a
    25:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5397 -> a
    32:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5495:5499 -> a
    32:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5397 -> a
    37:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder setProjection(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection):5524:5527 -> a
    41:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder setType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5573:5575 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5434:5435 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():5397 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5436 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():5397 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5436:5436 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():5397 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.create():5411:5411 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.clone():5426 -> clone
    1:1:java.lang.Object clone():5397 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.clone():5426:5426 -> clone
    2:2:java.lang.Object clone():5397 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.create():5411:5411 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder access$5000():5397 -> f
    1:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument buildPartial():5442:5457 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection -> com.android.tools.r8.internal.lO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection INV -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection STAR -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection IN -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection OUT -> d
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection[] $VALUES -> g
    1:13:void <clinit>():5148:5160 -> <clinit>
    14:14:void <clinit>():5143:5143 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):5207:5208 -> <init>
    1:1:int getNumber():5181:5181 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5188:5188 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5187:5187 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5186:5186 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5185:5185 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder -> com.android.tools.r8.internal.nO:
    int typeAliasName_ -> n
    int typeParameter_ -> l
    int typeParameterName_ -> m
    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
    int abbreviatedTypeId_ -> r
    int flags_ -> s
    int outerTypeId_ -> p
    1:830:void <init>():6203:7032 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):6197:6197 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6328:6332 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.ensureArgumentIsMutable():6438:6440 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6334 -> a
    10:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6335:6346 -> a
    22:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6683:6685 -> a
    22:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6346 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.access$5700():6197 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6685 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6346 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6685 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6346 -> a
    27:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6685:6691 -> a
    27:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6346 -> a
    34:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6348:6349 -> a
    36:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.setFlexibleUpperBoundId(int):6721:6722 -> a
    36:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6349 -> a
    38:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6351:6358 -> a
    46:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.setTypeParameterName(int):6845:6846 -> a
    46:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6358 -> a
    48:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6360:6364 -> a
    53:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6975:6977 -> a
    53:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6364 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.access$5700():6197 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6977 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6364 -> a
    57:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    57:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6977 -> a
    57:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6364 -> a
    58:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6977:6983 -> a
    58:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6364 -> a
    65:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6366:6367 -> a
    67:68:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.setOuterTypeId(int):7017:7018 -> a
    67:68:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6367 -> a
    69:70:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6369:6370 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7071:7073 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6370 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.access$5700():6197 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7073 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6370 -> a
    75:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    75:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7073 -> a
    75:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6370 -> a
    76:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7073:7079 -> a
    76:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6370 -> a
    83:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6372:6373 -> a
    85:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.setAbbreviatedTypeId(int):7109:7110 -> a
    85:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6373 -> a
    87:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6375:6379 -> a
    92:98:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):6422:6428 -> a
    92:98:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):6197 -> a
    99:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):6424:6428 -> a
    99:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):6197 -> a
    104:106:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.ensureArgumentIsMutable():6438:6440 -> a
    104:106:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6515 -> a
    107:107:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516:6516 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5434:5435 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516 -> a
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516:6516 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5436 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5436:5436 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516 -> a
    113:114:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setNullable(boolean):6577:6578 -> a
    115:116:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setClassName(int):6753:6754 -> a
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7052:7054 -> b
    4:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setFlags(int):7156:7157 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():6197:6197 -> c
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setFlexibleTypeCapabilitiesId(int):6624:6625 -> c
    4:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6664:6666 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.clone():6247 -> clone
    1:1:java.lang.Object clone():6197 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.clone():6247:6247 -> clone
    2:2:java.lang.Object clone():6197 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.getDefaultInstanceForType():6251:6251 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():6197 -> d
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setTypeAliasName(int):6896:6897 -> d
    4:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6948:6950 -> d
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setTypeParameter(int):6797:6798 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder access$5700():6197 -> f
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type build():6255:6256 -> g
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> g
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type build():6257 -> g
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type build():6257:6257 -> g
    1:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type buildPartial():6263:6323 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias -> com.android.tools.r8.internal.rO:
    int memoizedSerializedSize -> o
    int expandedTypeId_ -> k
    int underlyingTypeId_ -> i
    int name_ -> f
    int bitField0_ -> d
    int flags_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias defaultInstance -> p
    byte memoizedIsInitialized -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type expandedType_ -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> q
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type underlyingType_ -> h
    java.util.List typeParameter_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    java.util.List versionRequirement_ -> m
    java.util.List annotation_ -> l
    1:1264:void <clinit>():19485:20748 -> <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):19327:19327 -> <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):19327:19327 -> <init>
    3:464:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):19334:19795 -> <init>
    465:465:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):19335:19335 -> <init>
    466:925:void <init>(boolean):19337:19337 -> <init>
    926:1369:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19352:19795 -> <init>
    1370:1472:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19353:19455 -> <init>
    1473:1476:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19439:19442 -> <init>
    1477:1480:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19431:19434 -> <init>
    1481:1482:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19425:19426 -> <init>
    1483:1491:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19413:19421 -> <init>
    1492:1493:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19407:19408 -> <init>
    1494:1502:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19395:19403 -> <init>
    1503:1506:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19387:19390 -> <init>
    1507:1508:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19381:19382 -> <init>
    1509:1596:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19376:19463 -> <init>
    1597:1618:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19461:19482 -> <init>
    1619:1634:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19467:19482 -> <init>
    1:9:void initFields():19706:19714 -> A
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder newBuilder():19908:19908 -> B
    1:1:int access$18302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> a
    2:2:java.util.List access$18500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19327:19327 -> a
    3:3:java.util.List access$18502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,java.util.List):19327:19327 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$18602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19327:19327 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getDefaultInstanceForType():19345:19345 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():19327 -> a
    6:38:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):19760:19792 -> a
    1:1:int access$18402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$18802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19327:19327 -> b
    3:3:java.util.List access$19000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19327:19327 -> b
    4:4:java.util.List access$19002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,java.util.List):19327:19327 -> b
    5:10:boolean isInitialized():19718:19723 -> b
    11:11:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getTypeParameterCount():19560:19560 -> b
    11:11:boolean isInitialized():19726 -> b
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getTypeParameter(int):19566:19566 -> b
    12:12:boolean isInitialized():19727 -> b
    13:18:boolean isInitialized():19727:19732 -> b
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getUnderlyingType():19588:19588 -> b
    19:19:boolean isInitialized():19733 -> b
    20:25:boolean isInitialized():19733:19738 -> b
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getExpandedType():19618:19618 -> b
    26:26:boolean isInitialized():19739 -> b
    27:28:boolean isInitialized():19739:19740 -> b
    29:29:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getAnnotationCount():19655:19655 -> b
    29:29:boolean isInitialized():19744 -> b
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getAnnotation(int):19661:19661 -> b
    30:30:boolean isInitialized():19745 -> b
    31:40:boolean isInitialized():19745:19754 -> b
    1:1:int access$18702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> c
    2:2:java.util.List access$19100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19327:19327 -> c
    3:3:java.util.List access$19102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,java.util.List):19327:19327 -> c
    4:43:int getSerializedSize():19797:19836 -> c
    44:44:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getVersionRequirementList():19682:19682 -> c
    44:44:int getSerializedSize():19840 -> c
    45:49:int getSerializedSize():19840:19844 -> c
    1:1:int access$18902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$19300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19327:19327 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilder():19908:19908 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilderForType():19909 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():19327 -> d
    1:1:int access$19202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilder():19908:19908 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19911 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.toBuilder():19913 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():19327 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19911:19911 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.toBuilder():19913 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():19327 -> e
    1:1:java.util.List getAnnotationList():19642:19642 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias getDefaultInstance():19341:19341 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getExpandedType():19618:19618 -> m
    1:1:int getExpandedTypeId():19633:19633 -> n
    1:1:int getFlags():19523:19523 -> o
    1:1:int getName():19538:19538 -> p
    1:1:java.util.List getTypeParameterList():19547:19547 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getUnderlyingType():19588:19588 -> r
    1:1:int getUnderlyingTypeId():19603:19603 -> s
    1:1:java.util.List getVersionRequirementList():19682:19682 -> t
    1:1:boolean hasExpandedType():19612:19612 -> u
    1:1:boolean hasExpandedTypeId():19627:19627 -> v
    1:1:boolean hasFlags():19512:19512 -> w
    1:1:boolean hasName():19532:19532 -> x
    1:1:boolean hasUnderlyingType():19582:19582 -> y
    1:1:boolean hasUnderlyingTypeId():19597:19597 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$1 -> com.android.tools.r8.internal.pO:
    1:1:void <init>():19486:19486 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19491:19491 -> 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):19486 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder -> com.android.tools.r8.internal.qO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type expandedType_ -> k
    int expandedTypeId_ -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type underlyingType_ -> i
    int underlyingTypeId_ -> j
    int flags_ -> f
    int name_ -> g
    java.util.List typeParameter_ -> h
    int bitField0_ -> e
    java.util.List versionRequirement_ -> n
    java.util.List annotation_ -> m
    1:726:void <init>():19924:20649 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):19918:19918 -> a
    2:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20021:20031 -> a
    13:15:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureTypeParameterIsMutable():20218:20220 -> a
    13:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20033 -> a
    16:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20034:20039 -> a
    22:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20379:20381 -> a
    22:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20039 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20381 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20039 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20381 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20039 -> a
    27:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20381:20387 -> a
    27:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20039 -> a
    34:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20041:20042 -> a
    36:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.setUnderlyingTypeId(int):20417:20418 -> a
    36:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20042 -> a
    38:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20044:20045 -> a
    40:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20471:20473 -> a
    40:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20045 -> a
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20473 -> a
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20045 -> a
    44:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    44:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20473 -> a
    44:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20045 -> a
    45:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20473:20479 -> a
    45:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20045 -> a
    52:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20047:20048 -> a
    54:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.setExpandedTypeId(int):20509:20510 -> a
    54:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20048 -> a
    56:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20050:20053 -> a
    60:62:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureAnnotationIsMutable():20527:20529 -> a
    60:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20055 -> a
    63:70:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20056:20063 -> a
    71:73:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureVersionRequirementIsMutable():20651:20653 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20065 -> a
    74:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20066:20071 -> a
    80:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20118:20124 -> a
    80:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19918 -> a
    87:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20120:20124 -> a
    87:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19918 -> a
    92:94:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureTypeParameterIsMutable():20218:20220 -> a
    92:94:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20295 -> a
    95:95:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296:20296 -> a
    96:96:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7811 -> a
    96:96:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    97:97:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7812:7812 -> a
    97:97:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296 -> a
    98:98:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296:20296 -> a
    99:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    99:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> a
    99:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296 -> a
    100:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> a
    100:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296 -> a
    101:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder setExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20452:20454 -> a
    104:106:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureAnnotationIsMutable():20527:20529 -> a
    104:106:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20604 -> a
    107:107:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605:20605 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605 -> a
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605:20605 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605 -> a
    113:115:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureVersionRequirementIsMutable():20651:20653 -> a
    113:115:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addVersionRequirement(int):20709 -> a
    116:116:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addVersionRequirement(int):20710:20710 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder setFlags(int):20163:20164 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder setUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20360:20362 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19966:19967 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():19918 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():19918 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968:19968 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():19918 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder setName(int):20200:20201 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.create():19931:19931 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.clone():19958 -> clone
    1:1:java.lang.Object clone():19918 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.clone():19958:19958 -> clone
    2:2:java.lang.Object clone():19918 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.getDefaultInstanceForType():19962:19962 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():19918 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.create():19931:19931 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder access$18100():19918 -> f
    1:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias buildPartial():19974:20016 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter -> com.android.tools.r8.internal.vO:
    int memoizedSerializedSize -> m
    int upperBoundIdMemoizedSerializedSize -> k
    int name_ -> f
    int bitField0_ -> d
    int id_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance variance_ -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter defaultInstance -> n
    byte memoizedIsInitialized -> l
    java.util.List upperBoundId_ -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> o
    java.util.List upperBound_ -> i
    boolean reified_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    1:875:void <clinit>():7386:8260 -> <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):7258:7258 -> <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):7258:7258 -> <init>
    3:391:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):7265:7653 -> <init>
    392:392:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):7266:7266 -> <init>
    393:779:void <init>(boolean):7268:7268 -> <init>
    780:1150:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7283:7653 -> <init>
    1151:1226:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7284:7359 -> <init>
    1227:1230:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7343:7346 -> <init>
    1231:1234:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7335:7338 -> <init>
    1235:1242:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7322:7329 -> <init>
    1243:1244:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7317:7318 -> <init>
    1245:1246:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7312:7313 -> <init>
    1247:1307:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7307:7367 -> <init>
    1308:1326:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7365:7383 -> <init>
    1327:1339:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7371:7383 -> <init>
    1:1:int access$7802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,int):7258:7258 -> a
    2:2:boolean access$8002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,boolean):7258:7258 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance access$8102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance):7258:7258 -> a
    4:4:java.util.List access$8200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7258:7258 -> a
    5:5:java.util.List access$8202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,java.util.List):7258:7258 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getDefaultInstanceForType():7276:7276 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():7258 -> a
    7:24:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):7623:7640 -> a
    25:25:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getUpperBoundIdList():7569:7569 -> a
    25:25:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):7642 -> a
    26:34:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):7642:7650 -> a
    1:1:int access$7902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,int):7258:7258 -> b
    2:2:java.util.List access$8300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7258:7258 -> b
    3:3:java.util.List access$8302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,java.util.List):7258:7258 -> b
    4:13:boolean isInitialized():7595:7604 -> b
    14:14:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getUpperBoundCount():7546:7546 -> b
    14:14:boolean isInitialized():7607 -> b
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getUpperBound(int):7552:7552 -> b
    15:15:boolean isInitialized():7608 -> b
    16:25:boolean isInitialized():7608:7617 -> b
    1:1:int access$8402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,int):7258:7258 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$8500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7258:7258 -> c
    3:15:int getSerializedSize():7655:7667 -> c
    16:16:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBoolSize(int,boolean):587:587 -> c
    16:16:int getSerializedSize():7668 -> c
    17:28:int getSerializedSize():7671:7682 -> c
    29:29:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getUpperBoundIdList():7569:7569 -> c
    29:29:int getSerializedSize():7686 -> c
    30:39:int getSerializedSize():7686:7695 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilder():7759:7759 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilderForType():7760 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():7258 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilder():7759:7759 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7762 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.toBuilder():7764 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():7258 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7762:7762 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.toBuilder():7764 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():7258 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter getDefaultInstance():7272:7272 -> k
    1:1:int getId():7479:7479 -> l
    1:1:int getName():7494:7494 -> m
    1:1:boolean getReified():7509:7509 -> n
    1:1:java.util.List getUpperBoundIdList():7569:7569 -> o
    1:1:java.util.List getUpperBoundList():7533:7533 -> p
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance getVariance():7524:7524 -> q
    1:1:boolean hasId():7473:7473 -> r
    1:1:boolean hasName():7488:7488 -> s
    1:1:boolean hasReified():7503:7503 -> t
    1:1:boolean hasVariance():7518:7518 -> u
    1:6:void initFields():7586:7591 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder newBuilder():7759:7759 -> w
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$1 -> com.android.tools.r8.internal.sO:
    1:1:void <init>():7387:7387 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7392:7392 -> 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):7387 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder -> com.android.tools.r8.internal.tO:
    int id_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance variance_ -> i
    java.util.List upperBound_ -> j
    int name_ -> g
    int bitField0_ -> e
    boolean reified_ -> h
    java.util.List upperBoundId_ -> k
    1:415:void <init>():7775:8189 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):7769:7769 -> a
    2:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7853:7869 -> a
    19:21:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.ensureUpperBoundIsMutable():8067:8069 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7871 -> a
    22:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7872:7879 -> a
    30:32:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.ensureUpperBoundIdIsMutable():8191:8193 -> a
    30:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7881 -> a
    33:38:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7882:7887 -> a
    39:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7920:7926 -> a
    39:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7769 -> a
    46:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7922:7926 -> a
    46:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7769 -> a
    51:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder setId(int):7950:7951 -> a
    53:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder setReified(boolean):8014:8015 -> a
    55:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder setVariance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance):8047:8050 -> a
    59:61:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.ensureUpperBoundIsMutable():8067:8069 -> a
    59:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder addUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):8144 -> a
    62:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder addUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):8145:8145 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder setName(int):7982:7983 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7812 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():7769 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():7769 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():7769 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.create():7782:7782 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.clone():7803 -> clone
    1:1:java.lang.Object clone():7769 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.clone():7803:7803 -> clone
    2:2:java.lang.Object clone():7769 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.getDefaultInstanceForType():7807:7807 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():7769 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.create():7782:7782 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder access$7600():7769 -> f
    1:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter buildPartial():7819:7848 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance -> com.android.tools.r8.internal.uO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance[] $VALUES -> f
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance INV -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance IN -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance OUT -> d
    1:9:void <clinit>():7409:7417 -> <clinit>
    10:10:void <clinit>():7404:7404 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):7459:7460 -> <init>
    1:1:int getNumber():7434:7434 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7440:7440 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7439:7439 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7438:7438 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable -> com.android.tools.r8.internal.yO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List type_ -> d
    int memoizedSerializedSize -> g
    int firstNullable_ -> e
    byte memoizedIsInitialized -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable defaultInstance -> h
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:488:void <clinit>():13104:13591 -> <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):13023:13023 -> <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):13023:13023 -> <init>
    3:186:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):13029:13212 -> <init>
    187:187:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):13030:13030 -> <init>
    188:369:void <init>(boolean):13032:13032 -> <init>
    370:535:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13047:13212 -> <init>
    536:568:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13048:13080 -> <init>
    569:585:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13072:13088 -> <init>
    586:601:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13086:13101 -> <init>
    602:609:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13092:13099 -> <init>
    1:1:java.util.List access$12300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13023:13023 -> a
    2:2:java.util.List access$12302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable,java.util.List):13023:13023 -> a
    3:3:int access$12402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable,int):13023:13023 -> a
    4:11:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):13202:13209 -> a
    1:1:int access$12502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable,int):13023:13023 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$12600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13023:13023 -> b
    3:3:boolean isInitialized():13186:13186 -> b
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.getTypeCount():13139:13139 -> b
    4:4:boolean isInitialized():13190 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.getType(int):13145:13145 -> b
    5:5:boolean isInitialized():13191 -> b
    6:11:boolean isInitialized():13191:13196 -> b
    1:14:int getSerializedSize():13214:13227 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilderForType():13292 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():13023 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.toBuilder():13296 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():13023 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.toBuilder():13296 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():13023 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable getDefaultInstance():13036:13036 -> g
    1:1:int getFirstNullable():13177:13177 -> h
    1:1:java.util.List getTypeList():13126:13126 -> i
    1:1:boolean hasFirstNullable():13166:13166 -> j
    1:2:void initFields():13181:13182 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder toBuilder():13296 -> l
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> l
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder toBuilder():13296 -> l
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$1 -> com.android.tools.r8.internal.wO:
    1:1:void <init>():13105:13105 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13110:13110 -> 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):13105 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder -> com.android.tools.r8.internal.xO:
    java.util.List type_ -> d
    int firstNullable_ -> e
    int bitField0_ -> c
    1:227:void <init>():13308:13534 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):13301:13301 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13361:13365 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.ensureTypeIsMutable():13412:13414 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13367 -> a
    10:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13368:13373 -> a
    16:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.setFirstNullable(int):13566:13567 -> a
    16:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13373 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13375:13375 -> a
    19:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13396:13402 -> a
    19:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13301 -> a
    26:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13398:13402 -> a
    26:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13301 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.build():13336:13337 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():13301 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.build():13338 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():13301 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.build():13338:13338 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():13301 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.create():13315:13315 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.clone():13328 -> clone
    1:1:java.lang.Object clone():13301 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.clone():13328:13328 -> clone
    2:2:java.lang.Object clone():13301 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.create():13315:13315 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder access$12100():13301 -> f
    1:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable buildPartial():13344:13356 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter -> com.android.tools.r8.internal.BO:
    int memoizedSerializedSize -> l
    byte memoizedIsInitialized -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type varargElementType_ -> i
    int varargElementTypeId_ -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> g
    int typeId_ -> h
    int name_ -> f
    int bitField0_ -> d
    int flags_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter defaultInstance -> m
    1:724:void <clinit>():18473:19196 -> <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):18361:18361 -> <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):18361:18361 -> <init>
    3:294:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):18368:18659 -> <init>
    295:295:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):18369:18369 -> <init>
    296:585:void <init>(boolean):18371:18371 -> <init>
    586:859:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18386:18659 -> <init>
    860:925:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18387:18452 -> <init>
    926:927:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18446:18447 -> <init>
    928:936:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18434:18442 -> <init>
    937:945:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18421:18429 -> <init>
    946:947:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18415:18416 -> <init>
    948:998:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18410:18460 -> <init>
    999:1011:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18458:18470 -> <init>
    1012:1018:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18464:18470 -> <init>
    1:1:int access$17202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$17402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):18361:18361 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$17900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18361:18361 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.getDefaultInstanceForType():18379:18379 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():18361 -> a
    5:28:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):18633:18656 -> a
    1:1:int access$17302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$17602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):18361:18361 -> b
    3:11:boolean isInitialized():18603:18611 -> b
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.getType():18545:18545 -> b
    12:12:boolean isInitialized():18612 -> b
    13:18:boolean isInitialized():18612:18617 -> b
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.getVarargElementType():18575:18575 -> b
    19:19:boolean isInitialized():18618 -> b
    20:29:boolean isInitialized():18618:18627 -> b
    1:1:int access$17502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> c
    2:32:int getSerializedSize():18661:18691 -> c
    1:1:int access$17702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder():18755:18755 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilderForType():18756 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():18361 -> d
    1:1:int access$17802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder():18755:18755 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.toBuilder():18760 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():18361 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758:18758 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.toBuilder():18760 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():18361 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter getDefaultInstance():18375:18375 -> k
    1:1:int getFlags():18515:18515 -> l
    1:1:int getName():18530:18530 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getType():18545:18545 -> n
    1:1:int getTypeId():18560:18560 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getVarargElementType():18575:18575 -> p
    1:1:int getVarargElementTypeId():18590:18590 -> q
    1:1:boolean hasFlags():18502:18502 -> r
    1:1:boolean hasName():18524:18524 -> s
    1:1:boolean hasType():18539:18539 -> t
    1:1:boolean hasTypeId():18554:18554 -> u
    1:1:boolean hasVarargElementType():18569:18569 -> v
    1:1:boolean hasVarargElementTypeId():18584:18584 -> w
    1:6:void initFields():18594:18599 -> x
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder newBuilder():18755:18755 -> y
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder():18755:18755 -> z
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758 -> z
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder toBuilder():18760 -> z
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758:18758 -> z
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder toBuilder():18760 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$1 -> com.android.tools.r8.internal.zO:
    1:1:void <init>():18474:18474 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18479:18479 -> 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):18474 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder -> com.android.tools.r8.internal.AO:
    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
    int bitField0_ -> e
    1:329:void <init>():18771:19099 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):18765:18765 -> a
    2:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18847:18855 -> a
    11:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19046:19048 -> a
    11:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18855 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19048 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18855 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19048 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18855 -> a
    16:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19048:19054 -> a
    16:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18855 -> a
    23:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18857:18858 -> a
    25:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.setTypeId(int):19084:19085 -> a
    25:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18858 -> a
    27:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18860:18861 -> a
    29:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19138:19140 -> a
    29:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18861 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19140 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18861 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19140 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18861 -> a
    34:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19140:19146 -> a
    34:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18861 -> a
    41:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18863:18864 -> a
    43:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.setVarargElementTypeId(int):19176:19177 -> a
    43:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18864 -> a
    45:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18866:18867 -> a
    47:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18902:18908 -> a
    47:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18765 -> a
    54:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18904:18908 -> a
    54:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18765 -> a
    59:60:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder setFlags(int):18953:18954 -> a
    61:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder setType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19027:19029 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder setName(int):18992:18993 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder setVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19119:19121 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18807:18808 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():18765 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():18765 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():18765 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.create():18778:18778 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.clone():18799 -> clone
    1:1:java.lang.Object clone():18765 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.clone():18799:18799 -> clone
    2:2:java.lang.Object clone():18765 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.getDefaultInstanceForType():18803:18803 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():18765 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.create():18778:18778 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder access$17000():18765 -> f
    1:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter buildPartial():18815:18842 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement -> com.android.tools.r8.internal.GO:
    byte memoizedIsInitialized -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level level_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int memoizedSerializedSize -> k
    int message_ -> h
    int errorCode_ -> g
    int version_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind versionKind_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> m
    int versionFull_ -> e
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement defaultInstance -> l
    1:885:void <clinit>():21347:22231 -> <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):21238:21238 -> <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):21238:21238 -> <init>
    3:440:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):21244:21681 -> <init>
    441:441:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):21245:21245 -> <init>
    442:877:void <init>(boolean):21247:21247 -> <init>
    878:1297:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21262:21681 -> <init>
    1298:1360:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21263:21325 -> <init>
    1361:1362:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21313:21314 -> <init>
    1363:1364:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21308:21309 -> <init>
    1365:1372:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21296:21303 -> <init>
    1373:1374:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21291:21292 -> <init>
    1375:1423:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21286:21334 -> <init>
    1424:1436:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21332:21344 -> <init>
    1437:1441:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21338:21342 -> <init>
    1:1:int access$20302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level access$20502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level):21238:21238 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind access$20802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind):21238:21238 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$21000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement):21238:21238 -> a
    5:24:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):21659:21678 -> a
    1:1:int access$20402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> b
    2:6:boolean isInitialized():21649:21653 -> b
    1:1:int access$20602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> c
    2:31:int getSerializedSize():21683:21712 -> c
    1:1:int access$20702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilder():21776:21776 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilderForType():21777 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():21238 -> d
    1:1:int access$20902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilder():21776:21776 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement):21779 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.toBuilder():21781 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():21238 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement):21779:21779 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.toBuilder():21781 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():21238 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement getDefaultInstance():21251:21251 -> g
    1:1:int getErrorCode():21588:21588 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level getLevel():21565:21565 -> i
    1:1:int getMessage():21611:21611 -> j
    1:1:int getVersion():21517:21517 -> k
    1:1:int getVersionFull():21542:21542 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind getVersionKind():21636:21636 -> m
    1:1:boolean hasErrorCode():21578:21578 -> n
    1:1:boolean hasLevel():21555:21555 -> o
    1:1:boolean hasMessage():21601:21601 -> p
    1:1:boolean hasVersion():21505:21505 -> q
    1:1:boolean hasVersionFull():21531:21531 -> r
    1:1:boolean hasVersionKind():21625:21625 -> s
    1:6:void initFields():21640:21645 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder newBuilder():21776:21776 -> u
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$1 -> com.android.tools.r8.internal.CO:
    1:1:void <init>():21348:21348 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21353:21353 -> 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):21348 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder -> com.android.tools.r8.internal.DO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level level_ -> f
    int message_ -> h
    int errorCode_ -> g
    int version_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind versionKind_ -> i
    int versionFull_ -> e
    int bitField0_ -> c
    1:379:void <init>():21793:22171 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):21786:21786 -> a
    2:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement):21869:21888 -> a
    22:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21903:21909 -> a
    22:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21786 -> a
    29:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21905:21909 -> a
    29:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21786 -> a
    34:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setLevel(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level):22054:22057 -> a
    38:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setErrorCode(int):22104:22105 -> a
    40:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setVersionKind(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind):22204:22207 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setMessage(int):22152:22153 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21829:21830 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():21786 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21831 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():21786 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21831:21831 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():21786 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setVersion(int):21951:21952 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.create():21800:21800 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.clone():21821 -> clone
    1:1:java.lang.Object clone():21786 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.clone():21821:21821 -> clone
    2:2:java.lang.Object clone():21786 -> clone
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setVersionFull(int):22004:22005 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.create():21800:21800 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder access$20100():21786 -> f
    1:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement buildPartial():21837:21864 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level -> com.android.tools.r8.internal.EO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level HIDDEN -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level ERROR -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level WARNING -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level[] $VALUES -> f
    int value -> b
    1:9:void <clinit>():21370:21378 -> <clinit>
    10:10:void <clinit>():21365:21365 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):21420:21421 -> <init>
    1:1:int getNumber():21395:21395 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21401:21401 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21400:21400 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21399:21399 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind -> com.android.tools.r8.internal.FO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind LANGUAGE_VERSION -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind API_VERSION -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind COMPILER_VERSION -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind[] $VALUES -> f
    int value -> b
    1:9:void <clinit>():21435:21443 -> <clinit>
    10:10:void <clinit>():21430:21430 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):21485:21486 -> <init>
    1:1:int getNumber():21460:21460 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21466:21466 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21465:21465 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21464:21464 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable -> com.android.tools.r8.internal.JO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List requirement_ -> c
    byte memoizedIsInitialized -> d
    int memoizedSerializedSize -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable defaultInstance -> f
    1:378:void <clinit>():22334:22711 -> <clinit>
    379:379:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.initFields():22385:22385 -> <clinit>
    379:379:void <clinit>():22712 -> <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):22258:22258 -> <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):22258:22258 -> <init>
    3:145:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):22264:22406 -> <init>
    146:146:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):22265:22265 -> <init>
    147:287:void <init>(boolean):22267:22267 -> <init>
    288:412:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22282:22406 -> <init>
    413:448:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22283:22318 -> <init>
    449:464:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22316:22331 -> <init>
    465:472:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22322:22329 -> <init>
    1:1:java.util.List access$21400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22258:22258 -> a
    2:2:java.util.List access$21402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable,java.util.List):22258:22258 -> a
    3:7:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):22399:22403 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$21500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22258:22258 -> b
    2:6:boolean isInitialized():22389:22393 -> b
    1:10:int getSerializedSize():22408:22417 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilderForType():22482 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():22258 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.toBuilder():22486 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():22258 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484:22484 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.toBuilder():22486 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():22258 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable getDefaultInstance():22271:22271 -> g
    1:1:int getRequirementCount():22368:22368 -> h
    1:1:java.util.List getRequirementList():22355:22355 -> i
    1:1:void initFields():22385:22385 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder newBuilder():22481:22481 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder toBuilder():22486 -> l
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484:22484 -> l
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder toBuilder():22486 -> l
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$1 -> com.android.tools.r8.internal.HO:
    1:1:void <init>():22335:22335 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22340:22340 -> 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):22335 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder -> com.android.tools.r8.internal.IO:
    java.util.List requirement_ -> d
    int bitField0_ -> c
    1:85:void <init>():22498:22582 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):22491:22491 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22543:22547 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.ensureRequirementIsMutable():22585:22587 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22549 -> a
    10:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22550:22554 -> a
    15:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22569:22575 -> a
    15:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22491 -> a
    22:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22571:22575 -> a
    22:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22491 -> a
    27:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.ensureRequirementIsMutable():22585:22587 -> a
    27:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22662 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663:22663 -> a
    31:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21829:21830 -> a
    31:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663:22663 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21831 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21831:21831 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.build():22524:22525 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():22491 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.build():22526 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():22491 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.build():22526:22526 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():22491 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.create():22505:22505 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.clone():22516 -> clone
    1:1:java.lang.Object clone():22491 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.clone():22516:22516 -> clone
    2:2:java.lang.Object clone():22491 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.create():22505:22505 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder access$21200():22491 -> f
    1:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable buildPartial():22532:22538 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility -> com.android.tools.r8.internal.KO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility[] $VALUES -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility LOCAL -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PRIVATE_TO_THIS -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PUBLIC -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PROTECTED -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PRIVATE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility INTERNAL -> c
    int value -> b
    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>
    1:1:int getNumber():158:158 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility[] values():96:96 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.BinaryVersion -> com.android.tools.r8.internal.X4:
# {"id":"sourceFile","fileName":"BinaryVersion.kt"}
    java.util.List rest -> e
    int patch -> d
    int[] numbers -> a
    int major -> b
    int minor -> c
    1:9:void <init>(int[]):17:25 -> <init>
    10:10:void <init>(int[]):23:23 -> <init>
    11:11:void <init>(int[]):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":39,"2":40,"3":41}}
    39:39:void <init>(int[]):23:23 -> <init>
    40:40:void <init>(int[]):23:23 -> <init>
    41:41:void <init>(int[]):23:23 -> <init>
    34:37:void <init>(int[]):23:26 -> <init>
    38:38:void <init>(int[]):21:21 -> <init>
    1:1:int getMajor():18:18 -> a
    2:3:boolean isCompatibleTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.BinaryVersion):39:40 -> a
    1:1:int getMinor():19:19 -> b
    1:1:int[] toArray():30:30 -> c
    1:2:boolean equals(java.lang.Object):76:77 -> equals
    1:4:int hashCode():80:83 -> hashCode
    1:1:int[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.BinaryVersion.toArray():30:30 -> toString
    1:1:java.lang.String toString():70 -> toString
    2:6:java.lang.String toString():99:103 -> toString
    7:7:java.lang.String toString():71:71 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags -> com.android.tools.r8.internal.Bk:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_CROSSINLINE -> q
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField DECLARES_DEFAULT_VALUE -> p
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_NOT_DEFAULT -> s
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_NOINLINE -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_INLINE_ACCESSOR -> u
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_EXTERNAL_ACCESSOR -> t
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_UNSIGNED -> v
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField HAS_SETTER -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField VISIBILITY -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField HAS_GETTER -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField MODALITY -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_LATEINIT -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField MEMBER_KIND -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_CONST -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_EXTERNAL_PROPERTY -> m
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField HAS_CONSTANT -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_EXPECT_PROPERTY -> o
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_DELEGATED -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField SUSPEND_TYPE -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField HAS_ANNOTATIONS -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_VAR -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_INLINE -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanFirst():245:245 -> <clinit>
    1:1:void <clinit>():17 -> <clinit>
    2:2:void <clinit>():17:17 -> <clinit>
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanFirst():245:245 -> <clinit>
    3:3:void <clinit>():22 -> <clinit>
    4:5:void <clinit>():22:23 -> <clinit>
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.after(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):237:237 -> <clinit>
    6:6:void <clinit>():23 -> <clinit>
    7:8:void <clinit>():23:24 -> <clinit>
    9:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.after(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):236:237 -> <clinit>
    9:10:void <clinit>():24 -> <clinit>
    11:15:void <clinit>():24:28 -> <clinit>
    16:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.after(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):236:237 -> <clinit>
    16:17:void <clinit>():28 -> <clinit>
    18:18:void <clinit>():43:43 -> <clinit>
    19:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.after(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):236:237 -> <clinit>
    19:20:void <clinit>():43 -> <clinit>
    21:21:void <clinit>():43:43 -> <clinit>
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):249:249 -> <clinit>
    22:22:void <clinit>():47 -> <clinit>
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    23:23:void <clinit>():49 -> <clinit>
    24:24:void <clinit>():49:49 -> <clinit>
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    25:25:void <clinit>():58 -> <clinit>
    26:26:void <clinit>():58:58 -> <clinit>
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    27:27:void <clinit>():59 -> <clinit>
    28:28:void <clinit>():59:59 -> <clinit>
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    29:29:void <clinit>():60 -> <clinit>
    30:30:void <clinit>():60:60 -> <clinit>
    31:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    31:31:void <clinit>():61 -> <clinit>
    32:32:void <clinit>():61:61 -> <clinit>
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    33:33:void <clinit>():62 -> <clinit>
    34:34:void <clinit>():62:62 -> <clinit>
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    35:35:void <clinit>():63 -> <clinit>
    36:36:void <clinit>():63:63 -> <clinit>
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    37:37:void <clinit>():64 -> <clinit>
    38:38:void <clinit>():64:64 -> <clinit>
    39:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    39:39:void <clinit>():65 -> <clinit>
    40:40:void <clinit>():65:65 -> <clinit>
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    41:41:void <clinit>():66 -> <clinit>
    42:42:void <clinit>():66:66 -> <clinit>
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    43:43:void <clinit>():70 -> <clinit>
    44:44:void <clinit>():70:70 -> <clinit>
    45:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    45:45:void <clinit>():71 -> <clinit>
    46:46:void <clinit>():71:71 -> <clinit>
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    47:47:void <clinit>():72 -> <clinit>
    48:48:void <clinit>():72:72 -> <clinit>
    49:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):249:250 -> <clinit>
    49:50:void <clinit>():76 -> <clinit>
    51:51:void <clinit>():76:76 -> <clinit>
    52:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    52:52:void <clinit>():77 -> <clinit>
    53:53:void <clinit>():77:77 -> <clinit>
    54:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    54:54:void <clinit>():78 -> <clinit>
    55:55:void <clinit>():78:78 -> <clinit>
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanFirst():245:245 -> <clinit>
    56:56:void <clinit>():85 -> <clinit>
    57:57:void <clinit>():85:85 -> <clinit>
    void $$$reportNull$$$0(int) -> a
    1:1:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199:199 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.toFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite):319:319 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.toFlags(java.lang.Object):286 -> a
    2:2:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199 -> a
    3:3:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199:199 -> a
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.toFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite):319:319 -> a
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.toFlags(java.lang.Object):286 -> a
    4:4:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199 -> a
    5:5:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199:199 -> a
    6:6:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):0:0 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField -> com.android.tools.r8.internal.yk:
    1:1:void <init>(int):269:269 -> <init>
    java.lang.Object get(int) -> a
    1:1:int toFlags(java.lang.Boolean):280:280 -> a
    1:1:java.lang.Boolean get(int):275:275 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField.$$$reportNull$$$0(int):0:0 -> b
    2:2:java.lang.Boolean get(int):275 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField -> com.android.tools.r8.internal.zk:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[] values -> c
    1:2:void <init>(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):290:291 -> <init>
    1:6:int bitWidth(java.lang.Object[]):295:300 -> a
    7:7:int bitWidth(java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":308,"2":309,"3":310}}
    308:308:int bitWidth(java.lang.Object[]):300:300 -> a
    309:309:int bitWidth(java.lang.Object[]):300:300 -> a
    310:310:int bitWidth(java.lang.Object[]):300:300 -> a
    307:307:int bitWidth(java.lang.Object[]):300:300 -> a
    311:315:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.get(int):306:310 -> a
    311:315:java.lang.Object get(int):286 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField -> com.android.tools.r8.internal.Ak:
    int bitWidth -> b
    int offset -> a
    1:1:void <init>(int,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$1):234:234 -> <init>
    2:4:void <init>(int,int):256:258 -> <init>
    java.lang.Object get(int) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver -> com.android.tools.r8.internal.fG:
# {"id":"sourceFile","fileName":"NameResolver.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoBufUtilKt -> com.android.tools.r8.internal.LO:
# {"id":"sourceFile","fileName":"ProtoBufUtil.kt"}
    1:1:java.lang.Object getExtensionOrNull(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):12:12 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt -> com.android.tools.r8.internal.pP:
# {"id":"sourceFile","fileName":"protoTypeTableUtil.kt"}
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):62:64 -> a
    4:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):76:78 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable -> com.android.tools.r8.internal.ZZ:
# {"id":"sourceFile","fileName":"TypeTable.kt"}
    java.util.List types -> a
    1:20:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):21:40 -> <init>
    21:21:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):28:28 -> <init>
    22:35:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):27:40 -> <init>
    36:36: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.internal.p10:
# {"id":"sourceFile","fileName":"VersionRequirement.kt"}
    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.kotlin.DeprecationLevel level -> c
    java.lang.String message -> e
    1:6: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:29 -> <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
    1:1:com.android.tools.r8.jetbrains.kotlin.DeprecationLevel getLevel():27:27 -> c
    1:1:java.lang.String getMessage():29:29 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version getVersion():25:25 -> e
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":247,"2":248,"3":249}}
    247:247:java.lang.String toString():81:81 -> toString
    248:248:java.lang.String toString():81:81 -> toString
    249:249:java.lang.String toString():81:81 -> toString
    82:82:java.lang.String toString():81:81 -> toString
    83:83:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":247,"2":248,"3":249}}
    247:247:java.lang.String toString():81:81 -> toString
    248:248:java.lang.String toString():81:81 -> toString
    249:249:java.lang.String toString():81:81 -> toString
    164:164:java.lang.String toString():81:81 -> toString
    165:165:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":247,"2":248,"3":249}}
    247:247:java.lang.String toString():81:81 -> toString
    248:248:java.lang.String toString():81:81 -> toString
    249:249:java.lang.String toString():81:81 -> toString
    246:246:java.lang.String toString():81:81 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version -> com.android.tools.r8.internal.o10:
# {"id":"sourceFile","fileName":"VersionRequirement.kt"}
    int minor -> b
    int patch -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version INFINITY -> d
    int major -> a
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(int,int,int):31:31 -> <init>
    int component1() -> a
    1:8:void encode(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):39:46 -> a
    9:9:void encode(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):43:43 -> a
    int component2() -> b
    int component3() -> c
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version.asString():33:33 -> toString
    1:1:java.lang.String toString():50 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable -> com.android.tools.r8.internal.q10:
# {"id":"sourceFile","fileName":"VersionRequirement.kt"}
    java.util.List infos -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable EMPTY -> b
    int $r8$clinit -> c
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(java.util.List):11:11 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable access$getEMPTY$cp():11:11 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12:12 -> a
    3:3:java.lang.Object com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.getOrNull(java.util.List,int):0:0 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12 -> a
    4:4:int com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.getLastIndex(java.util.List):223:223 -> a
    4:4:java.lang.Object com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.getOrNull(java.util.List,int):304 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12 -> a
    5:5:java.lang.Object com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.getOrNull(java.util.List,int):304:304 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12:12 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf -> com.android.tools.r8.internal.Lw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension constructorSignature -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension propertySignature -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension flags -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension methodSignature -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension lambdaClassOriginName -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension typeParameterAnnotation -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension classModuleName -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension typeAnnotation -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension isRaw -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension jvmClassFlags -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension packageModuleName -> m
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension classLocalVariable -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension anonymousObjectOriginName -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension packageLocalVariable -> n
    1:233:void <clinit>():3965:4197 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature -> com.android.tools.r8.internal.xw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature defaultInstance -> h
    int memoizedSerializedSize -> g
    int name_ -> d
    int desc_ -> e
    byte memoizedIsInitialized -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:349:void <clinit>():2670:3018 -> <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):2595:2595 -> <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):2595:2595 -> <init>
    3:152:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2601:2750 -> <init>
    153:153:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2602:2602 -> <init>
    154:301:void <init>(boolean):2604:2604 -> <init>
    302:433:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2619:2750 -> <init>
    434:463:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2620:2649 -> <init>
    464:478:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2643:2657 -> <init>
    479:491:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2655:2667 -> <init>
    492:496:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2661:2665 -> <init>
    1:1:int access$2702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature,int):2595:2595 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$3000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2595:2595 -> a
    3:10:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):2740:2747 -> a
    1:1:int access$2802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature,int):2595:2595 -> b
    2:6:boolean isInitialized():2730:2734 -> b
    1:1:int access$2902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature,int):2595:2595 -> c
    2:15:int getSerializedSize():2752:2765 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder():2829:2829 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilderForType():2830 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():2595 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder():2829:2829 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.toBuilder():2834 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2595 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832:2832 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.toBuilder():2834 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2595 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature getDefaultInstance():2608:2608 -> g
    1:1:int getDesc():2721:2721 -> h
    1:1:int getName():2698:2698 -> i
    1:1:boolean hasDesc():2711:2711 -> j
    1:1:boolean hasName():2692:2692 -> k
    1:2:void initFields():2725:2726 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder newBuilder():2829:2829 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder():2829:2829 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder toBuilder():2834 -> n
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832:2832 -> n
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder toBuilder():2834 -> n
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$1 -> com.android.tools.r8.internal.vw:
    1:1:void <init>():2671:2671 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2676:2676 -> 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):2671 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder -> com.android.tools.r8.internal.ww:
    int name_ -> d
    int desc_ -> e
    int bitField0_ -> c
    1:1:void <init>():2846:2846 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):2839:2839 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2898:2905 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2920:2926 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2839 -> a
    17:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2922:2926 -> a
    17:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2839 -> a
    22:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder setDesc(int):2994:2995 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder setName(int):2950:2951 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2874:2875 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2839 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2876 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2839 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2876:2876 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2839 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.create():2853:2853 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.clone():2866 -> clone
    1:1:java.lang.Object clone():2839 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.clone():2866:2866 -> clone
    2:2:java.lang.Object clone():2839 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.create():2853:2853 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder access$2500():2839 -> f
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature buildPartial():2882:2893 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature -> com.android.tools.r8.internal.Aw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature defaultInstance -> h
    int memoizedSerializedSize -> g
    int name_ -> d
    int desc_ -> e
    byte memoizedIsInitialized -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:349:void <clinit>():2208:2556 -> <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):2133:2133 -> <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):2133:2133 -> <init>
    3:152:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2139:2288 -> <init>
    153:153:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2140:2140 -> <init>
    154:301:void <init>(boolean):2142:2142 -> <init>
    302:433:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2157:2288 -> <init>
    434:463:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2158:2187 -> <init>
    464:478:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2181:2195 -> <init>
    479:491:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2193:2205 -> <init>
    492:496:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2199:2203 -> <init>
    1:1:int access$2002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature,int):2133:2133 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$2300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2133:2133 -> a
    3:10:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):2278:2285 -> a
    1:1:int access$2102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature,int):2133:2133 -> b
    2:6:boolean isInitialized():2268:2272 -> b
    1:1:int access$2202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature,int):2133:2133 -> c
    2:15:int getSerializedSize():2290:2303 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilderForType():2368 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():2133 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.toBuilder():2372 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2133 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.toBuilder():2372 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2133 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getDefaultInstance():2146:2146 -> g
    1:1:int getDesc():2259:2259 -> h
    1:1:int getName():2236:2236 -> i
    1:1:boolean hasDesc():2249:2249 -> j
    1:1:boolean hasName():2230:2230 -> k
    1:2:void initFields():2263:2264 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder newBuilder():2367:2367 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder toBuilder():2372 -> n
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> n
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder toBuilder():2372 -> n
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$1 -> com.android.tools.r8.internal.yw:
    1:1:void <init>():2209:2209 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2214:2214 -> 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):2209 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder -> com.android.tools.r8.internal.zw:
    int name_ -> d
    int desc_ -> e
    int bitField0_ -> c
    1:1:void <init>():2384:2384 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):2377:2377 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2436:2443 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2458:2464 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2377 -> a
    17:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2460:2464 -> a
    17:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2377 -> a
    22:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder setDesc(int):2532:2533 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder setName(int):2488:2489 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2412:2413 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2377 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2414 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2377 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2414:2414 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2377 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.create():2391:2391 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.clone():2404 -> clone
    1:1:java.lang.Object clone():2377 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.clone():2404:2404 -> clone
    2:2:java.lang.Object clone():2377 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.create():2391:2391 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder access$1800():2377 -> f
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature buildPartial():2420:2431 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature -> com.android.tools.r8.internal.Dw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature syntheticMethod_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getter_ -> f
    byte memoizedIsInitialized -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature setter_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature delegateMethod_ -> h
    int memoizedSerializedSize -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature defaultInstance -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature field_ -> d
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> l
    1:729:void <clinit>():3224:3952 -> <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):3094:3094 -> <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):3094:3094 -> <init>
    3:274:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):3100:3371 -> <init>
    275:275:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):3101:3101 -> <init>
    276:545:void <init>(boolean):3103:3103 -> <init>
    546:799:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3118:3371 -> <init>
    800:884:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3119:3203 -> <init>
    885:893:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3182:3190 -> <init>
    894:902:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3169:3177 -> <init>
    903:911:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3156:3164 -> <init>
    912:980:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3143:3211 -> <init>
    981:993:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3209:3221 -> <init>
    994:998:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3215:3219 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature access$3402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3094:3094 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$3502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3094:3094 -> a
    3:3:int access$3902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,int):3094:3094 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$4000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3094:3094 -> a
    5:21:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):3352:3368 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$3602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3094:3094 -> b
    2:6:boolean isInitialized():3342:3346 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$3702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3094:3094 -> c
    2:27:int getSerializedSize():3373:3398 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$3802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3094:3094 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilder():3462:3462 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilderForType():3463 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():3094 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilder():3462:3462 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3465 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.toBuilder():3467 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():3094 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3465:3465 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.toBuilder():3467 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():3094 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature getDefaultInstance():3107:3107 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getDelegateMethod():3330:3330 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature getField():3252:3252 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getGetter():3290:3290 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getSetter():3305:3305 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getSyntheticMethod():3275:3275 -> l
    1:1:boolean hasDelegateMethod():3319:3319 -> m
    1:1:boolean hasField():3246:3246 -> n
    1:1:boolean hasGetter():3284:3284 -> o
    1:1:boolean hasSetter():3299:3299 -> p
    1:1:boolean hasSyntheticMethod():3265:3265 -> q
    1:5:void initFields():3334:3338 -> r
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder newBuilder():3462:3462 -> s
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$1 -> com.android.tools.r8.internal.Bw:
    1:1:void <init>():3225:3225 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3230:3230 -> 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):3225 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder -> com.android.tools.r8.internal.Cw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature syntheticMethod_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getter_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature setter_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature delegateMethod_ -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature field_ -> d
    int bitField0_ -> c
    1:379:void <init>():3479:3857 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):3472:3472 -> a
    2:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3549:3551 -> a
    5:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3632:3634 -> a
    5:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3551 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder():2829:2829 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3634 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3551 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832:2832 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3634 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3551 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3634:3640 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3551 -> a
    17:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3553:3554 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3712:3714 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3554 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3714 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3554 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3714 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3554 -> a
    24:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3714:3720 -> a
    24:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3554 -> a
    31:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3556:3557 -> a
    33:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3776:3778 -> a
    33:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3557 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3778 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3557 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3778 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3557 -> a
    38:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3778:3784 -> a
    38:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3557 -> a
    45:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3559:3560 -> a
    47:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3836:3838 -> a
    47:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3560 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3838 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3560 -> a
    51:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> a
    51:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3838 -> a
    51:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3560 -> a
    52:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3838:3844 -> a
    52:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3560 -> a
    59:60:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3562:3563 -> a
    61:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3921:3923 -> a
    61:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3563 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3923 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3563 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3923 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3563 -> a
    66:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3923:3929 -> a
    66:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3563 -> a
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3565:3565 -> a
    74:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3580:3586 -> a
    74:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3472 -> a
    81:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3582:3586 -> a
    81:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3472 -> a
    86:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3613:3615 -> a
    89:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3892:3894 -> a
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3757:3759 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3513:3514 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3472 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3515 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3472 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3515:3515 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3472 -> c
    5:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3817:3819 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.create():3486:3486 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.clone():3505 -> clone
    1:1:java.lang.Object clone():3472 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.clone():3505:3505 -> clone
    2:2:java.lang.Object clone():3472 -> clone
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3685:3687 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.create():3486:3486 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder access$3200():3472 -> f
    1:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature buildPartial():3521:3544 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes -> com.android.tools.r8.internal.Kw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes defaultInstance -> h
    java.util.List localName_ -> d
    java.util.List record_ -> c
    int memoizedSerializedSize -> g
    int localNameMemoizedSerializedSize -> e
    byte memoizedIsInitialized -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:1924:void <clinit>():171:2094 -> <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):71:71 -> <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):71:71 -> <init>
    3:1589:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):77:1663 -> <init>
    1590:1590:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):78:78 -> <init>
    1591:3175:void <init>(boolean):80:80 -> <init>
    3176:4744:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):95:1663 -> <init>
    4745:4793:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):96:144 -> <init>
    4794:4797:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):128:131 -> <init>
    4798:4830:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):120:152 -> <init>
    4831:4849:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):150:168 -> <init>
    4850:4860:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):156:166 -> <init>
    1:1:java.util.List access$1400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):71:71 -> a
    2:2:java.util.List access$1402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes,java.util.List):71:71 -> a
    3:5:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):1649:1651 -> a
    6:6:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.getLocalNameList():1609:1609 -> a
    6:6:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):1653 -> a
    7:14:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):1653:1660 -> a
    1:1:java.util.List access$1500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):71:71 -> b
    2:2:java.util.List access$1502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes,java.util.List):71:71 -> b
    3:7:boolean isInitialized():1639:1643 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$1600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):71:71 -> c
    2:13:int getSerializedSize():1665:1676 -> c
    14:14:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.getLocalNameList():1609:1609 -> c
    14:14:int getSerializedSize():1680 -> c
    15:23:int getSerializedSize():1680:1688 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilder():1752:1752 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilderForType():1753 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():71 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilder():1752:1752 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1755 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.toBuilder():1757 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():71 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1755:1755 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.toBuilder():1757 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():71 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes getDefaultInstance():84:84 -> g
    1:1:java.util.List getLocalNameList():1609:1609 -> h
    1:1:java.util.List getRecordList():1569:1569 -> i
    1:2:void initFields():1634:1635 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder newBuilder():1752:1752 -> k
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$1 -> com.android.tools.r8.internal.Ew:
    1:1:void <init>():172:172 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):177:177 -> 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):172 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder -> com.android.tools.r8.internal.Fw:
    java.util.List localName_ -> e
    java.util.List record_ -> d
    int bitField0_ -> c
    1:227:void <init>():1769:1995 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):1762:1762 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1821:1825 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.ensureRecordIsMutable():1873:1875 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1827 -> a
    10:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1828:1835 -> a
    18:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.ensureLocalNameIsMutable():1997:1999 -> a
    18:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1837 -> a
    21:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1838:1842 -> a
    26:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1857:1863 -> a
    26:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1762 -> a
    33:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1859:1863 -> a
    33:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1762 -> a
    38:40:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.ensureRecordIsMutable():1873:1875 -> a
    38:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllRecord(java.lang.Iterable):1970 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllRecord(java.lang.Iterable):1971:1971 -> a
    42:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.checkForNullValues(java.lang.Iterable):348:350 -> a
    42:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.addAll(java.lang.Iterable,java.util.Collection):335 -> a
    42:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllRecord(java.lang.Iterable):1971 -> a
    45:45:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.addAll(java.lang.Iterable,java.util.Collection):336:336 -> a
    45:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllRecord(java.lang.Iterable):1971 -> a
    46:48:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.ensureLocalNameIsMutable():1997:1999 -> a
    46:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllLocalName(java.lang.Iterable):2069 -> a
    49:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllLocalName(java.lang.Iterable):2070:2070 -> a
    50:50:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.addAll(java.lang.Iterable,java.util.Collection):334:334 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllLocalName(java.lang.Iterable):2070 -> a
    51:53:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.checkForNullValues(java.lang.Iterable):348:350 -> a
    51:53:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.addAll(java.lang.Iterable,java.util.Collection):335 -> a
    51:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllLocalName(java.lang.Iterable):2070 -> a
    54:60:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.addAll(java.lang.Iterable,java.util.Collection):336:342 -> a
    54:60:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllLocalName(java.lang.Iterable):2070 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1797:1798 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():1762 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1799 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():1762 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1799:1799 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():1762 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.create():1776:1776 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.clone():1789 -> clone
    1:1:java.lang.Object clone():1762 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.clone():1789:1789 -> clone
    2:2:java.lang.Object clone():1762 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.create():1776:1776 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder access$1200():1762 -> f
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes buildPartial():1805:1816 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record -> com.android.tools.r8.internal.Jw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int memoizedSerializedSize -> m
    java.lang.Object string_ -> f
    int replaceCharMemoizedSerializedSize -> k
    int substringIndexMemoizedSerializedSize -> i
    int range_ -> d
    int predefinedIndex_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record defaultInstance -> n
    int bitField0_ -> c
    byte memoizedIsInitialized -> l
    java.util.List replaceChar_ -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> o
    java.util.List substringIndex_ -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation operation_ -> g
    1:1088:void <clinit>():470:1557 -> <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):329:329 -> <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):329:329 -> <init>
    3:491:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):335:823 -> <init>
    492:492:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):336:336 -> <init>
    493:979:void <init>(boolean):338:338 -> <init>
    980:1450:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):353:823 -> <init>
    1451:1540:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):354:443 -> <init>
    1541:1550:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):428:437 -> <init>
    1551:1554:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):421:424 -> <init>
    1555:1564:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):407:416 -> <init>
    1565:1568:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):400:403 -> <init>
    1569:1576:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):387:394 -> <init>
    1577:1578:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):382:383 -> <init>
    1579:1653:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):377:451 -> <init>
    1654:1672:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):449:467 -> <init>
    1673:1683:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):455:465 -> <init>
    1:1:int access$1002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,int):329:329 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$1100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):329:329 -> a
    3:3:java.lang.Object access$602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,java.lang.Object):329:329 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation access$702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation):329:329 -> a
    5:5:java.util.List access$802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,java.util.List):329:329 -> a
    6:14:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):793:801 -> a
    15:15:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getSubstringIndexList():707:707 -> a
    15:15:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):803 -> a
    16:21:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):803:808 -> a
    22:22:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getReplaceCharList():747:747 -> a
    22:22:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):810 -> a
    23:30:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):810:817 -> a
    31:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getStringBytes():659:667 -> a
    31:39:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):818 -> a
    40:42:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):818:820 -> a
    1:1:int access$402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,int):329:329 -> b
    2:2:java.lang.Object access$600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):329:329 -> b
    3:3:java.util.List access$902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,java.util.List):329:329 -> b
    4:8:boolean isInitialized():783:787 -> b
    1:1:int access$502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,int):329:329 -> c
    2:2:java.util.List access$800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):329:329 -> c
    3:22:int getSerializedSize():825:844 -> c
    23:23:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getSubstringIndexList():707:707 -> c
    23:23:int getSerializedSize():848 -> c
    24:34:int getSerializedSize():848:858 -> c
    35:35:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getReplaceCharList():747:747 -> c
    35:35:int getSerializedSize():862 -> c
    36:43:int getSerializedSize():862:869 -> c
    44:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getStringBytes():659:667 -> c
    44:52:int getSerializedSize():870 -> c
    53:53:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBytesSize(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):637:637 -> c
    53:53:int getSerializedSize():870 -> c
    54:54:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBytesSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):883:883 -> c
    54:54:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBytesSize(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):637 -> c
    54:54:int getSerializedSize():870 -> c
    55:56:int getSerializedSize():873:874 -> c
    1:1:java.util.List access$900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):329:329 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder():938:938 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilderForType():939 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():329 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder():938:938 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):941 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.toBuilder():943 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():329 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):941:941 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.toBuilder():943 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():329 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record getDefaultInstance():342:342 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation getOperation():691:691 -> h
    1:1:int getPredefinedIndex():614:614 -> i
    1:1:int getRange():591:591 -> j
    1:1:int getReplaceCharCount():758:758 -> k
    1:1:java.util.List getReplaceCharList():747:747 -> l
    1:7:java.lang.String getString():637:643 -> m
    8:8:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.toStringUtf8():624:624 -> m
    8:8:java.lang.String getString():643 -> m
    9:10:java.lang.String getString():644:645 -> m
    11:11:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.toStringUtf8():626:626 -> m
    11:11:java.lang.String getString():643 -> m
    1:1:int getSubstringIndexCount():719:719 -> n
    1:1:java.util.List getSubstringIndexList():707:707 -> o
    1:1:boolean hasOperation():681:681 -> p
    1:1:boolean hasPredefinedIndex():604:604 -> q
    1:1:boolean hasRange():581:581 -> r
    1:1:boolean hasString():627:627 -> s
    1:6:void initFields():774:779 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder newBuilder():938:938 -> u
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder():938:938 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):941 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder toBuilder():943 -> v
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):941:941 -> v
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder toBuilder():943 -> v
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$1 -> com.android.tools.r8.internal.Gw:
    1:1:void <init>():471:471 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):476:476 -> 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):471 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder -> com.android.tools.r8.internal.Hw:
    java.lang.Object string_ -> f
    java.util.List replaceChar_ -> i
    int range_ -> d
    java.util.List substringIndex_ -> h
    int predefinedIndex_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation operation_ -> g
    int bitField0_ -> c
    1:497:void <init>():955:1451 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):948:948 -> a
    2:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1033:1051 -> a
    21:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.ensureSubstringIndexIsMutable():1345:1347 -> a
    21:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1053 -> a
    24:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1054:1061 -> a
    32:34:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.ensureReplaceCharIsMutable():1453:1455 -> a
    32:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1063 -> a
    35:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1064:1068 -> a
    40:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1083:1089 -> a
    40:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):948 -> a
    47:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1085:1089 -> a
    47:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):948 -> a
    52:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder setPredefinedIndex(int):1173:1174 -> a
    54:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder setOperation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation):1322:1325 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder setRange(int):1125:1126 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():991:992 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():948 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():993 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():948 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():993:993 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():948 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.create():962:962 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.clone():983 -> clone
    1:1:java.lang.Object clone():948 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.clone():983:983 -> clone
    2:2:java.lang.Object clone():948 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.create():962:962 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder access$200():948 -> f
    1:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record buildPartial():999:1028 -> g
    1:1:int getRange():1115:1115 -> h
    1:1:int getReplaceCharCount():1479:1479 -> i
    1:1:int getSubstringIndexCount():1373:1373 -> j
    1:1:boolean hasOperation():1301:1301 -> k
    1:1:boolean hasPredefinedIndex():1153:1153 -> l
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation -> com.android.tools.r8.internal.Iw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation[] $VALUES -> f
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation DESC_TO_CLASS_ID -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation INTERNAL_TO_CLASS_ID -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation NONE -> c
    1:19:void <clinit>():493:511 -> <clinit>
    20:20:void <clinit>():488:488 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):563:564 -> <init>
    1:1:int getNumber():538:538 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):544:544 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):543:543 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):542:542 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding -> com.android.tools.r8.internal.f5:
    boolean FORCE_8TO7_ENCODING -> a
    boolean $assertionsDisabled -> b
    1:13:void <clinit>():15:27 -> <clinit>
    void $$$reportNull$$$0(int) -> a
    1:1:java.lang.String[] encodeBytes(byte[]):45:45 -> a
    2:52:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.UtfEncodingKt.bytesToStrings(byte[]):27:77 -> a
    2:52:java.lang.String[] encodeBytes(byte[]):46 -> a
    53:83:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):75:105 -> a
    53:83:java.lang.String[] encodeBytes(byte[]):48 -> a
    84:84:java.lang.String[] encodeBytes(byte[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":134,"2":135,"3":136,"4":137,"5":138}}
    134:134:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    134:134:java.lang.String[] encodeBytes(byte[]):48 -> a
    135:135:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    135:135:java.lang.String[] encodeBytes(byte[]):48 -> a
    136:136:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    136:136:java.lang.String[] encodeBytes(byte[]):48 -> a
    137:137:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    137:137:java.lang.String[] encodeBytes(byte[]):48 -> a
    138:138:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    138:138:java.lang.String[] encodeBytes(byte[]):48 -> a
    85:87:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:107 -> a
    85:87:java.lang.String[] encodeBytes(byte[]):48 -> a
    88:88:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.addModuloByte(byte[],int):115:115 -> a
    88:88:java.lang.String[] encodeBytes(byte[]):51 -> a
    89:104:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):130:145 -> a
    89:104:java.lang.String[] encodeBytes(byte[]):52 -> a
    105:105:java.lang.String[] encodeBytes(byte[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":139,"2":140,"3":141,"4":142,"5":143}}
    139:139:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    139:139:java.lang.String[] encodeBytes(byte[]):52 -> a
    140:140:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    140:140:java.lang.String[] encodeBytes(byte[]):52 -> a
    141:141:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    141:141:java.lang.String[] encodeBytes(byte[]):52 -> a
    142:142:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    142:142:java.lang.String[] encodeBytes(byte[]):52 -> a
    143:143:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    143:143:java.lang.String[] encodeBytes(byte[]):52 -> a
    106:132:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:171 -> a
    106:132:java.lang.String[] encodeBytes(byte[]):52 -> a
    133:133:java.lang.String[] encodeBytes(byte[]):0:0 -> a
    144:145:byte[] decodeBytes(java.lang.String[]):179:180 -> a
    146:147:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.dropMarker(java.lang.String[]):199:200 -> a
    146:147:byte[] decodeBytes(java.lang.String[]):182 -> a
    148:158:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.UtfEncodingKt.stringsToBytes(java.lang.String[]):59:69 -> a
    148:158:byte[] decodeBytes(java.lang.String[]):182 -> a
    159:160:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.dropMarker(java.lang.String[]):199:200 -> a
    159:160:byte[] decodeBytes(java.lang.String[]):185 -> a
    161:162:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):210:211 -> a
    161:162:byte[] decodeBytes(java.lang.String[]):189 -> a
    163:163:byte[] decodeBytes(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":191,"2":192,"3":193}}
    191:191:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:211 -> a
    191:191:byte[] decodeBytes(java.lang.String[]):189 -> a
    192:192:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:211 -> a
    192:192:byte[] decodeBytes(java.lang.String[]):189 -> a
    193:193:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:211 -> a
    193:193:byte[] decodeBytes(java.lang.String[]):189 -> a
    164:172:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:219 -> a
    164:172:byte[] decodeBytes(java.lang.String[]):189 -> a
    173:173:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.addModuloByte(byte[],int):115:115 -> a
    173:173:byte[] decodeBytes(java.lang.String[]):191 -> a
    174:190:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.decode7to8(byte[]):247:263 -> a
    174:190:byte[] decodeBytes(java.lang.String[]):192 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.ClassMapperLite -> com.android.tools.r8.internal.oa:
# {"id":"sourceFile","fileName":"ClassMapperLite.kt"}
    java.util.Map map -> b
    java.lang.String kotlin -> a
    1:15:void <clinit>():17:31 -> <clinit>
    16:29:void <clinit>():23:36 -> <clinit>
    30:30:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465}}
    463:463:void <clinit>():36:36 -> <clinit>
    464:464:void <clinit>():36:36 -> <clinit>
    465:465:void <clinit>():36:36 -> <clinit>
    66:79:void <clinit>():36:49 -> <clinit>
    80:80:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
    463:463:void <clinit>():50:50 -> <clinit>
    464:464:void <clinit>():50:50 -> <clinit>
    465:465:void <clinit>():50:50 -> <clinit>
    466:466:void <clinit>():50:50 -> <clinit>
    467:467:void <clinit>():50:50 -> <clinit>
    130:133:void <clinit>():50:53 -> <clinit>
    134:134:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
    463:463:void <clinit>():54:54 -> <clinit>
    464:464:void <clinit>():54:54 -> <clinit>
    465:465:void <clinit>():54:54 -> <clinit>
    466:466:void <clinit>():54:54 -> <clinit>
    467:467:void <clinit>():54:54 -> <clinit>
    135:135:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
    463:463:void <clinit>():54:54 -> <clinit>
    464:464:void <clinit>():54:54 -> <clinit>
    465:465:void <clinit>():54:54 -> <clinit>
    466:466:void <clinit>():54:54 -> <clinit>
    467:467:void <clinit>():54:54 -> <clinit>
    189:189:void <clinit>():54:54 -> <clinit>
    190:190:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
    463:463:void <clinit>():55:55 -> <clinit>
    464:464:void <clinit>():55:55 -> <clinit>
    465:465:void <clinit>():55:55 -> <clinit>
    466:466:void <clinit>():55:55 -> <clinit>
    467:467:void <clinit>():55:55 -> <clinit>
    191:191:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
    463:463:void <clinit>():55:55 -> <clinit>
    464:464:void <clinit>():55:55 -> <clinit>
    465:465:void <clinit>():55:55 -> <clinit>
    466:466:void <clinit>():55:55 -> <clinit>
    467:467:void <clinit>():55:55 -> <clinit>
    246:252:void <clinit>():55:61 -> <clinit>
    253:253:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
    463:463:void <clinit>():64:64 -> <clinit>
    464:464:void <clinit>():64:64 -> <clinit>
    465:465:void <clinit>():64:64 -> <clinit>
    466:466:void <clinit>():64:64 -> <clinit>
    467:467:void <clinit>():64:64 -> <clinit>
    317:317:void <clinit>():64:64 -> <clinit>
    318:318:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
    463:463:void <clinit>():65:65 -> <clinit>
    464:464:void <clinit>():65:65 -> <clinit>
    465:465:void <clinit>():65:65 -> <clinit>
    466:466:void <clinit>():65:65 -> <clinit>
    467:467:void <clinit>():65:65 -> <clinit>
    319:319:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
    463:463:void <clinit>():65:65 -> <clinit>
    464:464:void <clinit>():65:65 -> <clinit>
    465:465:void <clinit>():65:65 -> <clinit>
    466:466:void <clinit>():65:65 -> <clinit>
    467:467:void <clinit>():65:65 -> <clinit>
    384:389:void <clinit>():65:70 -> <clinit>
    390:390:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":463,"2":464,"3":465,"4":466,"5":467}}
    463:463:void <clinit>():71:71 -> <clinit>
    464:464:void <clinit>():71:71 -> <clinit>
    465:465:void <clinit>():71:71 -> <clinit>
    466:466:void <clinit>():71:71 -> <clinit>
    467:467:void <clinit>():71:71 -> <clinit>
    461:461:void <clinit>():71:71 -> <clinit>
    462:462:void <clinit>():22:22 -> <clinit>
    1:1:void map$lambda-0$add(java.util.Map,java.lang.String,java.lang.String):42:42 -> a
    2:2:java.lang.String mapClass(java.lang.String):80:80 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature -> com.android.tools.r8.internal.dw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    1:1:void <init>():14:14 -> <init>
    java.lang.String asString() -> a
    1:1:java.lang.String toString():27:27 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field -> com.android.tools.r8.internal.aw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    java.lang.String name -> a
    java.lang.String desc -> b
    1:1:void <init>(java.lang.String,java.lang.String):23:23 -> <init>
    1:1:java.lang.String asString():24:24 -> a
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getName():23:23 -> a
    2:2:java.lang.String asString():24 -> a
    3:3:java.lang.String asString():24:24 -> a
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getDesc():23:23 -> a
    4:4:java.lang.String asString():24 -> a
    5:5:java.lang.String asString():24:24 -> a
    1:1:java.lang.String getDesc():23:23 -> b
    1:1:java.lang.String getName():23:23 -> c
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getName():23:23 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getName():23:23 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    4:5:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getDesc():23:23 -> equals
    4:5:boolean equals(java.lang.Object):0 -> equals
    6:6:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getName():23:23 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getDesc():23:23 -> hashCode
    3:3:int hashCode():0 -> hashCode
    4:4:int hashCode():0:0 -> hashCode
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method -> com.android.tools.r8.internal.bw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    java.lang.String name -> a
    java.lang.String desc -> b
    1:1:void <init>(java.lang.String,java.lang.String):19:19 -> <init>
    1:1:java.lang.String asString():20:20 -> a
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getName():19:19 -> a
    2:2:java.lang.String asString():20 -> a
    3:3:java.lang.String asString():20:20 -> a
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getDesc():19:19 -> a
    4:4:java.lang.String asString():20 -> a
    5:5:java.lang.String asString():20:20 -> a
    1:1:java.lang.String getDesc():19:19 -> b
    1:1:java.lang.String getName():19:19 -> c
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getName():19:19 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getName():19:19 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    4:5:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getDesc():19:19 -> equals
    4:5:boolean equals(java.lang.Object):0 -> equals
    6:6:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getName():19:19 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getDesc():19:19 -> hashCode
    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.internal.ow:
# {"id":"sourceFile","fileName":"JvmMetadataVersion.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMetadataVersion INSTANCE -> g
    boolean isStrictSemantics -> f
    1:4:void <clinit>():29:32 -> <clinit>
    1:1:void <init>(int[],boolean):14:14 -> <init>
    2:2:void <init>(int[]):15:15 -> <init>
    1:6:boolean isCompatible():19:24 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver -> com.android.tools.r8.internal.qw:
# {"id":"sourceFile","fileName":"JvmNameResolver.kt"}
    java.util.Set localNameIndices -> c
    java.util.List PREDEFINED_STRINGS -> e
    java.util.List records -> d
    java.util.Map PREDEFINED_STRINGS_MAP -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes types -> a
    java.lang.String[] strings -> b
    1:4:void <clinit>():81:84 -> <clinit>
    5:5:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():84:84 -> <clinit>
    4466:4466:void <clinit>():84:84 -> <clinit>
    4467:4467:void <clinit>():84:84 -> <clinit>
    4468:4468:void <clinit>():84:84 -> <clinit>
    4469:4469:void <clinit>():84:84 -> <clinit>
    89:89:void <clinit>():84:84 -> <clinit>
    90:90:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():85:85 -> <clinit>
    4466:4466:void <clinit>():85:85 -> <clinit>
    4467:4467:void <clinit>():85:85 -> <clinit>
    4468:4468:void <clinit>():85:85 -> <clinit>
    4469:4469:void <clinit>():85:85 -> <clinit>
    175:175:void <clinit>():85:85 -> <clinit>
    176:176:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():86:86 -> <clinit>
    4466:4466:void <clinit>():86:86 -> <clinit>
    4467:4467:void <clinit>():86:86 -> <clinit>
    4468:4468:void <clinit>():86:86 -> <clinit>
    4469:4469:void <clinit>():86:86 -> <clinit>
    262:262:void <clinit>():86:86 -> <clinit>
    263:263:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():87:87 -> <clinit>
    4466:4466:void <clinit>():87:87 -> <clinit>
    4467:4467:void <clinit>():87:87 -> <clinit>
    4468:4468:void <clinit>():87:87 -> <clinit>
    4469:4469:void <clinit>():87:87 -> <clinit>
    350:350:void <clinit>():87:87 -> <clinit>
    351:351:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():88:88 -> <clinit>
    4466:4466:void <clinit>():88:88 -> <clinit>
    4467:4467:void <clinit>():88:88 -> <clinit>
    4468:4468:void <clinit>():88:88 -> <clinit>
    4469:4469:void <clinit>():88:88 -> <clinit>
    439:439:void <clinit>():88:88 -> <clinit>
    440:440:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():90:90 -> <clinit>
    4466:4466:void <clinit>():90:90 -> <clinit>
    4467:4467:void <clinit>():90:90 -> <clinit>
    4468:4468:void <clinit>():90:90 -> <clinit>
    4469:4469:void <clinit>():90:90 -> <clinit>
    530:530:void <clinit>():90:90 -> <clinit>
    531:531:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():90:90 -> <clinit>
    4466:4466:void <clinit>():90:90 -> <clinit>
    4467:4467:void <clinit>():90:90 -> <clinit>
    4468:4468:void <clinit>():90:90 -> <clinit>
    4469:4469:void <clinit>():90:90 -> <clinit>
    621:621:void <clinit>():90:90 -> <clinit>
    622:622:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():90:90 -> <clinit>
    4466:4466:void <clinit>():90:90 -> <clinit>
    4467:4467:void <clinit>():90:90 -> <clinit>
    4468:4468:void <clinit>():90:90 -> <clinit>
    4469:4469:void <clinit>():90:90 -> <clinit>
    712:712:void <clinit>():90:90 -> <clinit>
    713:713:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():90:90 -> <clinit>
    4466:4466:void <clinit>():90:90 -> <clinit>
    4467:4467:void <clinit>():90:90 -> <clinit>
    4468:4468:void <clinit>():90:90 -> <clinit>
    4469:4469:void <clinit>():90:90 -> <clinit>
    803:803:void <clinit>():90:90 -> <clinit>
    804:804:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():91:91 -> <clinit>
    4466:4466:void <clinit>():91:91 -> <clinit>
    4467:4467:void <clinit>():91:91 -> <clinit>
    4468:4468:void <clinit>():91:91 -> <clinit>
    4469:4469:void <clinit>():91:91 -> <clinit>
    895:895:void <clinit>():91:91 -> <clinit>
    896:896:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():91:91 -> <clinit>
    4466:4466:void <clinit>():91:91 -> <clinit>
    4467:4467:void <clinit>():91:91 -> <clinit>
    4468:4468:void <clinit>():91:91 -> <clinit>
    4469:4469:void <clinit>():91:91 -> <clinit>
    987:987:void <clinit>():91:91 -> <clinit>
    988:988:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():91:91 -> <clinit>
    4466:4466:void <clinit>():91:91 -> <clinit>
    4467:4467:void <clinit>():91:91 -> <clinit>
    4468:4468:void <clinit>():91:91 -> <clinit>
    4469:4469:void <clinit>():91:91 -> <clinit>
    1079:1079:void <clinit>():91:91 -> <clinit>
    1080:1080:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():91:91 -> <clinit>
    4466:4466:void <clinit>():91:91 -> <clinit>
    4467:4467:void <clinit>():91:91 -> <clinit>
    4468:4468:void <clinit>():91:91 -> <clinit>
    4469:4469:void <clinit>():91:91 -> <clinit>
    1171:1171:void <clinit>():91:91 -> <clinit>
    1172:1172:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():93:93 -> <clinit>
    4466:4466:void <clinit>():93:93 -> <clinit>
    4467:4467:void <clinit>():93:93 -> <clinit>
    4468:4468:void <clinit>():93:93 -> <clinit>
    4469:4469:void <clinit>():93:93 -> <clinit>
    1265:1265:void <clinit>():93:93 -> <clinit>
    1266:1266:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():94:94 -> <clinit>
    4466:4466:void <clinit>():94:94 -> <clinit>
    4467:4467:void <clinit>():94:94 -> <clinit>
    4468:4468:void <clinit>():94:94 -> <clinit>
    4469:4469:void <clinit>():94:94 -> <clinit>
    1360:1360:void <clinit>():94:94 -> <clinit>
    1361:1361:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():95:95 -> <clinit>
    4466:4466:void <clinit>():95:95 -> <clinit>
    4467:4467:void <clinit>():95:95 -> <clinit>
    4468:4468:void <clinit>():95:95 -> <clinit>
    4469:4469:void <clinit>():95:95 -> <clinit>
    1456:1456:void <clinit>():95:95 -> <clinit>
    1457:1457:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():96:96 -> <clinit>
    4466:4466:void <clinit>():96:96 -> <clinit>
    4467:4467:void <clinit>():96:96 -> <clinit>
    4468:4468:void <clinit>():96:96 -> <clinit>
    4469:4469:void <clinit>():96:96 -> <clinit>
    1553:1553:void <clinit>():96:96 -> <clinit>
    1554:1554:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():98:98 -> <clinit>
    4466:4466:void <clinit>():98:98 -> <clinit>
    4467:4467:void <clinit>():98:98 -> <clinit>
    4468:4468:void <clinit>():98:98 -> <clinit>
    4469:4469:void <clinit>():98:98 -> <clinit>
    1652:1652:void <clinit>():98:98 -> <clinit>
    1653:1653:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():99:99 -> <clinit>
    4466:4466:void <clinit>():99:99 -> <clinit>
    4467:4467:void <clinit>():99:99 -> <clinit>
    4468:4468:void <clinit>():99:99 -> <clinit>
    4469:4469:void <clinit>():99:99 -> <clinit>
    1752:1752:void <clinit>():99:99 -> <clinit>
    1753:1753:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():99:99 -> <clinit>
    4466:4466:void <clinit>():99:99 -> <clinit>
    4467:4467:void <clinit>():99:99 -> <clinit>
    4468:4468:void <clinit>():99:99 -> <clinit>
    4469:4469:void <clinit>():99:99 -> <clinit>
    1852:1852:void <clinit>():99:99 -> <clinit>
    1853:1853:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():99:99 -> <clinit>
    4466:4466:void <clinit>():99:99 -> <clinit>
    4467:4467:void <clinit>():99:99 -> <clinit>
    4468:4468:void <clinit>():99:99 -> <clinit>
    4469:4469:void <clinit>():99:99 -> <clinit>
    1952:1952:void <clinit>():99:99 -> <clinit>
    1953:1953:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():99:99 -> <clinit>
    4466:4466:void <clinit>():99:99 -> <clinit>
    4467:4467:void <clinit>():99:99 -> <clinit>
    4468:4468:void <clinit>():99:99 -> <clinit>
    4469:4469:void <clinit>():99:99 -> <clinit>
    2052:2052:void <clinit>():99:99 -> <clinit>
    2053:2053:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():100:100 -> <clinit>
    4466:4466:void <clinit>():100:100 -> <clinit>
    4467:4467:void <clinit>():100:100 -> <clinit>
    4468:4468:void <clinit>():100:100 -> <clinit>
    4469:4469:void <clinit>():100:100 -> <clinit>
    2153:2153:void <clinit>():100:100 -> <clinit>
    2154:2154:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():100:100 -> <clinit>
    4466:4466:void <clinit>():100:100 -> <clinit>
    4467:4467:void <clinit>():100:100 -> <clinit>
    4468:4468:void <clinit>():100:100 -> <clinit>
    4469:4469:void <clinit>():100:100 -> <clinit>
    2254:2254:void <clinit>():100:100 -> <clinit>
    2255:2255:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():100:100 -> <clinit>
    4466:4466:void <clinit>():100:100 -> <clinit>
    4467:4467:void <clinit>():100:100 -> <clinit>
    4468:4468:void <clinit>():100:100 -> <clinit>
    4469:4469:void <clinit>():100:100 -> <clinit>
    2355:2355:void <clinit>():100:100 -> <clinit>
    2356:2356:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():100:100 -> <clinit>
    4466:4466:void <clinit>():100:100 -> <clinit>
    4467:4467:void <clinit>():100:100 -> <clinit>
    4468:4468:void <clinit>():100:100 -> <clinit>
    4469:4469:void <clinit>():100:100 -> <clinit>
    2456:2456:void <clinit>():100:100 -> <clinit>
    2457:2457:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():102:102 -> <clinit>
    4466:4466:void <clinit>():102:102 -> <clinit>
    4467:4467:void <clinit>():102:102 -> <clinit>
    4468:4468:void <clinit>():102:102 -> <clinit>
    4469:4469:void <clinit>():102:102 -> <clinit>
    2559:2559:void <clinit>():102:102 -> <clinit>
    2560:2560:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():103:103 -> <clinit>
    4466:4466:void <clinit>():103:103 -> <clinit>
    4467:4467:void <clinit>():103:103 -> <clinit>
    4468:4468:void <clinit>():103:103 -> <clinit>
    4469:4469:void <clinit>():103:103 -> <clinit>
    2663:2663:void <clinit>():103:103 -> <clinit>
    2664:2664:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():105:105 -> <clinit>
    4466:4466:void <clinit>():105:105 -> <clinit>
    4467:4467:void <clinit>():105:105 -> <clinit>
    4468:4468:void <clinit>():105:105 -> <clinit>
    4469:4469:void <clinit>():105:105 -> <clinit>
    2769:2769:void <clinit>():105:105 -> <clinit>
    2770:2770:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():105:105 -> <clinit>
    4466:4466:void <clinit>():105:105 -> <clinit>
    4467:4467:void <clinit>():105:105 -> <clinit>
    4468:4468:void <clinit>():105:105 -> <clinit>
    4469:4469:void <clinit>():105:105 -> <clinit>
    2875:2875:void <clinit>():105:105 -> <clinit>
    2876:2876:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():106:106 -> <clinit>
    4466:4466:void <clinit>():106:106 -> <clinit>
    4467:4467:void <clinit>():106:106 -> <clinit>
    4468:4468:void <clinit>():106:106 -> <clinit>
    4469:4469:void <clinit>():106:106 -> <clinit>
    2982:2982:void <clinit>():106:106 -> <clinit>
    2983:2983:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():106:106 -> <clinit>
    4466:4466:void <clinit>():106:106 -> <clinit>
    4467:4467:void <clinit>():106:106 -> <clinit>
    4468:4468:void <clinit>():106:106 -> <clinit>
    4469:4469:void <clinit>():106:106 -> <clinit>
    3089:3089:void <clinit>():106:106 -> <clinit>
    3090:3090:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():107:107 -> <clinit>
    4466:4466:void <clinit>():107:107 -> <clinit>
    4467:4467:void <clinit>():107:107 -> <clinit>
    4468:4468:void <clinit>():107:107 -> <clinit>
    4469:4469:void <clinit>():107:107 -> <clinit>
    3197:3197:void <clinit>():107:107 -> <clinit>
    3198:3198:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():107:107 -> <clinit>
    4466:4466:void <clinit>():107:107 -> <clinit>
    4467:4467:void <clinit>():107:107 -> <clinit>
    4468:4468:void <clinit>():107:107 -> <clinit>
    4469:4469:void <clinit>():107:107 -> <clinit>
    3305:3305:void <clinit>():107:107 -> <clinit>
    3306:3306:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():108:108 -> <clinit>
    4466:4466:void <clinit>():108:108 -> <clinit>
    4467:4467:void <clinit>():108:108 -> <clinit>
    4468:4468:void <clinit>():108:108 -> <clinit>
    4469:4469:void <clinit>():108:108 -> <clinit>
    3414:3414:void <clinit>():108:108 -> <clinit>
    3415:3415:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():108:108 -> <clinit>
    4466:4466:void <clinit>():108:108 -> <clinit>
    4467:4467:void <clinit>():108:108 -> <clinit>
    4468:4468:void <clinit>():108:108 -> <clinit>
    4469:4469:void <clinit>():108:108 -> <clinit>
    3523:3523:void <clinit>():108:108 -> <clinit>
    3524:3524:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():109:109 -> <clinit>
    4466:4466:void <clinit>():109:109 -> <clinit>
    4467:4467:void <clinit>():109:109 -> <clinit>
    4468:4468:void <clinit>():109:109 -> <clinit>
    4469:4469:void <clinit>():109:109 -> <clinit>
    3633:3633:void <clinit>():109:109 -> <clinit>
    3634:3634:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():109:109 -> <clinit>
    4466:4466:void <clinit>():109:109 -> <clinit>
    4467:4467:void <clinit>():109:109 -> <clinit>
    4468:4468:void <clinit>():109:109 -> <clinit>
    4469:4469:void <clinit>():109:109 -> <clinit>
    3743:3743:void <clinit>():109:109 -> <clinit>
    3744:3744:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():110:110 -> <clinit>
    4466:4466:void <clinit>():110:110 -> <clinit>
    4467:4467:void <clinit>():110:110 -> <clinit>
    4468:4468:void <clinit>():110:110 -> <clinit>
    4469:4469:void <clinit>():110:110 -> <clinit>
    3854:3854:void <clinit>():110:110 -> <clinit>
    3855:3855:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():110:110 -> <clinit>
    4466:4466:void <clinit>():110:110 -> <clinit>
    4467:4467:void <clinit>():110:110 -> <clinit>
    4468:4468:void <clinit>():110:110 -> <clinit>
    4469:4469:void <clinit>():110:110 -> <clinit>
    3965:3965:void <clinit>():110:110 -> <clinit>
    3966:3966:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():112:112 -> <clinit>
    4466:4466:void <clinit>():112:112 -> <clinit>
    4467:4467:void <clinit>():112:112 -> <clinit>
    4468:4468:void <clinit>():112:112 -> <clinit>
    4469:4469:void <clinit>():112:112 -> <clinit>
    4078:4078:void <clinit>():112:112 -> <clinit>
    4079:4079:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():112:112 -> <clinit>
    4466:4466:void <clinit>():112:112 -> <clinit>
    4467:4467:void <clinit>():112:112 -> <clinit>
    4468:4468:void <clinit>():112:112 -> <clinit>
    4469:4469:void <clinit>():112:112 -> <clinit>
    4191:4191:void <clinit>():112:112 -> <clinit>
    4192:4192:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():113:113 -> <clinit>
    4466:4466:void <clinit>():113:113 -> <clinit>
    4467:4467:void <clinit>():113:113 -> <clinit>
    4468:4468:void <clinit>():113:113 -> <clinit>
    4469:4469:void <clinit>():113:113 -> <clinit>
    4305:4305:void <clinit>():113:113 -> <clinit>
    4306:4306:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():113:113 -> <clinit>
    4466:4466:void <clinit>():113:113 -> <clinit>
    4467:4467:void <clinit>():113:113 -> <clinit>
    4468:4468:void <clinit>():113:113 -> <clinit>
    4469:4469:void <clinit>():113:113 -> <clinit>
    4419:4419:void <clinit>():113:113 -> <clinit>
    4420:4463:void <clinit>():83:126 -> <clinit>
    4464:4464:void <clinit>():116:116 -> <clinit>
    1:18:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes,java.lang.String[]):13:30 -> <init>
    19:19:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes,java.lang.String[]):22:22 -> <init>
    1:1:java.util.Map access$getPREDEFINED_STRINGS_MAP$cp():13:13 -> a
    2:34:java.lang.String getString(int):34:66 -> a
    35:45:java.lang.String getString(int):60:70 -> a
    1:1:java.lang.String[] getStrings():15:15 -> b
    2:2:boolean isLocalClassName(int):77:77 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes getTypes():14:14 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil -> com.android.tools.r8.internal.Mw:
# {"id":"sourceFile","fileName":"JvmProtoBufUtil.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil INSTANCE -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite EXTENSION_REGISTRY -> b
    1:1:void <clinit>():19:19 -> <clinit>
    2:15:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf.registerAllExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):10:23 -> <clinit>
    2:15:void <clinit>():19 -> <clinit>
    16:16:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    1:120:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):0:119 -> a
    1:120:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    121:121:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    121:121:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):119 -> a
    121:121:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    122:122:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
    122:122:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    122:122:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):119 -> a
    122:122:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    123:123:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    123:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):119 -> a
    123:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):121:121 -> a
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    125:125:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27:27 -> a
    126:127:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):31:32 -> a
    126:127:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> a
    128:128:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32 -> a
    128:128:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1738:1738 -> a
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52 -> a
    129:129:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32 -> a
    129:129:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> a
    130:130:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32 -> a
    130:130:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):9787:9787 -> a
    131:131:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32 -> a
    131:131:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    132:132:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32:32 -> a
    132:132:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    133:136:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):70:73 -> a
    137:138: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):56:57 -> a
    137:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):75 -> a
    139:205:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):75:75 -> a
    272:274:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):142:144 -> a
    275:275:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    275:275:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):77 -> a
    276:276:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
    276:276:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    276:276:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):77 -> a
    277:277:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    277:277:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):77 -> a
    278:278:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):77:77 -> a
    279:280: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$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):48:49 -> a
    279:280:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    281:281:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    281:281:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    282:282:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
    282:282:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    282:282:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    283:283:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    283:283:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    284:284:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):80:80 -> a
    285:285:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":370,"2":371,"3":372}}
    370:370:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):80:80 -> a
    371:371:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):80:80 -> a
    372:372:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):80:80 -> a
    367:367:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):82:82 -> a
    368:369: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$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):49:50 -> a
    368:369:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    373:431:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):90:148 -> a
    432:432:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100:100 -> a
    433:433:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    433:433:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100 -> a
    434:434:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
    434:434:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    434:434:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100 -> a
    435:435:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    435:435:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100 -> a
    436:439:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100:103 -> a
    1:2:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):47:48 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> b
    3:3:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1738:1738 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52 -> b
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> b
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15310:15310 -> b
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48 -> b
    7:7:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48:48 -> b
    1:1:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37:37 -> c
    2:3:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):41:42 -> c
    2:3:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> c
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42 -> c
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1738:1738 -> c
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52 -> c
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42 -> c
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> c
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42 -> c
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12270:12270 -> c
    7:7:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42 -> c
    7:7:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    8:8:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42:42 -> c
    8:8:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable -> com.android.tools.r8.internal.Nw:
# {"id":"sourceFile","fileName":"JvmStringTable.kt"}
    java.util.LinkedHashSet localNames -> d
    java.util.ArrayList records -> b
    java.util.ArrayList strings -> a
    java.util.HashMap map -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):15:15 -> <init>
    2:91:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver):15:104 -> <init>
    92:96:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver):24:28 -> <init>
    1:1:java.util.ArrayList getStrings():16:16 -> a
    2:75:int getStringIndex(java.lang.String):33:106 -> a
    76:79:int getStringIndex(java.lang.String):34:37 -> a
    80:587:java.lang.Object com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.lastOrNull(java.util.List):0:507 -> a
    80:587:int getStringIndex(java.lang.String):37 -> a
    588:588:int getStringIndex(java.lang.String):37:37 -> a
    589:589:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable.isTrivial(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder):45:45 -> a
    589:589:int getStringIndex(java.lang.String):38 -> a
    590:591:int getStringIndex(java.lang.String):39:40 -> a
    592:667:int getStringIndex(java.lang.String):34:109 -> a
    668:668:int getStringIndex(java.lang.String):107:107 -> a
    669:685:int getQualifiedClassNameIndex(java.lang.String,boolean):57:73 -> a
    686:686:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver$Companion.getPredefinedStringIndex(java.lang.String):118:118 -> a
    686:686:int getQualifiedClassNameIndex(java.lang.String,boolean):76 -> a
    687:692:int getQualifiedClassNameIndex(java.lang.String,boolean):78:83 -> a
    693:708:int getQualifiedClassNameIndex(java.lang.String,boolean):74:89 -> a
    709:729:void serializeTo(java.io.OutputStream):95:115 -> a
    730:730:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():991:991 -> a
    730:730:void serializeTo(java.io.OutputStream):96 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    731:731:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():992:992 -> a
    731:731:void serializeTo(java.io.OutputStream):96 -> a
    732:732:void serializeTo(java.io.OutputStream):96:96 -> a
    733:733:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    733:733:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():993 -> a
    733:733:void serializeTo(java.io.OutputStream):96 -> a
    734:734:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():993:993 -> a
    734:734:void serializeTo(java.io.OutputStream):96 -> a
    735:736:void serializeTo(java.io.OutputStream):96:97 -> a
    737:738:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1797:1798 -> a
    737:738:void serializeTo(java.io.OutputStream):98 -> a
    739:739:void serializeTo(java.io.OutputStream):98:98 -> a
    740:740:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    740:740:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1799 -> a
    740:740:void serializeTo(java.io.OutputStream):98 -> a
    741:741:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1799:1799 -> a
    741:741:void serializeTo(java.io.OutputStream):98 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner -> com.android.tools.r8.internal.bu:
# {"id":"sourceFile","fileName":"Interner.kt"}
    java.util.HashMap interned -> b
    int firstIndex -> a
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner):8:10 -> <init>
    1:20:java.util.List getAllInternedObjects():13:32 -> a
    21:24:java.lang.Integer find(java.lang.Object):19:22 -> a
    1:1:boolean isEmpty():16:16 -> b
    2:3:int intern(java.lang.Object):26:27 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner$special$$inlined$sortedBy$1 -> com.android.tools.r8.internal.au:
# {"id":"sourceFile","fileName":"Comparisons.kt"}
    java.util.HashMap $receiver$inlined -> b
    1:1:int compare(java.lang.Object,java.lang.Object):321:321 -> compare
    2:2:int com.android.tools.r8.jetbrains.kotlin.comparisons.ComparisonsKt__ComparisonsKt.compareValues(java.lang.Comparable,java.lang.Comparable):78:78 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):321 -> compare
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable -> com.android.tools.r8.internal.dG:
# {"id":"sourceFile","fileName":"MutableTable.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.interner -> a
    1:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.<init>():23:28 -> <init>
    1:6:void <init>():56 -> <init>
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner.<init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> <init>
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.<init>():28 -> <init>
    7:7:void <init>():56 -> <init>
    8:8:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.<init>():28:28 -> <init>
    8:8:void <init>():56 -> <init>
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.get(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):35:35 -> a
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.get(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():39:39 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.createTableBuilder():57:57 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.createTableBuilder():55 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():40 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():41:42 -> a
    4:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.addElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):55:55 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():42 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:67:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.addElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):0:60 -> a
    7:67:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.addElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):55 -> a
    7:67:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():42 -> a
    7:67:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    68:68:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():44:44 -> a
    68:68:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    69:69:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():40:40 -> a
    69:69:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.TableElementWrapper -> com.android.tools.r8.internal.OX:
# {"id":"sourceFile","fileName":"MutableTable.kt"}
    byte[] bytes -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder builder -> a
    int hashCode -> c
    1:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):13:16 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder getBuilder():13:13 -> a
    1:1:boolean equals(java.lang.Object):20:20 -> equals
    1:1:int hashCode():18:18 -> hashCode
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite -> com.android.tools.r8.internal.B0:
    1:1:void <init>():46:46 -> <init>
    void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite.writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream) -> a
    1:8:void writeDelimitedTo(java.io.OutputStream):86:93 -> a
    1:6:void writeTo(java.io.OutputStream):77:82 -> b
    int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite.getSerializedSize() -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite.newBuilderForType() -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite.toBuilder() -> e
    1:7:byte[] toByteArray():64:70 -> f
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder -> com.android.tools.r8.internal.A0:
    1:1:void <init>():118:118 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder.mergeFrom(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.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder.build() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder$LimitedInputStream -> com.android.tools.r8.internal.z0:
    int limit -> b
    1:2:void <init>(java.io.InputStream,int):245:246 -> <init>
    1:1:int available():251:251 -> available
    1:6:int read():256:261 -> read
    7:13:int read(byte[],int,int):269:275 -> read
    1:3:long skip(long):282:284 -> skip
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser -> com.android.tools.r8.internal.c1:
    1:1:void <clinit>():78:78 -> <clinit>
    1:1:void <init>():49:49 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):224:224 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    1:1:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    2:13:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint32(int,java.io.InputStream):692:703 -> a
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):228 -> a
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    2:13:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):232:232 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    14:14:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    15:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):191:194 -> a
    15:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):233 -> a
    15:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    15:18:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):70:70 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    19:19:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite.newUninitializedMessageException():102:102 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):57 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    20:20:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException.asInvalidProtocolBufferException():81:81 -> a
    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71 -> a
    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    21:21:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71:71 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    22:22:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):196:196 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):233 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    23:23:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    24:24:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint32(int,java.io.InputStream):705:705 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):228 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    24:24:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.malformedVarint():84:84 -> a
    25:25:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint32(int,java.io.InputStream):711 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):228 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    25:25:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    26:26:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint32(int,java.io.InputStream):711:711 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):228 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    26:26:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):230:230 -> a
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    27:27:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):191:194 -> b
    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    1:4:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):70:70 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    5:5:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite.newUninitializedMessageException():102:102 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):57 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    6:6:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException.asInvalidProtocolBufferException():81:81 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    7:7:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71:71 -> b
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    8:8:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):196:196 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    9:9:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString -> com.android.tools.r8.internal.d6:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString EMPTY -> b
    boolean $assertionsDisabled -> c
    1:22:void <clinit>():60:81 -> <clinit>
    1:1:void <init>():84:84 -> <init>
    int getTreeDepth() -> a
    int partialHash(int,int,int) -> a
    void writeToInternal(java.io.OutputStream,int,int) -> a
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString copyFromUtf8(java.lang.String):269:271 -> a
    4:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concat(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):396:403 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concat(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):399:399 -> a
    13:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString copyFrom(java.lang.Iterable):420:432 -> a
    26:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString balancedConcat(java.util.Iterator,int):442:450 -> a
    35:44:void copyTo(byte[],int,int,int):490:499 -> a
    45:45:void copyTo(byte[],int,int,int):495:495 -> a
    46:46:void copyTo(byte[],int,int,int):491:491 -> a
    47:47:void copyTo(byte[],int,int,int):488:488 -> a
    48:48:void copyTo(byte[],int,int,int):485:485 -> a
    49:49:void copyTo(byte[],int,int,int):482:482 -> a
    void copyToInternal(byte[],int,int,int) -> b
    boolean isBalanced() -> b
    int partialIsValidUtf8(int,int,int) -> b
    boolean isValidUtf8() -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output newOutput():751:751 -> d
    int peekCachedHashCode() -> e
    java.lang.String toString(java.lang.String) -> f
    1:1:java.lang.String toString():1019:1019 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator -> com.android.tools.r8.internal.b6:
    byte nextByte() -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output -> com.android.tools.r8.internal.c6:
    int bufferPos -> f
    byte[] EMPTY_BYTE_ARRAY -> g
    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>
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushLastBuffer():914:914 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString toByteString():827 -> a
    2:3:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.copyArray(byte[],int):835:836 -> a
    2:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushLastBuffer():916 -> a
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString toByteString():827 -> a
    4:18:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushLastBuffer():917:931 -> a
    4:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString toByteString():827 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString toByteString():828:828 -> a
    1:1:java.lang.String toString():888:888 -> toString
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.size():872:872 -> toString
    2:2:java.lang.String toString():888 -> toString
    3:3:java.lang.String toString():888:888 -> toString
    1:1:void write(int):794:794 -> write
    2:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushFullBuffer(int):898:906 -> write
    2:10:void write(int):795 -> write
    11:11:void write(int):797:797 -> write
    12:19:void write(byte[],int,int):802:809 -> write
    20:28:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushFullBuffer(int):898:906 -> write
    20:28:void write(byte[],int,int):814 -> write
    29:30:void write(byte[],int,int):815:816 -> write
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream -> com.android.tools.r8.internal.Ib:
    byte[] buffer -> a
    int currentLimit -> h
    int recursionDepth -> i
    java.io.InputStream input -> e
    int lastTag -> f
    int totalBytesRetired -> g
    int bufferPos -> d
    int bufferSize -> b
    int bufferSizeAfterLimit -> c
    1:1:void <init>(java.io.InputStream):898:898 -> <init>
    2:29:void <init>(java.io.InputStream):876:903 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream newInstance(java.io.InputStream):58:58 -> a
    2:2:void checkLastTagWas(int):173:173 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.invalidEndTag():94:94 -> a
    3:3:void checkLastTagWas(int):174 -> a
    4:4:void checkLastTagWas(int):174:174 -> a
    5:6:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):256:257 -> a
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed32NoTag(int):410:410 -> a
    7:7:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):258 -> a
    8:8:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):244:244 -> a
    9:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):286:287 -> a
    9:10:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):245 -> a
    11:14:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):246:249 -> a
    15:16:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):238:239 -> a
    17:17:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455:455 -> a
    17:17:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):240 -> a
    18:18:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> a
    18:18:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455 -> a
    18:18:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):240 -> a
    19:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455:456 -> a
    19:20:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):240 -> a
    21:22:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):232:233 -> a
    23:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed64NoTag(long):405:405 -> a
    23:23:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):234 -> a
    24:24:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readInt64():343:343 -> a
    24:24:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):226 -> a
    25:25:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):227:227 -> a
    26:26:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt64NoTag(long):385:385 -> a
    26:26:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):228 -> a
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.invalidWireType():99:99 -> a
    27:27:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):262 -> a
    28:28:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):262:262 -> a
    29:36:void readGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):420:427 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.recursionLimitExceeded():104:104 -> a
    37:37:void readGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):421 -> a
    38:38:void readGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):421:421 -> a
    39:47:void readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):471:479 -> a
    48:49:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.popLimit(int):1018:1019 -> a
    48:49:void readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):480 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.recursionLimitExceeded():104:104 -> a
    50:50:void readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):473 -> a
    51:51:void readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):473:473 -> a
    52:60:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):489:497 -> a
    61:62:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.popLimit(int):1018:1019 -> a
    61:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):498 -> a
    63:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.recursionLimitExceeded():104:104 -> a
    63:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):491 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):491:491 -> a
    65:69:int getBytesUntilLimit():1027:1031 -> a
    1:1:boolean readBool():363:363 -> b
    2:3:void popLimit(int):1018:1019 -> b
    1:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString readBytes():504:508 -> c
    6:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.copyFrom(byte[],int,int):206:208 -> c
    6:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString readBytes():508 -> c
    9:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString readBytes():511:517 -> c
    16:23:int pushLimit(int):988:995 -> c
    24:24:int pushLimit(int):991:991 -> c
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.negativeSize():78:78 -> c
    25:25:int pushLimit(int):986 -> c
    26:26:int pushLimit(int):986:986 -> c
    1:1:double readDouble():328:328 -> d
    2:2:byte[] readRawBytesSlowPath(int):1177:1177 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.negativeSize():78:78 -> d
    3:3:byte[] readRawBytesSlowPath(int):1179 -> d
    4:23:byte[] readRawBytesSlowPath(int):1179:1198 -> d
    24:24:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.ensureAvailable(int):1068:1068 -> d
    24:24:byte[] readRawBytesSlowPath(int):1203 -> d
    25:61:byte[] readRawBytesSlowPath(int):1204:1240 -> d
    62:81:byte[] readRawBytesSlowPath(int):1238:1257 -> d
    82:84:byte[] readRawBytesSlowPath(int):1185:1187 -> d
    1:1:int readEnum():570:570 -> e
    2:3:void refillBuffer(int):1081:1082 -> e
    1:1:float readFloat():333:333 -> f
    2:4:void skipRawBytes(int):1272:1274 -> f
    5:25:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipRawBytesSlowPath(int):1289:1309 -> f
    5:25:void skipRawBytes(int):1276 -> f
    26:28:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipRawBytesSlowPath(int):1291:1293 -> f
    26:28:void skipRawBytes(int):1276 -> f
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.negativeSize():78:78 -> f
    29:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipRawBytesSlowPath(int):1286 -> f
    29:29:void skipRawBytes(int):1276 -> f
    30:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipRawBytesSlowPath(int):1286:1286 -> f
    30:30:void skipRawBytes(int):1276 -> f
    1:1:int readInt32():348:348 -> g
    2:41:boolean tryRefillBuffer(int):1095:1134 -> g
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.sizeLimitExceeded():110:110 -> g
    42:42:boolean tryRefillBuffer(int):1131 -> g
    43:43:boolean tryRefillBuffer(int):1131:1131 -> g
    44:44:boolean tryRefillBuffer(int):1123:1123 -> g
    45:45:boolean tryRefillBuffer(int):1096:1096 -> g
    1:11:int readRawLittleEndian32():789:799 -> h
    1:11:long readRawLittleEndian64():807:817 -> i
    1:24:int readRawVarint32():602:625 -> j
    25:28:byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawByte():1148:1151 -> j
    25:28:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():778 -> j
    25:28:int readRawVarint32():637 -> j
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.malformedVarint():84:84 -> j
    29:29:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():784 -> j
    29:29:int readRawVarint32():637 -> j
    30:30:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():784:784 -> j
    30:30:int readRawVarint32():637 -> j
    31:31:int readRawVarint32():634:634 -> j
    1:35:long readRawVarint64():728:762 -> k
    36:39:byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawByte():1148:1151 -> k
    36:39:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():778 -> k
    36:39:long readRawVarint64():770 -> k
    40:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.malformedVarint():84:84 -> k
    40:40:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():784 -> k
    40:40:long readRawVarint64():770 -> k
    41:41:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():784:784 -> k
    41:41:long readRawVarint64():770 -> k
    42:42:long readRawVarint64():767:767 -> k
    1:1:long readSInt64():590:590 -> l
    1:12:java.lang.String readString():372:383 -> m
    1:1:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.isAtEnd():1041:1041 -> n
    1:1:int readTag():149 -> n
    2:6:int readTag():150:154 -> n
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.invalidTag():89:89 -> n
    7:7:int readTag():158 -> n
    8:8:int readTag():158:158 -> n
    1:8:void recomputeBufferSizeAfterLimit():1001:1008 -> o
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream -> com.android.tools.r8.internal.Kb:
    byte[] buffer -> a
    java.io.OutputStream output -> d
    int limit -> b
    int position -> c
    1:5:void <init>(byte[],int,int):78:82 -> <init>
    6:10:void <init>(java.io.OutputStream,byte[]):85:89 -> <init>
    int computeRawVarint64Size(long) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream newInstance(java.io.OutputStream,int):106:106 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream newInstance(byte[]):117:117 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.newInstance(byte[],int,int):130:130 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream newInstance(byte[]):117 -> a
    4:4:int computeMessageSize(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):628:628 -> a
    5:6:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeMessageSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):865:866 -> a
    5:6:int computeMessageSize(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):628 -> a
    7:7:int computeEnumSize(int,int):681:681 -> a
    8:8:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeEnumSizeNoTag(int):916:916 -> a
    8:8:int computeEnumSize(int,int):681 -> a
    9:9:int computeInt32SizeNoTag(int):794:794 -> a
    10:11:int computeMessageSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):865:866 -> a
    12:13:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.spaceLeft():984:985 -> a
    12:13:void checkNoSpaceLeft():1001 -> a
    14:14:void checkNoSpaceLeft():1002:1002 -> a
    15:15:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.spaceLeft():987:987 -> a
    15:15:void checkNoSpaceLeft():1001 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    16:16:void writeBool(int,boolean):219 -> a
    17:17:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBoolNoTag(boolean):415:415 -> a
    17:17:void writeBool(int,boolean):220 -> a
    18:18:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    18:18:void writeBytes(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):263 -> a
    19:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455:456 -> a
    19:20:void writeBytes(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):264 -> a
    21:21:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    21:21:void writeDouble(int,double):170 -> a
    22:22:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeDoubleNoTag(double):375:375 -> a
    22:22:void writeDouble(int,double):171 -> a
    23:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    23:23:void writeFloat(int,float):177 -> a
    24:24:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFloatNoTag(float):380:380 -> a
    24:24:void writeFloat(int,float):178 -> a
    int computeRawVarint32Size(int) -> b
    long encodeZigZag64(long) -> b
    1:2:void writeMessageNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):448:449 -> b
    3:3:int computeInt32Size(int,int):560:560 -> b
    4:4:void flush():974:974 -> b
    5:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():965:966 -> b
    5:6:void flush():975 -> b
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> b
    7:7:void flush():975 -> b
    8:8:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047:1047 -> b
    9:21:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1147:1159 -> b
    9:21:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    22:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():958:966 -> b
    22:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1161 -> b
    22:30:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    31:36:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1166:1171 -> b
    31:36:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    37:42:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):564:569 -> b
    37:42:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1171 -> b
    37:42:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    43:43:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):565:565 -> b
    43:43:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1171 -> b
    43:43:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    44:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):562:562 -> b
    44:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1171 -> b
    44:44:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    45:45:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):559:559 -> b
    45:45:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1171 -> b
    45:45:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    46:46:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> b
    46:46:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1161 -> b
    46:46:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    47:47:void writeRawBytes(byte[]):1052:1052 -> b
    48:60:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1113:1125 -> b
    48:60:void writeRawBytes(byte[]):1052 -> b
    61:69:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():958:966 -> b
    61:69:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1127 -> b
    61:69:void writeRawBytes(byte[]):1052 -> b
    70:76:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1132:1138 -> b
    70:76:void writeRawBytes(byte[]):1052 -> b
    77:77:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> b
    77:77:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1127 -> b
    77:77:void writeRawBytes(byte[]):1052 -> b
    78:78:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> b
    78:78:void writeMessage(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):255 -> b
    79:80:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):448:449 -> b
    79:80:void writeMessage(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):256 -> b
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> c
    1:1:void writeEnum(int,int):313 -> c
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeEnumNoTag(int):497:497 -> c
    2:2:void writeEnum(int,int):314 -> c
    3:3:int computeTagSize(int):1185:1185 -> c
    4:11:void writeRawLittleEndian64(long):1256:1263 -> c
    1:4:void writeInt32NoTag(int):396:399 -> d
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> d
    5:5:void writeInt32(int,int):198 -> d
    6:6:void writeInt32(int,int):199:199 -> d
    7:10:void writeRawVarint64(long):1221:1224 -> d
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawByte(byte):1032:1032 -> e
    1:1:void writeRawByte(int):1042 -> e
    2:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():958:966 -> e
    2:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawByte(byte):1033 -> e
    2:10:void writeRawByte(int):1042 -> e
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> e
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawByte(byte):1033 -> e
    11:11:void writeRawByte(int):1042 -> e
    12:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawByte(byte):1036:1036 -> e
    12:12:void writeRawByte(int):1042 -> e
    13:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> e
    13:13:void writeSInt64(int,long):341 -> e
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt64NoTag(long):517:517 -> e
    14:14:void writeSInt64(int,long):342 -> e
    1:4:void writeRawLittleEndian32(int):1246:1249 -> f
    1:4:void writeRawVarint32(int):1195:1198 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream$OutOfSpaceException -> com.android.tools.r8.internal.Jb:
    1:1:void <init>():1016:1016 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite -> com.android.tools.r8.internal.ij:
    java.util.Map extensionsByNumber -> a
    int $r8$clinit -> b
    1:1:void <clinit>():159:159 -> <clinit>
    1:2:void <init>():137:138 -> <init>
    3:4:void <init>(boolean):156:157 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite newInstance():92:92 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension findLiteExtensionByNumber(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,int):117:117 -> a
    3:3:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125:125 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> a
    4:4:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getNumber():830:830 -> a
    5:5:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125 -> a
    6:6:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    6:6:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getNumber():830 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125 -> a
    7:7:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125:125 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite$ObjectIntPair -> com.android.tools.r8.internal.hj:
    java.lang.Object object -> a
    int number -> b
    1:3:void <init>(java.lang.Object,int):167:169 -> <init>
    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.internal.Yj:
    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
    int $r8$clinit -> e
    boolean isImmutable -> b
    boolean hasLazyField -> c
    1:1:void <clinit>():102:102 -> <clinit>
    1:1:void <init>():76:76 -> <init>
    2:6:void <init>():73:77 -> <init>
    7:7:void <init>(boolean):84:84 -> <init>
    8:21:void <init>(boolean):73:86 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.newFieldSet():92:92 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet clone():134 -> a
    2:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet clone():135:145 -> a
    13:13:java.lang.Object getField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):224:224 -> a
    14:14:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):340:340 -> a
    15:15:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    15:15:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):340 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    16:16:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):345 -> a
    17:17:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):345:345 -> a
    18:18:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):224:224 -> a
    18:18:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):347 -> a
    19:25:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):350:356 -> a
    26:26:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):341:341 -> a
    27:28:boolean isInitialized(java.util.Map$Entry):435:436 -> a
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    29:29:boolean isInitialized(java.util.Map$Entry):436 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    30:30:boolean isInitialized(java.util.Map$Entry):436 -> a
    31:31:boolean isInitialized(java.util.Map$Entry):436:436 -> a
    32:32:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    32:32:boolean isInitialized(java.util.Map$Entry):437 -> a
    33:47:boolean isInitialized(java.util.Map$Entry):439:453 -> a
    48:53:void mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet):481:486 -> a
    54:88:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):556:590 -> a
    89:89:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):575:575 -> a
    90:90:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readSInt32():585:585 -> a
    90:90:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):574 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    91:91:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):574:574 -> a
    92:92:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readSFixed64():580:580 -> a
    92:92:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):573 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:93:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):573:573 -> a
    94:94:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readSFixed32():575:575 -> a
    94:94:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):572 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    95:109:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):572:586 -> a
    110:110:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readUInt32():562:562 -> a
    110:110:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):571 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    111:111:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):571:571 -> a
    112:123:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):570:581 -> a
    124:124:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):578:578 -> a
    125:125:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):568:568 -> a
    126:126:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):564:564 -> a
    127:127:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFixed32():358:358 -> a
    127:127:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):563 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    128:128:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):563:563 -> a
    129:129:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFixed64():353:353 -> a
    129:129:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):562 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    130:130:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):562:562 -> a
    131:131:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readInt32():348:348 -> a
    131:131:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):561 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    132:132:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):561:561 -> a
    133:133:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readUInt64():338:338 -> a
    133:133:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):560 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    134:134:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):560:560 -> a
    135:135:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readInt64():343:343 -> a
    135:135:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):559 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    136:136:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):559:559 -> a
    137:137:float com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFloat():333:333 -> a
    137:137:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):558 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    138:138:float com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFloat():333:333 -> a
    138:138:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):558 -> a
    139:139:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):558:558 -> a
    140:140:double com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readDouble():328:328 -> a
    140:140:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):557 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    141:141:double com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readDouble():328:328 -> a
    141:141:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):557 -> a
    142:142:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):557:557 -> a
    143:166:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):679:702 -> a
    167:167:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt64NoTag(long):517:517 -> a
    167:167:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):702 -> a
    168:168:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt64NoTag(long):517:517 -> a
    168:168:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):702 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    169:169:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):701:701 -> a
    170:170:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt32NoTag(int):512:512 -> a
    170:170:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):701 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    171:171:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):700:700 -> a
    172:172:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSFixed64NoTag(long):507:507 -> a
    172:172:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):700 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    173:173:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):699:699 -> a
    174:174:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSFixed32NoTag(int):502:502 -> a
    174:174:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):699 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    175:176:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):705:706 -> a
    177:177:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeEnumNoTag(int):497:497 -> a
    177:177:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):706 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    178:178:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):708:708 -> a
    179:179:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeEnumNoTag(int):497:497 -> a
    179:179:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):708 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    180:180:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):698:698 -> a
    181:181:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32NoTag(int):489:489 -> a
    181:181:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):698 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    182:183:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):692:693 -> a
    184:185:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455:456 -> a
    184:185:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):693 -> a
    186:186:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):695:695 -> a
    187:188:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeByteArrayNoTag(byte[]):461:462 -> a
    187:188:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):695 -> a
    189:189:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):690:690 -> a
    190:190:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):689:689 -> a
    191:191:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroupNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):430:430 -> a
    191:191:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):689 -> a
    192:192:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):688:688 -> a
    193:195:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeStringNoTag(java.lang.String):423:425 -> a
    193:195:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):688 -> a
    196:196:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):687:687 -> a
    197:197:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBoolNoTag(boolean):415:415 -> a
    197:197:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):687 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    198:198:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):686:686 -> a
    199:199:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed32NoTag(int):410:410 -> a
    199:199:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):686 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    200:200:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):685:685 -> a
    201:201:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed64NoTag(long):405:405 -> a
    201:201:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):685 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    202:202:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):684:684 -> a
    203:203:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):683:683 -> a
    204:204:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt64NoTag(long):385:385 -> a
    204:204:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):683 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    205:205:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):682:682 -> a
    206:206:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeInt64NoTag(long):390:390 -> a
    206:206:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):682 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    207:207:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):681:681 -> a
    208:208:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFloatNoTag(float):380:380 -> a
    208:208:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):681 -> a
    209:209:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):680:680 -> a
    210:210:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeDoubleNoTag(double):375:375 -> a
    210:210:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):680 -> a
    211:211:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):719:719 -> a
    212:212:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    212:212:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):719 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    213:213:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    213:213:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):720 -> a
    214:214:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    214:214:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):721 -> a
    215:215:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):722:722 -> a
    216:216:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isPacked():710:710 -> a
    216:216:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):723 -> a
    217:217:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    217:217:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):724 -> a
    218:218:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    218:218:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):724 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    219:228:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):727:736 -> a
    229:230:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):657:658 -> a
    229:230:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    231:231:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    231:231:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):233 -> a
    231:231:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    231:231:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    232:232:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    232:232:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):233 -> a
    232:232:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    232:232:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    233:233:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroupNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):430:430 -> a
    233:233:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):234 -> a
    233:233:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    233:233:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    234:234:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    234:234:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):235 -> a
    234:234:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    234:234:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    235:235:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getWireFormatForFieldType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):472:472 -> a
    235:235:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
    235:235:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    236:236:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    236:236:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
    236:236:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    237:237:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    237:237:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    237:237:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    238:238:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):661:661 -> a
    238:238:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    239:240:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):657:658 -> a
    239:240:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    241:241:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    241:241:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):233 -> a
    241:241:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    241:241:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    242:242:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    242:242:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):233 -> a
    242:242:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    242:242:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    243:243:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroupNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):430:430 -> a
    243:243:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):234 -> a
    243:243:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    243:243:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    244:244:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    244:244:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):235 -> a
    244:244:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    244:244:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    245:245:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getWireFormatForFieldType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):472:472 -> a
    245:245:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
    245:245:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    246:246:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    246:246:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
    246:246:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    247:247:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    247:247:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    247:247:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    248:248:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):661:661 -> a
    248:248:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    249:290:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):835:876 -> a
    291:291:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):858:858 -> a
    292:292:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt64SizeNoTag(long):948:948 -> a
    292:292:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):858 -> a
    293:293:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):857:857 -> a
    294:294:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt32SizeNoTag(int):940:940 -> a
    294:294:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):857 -> a
    295:295:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):856:856 -> a
    296:310:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):855:869 -> a
    311:311:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeEnumSizeNoTag(int):916:916 -> a
    311:311:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):869 -> a
    312:312:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):872:872 -> a
    313:313:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeEnumSizeNoTag(int):916:916 -> a
    313:313:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):872 -> a
    314:314:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):854:854 -> a
    315:315:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeUInt32SizeNoTag(int):908:908 -> a
    315:315:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):854 -> a
    316:317:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):849:850 -> a
    318:318:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBytesSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):883:883 -> a
    318:318:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):850 -> a
    319:319:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):852:852 -> a
    320:320:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeByteArraySizeNoTag(byte[]):892:892 -> a
    320:320:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):852 -> a
    321:321:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):864:864 -> a
    322:322:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):847:847 -> a
    323:323:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeGroupSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):844:844 -> a
    323:323:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):847 -> a
    324:324:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):846:846 -> a
    325:329:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeStringSizeNoTag(java.lang.String):831:835 -> a
    325:329:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):846 -> a
    330:330:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):845:845 -> a
    331:331:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):844:844 -> a
    332:332:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):843:843 -> a
    333:333:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):842:842 -> a
    334:334:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):841:841 -> a
    335:335:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeUInt64SizeNoTag(long):777:777 -> a
    335:335:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):841 -> a
    336:336:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):840:840 -> a
    337:337:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeInt64SizeNoTag(long):785:785 -> a
    337:337:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):840 -> a
    338:338:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):839:839 -> a
    339:339:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):838:838 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet emptySet():99:99 -> b
    2:2:boolean hasField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):209:209 -> b
    3:3:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> b
    3:3:boolean hasField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):209 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean hasField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):214:214 -> b
    5:5:boolean hasField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):210:210 -> b
    6:27:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):369:390 -> b
    28:28:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):385:385 -> b
    29:29:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):381:381 -> b
    30:30:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):379:379 -> b
    31:31:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):378:378 -> b
    32:32:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):377:377 -> b
    33:33:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):376:376 -> b
    34:34:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):375:375 -> b
    35:64:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):374:403 -> b
    65:71:void mergeFromField(java.util.Map$Entry):504:510 -> b
    72:72:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> b
    72:72:void mergeFromField(java.util.Map$Entry):510 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    73:73:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):224:224 -> b
    73:73:void mergeFromField(java.util.Map$Entry):511 -> b
    74:77:void mergeFromField(java.util.Map$Entry):513:516 -> b
    78:81:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.cloneIfMutable(java.lang.Object):491:494 -> b
    78:81:void mergeFromField(java.util.Map$Entry):516 -> b
    82:84:void mergeFromField(java.util.Map$Entry):516:518 -> b
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> b
    85:85:void mergeFromField(java.util.Map$Entry):519 -> b
    86:86:void mergeFromField(java.util.Map$Entry):519:519 -> b
    87:87:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):224:224 -> b
    87:87:void mergeFromField(java.util.Map$Entry):520 -> b
    88:88:void mergeFromField(java.util.Map$Entry):522:522 -> b
    89:92:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.cloneIfMutable(java.lang.Object):491:494 -> b
    89:92:void mergeFromField(java.util.Map$Entry):522 -> b
    93:96:void mergeFromField(java.util.Map$Entry):522:525 -> b
    97:97:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.internalMergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):720:720 -> b
    97:97:void mergeFromField(java.util.Map$Entry):525 -> b
    98:105:void mergeFromField(java.util.Map$Entry):525:532 -> b
    106:109:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.cloneIfMutable(java.lang.Object):491:494 -> b
    106:109:void mergeFromField(java.util.Map$Entry):532 -> b
    110:110:void mergeFromField(java.util.Map$Entry):532:532 -> b
    111:111:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):885:885 -> b
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> b
    112:112:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):885 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    113:113:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> b
    113:113:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):886 -> b
    114:114:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> b
    114:114:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):887 -> b
    115:115:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isPacked():710:710 -> b
    115:115:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):888 -> b
    116:124:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):890:898 -> b
    125:131:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.computeElementSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):814:820 -> b
    125:131:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):899 -> b
    132:138:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.computeElementSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):814:820 -> b
    132:138:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):904 -> b
    1:1:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):238:238 -> c
    2:2:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> c
    2:2:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):238 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:12:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):239:248 -> c
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> c
    13:13:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):249 -> c
    14:14:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):249:249 -> c
    15:15:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):240:240 -> c
    16:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> c
    16:16:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):253 -> c
    17:23:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):253:259 -> c
    24:31:int getSerializedSize():755:762 -> c
    1:1:java.lang.Object clone():50:50 -> clone
    1:8:boolean isInitialized():418:425 -> d
    1:5:java.util.Iterator iterator():197:201 -> e
    1:5:void makeImmutable():107:111 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet newFieldSet():92:92 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite -> com.android.tools.r8.internal.Xj:
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite -> com.android.tools.r8.internal.Jl:
    1:1:void <init>():53:53 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):56:56 -> <init>
    1:738:java.lang.reflect.Method getMethodOrDie(java.lang.Class,java.lang.String,java.lang.Class[]):0:737 -> a
    739:739:boolean parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):73:73 -> a
    740:748:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):517:525 -> a
    740:748:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    749:749:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    749:749:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):525 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    749:749:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    750:750:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):525:525 -> a
    750:750:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    751:751:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getWireFormatForFieldType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):472:472 -> a
    751:751:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):525 -> a
    751:751:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    752:752:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):529:529 -> a
    752:752:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    753:753:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    753:753:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):529 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    753:753:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    754:760:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):540:546 -> a
    754:760:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    761:761:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    761:761:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):546 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    761:761:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    762:763:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):546:547 -> a
    762:763:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    764:764:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readEnum():570:570 -> a
    764:764:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):548 -> a
    764:764:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    765:765:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):549:549 -> a
    765:765:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    766:766:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getEnumType():714:714 -> a
    766:766:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):549 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    766:766:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    767:779:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):549:561 -> a
    767:779:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    780:780:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    780:780:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):561 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    780:780:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    781:791:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):561:571 -> a
    781:791:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    792:792:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    792:792:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):571 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    792:792:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    793:793:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    793:793:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):571 -> a
    793:793:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    794:831:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):571:608 -> a
    794:831:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    832:832:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    832:832:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):608 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    832:832:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    833:833:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):608:608 -> a
    833:833:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    834:834:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):574:574 -> a
    834:834:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    835:835:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    835:835:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):574 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    835:835:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    836:839:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):575:578 -> a
    836:839:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    840:840:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getMessageDefaultInstance():839:839 -> a
    840:840:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):582 -> a
    840:840:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    841:844:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):582:585 -> a
    841:844:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    845:845:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    845:845:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):585 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    845:845:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    846:846:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):585:585 -> a
    846:846:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    847:847:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    847:847:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getNumber():830 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    847:847:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):587 -> a
    847:847:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    848:853:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):587:592 -> a
    848:853:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    854:854:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readEnum():570:570 -> a
    854:854:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):596 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    854:854:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    855:855:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):597:597 -> a
    855:855:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    856:856:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getEnumType():714:714 -> a
    856:856:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):597 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    856:856:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    857:862:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):597:602 -> a
    857:862:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    863:863:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32NoTag(int):489:489 -> a
    863:863:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):603 -> a
    863:863:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    864:864:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):614:614 -> a
    864:864:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    865:865:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    865:865:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):614 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    865:865:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    866:869:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):615:618 -> a
    866:869:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    870:870:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension newSingularGeneratedExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Class):639:639 -> a
    871:872:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension newRepeatedGeneratedExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean,java.lang.Class):661:662 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder -> com.android.tools.r8.internal.Dl:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    1:45:void <init>():87:131 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder setUnknownFields(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):127:127 -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType() -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString getUnknownFields():123:123 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder -> com.android.tools.r8.internal.El:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet extensions -> c
    boolean extensionsIsMutable -> d
    1:3:void <init>():332:334 -> <init>
    1:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.ensureExtensionsIsMutable():350:352 -> a
    1:3:void mergeExtensionFields(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage):495 -> a
    4:4:void mergeExtensionFields(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage):496:496 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.buildExtensions():361:361 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):327 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.buildExtensions():361:363 -> a
    6:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):327 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> a
    9:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):453 -> a
    10:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):368:368 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):453 -> a
    11:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.ensureExtensionsIsMutable():350:352 -> a
    11:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):454 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):455:455 -> a
    15:15:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):371:371 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):453 -> a
    16:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):431 -> a
    17:17:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):368:368 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):431 -> a
    18:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.ensureExtensionsIsMutable():350:352 -> a
    18:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):432 -> a
    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433:433 -> a
    22:22:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    22:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):869 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    23:23:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):870 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    24:24:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):870 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433 -> a
    25:35:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):870:880 -> a
    25:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433:433 -> a
    37:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):371:371 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):431 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage -> com.android.tools.r8.internal.Gl:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet extensions -> b
    1:2:void <init>():171:172 -> <init>
    3:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):175:176 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet access$200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage):164:164 -> a
    2:2:boolean parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):246:246 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> a
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):211 -> a
    4:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):181:181 -> a
    4:4:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):211 -> a
    5:7:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):212:214 -> a
    8:8:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):844:844 -> a
    8:8:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    9:9:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    9:9:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    10:10:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):845 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    11:11:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):845 -> a
    11:11:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    12:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):845:855 -> a
    12:22:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    23:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):184:184 -> a
    23:23:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):211 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> b
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):181 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):194 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):181:181 -> b
    2:2:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):194 -> b
    3:3:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):195:195 -> b
    4:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):184:184 -> b
    4:4:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):194 -> b
    1:1:boolean extensionsAreInitialized():233:233 -> g
    1:1:int extensionsSerializedSize():316:316 -> h
    1:1:void makeExtensionsImmutable():261:261 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage$ExtensionWriter newExtensionWriter():308:308 -> j
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage$ExtensionWriter -> com.android.tools.r8.internal.Fl:
    java.util.Map$Entry next -> b
    java.util.Iterator iter -> a
    boolean messageSetWireFormat -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage,boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$1):270:270 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage,boolean):279:279 -> <init>
    3:12:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage,boolean):274:283 -> <init>
    1:1:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):288:288 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    2:2:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):288 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):289:290 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    5:5:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    6:6:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290 -> a
    7:7:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290:290 -> a
    8:8:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    8:8:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290 -> a
    9:9:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    9:9:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    10:10:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293:293 -> a
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):352 -> a
    11:11:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    12:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    12:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):352 -> a
    12:12:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    13:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    13:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32(int,int):303 -> a
    13:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):353 -> a
    13:13:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32NoTag(int):489:489 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32(int,int):304 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):353 -> a
    14:14:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    15:15:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):354:354 -> a
    15:15:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):355 -> a
    16:16:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    17:22:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):296:301 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor -> com.android.tools.r8.internal.Hl:
    boolean isRepeated -> e
    boolean isPacked -> f
    int number -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap enumTypeMap -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType type -> d
    1:6:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean,boolean):679:684 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType getLiteType():698:698 -> a
    1:1:int compareTo(java.lang.Object):671:671 -> compareTo
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.compareTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor):725:725 -> compareTo
    2:2:int compareTo(java.lang.Object):671 -> compareTo
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension -> com.android.tools.r8.internal.Il:
    java.lang.Object defaultValue -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor descriptor -> d
    java.lang.reflect.Method enumValueOf -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite messageDefaultInstance -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite containingTypeDefaultInstance -> a
    1:25:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor,java.lang.Class):786:810 -> <init>
    26:26:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor,java.lang.Class):790:790 -> <init>
    1:1:java.lang.Object singularFromFieldSetType(java.lang.Object):860:860 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    2:2:java.lang.Object singularFromFieldSetType(java.lang.Object):860 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    3:3:java.lang.Object singularFromFieldSetType(java.lang.Object):860 -> a
    4:5:java.lang.Object singularFromFieldSetType(java.lang.Object):860:861 -> a
    6:18:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.invokeOrDie(java.lang.reflect.Method,java.lang.Object,java.lang.Object[]):746:758 -> a
    6:18:java.lang.Object singularFromFieldSetType(java.lang.Object):861 -> a
    19:19:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.invokeOrDie(java.lang.reflect.Method,java.lang.Object,java.lang.Object[]):754:754 -> a
    19:19:java.lang.Object singularFromFieldSetType(java.lang.Object):861 -> a
    20:20:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.invokeOrDie(java.lang.reflect.Method,java.lang.Object,java.lang.Object[]):748:748 -> a
    20:20:java.lang.Object singularFromFieldSetType(java.lang.Object):861 -> a
    1:1:java.lang.Object singularToFieldSetType(java.lang.Object):885:885 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> b
    2:2:java.lang.Object singularToFieldSetType(java.lang.Object):885 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> b
    3:3:java.lang.Object singularToFieldSetType(java.lang.Object):885 -> b
    4:5:java.lang.Object singularToFieldSetType(java.lang.Object):885:886 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal -> com.android.tools.r8.internal.Qt:
    byte[] EMPTY_BYTE_ARRAY -> a
    1:6:void <clinit>():383:388 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite -> com.android.tools.r8.internal.Ot:
    int getNumber() -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap -> com.android.tools.r8.internal.Pt:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite findValueByNumber(int) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException -> com.android.tools.r8.internal.ju:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite unfinishedMessage -> b
    1:1:void <init>(java.lang.String):46:46 -> <init>
    2:2:void <init>(java.lang.String):43:43 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException setUnfinishedMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):57:57 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getUnfinishedMessage():66:66 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException truncatedMessage():70:70 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LazyField$LazyIterator -> com.android.tools.r8.internal.OA:
    java.util.Iterator iterator -> b
    1:2:void <init>(java.util.Iterator):130:131 -> <init>
    1:1:boolean hasNext():136:136 -> hasNext
    1:2:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LazyField$LazyIterator.next():142:143 -> next
    1:2:java.lang.Object next():127 -> next
    1:1:void remove():151:151 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString -> com.android.tools.r8.internal.cC:
    int hash -> e
    byte[] bytes -> d
    1:180:void <init>(byte[]):62:241 -> <init>
    181:181:void <init>(byte[]):63:63 -> <init>
    int getTreeDepth() -> a
    1:1:void writeToInternal(java.io.OutputStream,int,int):148:148 -> a
    2:18:boolean equalsRange(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString,int,int):213:229 -> a
    19:19:boolean equalsRange(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString,int,int):218:218 -> a
    20:20:boolean equalsRange(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString,int,int):214:214 -> a
    21:21:int partialHash(int,int,int):271:271 -> a
    22:22:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.hashCode(int,byte[],int,int):276:276 -> a
    22:22:int partialHash(int,int,int):271 -> a
    boolean isBalanced() -> b
    1:1:void copyToInternal(byte[],int,int,int):117:117 -> b
    2:2:int partialIsValidUtf8(int,int,int):170:170 -> b
    1:1:boolean isValidUtf8():164:164 -> c
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> c
    2:2:boolean isValidUtf8():164 -> c
    3:3:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.isValidUtf8(byte[],int,int):122:122 -> c
    3:3:boolean isValidUtf8():164 -> c
    1:1:int peekCachedHashCode():266:266 -> e
    1:17:boolean equals(java.lang.Object):181:197 -> equals
    18:18:boolean equals(java.lang.Object):0:0 -> equals
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":216,"2":217,"3":218}}
    216:216:boolean equals(java.lang.Object):197:197 -> equals
    217:217:boolean equals(java.lang.Object):197:197 -> equals
    218:218:boolean equals(java.lang.Object):197:197 -> equals
    215:215:boolean equals(java.lang.Object):197:197 -> equals
    1:156:java.lang.String toString(java.lang.String):0:155 -> f
    157:157:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> f
    157:157:java.lang.String toString(java.lang.String):155 -> f
    158:158:java.lang.String toString(java.lang.String):155:155 -> f
    int getOffsetIntoBytes() -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator iterator():307:307 -> h
    1:9:int hashCode():251:259 -> hashCode
    1:1:java.util.Iterator iterator():52:52 -> iterator
    1:1:int size():76:76 -> size
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$LiteralByteIterator -> com.android.tools.r8.internal.bC:
    int position -> b
    int limit -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString this$0 -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$1):310:310 -> <init>
    2:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString):314:316 -> <init>
    1:3:byte nextByte():330:332 -> b
    1:1:boolean hasNext():320:320 -> hasNext
    1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$LiteralByteIterator.next():325:325 -> next
    1:1:java.lang.Object next():310 -> next
    1:1:void remove():337:337 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLiteOrBuilder -> com.android.tools.r8.internal.aE:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType() -> a
    boolean isInitialized() -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser -> com.android.tools.r8.internal.rL:
    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.internal.CT:
    int treeDepth -> h
    int hash -> i
    int leftLength -> g
    int totalLength -> d
    int[] minLengthByDepth -> j
    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>
    417:421:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):130:134 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString):70:70 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):153:160 -> a
    10:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.concatenateBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):214:219 -> a
    10:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):164 -> a
    16:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):165:177 -> a
    29:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.concatenateBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):214:219 -> a
    29:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):177 -> a
    35:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):178:179 -> a
    37:37:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.getTreeDepth():277:277 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):179 -> a
    38:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):179:197 -> a
    57:57:int getTreeDepth():277:277 -> a
    58:65:void writeToInternal(java.io.OutputStream,int,int):407:414 -> a
    66:73:int partialHash(int,int,int):568:575 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString):70:70 -> b
    2:2:boolean isBalanced():290:290 -> b
    3:11:void copyToInternal(byte[],int,int,int):360:368 -> b
    12:19:int partialIsValidUtf8(int,int,int):437:444 -> b
    1:2:boolean isValidUtf8():429:430 -> c
    1:1:int peekCachedHashCode():562:562 -> e
    1:20:boolean equals(java.lang.Object):456:475 -> equals
    21:21:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):494:494 -> equals
    21:21:boolean equals(java.lang.Object):480 -> equals
    22:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.next():716:716 -> equals
    22:22:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):495 -> equals
    22:22:boolean equals(java.lang.Object):480 -> equals
    23:23:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):498:498 -> equals
    23:23:boolean equals(java.lang.Object):480 -> equals
    24:24:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.next():716:716 -> equals
    24:24:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):499 -> equals
    24:24:boolean equals(java.lang.Object):480 -> equals
    25:25:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> equals
    25:25:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):503 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:boolean equals(java.lang.Object):480 -> equals
    26:26:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> equals
    26:26:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):503 -> equals
    26:26:boolean equals(java.lang.Object):480 -> equals
    27:27:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> equals
    27:27:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):504 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:boolean equals(java.lang.Object):480 -> equals
    28:28:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> equals
    28:28:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):504 -> equals
    28:28:boolean equals(java.lang.Object):480 -> equals
    29:44:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):505:520 -> equals
    29:44:boolean equals(java.lang.Object):480 -> equals
    45:45:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.next():716:716 -> equals
    45:45:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):525 -> equals
    45:45:boolean equals(java.lang.Object):480 -> equals
    46:46:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.next():716:716 -> equals
    46:46:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):531 -> equals
    46:46:boolean equals(java.lang.Object):480 -> equals
    1:422:java.lang.String toString(java.lang.String):0:421 -> f
    423:423:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.size():269:269 -> f
    423:423:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.toByteArray():528 -> f
    423:423:java.lang.String toString(java.lang.String):421 -> f
    424:427:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.toByteArray():530:533 -> f
    424:427:java.lang.String toString(java.lang.String):421 -> f
    428:428:java.lang.String toString(java.lang.String):421:421 -> f
    1:1:int[] access$600():70:70 -> g
    1:9:int hashCode():547:555 -> hashCode
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.iterator():779:779 -> iterator
    1:1:java.util.Iterator iterator():70 -> iterator
    1:1:int size():269:269 -> size
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer -> com.android.tools.r8.internal.zT:
    java.util.Stack prefixesStack -> a
    1:5:void <init>():602:606 -> <init>
    6:6:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):602:602 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.balance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):609:609 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):602 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.balance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):610:616 -> a
    2:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):602 -> a
    9:9:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):628:628 -> a
    10:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):656:656 -> a
    10:10:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    11:11:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.getDepthBinForLength(int):695:695 -> a
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):656 -> a
    11:11:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    12:36:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):657:681 -> a
    12:36:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    37:37:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.getDepthBinForLength(int):695:695 -> a
    37:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):681 -> a
    37:37:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    38:46:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):682:690 -> a
    38:46:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    47:47:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):664:664 -> a
    47:47:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    48:53:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):630:635 -> a
    54:54:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":690,"2":691,"3":692}}
    690:690:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
    691:691:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
    692:692:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
    689:689:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator -> com.android.tools.r8.internal.AT:
    java.util.Stack breadCrumbs -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):716:716 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):722:722 -> <init>
    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 -> j
    2:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.getNextNonEmptyLeaf():740:743 -> j
    2:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> j
    6:6:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.isEmpty():135:135 -> j
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.getNextNonEmptyLeaf():744 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> j
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765:765 -> j
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():762:762 -> j
    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.internal.BT:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator bytes -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator pieces -> b
    int bytesRemaining -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):782:782 -> <init>
    2:5:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString):788:791 -> <init>
    1:5:byte nextByte():803:807 -> b
    1:1:boolean hasNext():795:795 -> hasNext
    1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$RopeByteIterator.next():799:799 -> next
    1:1:java.lang.Object next():782 -> next
    1:1:void remove():811:811 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1 -> com.android.tools.r8.internal.VU:
    java.util.Map com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.overflowEntries -> d
    java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.entryList -> c
    boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.isImmutable -> e
    int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.maxArraySize -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntrySet com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.lazyEntrySet -> f
    1:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.<init>(int):153:156 -> <init>
    1:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.<init>(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1):87 -> <init>
    1:4:void <init>(int):100 -> <init>
    java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):87:87 -> a
    2:2:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getArrayEntryAt(int):185:185 -> a
    2:2:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getArrayEntryAt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):296:296 -> a
    3:3:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):297:298 -> a
    4:5:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    6:10:java.util.SortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntriesMutable():377:381 -> a
    6:10:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):301 -> a
    6:10:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    11:13:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):301:303 -> a
    11:13:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.<init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,java.util.Map$Entry):406:406 -> a
    14:14:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):303 -> a
    14:14:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    15:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):303:304 -> a
    15:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    17:33:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.binarySearchInArray(java.lang.Comparable):316:332 -> a
    1:1:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):87:87 -> b
    2:6:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):237:241 -> b
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.ensureEntryArrayMutable():389:391 -> b
    7:9:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):243 -> b
    10:10:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):245:245 -> b
    11:15:java.util.SortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntriesMutable():377:381 -> b
    11:15:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):247 -> b
    16:21:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):247:252 -> b
    22:26:java.util.SortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntriesMutable():377:381 -> b
    22:26:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):253 -> b
    27:30:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):253:256 -> b
    1:1:java.util.Map com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):87:87 -> c
    1:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.clear():262:267 -> clear
    1:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.containsKey(java.lang.Object):214:215 -> containsKey
    1:2:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.newFieldMap(int):100:100 -> d
    1:4:java.util.Set com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.entrySet():353:356 -> entrySet
    1:4:java.util.Set com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.checkMutable():364:365 -> f
    1:6:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.get(java.lang.Object):227:232 -> get
    1:6:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getNumArrayEntries():180:180 -> k
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getNumArrayEntries():0 -> k
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Iterable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntries():195:195 -> l
    1:1:java.lang.Iterable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntries():0 -> l
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.isImmutable():175:175 -> m
    1:1:void makeImmutable():104 -> m
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getNumArrayEntries():180:180 -> m
    2:2:void makeImmutable():105 -> m
    3:5:void makeImmutable():106:108 -> m
    6:6:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> m
    6:6:void makeImmutable():108 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:13:void makeImmutable():109:115 -> m
    14:14:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> m
    14:14:void makeImmutable():115 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:16:void makeImmutable():116:117 -> m
    17:25:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.makeImmutable():161:169 -> m
    17:25:void makeImmutable():121 -> m
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):100:100 -> put
    1:4:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):279:282 -> remove
    1:4:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    5:7:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):296:298 -> remove
    5:7:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    5:7:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    8:12:java.util.SortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntriesMutable():377:381 -> remove
    8:12:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):301 -> remove
    8:12:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    8:12:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    13:15:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):301:303 -> remove
    13:15:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    13:15:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.<init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,java.util.Map$Entry):406:406 -> remove
    16:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):303 -> remove
    16:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    16:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    17:18:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):303:304 -> remove
    17:18:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    17:18:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    19:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):288:291 -> remove
    19:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.size():202:202 -> size
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet -> com.android.tools.r8.internal.YU:
    java.util.Iterator ITERATOR -> a
    java.lang.Iterable ITERABLE -> b
    1:16:void <clinit>():591:606 -> <clinit>
    1:1:java.util.Iterator access$700():589:589 -> a
    1:1:java.lang.Iterable iterable():615:615 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet$1 -> com.android.tools.r8.internal.WU:
    1:1:void <init>():591:591 -> <init>
    1:1:java.lang.Object next():598:598 -> next
    1:1:void remove():602:602 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet$2 -> com.android.tools.r8.internal.XU:
    1:1:void <init>():606:606 -> <init>
    1:1:java.util.Iterator iterator():609:609 -> iterator
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry -> com.android.tools.r8.internal.ZU:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap this$0 -> d
    java.lang.Comparable key -> b
    java.lang.Object value -> c
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,java.lang.Comparable,java.lang.Object):409:411 -> <init>
    1:1:java.lang.Comparable getKey():416:416 -> b
    1:1:int compareTo(java.lang.Object):400:400 -> compareTo
    2:2:java.lang.Comparable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.getKey():416:416 -> compareTo
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.compareTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry):426 -> compareTo
    2:2:int compareTo(java.lang.Object):400 -> compareTo
    3:3:java.lang.Comparable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.getKey():416:416 -> compareTo
    3:3:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.compareTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry):426 -> compareTo
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int compareTo(java.lang.Object):400 -> compareTo
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.compareTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry):426:426 -> compareTo
    4:4:int compareTo(java.lang.Object):400 -> compareTo
    1:6:boolean equals(java.lang.Object):442:447 -> equals
    7:7:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.equals(java.lang.Object,java.lang.Object):463:463 -> equals
    7:7:boolean equals(java.lang.Object):447 -> equals
    8:8:boolean equals(java.lang.Object):447:447 -> equals
    9:9:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.equals(java.lang.Object,java.lang.Object):463:463 -> equals
    9:9:boolean equals(java.lang.Object):447 -> equals
    1:1:java.lang.Comparable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.getKey():416:416 -> getKey
    1:1:java.lang.Object getKey():400 -> getKey
    1:1:java.lang.Object getValue():421:421 -> getValue
    1:1:int hashCode():452:452 -> hashCode
    1:3:java.lang.Object setValue(java.lang.Object):431:433 -> setValue
    1:1:java.lang.String toString():458:458 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator -> com.android.tools.r8.internal.aV:
    java.util.Iterator lazyOverflowIterator -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap this$0 -> e
    int pos -> b
    boolean nextCalledBeforeRemove -> c
    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
    2:5:java.util.Iterator com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.getOverflowIterator():577:580 -> hasNext
    2:5:boolean hasNext():540 -> hasNext
    6:6:boolean hasNext():540:540 -> hasNext
    1:5:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.next():546:550 -> next
    1:5:java.lang.Object next():532 -> next
    6:9:java.util.Iterator com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.getOverflowIterator():577:580 -> next
    6:9:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.next():552 -> next
    6:9:java.lang.Object next():532 -> next
    10:10:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.next():552:552 -> next
    10:10:java.lang.Object next():532 -> next
    1:8:void remove():557:564 -> remove
    9:12:java.util.Iterator com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.getOverflowIterator():577:580 -> remove
    9:12:void remove():566 -> remove
    13:13:void remove():566:566 -> remove
    14:14:void remove():558:558 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntrySet -> com.android.tools.r8.internal.bV:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):470:470 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1):470:470 -> <init>
    1:1:boolean add(java.lang.Object):470:470 -> add
    2:3:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntrySet.add(java.util.Map$Entry):499:500 -> add
    2:3:boolean add(java.lang.Object):470 -> add
    1:1:void clear():524:524 -> clear
    1:4:boolean contains(java.lang.Object):490:493 -> contains
    1:1:java.util.Iterator iterator():474:474 -> iterator
    1:3:boolean remove(java.lang.Object):514:516 -> remove
    1:1:int size():479:479 -> size
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException -> com.android.tools.r8.internal.m00:
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):53:53 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8 -> com.android.tools.r8.internal.S00:
    1:66:int partialIsValidUtf8(int,byte[],int,int):163:228 -> a
    67:67:int partialIsValidUtf8(byte[],int,int):252:252 -> a
    68:79:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):270:281 -> a
    68:79:int partialIsValidUtf8(byte[],int,int):256 -> a
    80:85:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.incompleteStateFor(byte[],int,int):341:346 -> a
    80:85:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):289 -> a
    80:85:int partialIsValidUtf8(byte[],int,int):256 -> a
    86:86:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.incompleteStateFor(byte[],int,int):344:344 -> a
    86:86:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):289 -> a
    86:86:int partialIsValidUtf8(byte[],int,int):256 -> a
    87:87:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):291:291 -> a
    87:87:int partialIsValidUtf8(byte[],int,int):256 -> a
    88:93:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.incompleteStateFor(byte[],int,int):341:346 -> a
    88:93:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):304 -> a
    88:93:int partialIsValidUtf8(byte[],int,int):256 -> a
    94:94:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.incompleteStateFor(byte[],int,int):344:344 -> a
    94:94:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):304 -> a
    94:94:int partialIsValidUtf8(byte[],int,int):256 -> a
    95:95:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):306:306 -> a
    95:95:int partialIsValidUtf8(byte[],int,int):256 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat -> com.android.tools.r8.internal.p20:
    int makeTag(int,int) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType -> com.android.tools.r8.internal.n20:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType javaType -> b
    int wireType -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FLOAT -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType DOUBLE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType[] $VALUES -> v
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType UINT64 -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType INT64 -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FIXED64 -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType INT32 -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType BOOL -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FIXED32 -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType GROUP -> m
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType STRING -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType BYTES -> o
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType MESSAGE -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType ENUM -> q
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType UINT32 -> p
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SFIXED64 -> s
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SFIXED32 -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SINT64 -> u
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SINT32 -> t
    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>
    2:4:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):135:137 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType getJavaType():143:143 -> a
    1:1:int getWireType():144:144 -> b
    boolean isPackable() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$1 -> com.android.tools.r8.internal.j20:
    1:117:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):0:116 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$2 -> com.android.tools.r8.internal.k20:
    1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):119:119 -> <init>
    boolean isPackable() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$3 -> com.android.tools.r8.internal.l20:
    1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):122:122 -> <init>
    boolean isPackable() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$4 -> com.android.tools.r8.internal.m20:
    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.internal.o20:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType DOUBLE -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType BOOLEAN -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType[] $VALUES -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType LONG -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType FLOAT -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType ENUM -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType MESSAGE -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType STRING -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType BYTE_STRING -> i
    java.lang.Object defaultDefault -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType INT -> c
    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>
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor -> com.android.tools.r8.internal.Qv:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    1:1:void <clinit>():85:85 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):47:47 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor):49:49 -> <init>
    void visitJvmFlags(int) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor.getDelegate():51:51 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor getDelegate():47 -> a
    void visitAnonymousObjectOriginName(java.lang.String) -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor.getDelegate():51:51 -> b
    1:1:void visitEnd():75 -> b
    2:2:void visitEnd():75:75 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():54:54 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor -> com.android.tools.r8.internal.Tv:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> a
    1:1:void <clinit>():280:280 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor):256:256 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):256:256 -> <init>
    void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():260:260 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor -> com.android.tools.r8.internal.Uv:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor delegate -> a
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor):14:15 -> <init>
    void visitModuleName(java.lang.String) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor getDelegate():15:15 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):34:34 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt -> com.android.tools.r8.internal.Wv:
# {"id":"sourceFile","fileName":"jvmExtensions.kt"}
    1:1: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):25:25 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):167 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):167:167 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):31:31 -> a
    3:3:java.util.List getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):191 -> a
    4:4:java.util.List getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):191:191 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):31:31 -> b
    1:1:boolean isRaw(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):182 -> b
    2:2:boolean isRaw(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):182:182 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature -> com.android.tools.r8.internal.Xv:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    java.lang.String name -> a
    java.lang.String desc -> b
    1:1:void <init>(java.lang.String,java.lang.String):51:51 -> <init>
    1:1:java.lang.String asString():52:52 -> a
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature.getDesc():51:51 -> a
    2:2:java.lang.String asString():52 -> a
    3:3:java.lang.String asString():52:52 -> a
    1:1:java.lang.String getDesc():51:51 -> b
    1:1:java.lang.String getName():51:51 -> c
    1:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature.getDesc():51:51 -> equals
    1:2:boolean equals(java.lang.Object):0 -> equals
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature.getDesc():51:51 -> hashCode
    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.internal.Zv:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor delegate -> a
    1:1:void <clinit>():161:161 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):122:122 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor):122:123 -> <init>
    1:1:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):136:136 -> a
    2:2:void visitLambdaClassOriginName(java.lang.String):144:144 -> a
    3:3:void visitEnd():151:151 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():126:126 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature -> com.android.tools.r8.internal.cw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    1:1:void <init>():16:16 -> <init>
    java.lang.String asString() -> a
    java.lang.String getDesc() -> b
    java.lang.String getName() -> c
    1:1:java.lang.String toString():30:30 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature -> com.android.tools.r8.internal.pw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    java.lang.String name -> a
    java.lang.String desc -> b
    1:1:void <init>(java.lang.String,java.lang.String):40:40 -> <init>
    1:1:java.lang.String asString():41:41 -> a
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature.getDesc():40:40 -> a
    2:2:java.lang.String asString():41 -> a
    3:3:java.lang.String asString():41:41 -> a
    1:1:java.lang.String getDesc():40:40 -> b
    1:1:java.lang.String getName():40:40 -> c
    1:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature.getDesc():40:40 -> equals
    1:2:boolean equals(java.lang.Object):0 -> equals
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature.getDesc():40:40 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor -> com.android.tools.r8.internal.sw:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    1:1:void <clinit>():115:115 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):92:92 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor):94:94 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor.getDelegate():96:96 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor getDelegate():92 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor.getDelegate():96:96 -> b
    1:1:void visitEnd():105 -> b
    2:2:void visitEnd():105:105 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():99:99 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor -> com.android.tools.r8.internal.uw:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor delegate -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    1:1:void <clinit>():249:249 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):168:168 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor):168:169 -> <init>
    1:4: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):191:194 -> a
    5:5:void visit(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):208:208 -> a
    6:6:void visitSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):219:219 -> a
    1:1:void visitSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):232:232 -> b
    2:2:void visitEnd():239:239 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():172:172 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor -> com.android.tools.r8.internal.Pw:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor delegate -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    1:1:void <clinit>():361:361 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):323:323 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor):323:324 -> <init>
    void visit(boolean) -> a
    1:1:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):344:344 -> a
    2:2:void visitEnd():351:351 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():327:327 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor -> com.android.tools.r8.internal.Rw:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor delegate -> a
    1:1:void <clinit>():316:316 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):287:287 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor):287:288 -> <init>
    1:1:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):299:299 -> a
    2:2:void visitEnd():306:306 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():291:291 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader -> com.android.tools.r8.internal.bz:
# {"id":"sourceFile","fileName":"KotlinClassHeader.kt"}
    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 kind -> a
    1:1:void <clinit>():165:165 -> <clinit>
    1:157:void <init>(java.lang.Integer,int[],int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):25:181 -> <init>
    158:251:void <init>(java.lang.Integer,int[],int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):89:182 -> <init>
    252:273:void <init>(java.lang.Integer,int[],int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):96:117 -> <init>
    1:1:int[] getBytecodeVersion():82:82 -> a
    1:1:java.lang.String[] getData1():89:89 -> b
    1:1:java.lang.String[] getData2():96:96 -> c
    1:1:int getExtraInt():117:117 -> d
    1:1:java.lang.String getExtraString():103:103 -> e
    1:1:int getKind():62:62 -> f
    1:1:int[] getMetadataVersion():70:70 -> g
    1:1:java.lang.String getPackageName():110:110 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader header -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion Companion -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):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.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    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:com.android.tools.r8.jetbrains.kotlin.Pair getClassData():30:30 -> b
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):48 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass toKmClass():40 -> b
    3:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):48:49 -> b
    3:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass toKmClass():40 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.a:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():55:55 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):66:66 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    2:72:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):0:70 -> i
    2:72:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    2:72:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9889:9889 -> i
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70 -> i
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9890:9890 -> i
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70 -> i
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    75:76:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70:71 -> i
    75:76:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    75:76:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    77:77:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> i
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):71 -> i
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):72:72 -> i
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9891 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9891:9891 -> i
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70 -> i
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$classData$2 -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.b:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader $header -> b
    1:3:com.android.tools.r8.jetbrains.kotlin.Pair invoke():31:33 -> a
    1:3:java.lang.Object invoke():30 -> a
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair invoke():32:32 -> a
    4:4:java.lang.Object invoke():30 -> a
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair invoke():32 -> a
    5:5:java.lang.Object invoke():30 -> a
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair invoke():32:32 -> a
    6:6:java.lang.Object invoke():30 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion -> com.android.tools.r8.internal.ez:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():310:310 -> <init>
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):345:345 -> a
    1:1:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    2:2:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6,"2":7,"3":8}}
    6:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):346:346 -> a
    6:6:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):346:346 -> a
    7:7:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    8:8:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):346:346 -> a
    8:8:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):347:347 -> a
    3:3:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    4:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):346:346 -> a
    4:4:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):345:345 -> a
    5:5:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):80:81 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():91:91 -> b
    2:2:com.android.tools.r8.jetbrains.kotlin.Pair getPackageData():81:81 -> b
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):99 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():91 -> b
    3:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):99:100 -> b
    3:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():91 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.c:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():106:106 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):117:117 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    2:123:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):0:121 -> h
    2:123:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    2:123:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12344:12344 -> h
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121 -> h
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12345:12345 -> h
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121 -> h
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    126:127:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121:122 -> h
    126:127:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    126:127:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    128:128:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> h
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):122 -> h
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):123:123 -> h
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346:12346 -> h
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121 -> h
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$packageData$2 -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.d:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader $header -> b
    1:3:com.android.tools.r8.jetbrains.kotlin.Pair invoke():82:84 -> a
    1:3:java.lang.Object invoke():81 -> a
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair invoke():83:83 -> a
    4:4:java.lang.Object invoke():81 -> a
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair invoke():83 -> a
    5:5:java.lang.Object invoke():81 -> a
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair invoke():83:83 -> a
    6:6:java.lang.Object invoke():81 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$a:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    java.util.List partClassNames -> c
    1:5:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):205:209 -> <init>
    1:1:java.util.List getPartClassNames():209:209 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):246:247 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():263:263 -> b
    2:2:com.android.tools.r8.jetbrains.kotlin.Pair getPackageData():247:247 -> b
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):271 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():263 -> b
    3:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):271:272 -> b
    3:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():263 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.e:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():278:278 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):291:291 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    2:297:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):0:295 -> a
    2:297:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    2:297:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    298:298:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12344:12344 -> a
    298:298:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295 -> a
    298:298:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    298:298:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    299:299:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12345:12345 -> a
    299:299:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295 -> a
    299:299:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    299:299:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    300:302:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295:297 -> a
    300:302:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    300:302:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    303:303:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> a
    303:303:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):296 -> a
    303:303:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    303:303:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    304:304:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):299:299 -> a
    304:304:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    304:304:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    306:306:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346:12346 -> a
    306:306:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295 -> a
    306:306:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    306:306:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$packageData$2 -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.f:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader $header -> b
    1:3:com.android.tools.r8.jetbrains.kotlin.Pair invoke():248:250 -> a
    1:3:java.lang.Object invoke():247 -> a
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair invoke():249:249 -> a
    4:4:java.lang.Object invoke():247 -> a
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair invoke():249 -> a
    5:5:java.lang.Object invoke():247 -> a
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair invoke():249:249 -> a
    6:6:java.lang.Object invoke():247 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):132:133 -> <init>
    1:1:boolean isLambda():151:151 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145:145 -> c
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):162:162 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145 -> c
    3:3:com.android.tools.r8.jetbrains.kotlin.Pair getFunctionData():133:133 -> c
    3:3:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):166 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145 -> c
    4:5:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):166:167 -> c
    4:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145 -> c
    6:6:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):162:162 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.g:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():175:175 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):186:186 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    2:192:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):0:190 -> d
    2:192:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    2:192:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    193:194:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15398:15399 -> d
    193:194:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):190 -> d
    193:194:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    193:194:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):190 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    196:196:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400:15400 -> d
    196:196:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):190 -> d
    196:196:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    196:196:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    197:358:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):192:353 -> d
    197:358:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    197:358:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    359:359:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):193:193 -> d
    359:359:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    359:359:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    360:363:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):191:194 -> d
    360:363:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    360:363:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    364:364:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> d
    364:364:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):194 -> d
    364:364:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    364:364:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):195:195 -> d
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$functionData$2 -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.h:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader $header -> b
    1:2:com.android.tools.r8.jetbrains.kotlin.Pair invoke():134:135 -> a
    1:2:java.lang.Object invoke():133 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Unknown -> com.android.tools.r8.internal.fz:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):308:308 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension -> com.android.tools.r8.internal.Pv:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    java.util.List localDelegatedProperties -> c
    int jvmFlags -> f
    java.lang.String anonymousObjectOriginName -> e
    java.lang.String moduleName -> d
    1:2:void <init>():34:35 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):34:34 -> a
    2:139:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor):56:193 -> a
    2:139:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):34 -> a
    140:145:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor):58:63 -> a
    140:145:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):34 -> a
    146:146:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor):56:56 -> a
    146:146:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):34 -> a
    147:147:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):41:41 -> a
    148:148:void visitModuleName(java.lang.String):44:44 -> a
    149:149:void visitJvmFlags(int):52:52 -> a
    1:1:void visitAnonymousObjectOriginName(java.lang.String):48:48 -> b
    1:1:java.lang.String getAnonymousObjectOriginName():37:37 -> c
    1:1:int getJvmFlags():38:38 -> d
    1:1:java.util.List getLocalDelegatedProperties():35:35 -> e
    1:1:java.lang.String getModuleName():36:36 -> f
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension -> com.android.tools.r8.internal.Sv:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature signature -> b
    1:1:void <init>():145:145 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):145:145 -> a
    2:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor):153:153 -> a
    2:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):145 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature():146:146 -> a
    6:6:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):149:149 -> a
    1:1:void setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):146:146 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt -> com.android.tools.r8.internal.Vv:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):22:22 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension -> com.android.tools.r8.internal.Yv:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature signature -> c
    java.lang.String lambdaClassOriginName -> d
    1:1:void <init>():88:88 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):88:88 -> a
    2:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor):101:101 -> a
    2:6:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):88 -> a
    7:7:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):93:93 -> a
    8:8:void visitLambdaClassOriginName(java.lang.String):97:97 -> a
    1:1:java.lang.String getLambdaClassOriginName():90:90 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature():89:89 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions -> com.android.tools.r8.internal.nw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    1:1:void <init>():17:17 -> <init>
    void readTypeAliasExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext) -> a
    void readValueParameterExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasExtensionVisitor writeTypeAliasExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterExtensionVisitor writeValueParameterExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17:17 -> a
    2:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):318:320 -> a
    2:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17 -> a
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2412:2413 -> a
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):321 -> a
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2414 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):321 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2414:2414 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):321 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17 -> a
    9:18:void readClassExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):19:28 -> a
    19:28:void readClassExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):27:36 -> a
    29:33:void readPackageExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):40:44 -> a
    34:41:void readPackageExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):43:50 -> a
    42:43:void readFunctionExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):57:58 -> a
    44:44:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignatureKt.wrapAsPublic(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method):56:56 -> a
    44:44:void readFunctionExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):58 -> a
    45:52:void readFunctionExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):58:65 -> a
    53:61:void readPropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):69:77 -> a
    62:62:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignatureKt.wrapAsPublic(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field):57:57 -> a
    62:62:void readPropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):78 -> a
    63:64:void readPropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):79:80 -> a
    65:80:void readPropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):76:91 -> a
    81:82:void readConstructorExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):95:96 -> a
    83:83:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignatureKt.wrapAsPublic(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method):56:56 -> a
    83:83:void readConstructorExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):96 -> a
    84:84:void readConstructorExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):96:96 -> a
    85:89:void readTypeParameterExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):100:104 -> a
    90:95:void readTypeExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):108:113 -> a
    96:97:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor writeClassExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):121:122 -> a
    98:99:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor writePackageExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):150:151 -> a
    100:101:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor writeFunctionExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):176:177 -> a
    102:103:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor writePropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):193:194 -> a
    104:105:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor writeConstructorExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):248:249 -> a
    106:107:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor writeTypeParameterExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):261:262 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor writeTypeExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):270:271 -> a
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmClassExtension createClassExtension():296:296 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmConstructorExtension createConstructorExtension():307:307 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmFunctionExtension createFunctionExtension():303:303 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPackageExtension createPackageExtension():298:298 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPropertyExtension createPropertyExtension():305:305 -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeAliasExtension createTypeAliasExtension() -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension createTypeExtension():311:311 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeParameterExtension createTypeParameterExtension():309:309 -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmValueParameterExtension createValueParameterExtension() -> i
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1 -> com.android.tools.r8.internal.fw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder $proto -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):122:122 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):129:129 -> a
    2:3:void visitModuleName(java.lang.String):134:135 -> a
    4:4:void visitJvmFlags(int):141:141 -> a
    1:1:void visitAnonymousObjectOriginName(java.lang.String):124:124 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1 -> com.android.tools.r8.internal.ew:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder $proto -> b
    1:1:java.lang.Object invoke(java.lang.Object):129:129 -> a
    2:132:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:130 -> a
    2:132:java.lang.Object invoke(java.lang.Object):129 -> a
    133:134:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17362 -> a
    133:134:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):130 -> a
    133:134:java.lang.Object invoke(java.lang.Object):129 -> a
    135:135:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):130:130 -> a
    135:135:java.lang.Object invoke(java.lang.Object):129 -> a
    136:136:java.lang.Object invoke(java.lang.Object):129:129 -> a
    137:137:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    137:137:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> a
    137:137:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):130 -> a
    137:137:java.lang.Object invoke(java.lang.Object):129 -> a
    138:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
    138:138:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):130 -> a
    138:138:java.lang.Object invoke(java.lang.Object):129 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeConstructorExtensions$1 -> com.android.tools.r8.internal.gw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder $proto -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):249:249 -> <init>
    1:1:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):252:252 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeFunctionExtensions$1 -> com.android.tools.r8.internal.hw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions this$0 -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder $proto -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> e
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):177:177 -> <init>
    1:1:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):180:180 -> a
    2:2:void visitLambdaClassOriginName(java.lang.String):185:185 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1 -> com.android.tools.r8.internal.jw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder $proto -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder):151:151 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):154:154 -> a
    2:3:void visitModuleName(java.lang.String):159:160 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1 -> com.android.tools.r8.internal.iw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder $proto -> b
    1:1:java.lang.Object invoke(java.lang.Object):154:154 -> a
    2:157:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:155 -> a
    2:157:java.lang.Object invoke(java.lang.Object):154 -> a
    158:159:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17362 -> a
    158:159:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):155 -> a
    158:159:java.lang.Object invoke(java.lang.Object):154 -> a
    160:160:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):155:155 -> a
    160:160:java.lang.Object invoke(java.lang.Object):154 -> a
    161:161:java.lang.Object invoke(java.lang.Object):154:154 -> a
    162:162:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    162:162:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> a
    162:162:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):155 -> a
    162:162:java.lang.Object invoke(java.lang.Object):154 -> a
    163:163:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
    163:163:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):155 -> a
    163:163:java.lang.Object invoke(java.lang.Object):154 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePropertyExtensions$1 -> com.android.tools.r8.internal.kw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions this$0 -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder signatureOrNull -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder $proto -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> f
    int jvmFlags -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):194:195 -> <init>
    1:5: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):207:211 -> a
    6:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2874:2875 -> a
    6:7: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):212 -> a
    8:8: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):209:209 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2876 -> a
    9:9: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):212 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2876:2876 -> a
    10:10: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):212 -> a
    11:14: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):215:218 -> a
    15:15:void visitSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):225:225 -> a
    1:1:void visitSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):231:231 -> b
    2:6:void visitEnd():235:239 -> b
    7:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3513:3514 -> b
    7:8:void visitEnd():239 -> b
    9:9:void visitEnd():239:239 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3515 -> b
    10:10:void visitEnd():239 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3515:3515 -> b
    11:11:void visitEnd():239 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder getSignature():199:199 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeTypeExtensions$1 -> com.android.tools.r8.internal.lw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder $proto -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):271:271 -> <init>
    1:1:void visit(boolean):274:274 -> a
    2:2:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279:279 -> a
    3:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> a
    3:4:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279 -> a
    5:5:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279:279 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> a
    6:6:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
    7:7:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeTypeParameterExtensions$1 -> com.android.tools.r8.internal.mw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder $proto -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):262:262 -> <init>
    1:1:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264:264 -> a
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> a
    2:3:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264 -> a
    4:4:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264:264 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> a
    5:5:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
    6:6:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension -> com.android.tools.r8.internal.rw:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    java.util.List localDelegatedProperties -> c
    java.lang.String moduleName -> d
    1:2:void <init>():67:68 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):67:67 -> a
    2:116:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor):79:193 -> a
    2:116:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):67 -> a
    117:120:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor):81:84 -> a
    117:120:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):67 -> a
    121:121:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor):79:79 -> a
    121:121:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):67 -> a
    122:122:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):72:72 -> a
    123:123:void visitModuleName(java.lang.String):75:75 -> a
    1:1:java.util.List getLocalDelegatedProperties():68:68 -> c
    1:1:java.lang.String getModuleName():69:69 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension -> com.android.tools.r8.internal.tw:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature syntheticMethodForDelegate -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature syntheticMethodForAnnotations -> g
    int jvmFlags -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature fieldSignature -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature -> e
    1:1:void <init>():108:108 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):108:108 -> a
    2:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor):137:137 -> a
    2:7:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):108 -> a
    8:11: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):122:125 -> a
    12:12:void visitSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):129:129 -> a
    1:1:void visitSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):133:133 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature getFieldSignature():110:110 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getGetterSignature():111:111 -> d
    1:1:int getJvmFlags():109:109 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSetterSignature():112:112 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSyntheticMethodForAnnotations():113:113 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSyntheticMethodForDelegate():114:114 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension -> com.android.tools.r8.internal.Ow:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    java.util.List annotations -> d
    boolean isRaw -> c
    1:3:void <init>():172:174 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):172:172 -> a
    2:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor):185:192 -> a
    2:9:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):172 -> a
    10:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor):187:188 -> a
    10:11:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):172 -> a
    12:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor):185:185 -> a
    12:12:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):172 -> a
    13:13:void visit(boolean):177:177 -> a
    14:14:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):181:181 -> a
    1:1:java.util.List getAnnotations():174:174 -> b
    1:1:boolean isRaw():173:173 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension -> com.android.tools.r8.internal.Qw:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    java.util.List annotations -> c
    1:2:void <init>():158:159 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):158:158 -> a
    2:28:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor):166:192 -> a
    2:28:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):158 -> a
    29:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor):167:168 -> a
    29:30:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):158 -> a
    31:31:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor):166:166 -> a
    31:31:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):158 -> a
    32:32:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):162:162 -> a
    1:1:java.util.List getAnnotations():159:159 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt -> com.android.tools.r8.internal.Sw:
# {"id":"sourceFile","fileName":"jvmWriteUtils.kt"}
    1:3:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):14:16 -> a
    4:66: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:62 -> a
    4:66:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
    67:67: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
    67:67:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
    68:75:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17:24 -> a
    76:85:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):15:24 -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider -> com.android.tools.r8.internal.xy:
    void get(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmContractVisitorProvider -> com.android.tools.r8.internal.yy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectExpressionVisitorProvider -> com.android.tools.r8.internal.zy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectVisitorProvider -> com.android.tools.r8.internal.Ay:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor get(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider -> com.android.tools.r8.internal.By:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor get(int,java.lang.String) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider -> com.android.tools.r8.internal.Cy:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor get(int,java.lang.String) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider -> com.android.tools.r8.internal.Dy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider -> com.android.tools.r8.internal.Ey:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor get(int,java.lang.String,int,int) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider -> com.android.tools.r8.internal.Fy:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor get(int,java.lang.String) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeParameterVisitorProvider -> com.android.tools.r8.internal.Gy:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor get(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider -> com.android.tools.r8.internal.Hy:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor get(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeStarProjectionVisitorProvider -> com.android.tools.r8.internal.Iy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider -> com.android.tools.r8.internal.Jy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider -> com.android.tools.r8.internal.Ky:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor get(int,java.lang.String) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmVersionRequirementVisitorProvider -> com.android.tools.r8.internal.Ly:
com.android.tools.r8.kotlin.Kotlin -> com.android.tools.r8.internal.Ty:
    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.graph.DexString kotlinJvmTypePrefix -> f
    com.android.tools.r8.kotlin.Kotlin$Intrinsics intrinsics -> c
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:7:void <init>(com.android.tools.r8.graph.DexItemFactory):93:99 -> <init>
com.android.tools.r8.kotlin.Kotlin$ClassClassifiers -> com.android.tools.r8.internal.Oy:
    java.util.Set kotlinPrimitivesDescriptors -> a
    java.util.Set kotlinStaticallyKnownTypes -> b
    1:32:void <clinit>():58:89 -> <clinit>
    1:2:void lambda$static$0(com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder,java.lang.String):81:82 -> a
com.android.tools.r8.kotlin.Kotlin$Functional -> com.android.tools.r8.internal.Py:
    com.android.tools.r8.graph.DexType lambdaType -> a
    com.android.tools.r8.kotlin.Kotlin this$0 -> b
    1:1:void <init>(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.kotlin.Kotlin$1):102:102 -> <init>
    2:2:void <init>(com.android.tools.r8.kotlin.Kotlin):123:123 -> <init>
    3:11:void <init>(com.android.tools.r8.kotlin.Kotlin):113:121 -> <init>
    12:12:void <init>(com.android.tools.r8.kotlin.Kotlin):118:118 -> <init>
    13:26:void <init>(com.android.tools.r8.kotlin.Kotlin):117:130 -> <init>
    27:27:void <init>(com.android.tools.r8.kotlin.Kotlin):128:128 -> <init>
    1:1:com.android.tools.r8.graph.DexType lambda$new$0(java.lang.Integer):120:120 -> a
com.android.tools.r8.kotlin.Kotlin$Intrinsics -> com.android.tools.r8.internal.Qy:
    com.android.tools.r8.graph.DexMethod checkNotNullParameter -> d
    com.android.tools.r8.graph.DexMethod checkParameterIsNotNull -> c
    com.android.tools.r8.graph.DexMethod throwParameterIsNullNPE -> b
    com.android.tools.r8.graph.DexMethod throwParameterIsNullException -> a
    1:4:void <init>(com.android.tools.r8.kotlin.Kotlin):163:166 -> <init>
    5:10:void <init>(com.android.tools.r8.kotlin.Kotlin):165:170 -> <init>
    11:18:void <init>(com.android.tools.r8.kotlin.Kotlin):168:175 -> <init>
    19:24:void <init>(com.android.tools.r8.kotlin.Kotlin):173:178 -> <init>
    25:31:void <init>(com.android.tools.r8.kotlin.Kotlin):177:183 -> <init>
    32:37:void <init>(com.android.tools.r8.kotlin.Kotlin):181:186 -> <init>
    38:38:void <init>(com.android.tools.r8.kotlin.Kotlin):185:185 -> <init>
com.android.tools.r8.kotlin.Kotlin$Metadata -> com.android.tools.r8.internal.Ry:
    com.android.tools.r8.graph.DexString kind -> a
    com.android.tools.r8.graph.DexString metadataVersion -> b
    com.android.tools.r8.graph.DexString bytecodeVersion -> c
    com.android.tools.r8.graph.DexString data1 -> d
    com.android.tools.r8.graph.DexString data2 -> e
    com.android.tools.r8.graph.DexString extraString -> f
    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):144:152 -> <init>
com.android.tools.r8.kotlin.Kotlin$_Assertions -> com.android.tools.r8.internal.Sy:
    com.android.tools.r8.graph.DexField enabledField -> b
    com.android.tools.r8.graph.DexType type -> a
    1:5:void <init>(com.android.tools.r8.kotlin.Kotlin):155:159 -> <init>
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo -> com.android.tools.r8.internal.Zy:
    java.util.Map EMPTY_ARGUMENTS -> a
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>():26:26 -> <init>
    boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
    1:10:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo.createArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.graph.DexItemFactory):36:45 -> a
    1:10:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.graph.DexItemFactory):26 -> a
    11:20:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo.createArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.graph.DexItemFactory):36:45 -> a
    11:20:void lambda$create$0(java.util.LinkedHashMap,com.android.tools.r8.graph.DexItemFactory,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):55 -> a
    21:21:void lambda$create$0(java.util.LinkedHashMap,com.android.tools.r8.graph.DexItemFactory,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):55:55 -> a
    22:26:java.util.Map create(java.util.Map,com.android.tools.r8.graph.DexItemFactory):51:55 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo -> com.android.tools.r8.internal.Uy:
    com.android.tools.r8.kotlin.KotlinAnnotationInfo value -> b
    1:2:void <init>(com.android.tools.r8.kotlin.KotlinAnnotationInfo):129:130 -> <init>
    1:2:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$AnnotationValue,com.android.tools.r8.graph.DexItemFactory):135:136 -> a
    1:2:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo access$200(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$AnnotationValue,com.android.tools.r8.graph.DexItemFactory):125 -> a
    3:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):141:141 -> a
    4:4:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):147:147 -> a
    5:5:void lambda$rewrite$0(java.util.function.Consumer,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):150:150 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo -> com.android.tools.r8.internal.Vy:
    java.util.List value -> b
    com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo EMPTY -> c
    1:2:void <clinit>():160:161 -> <clinit>
    1:2:void <init>(java.util.List):165:166 -> <init>
    1:8:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ArrayValue,com.android.tools.r8.graph.DexItemFactory):170:177 -> a
    1:8:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo access$300(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ArrayValue,com.android.tools.r8.graph.DexItemFactory):158 -> a
    9:10:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):182:183 -> a
    11:24:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):190:203 -> a
    25:25:void lambda$rewrite$0(java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):197:197 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo -> com.android.tools.r8.internal.Wy:
    int arrayDimensionCount -> c
    com.android.tools.r8.kotlin.KotlinTypeReference value -> b
    1:3:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,int):64:66 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$KClassValue,com.android.tools.r8.graph.DexItemFactory):70:72 -> a
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$KClassValue,com.android.tools.r8.graph.DexItemFactory):59 -> a
    4:4:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):77:77 -> a
    5:5:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):83:83 -> a
    6:6:void lambda$rewrite$0(java.util.function.Consumer,java.lang.String):84:84 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo -> com.android.tools.r8.internal.Xy:
    java.lang.String enumEntryName -> c
    com.android.tools.r8.kotlin.KotlinTypeReference enumClassName -> b
    1:3:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,java.lang.String):96:98 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue,com.android.tools.r8.graph.DexItemFactory):102:104 -> a
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue,com.android.tools.r8.graph.DexItemFactory):91 -> a
    4:6:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue,com.android.tools.r8.graph.DexItemFactory):103:105 -> a
    4:6:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue,com.android.tools.r8.graph.DexItemFactory):91 -> a
    7:7:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):110:110 -> a
    8:8:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):116:116 -> a
    9:9:void lambda$rewrite$0(java.util.function.Consumer,java.lang.String):118:118 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo -> com.android.tools.r8.internal.Yy:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument argument -> b
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):212:213 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):217:217 -> a
    1:1:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo access$400(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):208 -> a
    2:2:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):228:228 -> a
com.android.tools.r8.kotlin.KotlinAnnotationInfo -> com.android.tools.r8.internal.az:
    java.util.Map arguments -> b
    java.util.List EMPTY_ANNOTATIONS -> c
    com.android.tools.r8.kotlin.KotlinTypeReference annotationType -> a
    1:1:void <clinit>():24:24 -> <clinit>
    1:3:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,java.util.Map):30:32 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.graph.DexItemFactory):36:38 -> a
    4:6:com.android.tools.r8.kotlin.KotlinAnnotationInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.graph.DexItemFactory):37:39 -> a
    7:14:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory):43:50 -> a
    15:17:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):57:59 -> a
    18:44:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):58:84 -> a
    45:61:void lambda$rewrite$2(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,java.lang.String):63:79 -> a
    62:64:void lambda$rewrite$1(com.android.tools.r8.utils.BooleanBox,java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,java.lang.String,com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo):70:70 -> a
    65:65:void lambda$rewrite$0(java.util.Map,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):74:74 -> a
    66:67:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):89:90 -> a
    68:68:void lambda$trace$3(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.String,com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo):90:90 -> a
com.android.tools.r8.kotlin.KotlinClassInfo -> com.android.tools.r8.internal.cz:
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> l
    com.android.tools.r8.kotlin.KotlinMetadataMembersTracker originalMembersWithKotlinInfo -> t
    com.android.tools.r8.kotlin.KotlinTypeInfo inlineClassUnderlyingType -> r
    java.lang.String packageName -> n
    java.lang.String inlineClassUnderlyingPropertyName -> q
    com.android.tools.r8.kotlin.KotlinTypeReference anonymousObjectOrigin -> m
    com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo declarationContainerInfo -> f
    com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo localDelegatedProperties -> o
    int flags -> a
    java.util.List constructorsWithNoBacking -> e
    java.util.List nestedClasses -> j
    java.util.List sealedSubClasses -> i
    java.util.List superTypes -> h
    int[] metadataVersion -> p
    java.util.List typeParameters -> g
    java.lang.String name -> b
    int jvmFlags -> s
    boolean nameCanBeSynthesizedFromClassOrAnonymousObjectOrigin -> c
    java.lang.String moduleName -> d
    java.util.List enumEntries -> k
    1:22:void <init>(int,java.lang.String,boolean,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,com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo,int[],java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker,int):82:103 -> <init>
    1:1:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):113:113 -> a
    2:2:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    2:2:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):114 -> a
    3:6:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):115:118 -> a
    7:11:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):117:121 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.kotlin.KotlinMetadataUtils.toJvmFieldSignature(com.android.tools.r8.graph.DexField):89:89 -> a
    12:12:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):121 -> a
    13:41:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):121:149 -> a
    42:48: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):233:239 -> a
    42:48:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    49:49: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
    49:49: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):244 -> a
    49:49:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    50:50:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    50:50:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    50:50: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):244 -> a
    50:50:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    51:56: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
    51:56: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):244 -> a
    51:56:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    57:57: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):243:243 -> a
    57:57:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    58:58: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
    58:58:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):39 -> a
    58:58:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinClassInfo.getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexItemFactory):192 -> a
    58:58:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):159 -> a
    59:59:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):39:39 -> a
    59:59:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinClassInfo.getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexItemFactory):192 -> a
    59:59:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):159 -> a
    60:60:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinClassInfo.getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexItemFactory):194:194 -> a
    60:60:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):159 -> a
    61:64:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):160:163 -> a
    65:73:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):216:224 -> a
    65:73:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    74:74:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":122,"2":123,"3":124}}
    122:122:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    122:122:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    122:122:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    123:123:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    123:123:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    123:123:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    124:124:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    124:124:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    124:124:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    75:75:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    75:75:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    75:75:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    76:82:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):161:167 -> a
    83:83: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
    83:83:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):29 -> a
    83:83:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):170 -> a
    84:84:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):29:29 -> a
    84:84:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):170 -> a
    85:87:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):172:174 -> a
    88:92:java.util.List com.android.tools.r8.kotlin.KotlinClassInfo.getSuperTypes(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):225:229 -> a
    88:92:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):174 -> a
    93:93:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):175:175 -> a
    94:101:java.util.List com.android.tools.r8.kotlin.KotlinClassInfo.getSealedSubClasses(java.util.List,com.android.tools.r8.graph.DexItemFactory):213:220 -> a
    94:101:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):175 -> a
    102:102:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):176:176 -> a
    103:109:java.util.List com.android.tools.r8.kotlin.KotlinClassInfo.getNestedClasses(com.android.tools.r8.graph.DexClass,java.util.List,com.android.tools.r8.graph.DexItemFactory):202:208 -> a
    103:109:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):176 -> a
    110:111:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):177:178 -> a
    112:112: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
    112:112:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):23 -> a
    112:112:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):182 -> a
    113:113:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):23:23 -> a
    113:113:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):182 -> a
    114:118:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):181:185 -> a
    119:119: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
    119:119:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):48 -> a
    119:119:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):187 -> a
    120:120:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):48:48 -> a
    120:120:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):187 -> a
    121:121:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):187:187 -> a
    125:133:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):260:268 -> a
    134:178:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.setName(java.lang.String):0:44 -> a
    134:178:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):268 -> a
    179:184:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):273:278 -> a
    185:185:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":641,"2":642,"3":643}}
    641:641:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):279:279 -> a
    642:642:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):279:279 -> a
    643:643:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):279:279 -> a
    464:469:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):279:284 -> a
    470:478:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):216:224 -> a
    470:478:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    479:479:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":644,"2":645,"3":646}}
    644:644:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    644:644:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    644:644:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    645:645:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    645:645:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    645:645:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    646:646:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    646:646:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    646:646:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    480:480:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    480:480:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    480:480:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    481:525:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.setName(java.lang.String):0:44 -> a
    481:525:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):286 -> a
    526:639:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):287:400 -> a
    640:640:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):398:398 -> a
    647:647:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):358:358 -> a
    648:648:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):357:357 -> a
    649:649:void lambda$rewrite$1(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor,java.lang.String):385:385 -> a
    650:650:java.util.function.Consumer lambda$trace$2(com.android.tools.r8.kotlin.KotlinConstructorInfo):415:415 -> a
    651:660:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):415:424 -> a
    661:661:java.util.function.Consumer lambda$trace$3(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):417:417 -> a
    662:662:java.util.function.Consumer lambda$trace$4(com.android.tools.r8.kotlin.KotlinTypeInfo):418:418 -> a
    663:663:java.util.function.Consumer lambda$trace$5(com.android.tools.r8.kotlin.KotlinTypeReference):419:419 -> a
    1:1:java.util.function.Consumer lambda$trace$6(com.android.tools.r8.kotlin.KotlinTypeReference):420:420 -> b
    1:1:java.lang.String getPackageName():405:405 -> l
    1:1:int[] getMetadataVersion():410:410 -> m
com.android.tools.r8.kotlin.KotlinClassLevelInfo -> com.android.tools.r8.internal.dz:
    boolean isNoKotlinInformation() -> a
    com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo asSyntheticClass() -> f
    boolean isSyntheticClass() -> j
    java.lang.String getPackageName() -> l
    int[] getMetadataVersion() -> m
com.android.tools.r8.kotlin.KotlinClassMetadataReader -> com.android.tools.r8.internal.hz:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():34:34 -> <clinit>
    1:3:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):51:53 -> a
    4:4:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    4:4:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    5:5:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66 -> a
    6:6:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    7:7:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":286,"2":287,"3":288}}
    286:286:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    287:287:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    288:288:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    73:73:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    74:74:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":292,"2":293,"3":294}}
    292:292:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):70:70 -> a
    293:293:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):70:70 -> a
    294:294:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):70:70 -> a
    146:146:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):72:72 -> a
    147:153:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):67:73 -> a
    154:154:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    154:154:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    155:155:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    155:155:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56 -> a
    156:156:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    157:157:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":295,"2":296,"3":297}}
    295:295:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    296:296:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    297:297:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    213:213:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    214:214:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":301,"2":302,"3":303}}
    301:301:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):60:60 -> a
    302:302:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):60:60 -> a
    303:303:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):60:60 -> a
    276:276:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):62:62 -> a
    277:283:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):57:63 -> a
    304:305:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):78:79 -> a
    306:313:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour com.android.tools.r8.kotlin.KotlinSyntheticClassInfo.getFlavour(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin):109:116 -> a
    306:313:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):80 -> a
    314:318:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):85:89 -> a
    319:321:java.util.Map com.android.tools.r8.kotlin.KotlinClassMetadataReader.toElementMap(com.android.tools.r8.graph.DexEncodedAnnotation):117:119 -> a
    319:321:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):89 -> a
    322:326:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):147:151 -> a
    322:326:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):90 -> a
    327:332:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):91:96 -> a
    333:337:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):147:151 -> a
    333:337:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):97 -> a
    338:338:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):96:96 -> a
    339:339:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):149:149 -> a
    339:339:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):97 -> a
    340:340:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):149:149 -> a
    340:340:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):90 -> a
    341:343:java.util.Map com.android.tools.r8.kotlin.KotlinClassMetadataReader.toElementMap(com.android.tools.r8.graph.DexEncodedAnnotation):117:119 -> a
    341:343:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):112 -> a
    344:344:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):112:112 -> a
    345:349:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):147:151 -> a
    345:349:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):126 -> a
    350:365:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):127:142 -> a
    366:369: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):322:322 -> a
    366:369: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
    366:369:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    372: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):325:335 -> a
    372: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
    372:382:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> 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):334:334 -> 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,java.util.Map):143 -> 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):333:333 -> 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,java.util.Map):143 -> 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):332:332 -> 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,java.util.Map):143 -> 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):331:331 -> 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,java.util.Map):143 -> 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):330:340 -> 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,java.util.Map):143 -> 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):338:338 -> 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,java.util.Map):143 -> a
    399:399:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):149:149 -> a
    399:399:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):126 -> a
    400:417: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.AppView,java.util.function.Consumer):160:177 -> a
    418: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.AppView,java.util.function.Consumer):176:196 -> 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.AppView,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":636,"2":637,"3":638}}
    636:636: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.AppView,java.util.function.Consumer):196:196 -> a
    637:637: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.AppView,java.util.function.Consumer):196:196 -> a
    638:638: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.AppView,java.util.function.Consumer):196:196 -> a
    635:635: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.AppView,java.util.function.Consumer):196:196 -> a
    639:639:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):201:201 -> a
    640:640:boolean com.android.tools.r8.graph.DexValue.isDexValueArray():0:0 -> a
    640:640:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):201 -> a
    641:645:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):204:208 -> a
    646:646:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):202:202 -> a
    1:4:java.lang.String getUnboxedString(com.android.tools.r8.graph.DexValue,java.lang.String):227:230 -> b
    5:5:java.lang.String getUnboxedString(com.android.tools.r8.graph.DexValue,java.lang.String):228:228 -> b
    1:1:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):214:214 -> c
    2:2:boolean com.android.tools.r8.graph.DexValue.isDexValueArray():0:0 -> c
    2:2:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):214 -> c
    3:7:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):217:221 -> c
    8:8:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):215:215 -> c
com.android.tools.r8.kotlin.KotlinClassMetadataReader$MetadataError -> com.android.tools.r8.internal.gz:
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassMetadataReader$1):233:233 -> <init>
    2:2:void <init>(java.lang.String):235:235 -> <init>
com.android.tools.r8.kotlin.KotlinClassifierInfo -> com.android.tools.r8.internal.nz:
    1:1:void <init>():24:24 -> <init>
    boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
    com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens) -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinClassClassifierInfo -> com.android.tools.r8.internal.iz:
    boolean isLocalOrAnonymous -> b
    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):59:59 -> <init>
    2:4:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,boolean):64:66 -> <init>
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):71:71 -> a
    2:2:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):73:73 -> a
    3:3:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8,"2":9,"3":10}}
    8:8:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    8:8:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):74 -> a
    9:9:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    9:9:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):74 -> a
    10:10:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    10:10:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):74 -> a
    4:6:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:235 -> a
    4:6:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):74 -> a
    7:7:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):73:73 -> a
    11:11:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):83:83 -> a
    12:12:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):88:88 -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeAliasClassifierInfo -> com.android.tools.r8.internal.jz:
    java.lang.String typeAlias -> a
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):112:112 -> <init>
    2:3:void <init>(java.lang.String):116:117 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):122:122 -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeParameterClassifierInfo -> com.android.tools.r8.internal.kz:
    int typeId -> a
    1:1:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):92:92 -> <init>
    2:3:void <init>(int):96:97 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):102:102 -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassClassifierInfo -> com.android.tools.r8.internal.lz:
    java.lang.String classifier -> a
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):132:132 -> <init>
    2:3:void <init>(java.lang.String):135:136 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):141:141 -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassifierInfo -> com.android.tools.r8.internal.mz:
    java.lang.String classifier -> a
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):151:151 -> <init>
    2:3:void <init>(java.lang.String):154:155 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):160:160 -> a
com.android.tools.r8.kotlin.KotlinCompanionInfo -> com.android.tools.r8.internal.oz:
    java.lang.String companionObjectFieldName -> a
    1:2:void <init>(java.lang.String):18:19 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:4:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.NamingLens):33:36 -> a
    boolean isCompanion() -> d
    com.android.tools.r8.kotlin.KotlinCompanionInfo asCompanion() -> e
com.android.tools.r8.kotlin.KotlinConstructorInfo -> com.android.tools.r8.internal.pz:
    java.util.List valueParameters -> b
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> c
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo signature -> d
    int flags -> a
    1:5:void <init>(int,java.util.List,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo):36:40 -> <init>
    1:1: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
    1:1:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):68 -> a
    2:2: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):25:25 -> a
    2:2: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):169 -> a
    2:2:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):68 -> a
    3:3: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):169:169 -> a
    3:3:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):68 -> a
    4:10: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,boolean):48:54 -> a
    11:13: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,boolean):53:55 -> a
    14:29:boolean 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:78 -> a
    30:30:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinValueParameterInfo):94:94 -> a
    31:33:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):94:96 -> a
    com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> g
    boolean isConstructor() -> k
com.android.tools.r8.kotlin.KotlinContractInfo -> com.android.tools.r8.internal.qz:
    java.util.List effects -> a
    com.android.tools.r8.kotlin.KotlinContractInfo NO_EFFECT -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:2:void <init>(java.util.List):27:28 -> <init>
    1:8:com.android.tools.r8.kotlin.KotlinContractInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):34:41 -> a
    9:13:com.android.tools.r8.kotlin.KotlinEffectInfo com.android.tools.r8.kotlin.KotlinEffectInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):41:45 -> a
    9:13:com.android.tools.r8.kotlin.KotlinContractInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):42 -> a
    14:16:com.android.tools.r8.kotlin.KotlinContractInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):42:44 -> a
    17:17:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinEffectInfo):49:49 -> a
    18:18:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):49:49 -> a
    19:27:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmContractVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):56:64 -> a
com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo -> com.android.tools.r8.internal.sz:
    java.util.List functionsWithNoBacking -> b
    java.util.List typeAliases -> a
    java.util.List propertiesWithNoBacking -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:4:void <init>(java.util.List,java.util.List,java.util.List):49:52 -> <init>
    1:3: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):64:66 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> a
    4:4: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):67 -> a
    5:5: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):19:19 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> a
    5:5: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):67 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> a
    6:6: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):67 -> a
    7:15: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):69:77 -> a
    16:24: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):73:81 -> a
    25:27:boolean com.android.tools.r8.kotlin.KotlinMetadataUtils.isValidMethodDescriptor(java.lang.String):160:162 -> a
    25: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):81 -> a
    28:28: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93:93 -> a
    29:33:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,java.util.Map,java.util.function.Consumer):149:153 -> a
    29:33: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93 -> a
    34:38:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.kotlin.KotlinMetadataUtils.toDefaultJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,int):105:109 -> a
    34:38:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,java.util.Map,java.util.function.Consumer):156 -> a
    34:38: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93 -> a
    39:39:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature.toString():30:30 -> a
    39:39:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,java.util.Map,java.util.function.Consumer):156 -> a
    39:39: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93 -> a
    40:46:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,java.util.Map,java.util.function.Consumer):156:162 -> a
    40:46: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93 -> a
    47: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.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):94:118 -> a
    72:73:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfAccessorInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):168:169 -> a
    72:73: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):118 -> a
    74:83: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):119:128 -> a
    84:85:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfAccessorInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):168:169 -> a
    84:85: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):128 -> a
    86:95: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):129:138 -> a
    96:100:java.util.List com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.getTypeAliases(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):175:179 -> a
    96:100: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):138 -> a
    101:102: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):139:140 -> a
    103:112:boolean 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,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):192:201 -> a
    113:150:boolean 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,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):200:237 -> a
    151:165:boolean 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,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):233:247 -> a
    166:166:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup lambda$rewrite$0(com.android.tools.r8.kotlin.KotlinPropertyInfo):201:201 -> a
    167:167:java.util.function.Consumer lambda$trace$2(com.android.tools.r8.kotlin.KotlinTypeAliasInfo):254:254 -> a
    168:170:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):254:256 -> a
    171:171:java.util.function.Consumer lambda$trace$3(com.android.tools.r8.kotlin.KotlinFunctionInfo):255:255 -> a
    1:1:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup lambda$rewrite$1(com.android.tools.r8.kotlin.KotlinPropertyInfo):222:222 -> b
    1:1:java.util.function.Consumer lambda$trace$4(com.android.tools.r8.kotlin.KotlinPropertyInfo):256:256 -> c
com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup -> com.android.tools.r8.internal.rz:
    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>():259:259 -> <clinit>
    1:5:void <init>():259:263 -> <init>
    1:1:com.android.tools.r8.graph.DexEncodedField access$000(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):259:259 -> a
    2:3:void setBackingField(com.android.tools.r8.graph.DexEncodedField):266:267 -> a
    4:5:void setGetter(com.android.tools.r8.graph.DexEncodedMethod):271:272 -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod access$100(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):259:259 -> b
    2:3:void setSetter(com.android.tools.r8.graph.DexEncodedMethod):276:277 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMethod access$200(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):259:259 -> c
com.android.tools.r8.kotlin.KotlinEffectExpressionInfo -> com.android.tools.r8.internal.tz:
    java.util.List orArguments -> f
    com.android.tools.r8.kotlin.KotlinTypeInfo isInstanceType -> d
    java.util.List andArguments -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue constantValue -> c
    java.util.List NO_EXPRESSIONS -> g
    com.android.tools.r8.kotlin.KotlinEffectExpressionInfo NO_EXPRESSION -> h
    int flags -> a
    java.lang.Integer parameterIndex -> b
    1:3:void <clinit>():24:26 -> <clinit>
    1:7:void <init>(int,java.lang.Integer,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List):41:47 -> <init>
    1:9:com.android.tools.r8.kotlin.KotlinEffectExpressionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):53:61 -> a
    10:17:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):66:73 -> a
    18:25:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):78:85 -> a
    26:26:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):84:84 -> a
    27:45:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectExpressionVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):90:108 -> a
    1:1:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):85:85 -> b
com.android.tools.r8.kotlin.KotlinEffectInfo -> com.android.tools.r8.internal.uz:
    com.android.tools.r8.kotlin.KotlinEffectExpressionInfo conclusion -> d
    java.util.List constructorArguments -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind invocationKind -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType type -> a
    1:5:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind,java.util.List,com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):33:37 -> <init>
    1:1:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):50:50 -> a
    2:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):50:51 -> a
    4:13:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):56:65 -> a
com.android.tools.r8.kotlin.KotlinFieldLevelInfo -> com.android.tools.r8.internal.vz:
com.android.tools.r8.kotlin.KotlinFileFacadeInfo -> com.android.tools.r8.internal.wz:
    int[] metadataVersion -> c
    com.android.tools.r8.kotlin.KotlinPackageInfo packageInfo -> a
    java.lang.String packageName -> b
    1:4:void <init>(com.android.tools.r8.kotlin.KotlinPackageInfo,java.lang.String,int[]):27:30 -> <init>
    1:4:com.android.tools.r8.kotlin.KotlinFileFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):40:43 -> a
    5:8:com.android.tools.r8.kotlin.KotlinFileFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):42:45 -> a
    9:13:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):63:67 -> a
    14:14:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):82:82 -> a
    1:1:java.lang.String getPackageName():72:72 -> l
    1:1:int[] getMetadataVersion():77:77 -> m
com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo -> com.android.tools.r8.internal.xz:
    com.android.tools.r8.kotlin.KotlinTypeInfo kotlinTypeInfo -> b
    java.lang.String typeFlexibilityId -> a
    com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo NO_FLEXIBLE_UPPER_BOUND -> c
    boolean $assertionsDisabled -> d
    1:4:void <clinit>():15:18 -> <clinit>
    1:4:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo):25:28 -> <init>
    1:5: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):34:38 -> a
    6:14:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):45:53 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor lambda$rewrite$0(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,int):54:54 -> a
    16:23:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):59:66 -> a
com.android.tools.r8.kotlin.KotlinFunctionInfo -> com.android.tools.r8.internal.yz:
    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 -> k
    java.util.List valueParameters -> c
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo signature -> g
    java.lang.String name -> b
    int flags -> a
    com.android.tools.r8.kotlin.KotlinContractInfo contract -> j
    1:12: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,com.android.tools.r8.kotlin.KotlinContractInfo,boolean):57:68 -> <init>
    1:3: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,boolean):82:84 -> a
    4:4:boolean com.android.tools.r8.kotlin.KotlinValueParameterInfo.isCrossInline():41:41 -> a
    4:4: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,boolean):84 -> a
    5:11: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,boolean):89:95 -> a
    12:12: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):19:19 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> a
    12:12: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,boolean):97 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> a
    13:13: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,boolean):97 -> a
    14:14: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,boolean):97:97 -> a
    15:15: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):19:19 -> a
    15:15:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):90 -> a
    15:15:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinFunctionInfo.getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):107 -> a
    15:15: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,boolean):99 -> a
    16:16:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):90:90 -> a
    16:16:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinFunctionInfo.getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):107 -> a
    16:16: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,boolean):99 -> a
    17:17:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinFunctionInfo.getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):109:109 -> a
    17:17: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,boolean):99 -> a
    18:19: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,boolean):100:101 -> a
    20:61:boolean 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):126:167 -> a
    62:62:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor,java.lang.String):160:160 -> a
    63:63:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinValueParameterInfo):187:187 -> a
    64:76:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):187:199 -> a
    77:77:java.util.function.Consumer lambda$trace$2(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):192:192 -> a
    com.android.tools.r8.kotlin.KotlinFunctionInfo asFunction() -> b
    boolean isFunction() -> h
    1:1:boolean hasCrossInlineParameter():72:72 -> n
com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo -> com.android.tools.r8.internal.zz:
    java.lang.String name -> b
    com.android.tools.r8.kotlin.KotlinTypeReference type -> a
    1:3:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinTypeReference):26:28 -> <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):36:38 -> a
    4:4:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinTypeReference.fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    4:4:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexItemFactory):38 -> a
    5:5:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexItemFactory):38:38 -> a
    6:19:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):47:60 -> a
    20:20:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):66:66 -> a
com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo -> com.android.tools.r8.internal.Az:
    java.util.List EMPTY_PARAMETERS_LIST -> e
    java.util.List parameters -> c
    boolean $assertionsDisabled -> f
    java.lang.String name -> a
    com.android.tools.r8.kotlin.KotlinTypeReference returnType -> b
    java.lang.String invalidDescriptor -> d
    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:2:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):54:55 -> a
    3:5:boolean com.android.tools.r8.kotlin.KotlinMetadataUtils.isValidMethodDescriptor(java.lang.String):160:162 -> a
    3:5:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):56 -> a
    6:8:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):58:60 -> a
    9:9:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinTypeReference.fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    9:9:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):62 -> a
    10:15:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):63:68 -> a
    16:16:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinTypeReference.fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    16:16:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):69 -> a
    17:19:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):69:71 -> a
    20:30:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):79:89 -> a
    31:31:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":137,"2":138,"3":139}}
    137:137:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):94:94 -> a
    138:138:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):94:94 -> a
    139:139:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):95:95 -> a
    127:136:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):96:105 -> a
    140:145:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):128:133 -> a
    146:146:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeReference):133:133 -> a
    1:2:java.lang.String toString():111:112 -> toString
    3:3:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
    127:127:java.lang.String toString():112:112 -> toString
    128:128:java.lang.String toString():112:112 -> toString
    129:129:java.lang.String toString():112:112 -> toString
    117:126:java.lang.String toString():114:123 -> toString
com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation -> com.android.tools.r8.internal.Cz:
    java.util.Set noExtensionIndicesForFunctions -> a
    java.util.Set noExtensionIndicesForConstructors -> b
    com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation EMPTY -> c
    1:1:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> <clinit>
    1:1:void <clinit>():32 -> <clinit>
    2:2:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$1):27:27 -> <init>
    2:4:void <init>(java.util.Set,java.util.Set):35:37 -> <init>
    1:1:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder com.android.tools.r8.utils.ReflectionHelper.builder():22:22 -> a
    1:1:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):101 -> a
    2:9:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):101:108 -> a
    10:10:java.lang.Object com.android.tools.r8.utils.ReflectionHelper.performReflection(java.lang.Object,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):18:18 -> a
    10:10:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):99 -> a
    11:11:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):99:99 -> a
    12:12:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> a
    12:12:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):109 -> a
    13:15:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):109:111 -> a
    16:16:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    16:16:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):112 -> a
    17:17:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder com.android.tools.r8.utils.ReflectionHelper.builder():22:22 -> a
    17:17:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):56 -> a
    17:17:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    18:25:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):56:63 -> a
    18:25:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    26:26:java.lang.Object com.android.tools.r8.utils.ReflectionHelper.performReflection(java.lang.Object,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):18:18 -> a
    26:26:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):54 -> a
    26:26:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    27:27:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):54:54 -> a
    27:27:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    28:28:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> a
    28:28:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):64 -> a
    28:28:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    29:31:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):64:66 -> a
    29:31:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    32:32:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    32:32:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):67 -> a
    32:32:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    33:33:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder com.android.tools.r8.utils.ReflectionHelper.builder():22:22 -> a
    33:33:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):56 -> a
    33:33:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    34:41:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):56:63 -> a
    34:41:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    42:42:java.lang.Object com.android.tools.r8.utils.ReflectionHelper.performReflection(java.lang.Object,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):18:18 -> a
    42:42:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):54 -> a
    42:42:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    43:43:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):54:54 -> a
    43:43:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    44:44:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> a
    44:44:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):64 -> a
    44:44:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    45:47:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):64:66 -> a
    45:47:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    48:48:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    48:48:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):67 -> a
    48:48:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    49:49:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder com.android.tools.r8.utils.ReflectionHelper.builder():22:22 -> a
    49:49:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):77 -> a
    50:57:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):77:84 -> a
    58:58:java.lang.Object com.android.tools.r8.utils.ReflectionHelper.performReflection(java.lang.Object,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):18:18 -> a
    58:58:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):75 -> a
    59:59:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):75:75 -> a
    60:60:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    60:60:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):86 -> a
    61:61:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> a
    61:61:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):88 -> a
    62:64:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):88:90 -> a
    65:65:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    65:65:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):91 -> a
    66:66:boolean hasJvmMethodSignatureExtensionForConstructor(int):121:121 -> a
    1:1:boolean hasJvmMethodSignatureExtensionForFunction(int):117:117 -> b
com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder -> com.android.tools.r8.internal.Bz:
    java.util.Set noExtensionIndicesForFunctions -> a
    java.util.Set noExtensionIndicesForConstructors -> b
    1:4:void <init>():132:135 -> <init>
    5:5:void <init>(com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$1):132:132 -> <init>
    1:1:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder.build():138:138 -> a
    1:1:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation access$000(com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder):132 -> a
    2:3:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder.visit(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):143:144 -> a
    2:3:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder access$200(com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):132 -> a
    4:4:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder.visit(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):149:149 -> a
    4:4:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder access$100(com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):132 -> a
    5:6:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder visit(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):159:160 -> a
    7:7:void visitConstructors(java.util.List):166:166 -> a
    8:9:void lambda$visitConstructors$0(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,int):169:170 -> a
    1:1:void visitFunctions(java.util.List):154:154 -> b
com.android.tools.r8.kotlin.KotlinLambdaInfo -> com.android.tools.r8.internal.Dz:
    boolean hasBacking -> b
    com.android.tools.r8.kotlin.KotlinFunctionInfo function -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():22:22 -> <clinit>
    1:3:void <init>(com.android.tools.r8.kotlin.KotlinFunctionInfo,boolean):27:29 -> <init>
    1:6: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):42:47 -> a
    7: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):43:48 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> a
    13:13: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):48 -> a
    14:14: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):19:19 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> a
    14: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.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):48 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> a
    15:15: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):48 -> a
    16:23: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,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):50:57 -> a
    24:35: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):65:76 -> a
    36:36:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):81:81 -> a
com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo -> com.android.tools.r8.internal.Ez:
    java.util.List propertyInfos -> a
    com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo EMPTY_DELEGATED_PROPERTIES -> b
    boolean $assertionsDisabled -> c
    1:4:void <clinit>():20:23 -> <clinit>
    1:2:void <init>(java.util.List):27:28 -> <init>
    1:15:com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):33:47 -> a
    16:16:com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):34:34 -> a
    17:17:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinPropertyInfo):52:52 -> a
    18:18:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):52:52 -> a
    19:20:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):58:59 -> a
com.android.tools.r8.kotlin.KotlinMemberLevelInfo -> com.android.tools.r8.internal.Fz:
    boolean isNoKotlinInformation() -> a
    com.android.tools.r8.kotlin.KotlinFunctionInfo asFunction() -> b
    boolean isProperty() -> c
    boolean isCompanion() -> d
    com.android.tools.r8.kotlin.KotlinCompanionInfo asCompanion() -> e
    com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> g
    boolean isFunction() -> h
    com.android.tools.r8.kotlin.KotlinPropertyInfo asProperty() -> i
    boolean isConstructor() -> k
com.android.tools.r8.kotlin.KotlinMetadataDiagnostic -> com.android.tools.r8.internal.Gz:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):20:23 -> <init>
    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.internal.Iz:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set prunedTypes -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> b
    1:3:void <clinit>():32:34 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier,java.util.Set):43:46 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension):32:32 -> a
    2:6:void done(com.android.tools.r8.shaking.Enqueuer):56:60 -> a
    7:43:void done(com.android.tools.r8.shaking.Enqueuer):57:93 -> a
    44:44:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):50:50 -> a
    44:44:void done(com.android.tools.r8.shaking.Enqueuer):95 -> a
    45:45:void done(com.android.tools.r8.shaking.Enqueuer):96:96 -> a
    46:46:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    46:46:void done(com.android.tools.r8.shaking.Enqueuer):96 -> a
    47:79:void done(com.android.tools.r8.shaking.Enqueuer):100:132 -> a
    80:83:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):68:71 -> a
    84:84:boolean com.android.tools.r8.shaking.KeepClassInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,boolean):61:61 -> a
    84:84:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):71 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:86:boolean com.android.tools.r8.shaking.KeepClassInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,boolean):62:63 -> a
    85:86:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):71 -> a
    87:99:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):71:83 -> a
    100:101:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):41:42 -> a
    100:101:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):83 -> a
    102:107:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):82:87 -> a
    108:109:boolean lambda$done$0(com.android.tools.r8.graph.DexAnnotation):79:80 -> a
    110:110:void lambda$done$1(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):84:84 -> a
    111:111:void lambda$done$3(java.util.Set,com.android.tools.r8.graph.ProgramMethod):106:106 -> a
    112:113:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):115:116 -> a
    114:114:boolean com.android.tools.r8.shaking.KeepClassInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,boolean):61:61 -> a
    114:114:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):116 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    115:116:boolean com.android.tools.r8.shaking.KeepClassInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,boolean):62:63 -> a
    115:116:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):116 -> a
    117:127:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):116:126 -> a
    128:128:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):50:50 -> a
    128:128:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):126 -> a
    129:129:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):126:126 -> a
    130:131:boolean com.android.tools.r8.kotlin.KotlinClassMetadataReader.hasKotlinClassMetadataAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):105:106 -> a
    130:131:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):126 -> a
    132:132:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):127:127 -> a
    133:133:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):126:126 -> a
    134:134:void lambda$done$7(com.android.tools.r8.graph.DexProgramClass) -> a
    135:135:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):50:50 -> a
    135:135:void lambda$done$7(com.android.tools.r8.graph.DexProgramClass):134 -> a
    136:137:void lambda$done$7(com.android.tools.r8.graph.DexProgramClass):134:135 -> a
    138:138:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):137:137 -> a
    139:139:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):50:50 -> a
    139:139:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):137 -> a
    140:140:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):137:137 -> a
    1:2:boolean lambda$done$4(com.android.tools.r8.graph.DexAnnotation):121:122 -> b
com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier -> com.android.tools.r8.internal.Hz:
    java.util.Set prunedTypes -> c
    com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> b
    com.android.tools.r8.graph.ProgramDefinition context -> a
    com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension this$0 -> d
    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier,java.util.Set,com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$1):141:141 -> <init>
    2:5:void <init>(com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier,java.util.Set):150:153 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():174:174 -> a
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):158:158 -> d
    1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):166:169 -> e
com.android.tools.r8.kotlin.KotlinMetadataMembersTracker -> com.android.tools.r8.internal.Jz:
    java.util.Set references -> b
    boolean $assertionsDisabled -> c
    int count -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):22:23 -> <init>
    1:3:void add(com.android.tools.r8.graph.DexMember):27:29 -> a
    4:19:boolean isEqual(com.android.tools.r8.kotlin.KotlinMetadataMembersTracker,com.android.tools.r8.graph.AppView):34:49 -> a
    20:23:void lambda$isEqual$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.Sets$SetView,com.android.tools.r8.graph.DexMember):51:54 -> a
    24:24:void lambda$isEqual$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.Sets$SetView,com.android.tools.r8.graph.DexMember):53:53 -> a
    25:25:boolean com.android.tools.r8.kotlin.KotlinMetadataMembersTracker.isKotlinJvmType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):63:63 -> a
    25:25:boolean lambda$isEqual$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):54 -> a
    26:26:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    26:26:boolean com.android.tools.r8.kotlin.KotlinMetadataMembersTracker.isKotlinJvmType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):63 -> a
    26:26:boolean lambda$isEqual$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):54 -> a
com.android.tools.r8.kotlin.KotlinMetadataRewriter -> com.android.tools.r8.internal.Lz:
    com.android.tools.r8.graph.DexItemFactory factory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.NamingLens lens -> b
    int[] METADATA_VERSION_1_4 -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.kotlin.Kotlin kotlin -> d
    1:5:void <clinit>():33:37 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):78:82 -> <init>
    com.android.tools.r8.graph.DexAnnotation lambda$writeKotlinInfoToAnnotation$4(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation) -> a
    1:1:boolean com.android.tools.r8.kotlin.KotlinMetadataRewriter.isNotKotlinMetadata(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexType):86:86 -> a
    1:1:boolean lambda$runForR8$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotation):123 -> a
    2:24:void lambda$runForR8$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):105:127 -> a
    25:26:void lambda$runForR8$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):122:123 -> a
    27:27:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.keepIf(java.util.function.Predicate):200:200 -> a
    27:27:void lambda$runForR8$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):123 -> a
    28:28:void lambda$runForR8$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):120:120 -> a
    29:34:void runForD8(java.util.concurrent.ExecutorService):133:138 -> a
    35:35:void runForD8(java.util.concurrent.ExecutorService):137:137 -> a
    36:42:void lambda$runForD8$2(com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):140:146 -> a
    43:48:void lambda$runForD8$2(com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):145:150 -> a
    49:69:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):161:181 -> a
    70:85:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):178:193 -> a
    86:87:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):67:68 -> a
    86:87:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    88:88:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":96,"2":97,"3":98}}
    96:96:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    96:96:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    97:97:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    97:97:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    98:98:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    98:98:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    89:89:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
    101:101:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    101:101:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    102:102:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    102:102:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    103:103:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    103:103:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    90:90:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    90:90:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    91:93:java.lang.String com.android.tools.r8.utils.StringUtils.stacktraceAsString(java.lang.Throwable):344:346 -> a
    91:93:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):74 -> a
    91:93:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    94:94:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):74:74 -> a
    94:94:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    95:95:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195:195 -> a
    104:108:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Pair,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):169:173 -> a
    109:109:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Pair,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):170:170 -> a
    110:114:boolean com.android.tools.r8.kotlin.KotlinMetadataRewriter.verifyRewrittenMetadataIsEquivalent(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):201:205 -> a
    110:114:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Pair,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):168 -> a
    115:115:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Pair,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):168:168 -> a
    116:117:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):187:188 -> a
    118:119:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):67:68 -> a
    118:119:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    120:120:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130}}
    128:128:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    128:128:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    129:129:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    129:129:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    130:130:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    130:130:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    121:121:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135}}
    133:133:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    133:133:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    134:134:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    134:134:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    135:135:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    135:135:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    122:122:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    122:122:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    123:125:java.lang.String com.android.tools.r8.utils.StringUtils.stacktraceAsString(java.lang.Throwable):344:346 -> a
    123:125:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):74 -> a
    123:125:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    126:126:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):74:74 -> a
    126:126:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    127:127:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190:190 -> a
    136:145:boolean kotlinMetadataFieldExists(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):211:220 -> a
    146:146:boolean lambda$kotlinMetadataFieldExists$6(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):218:218 -> a
    147:149:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):228:230 -> a
    150:154:com.android.tools.r8.graph.DexValue$DexValueArray com.android.tools.r8.kotlin.KotlinMetadataRewriter.createIntArray(int[]):274:278 -> a
    150:154:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):232 -> a
    155:155:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):232:232 -> a
    156:163:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):230:237 -> a
    164:168:com.android.tools.r8.graph.DexValue$DexValueArray com.android.tools.r8.kotlin.KotlinMetadataRewriter.createIntArray(int[]):274:278 -> a
    164:168:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):237 -> a
    169:169:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):237:237 -> a
    170:176:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):235:241 -> a
    177:182:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):240:245 -> a
    183:187:com.android.tools.r8.graph.DexValue$DexValueArray com.android.tools.r8.kotlin.KotlinMetadataRewriter.createStringArray(java.lang.String[]):282:286 -> a
    183:187:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):245 -> a
    188:188:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):245:245 -> a
    189:194:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):244:249 -> a
    195:199:com.android.tools.r8.graph.DexValue$DexValueArray com.android.tools.r8.kotlin.KotlinMetadataRewriter.createStringArray(java.lang.String[]):282:286 -> a
    195:199:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):249 -> a
    200:200:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):249:249 -> a
    201:207:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):248:254 -> a
    208:216:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):252:260 -> a
    217:225:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):257:265 -> a
    226:233:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):263:270 -> a
    234:243:int[] getMaxVersion(int[],int[]):291:300 -> a
    1:1:void runForR8(java.util.concurrent.ExecutorService):90:90 -> b
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> b
    2:2:void runForR8(java.util.concurrent.ExecutorService):90 -> b
    3:15:void runForR8(java.util.concurrent.ExecutorService):91:103 -> b
    16:16:void runForR8(java.util.concurrent.ExecutorService):102:102 -> b
com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo -> com.android.tools.r8.internal.Kz:
    boolean writeData2 -> e
    boolean writeExtraString -> f
    boolean writePackageName -> g
    boolean writeExtraInt -> h
    boolean writeKind -> a
    boolean writeMetadataVersion -> b
    boolean writeByteCodeVersion -> c
    boolean writeData1 -> d
    1:1:void <init>(boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.kotlin.KotlinMetadataRewriter$1):39:39 -> <init>
    2:10:void <init>(boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean):57:65 -> <init>
    1:1:com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo.rewriteAll():69:69 -> a
    1:1:com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo access$100():39 -> a
com.android.tools.r8.kotlin.KotlinMetadataUtils -> com.android.tools.r8.internal.Qz:
    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>():36:37 -> <clinit>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":102,"2":103,"3":104}}
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):93:93 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):93:93 -> a
    104:104:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):94:94 -> a
    96:101:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):95:100 -> a
    105:105:com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo getInvalidKotlinInfo():85:85 -> a
    106:114:boolean mayProcessKotlinMetadata(com.android.tools.r8.graph.AppView):177:185 -> a
    115:115:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):195:195 -> a
    116:116:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardIfRule():0:0 -> a
    116:116:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):195 -> a
    117:117:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):197:197 -> a
    118:118:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardKeepRule():0:0 -> a
    118:118:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):199 -> a
    119:129:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):202:212 -> a
    1:1:com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo getNoKotlinInfo():81:81 -> b
com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor -> com.android.tools.r8.internal.Oz:
    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):118:118 -> <init>
    2:8:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):113:119 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature access$100(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):112:112 -> 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):112:112 -> 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):112:112 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature fieldSignature():146:146 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$200(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):112:112 -> 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):112:112 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature():150:150 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$300(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):112:112 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature():154:154 -> c
com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 -> com.android.tools.r8.internal.Nz:
    com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor this$0 -> b
    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):120:120 -> <init>
    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):123:126 -> a
com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1$1 -> com.android.tools.r8.internal.Mz:
    com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 this$1 -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():126:126 -> <clinit>
    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1):126:126 -> <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):133:138 -> a
com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo -> com.android.tools.r8.internal.Pz:
    java.lang.String name -> a
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinMetadataUtils$1):39:39 -> <init>
    2:3:void <init>(java.lang.String):44:45 -> <init>
    boolean isNoKotlinInformation() -> a
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):56:56 -> a
    1:1:java.lang.String getPackageName():61:61 -> l
    1:1:int[] getMetadataVersion():66:66 -> m
    1:1:java.lang.String toString():50:50 -> toString
com.android.tools.r8.kotlin.KotlinMetadataWriter -> com.android.tools.r8.internal.Rz:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():47:47 -> <clinit>
    1:122:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getGetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:121 -> a
    1:122:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):247 -> a
    123:123:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):249:249 -> a
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):132:132 -> a
    124:124:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):251 -> a
    125:125:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):253:253 -> a
    126:126:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):110:110 -> a
    126:126:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):256 -> a
    127:129:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):258:260 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> a
    130:130:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):227 -> a
    131:131: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):19:19 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> a
    131:131:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):227 -> a
    132:132:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> a
    132:132:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):227 -> a
    133:133:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):227:227 -> a
    134:134:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):0:0 -> a
    134:134:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):297 -> a
    135:135: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
    135:135:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):63 -> a
    135:135:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):297 -> a
    136:136:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):63:63 -> a
    136:136:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):297 -> a
    137:137:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):297:297 -> a
    138:138:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):293:293 -> a
    139:196:void writeKotlinMetadataAnnotation(java.lang.String,com.android.tools.r8.graph.DexAnnotation,java.io.PrintStream,com.android.tools.r8.kotlin.Kotlin):0:57 -> a
    197:204:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):63:70 -> a
    205:207:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataWriter.kotlinMultiFileClassFacadeMetadataString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade,java.lang.String):111:113 -> a
    205:207:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):70 -> a
    208:215:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):72:79 -> a
    216:224:java.lang.String kotlinClassMetadataToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String):85:93 -> a
    225:225:void lambda$kotlinClassMetadataToString$0(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String):91:91 -> a
    226:234:java.lang.String kotlinFileFacadeMetadataToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String):98:106 -> a
    235:235:void lambda$kotlinFileFacadeMetadataToString$1(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String):104:104 -> a
    236:246:java.lang.String kotlinMultiFileClassPartToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):119:129 -> a
    247:247:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):125:125 -> a
    248:248:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart.getFacadeClassName():257:257 -> a
    248:248:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    249:249:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart.getFacadeClassName():257:257 -> a
    249:249:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):126 -> a
    250:252:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):125:127 -> a
    253:276:java.lang.String kotlinSyntheticClassToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String):134:157 -> a
    277:290:void lambda$kotlinSyntheticClassToString$4(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.StringBuilder,java.lang.String):141:154 -> a
    291:291:void lambda$kotlinSyntheticClassToString$3(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,java.lang.String):148:148 -> a
    292:296:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):184:188 -> a
    297:297:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":490,"2":491,"3":492}}
    490:490:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188:188 -> a
    491:491:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188:188 -> a
    492:492:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188:188 -> a
    485:485:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188:188 -> a
    486:489:void com.android.tools.r8.kotlin.KotlinMetadataWriter.appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):162:165 -> a
    486:489:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188 -> a
    493:496:void lambda$appendKmList$6(java.util.Collection,java.lang.StringBuilder,java.lang.String,java.util.function.BiConsumer):192:195 -> a
    497:498:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):204:205 -> a
    499:499:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":709,"2":710,"3":711}}
    709:709:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205:205 -> a
    710:710:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205:205 -> a
    711:711:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205:205 -> a
    704:704:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205:205 -> a
    705:708:void com.android.tools.r8.kotlin.KotlinMetadataWriter.appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):162:165 -> a
    705:708:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205 -> a
    712:712:void lambda$appendKeyValue$7(java.util.function.Consumer,java.lang.String):205:205 -> a
    713:714:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):209:210 -> a
    715:715:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":930,"2":931,"3":932}}
    930:930:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210:210 -> a
    931:931:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210:210 -> a
    932:932:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210:210 -> a
    925:925:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210:210 -> a
    926:929:void com.android.tools.r8.kotlin.KotlinMetadataWriter.appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):162:165 -> a
    926:929:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210 -> a
    933:933:void lambda$appendKeyValue$8(java.lang.StringBuilder,java.lang.String):210:210 -> a
    934:986:void appendKmDeclarationContainer(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer):215:267 -> a
    987:989:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):224:226 -> a
    990:993:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):225:228 -> a
    994:994:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):220:220 -> a
    995:995:void lambda$appendKmDeclarationContainer$10(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):230:230 -> a
    996:996:void lambda$appendKmDeclarationContainer$15(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias):280:280 -> a
    997:997:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):286:286 -> a
    998:998:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):0:0 -> a
    998:998:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):287 -> a
    999:999: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
    999:999:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):69 -> a
    999:999:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):287 -> a
    1000:1000:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):69:69 -> a
    1000:1000:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):287 -> a
    1001:1002:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):287:288 -> a
    1003:1004:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):305:306 -> a
    1005:1005: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
    1005:1005:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):48 -> a
    1005:1005:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):306 -> a
    1006:1006:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):48:48 -> a
    1006:1006:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):306 -> a
    1007:1035:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):306:334 -> a
    1036:1051:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):330:345 -> a
    1052:1052:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1459,"2":1460,"3":1461}}
    1459:1459:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):346:346 -> a
    1460:1460:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):346:346 -> a
    1461:1461:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):346:346 -> a
    1399:1399:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):347:347 -> a
    1400:1403:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):346:349 -> a
    1404:1410:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):348:354 -> a
    1411:1417:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):350:356 -> a
    1418:1418:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):355:355 -> a
    1419:1419: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
    1419:1419:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):39 -> a
    1419:1419:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):361 -> a
    1420:1420:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):39:39 -> a
    1420:1420:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):361 -> a
    1421:1421:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):357:357 -> a
    1422:1422: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
    1422:1422:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):29 -> a
    1422:1422:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):362 -> a
    1423:1423:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):29:29 -> a
    1423:1423:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):362 -> a
    1424:1458:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):362:396 -> a
    1462:1462:void lambda$appendKmClass$19(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):313:313 -> a
    1463:1463:void lambda$appendKmClass$20(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):326:326 -> a
    1464:1464:void lambda$appendKmClass$23(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):374:374 -> a
    1465:1465:java.lang.String lambda$appendKmClass$25(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):390:390 -> a
    1466:1466:void lambda$appendKmClass$26(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):393:393 -> a
    1467:1467:void appendKmConstructor(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):401:401 -> a
    1468:1468:void lambda$appendKmConstructor$28(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):412:412 -> a
    1469:1469:void appendKmFunction(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):421:421 -> a
    1470:1470:void lambda$appendKmFunction$30(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):432:432 -> a
    1471:1471:void appendKmProperty(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):473:473 -> a
    1472:1472:void lambda$appendKmProperty$36(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):484:484 -> a
    1473:1476:void appendKmType(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):543:546 -> a
    1477:1477:void lambda$appendKmType$42(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):562:562 -> a
    1478:1478:void lambda$appendKmType$42(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):558:558 -> a
    1479:1479:void lambda$appendKmType$41(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection):564:564 -> a
    1480:1480:void lambda$appendKmType$43(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):571:571 -> a
    1481:1481:void lambda$appendKmType$47(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):584:584 -> a
    1482:1482:void lambda$appendKmType$45(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):600:600 -> a
    1483:1483:void lambda$appendKmType$45(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):599:599 -> a
    1484:1484:void lambda$appendKmType$48(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):616:616 -> a
    1485:1485:void appendKmTypeProjection(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection):624:624 -> a
    1486:1486:void lambda$appendKmTypeProjection$51(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,java.lang.String):634:634 -> a
    1487:1487:void lambda$appendValueParameters$53(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter):650:650 -> a
    1488:1491:void appendValueParameter(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter):657:660 -> a
    1492:1492:void lambda$appendValueParameter$54(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):672:672 -> a
    1493:1493:void appendTypeParameters(java.lang.String,java.lang.StringBuilder,java.util.List):686:686 -> a
    1494:1494:void lambda$appendTypeParameters$57(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):692:692 -> a
    1495:1495:void appendTypeParameter(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):698:698 -> a
    1496:1496:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):716:716 -> a
    1497:1497:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):712:712 -> a
    1498:1498:void appendTypeAlias(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias):739:739 -> a
    1499:1499:void lambda$appendTypeAlias$64(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):753:753 -> a
    1500:1500:void lambda$appendTypeAlias$64(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):749:749 -> a
    1501:1501:void appendKmAnnotation(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):787:787 -> a
    1502:1503:void lambda$appendKmAnnotation$73(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.String):792:793 -> a
    1504:1509:void lambda$appendKmAnnotation$72(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.StringBuilder,java.lang.String):798:803 -> a
    1510:1510:void lambda$appendKmAnnotation$72(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.StringBuilder,java.lang.String):799:799 -> a
    1511:1511:void lambda$appendKmAnnotation$71(java.lang.StringBuilder,java.util.Map,java.lang.String,java.lang.String):805:805 -> a
    1512:1512:void lambda$appendKmAnnotation$70(java.lang.String,java.lang.StringBuilder,java.util.Map,java.lang.String):810:810 -> a
    1513:1513:void lambda$appendKmAnnotation$69(java.lang.String,java.lang.StringBuilder,java.util.Map,java.lang.String,java.lang.String):815:815 -> a
    1514:1525:void appendKmArgument(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):825:836 -> a
    1526:1526:void lambda$appendKmArgument$74(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):833:833 -> a
    1527:1527:void appendKmVersionRequirement(java.lang.String,java.lang.StringBuilder,java.util.List):842:842 -> a
    1528:1528:void lambda$appendKmVersionRequirement$77(java.lang.StringBuilder,java.util.List,java.lang.String):847:847 -> a
    1529:1529:void lambda$appendKmVersionRequirement$76(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):853:853 -> a
    1530:1532:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):858:860 -> a
    1533:1541:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):859:867 -> a
    1542:1550:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):861:869 -> a
    1551:1551:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):868:868 -> a
    1552:1552:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    1552:1552:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):874 -> a
    1553:1553:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):874:874 -> a
    1554:1554:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):870:870 -> a
    1555:1555:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    1555:1555:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):874 -> a
    1556:1556:void appendKmContract(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract):881:881 -> a
    1557:1557:void lambda$appendKmContract$79(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,java.lang.String):895:895 -> a
    1558:1558:void lambda$appendKmContract$79(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,java.lang.String):891:891 -> a
    1559:1559:void lambda$appendKmContract$78(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect):896:896 -> a
    1560:1560:void appendKmEffect(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect):901:901 -> a
    1561:1561:void lambda$appendKmEffect$82(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,java.lang.String):921:921 -> a
    1562:1562:void lambda$appendKmEffect$82(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,java.lang.String):917:917 -> a
    1563:1563:void lambda$appendKmEffect$81(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression):923:923 -> a
    1564:1564:void lambda$appendKmEffect$83(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):934:934 -> a
    1565:1565:void appendKmEffectExpression(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression):941:941 -> 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$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):730 -> b
    2:2: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):28:28 -> b
    2:2:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):176 -> b
    2:2:void lambda$appendTypeParameter$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):730 -> b
    3:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):176:176 -> b
    3:3:void lambda$appendTypeParameter$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):730 -> b
    4:4:void lambda$appendTypeParameter$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):730:730 -> b
    5:5:void lambda$appendTypeParameter$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):726:726 -> b
    6:6:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    7:7:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":182,"2":183,"3":184}}
    182:182:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    183:183:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    184:184:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    177:177:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    178:181:void com.android.tools.r8.kotlin.KotlinMetadataWriter.appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):162:165 -> b
    178:181:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170 -> b
    185:185:void lambda$appendKmSection$5(java.util.function.Consumer,java.lang.String):173:173 -> b
    186:188:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):242:244 -> b
    189:208:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):243:262 -> b
    209:209:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):238:238 -> b
    210:210:void lambda$appendKmDeclarationContainer$13(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):264:264 -> b
    211:211:void lambda$appendKmClass$21(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):324:324 -> b
    212:212:void lambda$appendKmClass$21(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):320:320 -> b
    213:222:void lambda$appendKmConstructor$29(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):406:415 -> b
    223:225:void lambda$appendKmConstructor$29(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):414:416 -> b
    226:226:void lambda$appendKmFunction$31(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):437:437 -> b
    227:227:void lambda$appendKmProperty$37(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):489:489 -> b
    228:228:void lambda$appendKmType$44(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):576:576 -> b
    229:229:void lambda$appendKmType$46(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):593:593 -> b
    230:235:void lambda$appendKmType$46(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):589:594 -> b
    236:236:void lambda$appendKmType$49(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):614:614 -> b
    237:237:void lambda$appendKmType$49(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):610:610 -> b
    238:246:void lambda$appendKmTypeProjection$52(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,java.lang.String):629:637 -> b
    247:247:void appendValueParameters(java.lang.String,java.lang.StringBuilder,java.util.List):644:644 -> b
    248:248:void lambda$appendValueParameter$55(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):679:679 -> b
    249:249:void lambda$appendTypeParameter$58(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):718:718 -> b
    250:250:void lambda$appendTypeAlias$63(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):755:755 -> b
    251:251:void lambda$appendTypeAlias$65(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):763:763 -> b
    252:252:void lambda$appendKmContract$80(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,java.lang.String):886:886 -> b
    253:258:void lambda$appendKmEffect$84(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,java.lang.String):906:911 -> b
    259:282:void lambda$appendKmEffect$84(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,java.lang.String):907:930 -> b
    283:283:void lambda$appendKmEffectExpression$85(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):966:966 -> b
    284:284:void lambda$appendKmEffectExpression$86(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression):979:979 -> b
    1:3:void lambda$appendKmDeclarationContainer$16(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):276:278 -> c
    4:4:void lambda$appendKmDeclarationContainer$16(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):272:272 -> c
    5:5:void lambda$appendKmPackage$17(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):299:299 -> c
    6:6:void lambda$appendKmClass$22(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):342:342 -> c
    7:7:void lambda$appendKmFunction$32(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):442:442 -> c
    8:8:void lambda$appendKmFunction$34(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,java.lang.String):458:458 -> c
    9:9:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):494:494 -> c
    10:64:void lambda$appendKmType$50(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):551:605 -> c
    65:74:void lambda$appendValueParameter$56(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):665:674 -> c
    75:93:void lambda$appendTypeParameter$62(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):703:721 -> c
    94:94:void lambda$appendTypeParameter$60(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):732:732 -> c
    95:95:void lambda$appendTypeAlias$66(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):772:772 -> c
    96:96:void lambda$appendKmEffectExpression$87(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):977:977 -> c
    97:97:void lambda$appendKmEffectExpression$87(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):973:973 -> c
    98:98:void lambda$appendKmEffectExpression$88(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression):993:993 -> c
    1:1:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:0 -> d
    1:1:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):372 -> d
    2:2: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 -> d
    2:2:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):23 -> d
    2:2:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):372 -> d
    3:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):23:23 -> d
    3:3:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):372 -> d
    4:4:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):372:372 -> d
    5:5:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):368:368 -> d
    6:6:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):447:447 -> d
    7:7:void lambda$appendKmProperty$39(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):501:501 -> d
    8:8:void lambda$appendTypeAlias$67(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):779:779 -> d
    9:9:void lambda$appendKmEffectExpression$89(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):991:991 -> d
    10:10:void lambda$appendKmEffectExpression$89(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):987:987 -> d
    1:3:void lambda$appendKmClass$27(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):387:389 -> e
    4:7:void lambda$appendKmClass$27(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):388:391 -> e
    8:8:void lambda$appendKmClass$27(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):383:383 -> e
    9:36:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):426:453 -> e
    37: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):19:19 -> e
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> e
    37:37:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):461 -> e
    38:38:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> e
    38:38:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):461 -> e
    39:41:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):462:462 -> e
    42:42: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):19:19 -> e
    42:42:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):90 -> e
    42:42:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):468 -> e
    43:43:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):90:90 -> e
    43:43:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):468 -> e
    44:44:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):464:464 -> e
    45:70:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):478:503 -> e
    71:71:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):99:99 -> e
    71:71:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):503 -> e
    72:72:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):503:503 -> e
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):110:110 -> e
    73:73:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):504 -> e
    74:79:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):505:505 -> e
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getGetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):121:121 -> e
    80:80:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):510 -> e
    81:86:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):511:511 -> e
    87:87:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):132:132 -> e
    87:87:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):516 -> e
    88:93:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):517:517 -> e
    94:94: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):143:143 -> e
    94:94:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):523 -> e
    95:102:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):524:524 -> e
    103:103: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):143:143 -> e
    103:103:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):532 -> e
    104:109:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):533:533 -> e
    110:147:void lambda$appendTypeAlias$68(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):744:781 -> e
    148:155:void lambda$appendKmEffectExpression$90(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):946:953 -> e
    156:169:void lambda$appendKmEffectExpression$90(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):947:960 -> e
    170:198:void lambda$appendKmEffectExpression$90(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):954:982 -> e
com.android.tools.r8.kotlin.KotlinMethodLevelInfo -> com.android.tools.r8.internal.Sz:
com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo -> com.android.tools.r8.internal.Tz:
    java.util.List partClassNames -> a
    int[] metadataVersion -> c
    java.lang.String packageName -> b
    1:4:void <init>(java.util.List,java.lang.String,int[]):30:33 -> <init>
    1:5:com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade,java.lang.String,int[],com.android.tools.r8.graph.DexItemFactory):41:45 -> a
    6:10:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):61:65 -> a
    11:11: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,java.lang.Object):227:227 -> a
    11:11: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:11:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    12:368: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):0:356 -> a
    12:368: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,java.lang.Object):225 -> a
    12:368: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
    12:368:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    369:369: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):233:233 -> a
    369:369: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,java.lang.Object):225 -> a
    369:369: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
    369:369:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    370:370:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> a
    370:370: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):231 -> a
    370:370: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,java.lang.Object):225 -> a
    370:370: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
    370:370:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    371:371: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):235:235 -> a
    371:371: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,java.lang.Object):225 -> a
    371:371: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
    371:371:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    372:372:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77:77 -> a
    373:373: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):356:356 -> a
    373:373: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,java.lang.Object):225 -> a
    373:373: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
    373:373:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    374:374:void lambda$rewrite$0(java.util.List,java.lang.String):68:68 -> a
    375:375:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinTypeReference):92:92 -> a
    376:376:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):92:92 -> a
    1:1:java.lang.String getPackageName():82:82 -> l
    1:1:int[] getMetadataVersion():87:87 -> m
com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo -> com.android.tools.r8.internal.Uz:
    int[] metadataVersion -> d
    java.lang.String facadeClassName -> a
    com.android.tools.r8.kotlin.KotlinPackageInfo packageInfo -> b
    java.lang.String packageName -> c
    1:5:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinPackageInfo,java.lang.String,int[]):32:36 -> <init>
    1:4:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):46:49 -> a
    5:7:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):48:50 -> a
    8:8:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart.getFacadeClassName():257:257 -> a
    8:8:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):51 -> a
    9:9:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):52:52 -> a
    10:15:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):70:75 -> a
    16:16:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):90:90 -> a
    1:1:java.lang.String getPackageName():80:80 -> l
    1:1:int[] getMetadataVersion():85:85 -> m
com.android.tools.r8.kotlin.KotlinPackageInfo -> com.android.tools.r8.internal.Vz:
    com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo containerInfo -> b
    com.android.tools.r8.kotlin.KotlinMetadataMembersTracker originalMembersWithKotlinInfo -> d
    java.lang.String moduleName -> a
    com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo localDelegatedProperties -> c
    1:5:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo,com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):36:40 -> <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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):49:51 -> 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):89:89 -> 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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):51 -> a
    5:13: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):51:59 -> a
    14:14:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):0:0 -> a
    14:14: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):60 -> a
    15:15: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
    15:15:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):69 -> a
    15:15: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):60 -> a
    16:16:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):69:69 -> a
    16:16: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):60 -> a
    17:17: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):65:65 -> a
    18:18:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    18:18: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):66 -> a
    19:19: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):61:61 -> a
    20:20: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
    20:20:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):63 -> a
    20:20: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):71 -> a
    21:21:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):63:63 -> a
    21:21: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):71 -> a
    22:22: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):72:72 -> a
    23:23:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    23:23: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):73 -> a
    24:24: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.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):70:70 -> a
    25:42:boolean 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):78:95 -> a
    43:44:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):100:101 -> a
com.android.tools.r8.kotlin.KotlinPropertyInfo -> com.android.tools.r8.internal.Wz:
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo syntheticMethodForAnnotations -> n
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo syntheticMethodForDelegate -> o
    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.KotlinTypeInfo receiverParameterType -> f
    java.lang.String name -> d
    1:16: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,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo):78:93 -> <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):98:107 -> a
    11:11:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):99:99 -> a
    11:11: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 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):110:110 -> a
    12:12: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
    13:13: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:109 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getGetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):121:121 -> a
    14:14: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):111 -> a
    15:15: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):110:110 -> a
    16:16:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):132:132 -> a
    16:16: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):113 -> a
    17:17: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):112:112 -> a
    18:18: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):143:143 -> a
    18:18: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):115 -> a
    19:19: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):114:114 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):156:156 -> a
    20:20: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):117 -> a
    21:21: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):116:116 -> a
    22:62:boolean 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):150:190 -> a
    63:75:boolean 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):186:198 -> a
    76:99:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):207:230 -> a
    100:100:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):216:216 -> a
    boolean isProperty() -> c
    com.android.tools.r8.kotlin.KotlinPropertyInfo asProperty() -> i
    1:1:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo getFieldSignature():131:131 -> n
    1:1:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getGetterSignature():135:135 -> o
    1:1:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getSetterSignature():139:139 -> p
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser -> com.android.tools.r8.internal.Zz:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():23:23 -> <clinit>
    1:17:java.lang.String parseStratumContents(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):193:209 -> a
    18:18:java.lang.String parseStratumContents(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):202:202 -> a
    19:19:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198:198 -> a
    20:34:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):219:233 -> a
    20:34:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    35:35:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):246:246 -> a
    35:35:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    35:35:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    36:39:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):234:237 -> a
    36:39:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    40:40:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    40:40:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    40:40:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    41:41:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54,"4":55,"5":56}}
    52:52:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    52:52:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    52:52:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    53:53:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    53:53:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    53:53:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    54:54:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    54:54:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    54:54:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    55:55:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    55:55:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    55:55:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    56:56:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    56:56:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    56:56:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    42:42:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    42:42:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    42:42:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    43:43:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    43:43:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    44:44:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":57,"2":58,"3":59,"4":60,"5":61}}
    57:57:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    57:57:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    58:58:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    58:58:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    59:59:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    59:59:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    60:60:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    60:60:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    61:61:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    61:61:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    45:45:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    45:45:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    46:46:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    46:46:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    47:47:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":62,"2":63,"3":64,"4":65,"5":66}}
    62:62:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    62:62:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    63:63:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    63:63:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    64:64:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    64:64:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    65:65:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    65:65:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    66:66:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    66:66:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    48:48:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    48:48:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    49:49:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    49:49:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    50:50:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":67,"2":68,"3":69,"4":70,"5":71}}
    67:67:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    67:67:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    68:68:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    68:68:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    69:69:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    69:69:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    70:70:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    70:70:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    71:71:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    71:71:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    51:51:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    51:51:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    72:72:boolean lambda$parseStratumContents$1(java.lang.String):210:210 -> a
    1:26:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):124:149 -> b
    27:27:boolean com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader.readExpectedLine(java.lang.String):55:55 -> b
    27:27:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):149 -> b
    28:28:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):184:184 -> b
    29:61:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):152:184 -> b
    62:90:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):156:184 -> b
    91:105:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):170:184 -> b
    106:117:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):173:184 -> b
    118:126:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):176:184 -> b
    127:164:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):147:184 -> b
    165:165:void lambda$parseStratumContents$2(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):212:212 -> b
    166:197:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addDebugEntryToBuilder(java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):262:293 -> b
    166:197:void lambda$parseStratumContents$2(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):212 -> b
    198:205:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addDebugEntryToBuilder(java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):288:295 -> b
    198:205:void lambda$parseStratumContents$2(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):212 -> b
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader -> com.android.tools.r8.internal.Xz:
    java.io.BufferedReader reader -> b
    java.lang.String readLine -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():40:40 -> <clinit>
    1:2:void <init>(java.lang.String):46:47 -> <init>
    1:1:java.lang.String access$000(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader):40:40 -> a
    2:2:boolean isEOF():67:67 -> a
    3:3:void readUntil(java.lang.String,int,com.android.tools.r8.utils.ThrowingConsumer):85:85 -> a
    4:22:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):93:111 -> a
    23:23:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":138,"2":139,"3":140,"4":141,"5":142}}
    138:138:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    139:139:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    140:140:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    141:141:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    142:142:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    134:137:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:114 -> a
    1:1:void readExpectedLineOrThrow(java.lang.String):0:0 -> b
    2:2:boolean com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader.readExpectedLine(java.lang.String):55:55 -> b
    2:2:void readExpectedLineOrThrow(java.lang.String):60 -> b
    3:3:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    4:4:void readExpectedLineOrThrow(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":66,"2":67,"3":68}}
    66:66:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    67:67:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    68:68:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    65:65:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    1:1:java.lang.String readNextLine():51:51 -> c
    1:1:void close():119:119 -> close
    1:73:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader readUntil(java.lang.String):0:72 -> d
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$KotlinSourceDebugExtensionParserException -> com.android.tools.r8.internal.Yz:
    1:1:void <init>(java.lang.String):36:36 -> <init>
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Position -> com.android.tools.r8.internal.Zz$a:
    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):355:357 -> <init>
    1:1:com.android.tools.r8.naming.Range getRange():365:365 -> a
    1:1:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source getSource():361:361 -> b
    1:10:java.lang.String toString():370:379 -> toString
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result -> com.android.tools.r8.internal.Zz$b:
    com.android.tools.r8.utils.SegmentTree inlineePositions -> a
    com.android.tools.r8.utils.SegmentTree calleePositions -> b
    1:3:void <init>(com.android.tools.r8.utils.SegmentTree,com.android.tools.r8.utils.SegmentTree):304:306 -> <init>
    1:1:java.util.Map$Entry lookupCalleePosition(int):314:314 -> a
    2:2:int inlinePositionsCount():318:318 -> a
    1:1:java.util.Map$Entry lookupInlinedPosition(int):310:310 -> b
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source -> com.android.tools.r8.internal.Zz$c:
    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):328:328 -> <init>
    2:4:void <init>(java.lang.String,java.lang.String):332:334 -> <init>
    1:1:java.lang.String getFileName():338:338 -> a
    1:1:java.lang.String getPath():342:342 -> b
    1:1:java.lang.String toString():347:347 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():347:347 -> toString
    4:4:java.lang.String toString():347:347 -> toString
    5:5:java.lang.String toString():347:347 -> toString
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder -> com.android.tools.r8.internal.aA:
    java.util.Map files -> b
    com.android.tools.r8.utils.SegmentTree segmentTree -> a
    1:4:void <init>():322:325 -> <init>
com.android.tools.r8.kotlin.KotlinSyntheticClassInfo -> com.android.tools.r8.internal.bA:
    com.android.tools.r8.kotlin.KotlinLambdaInfo lambda -> a
    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour flavour -> d
    int[] metadataVersion -> c
    boolean $assertionsDisabled -> e
    java.lang.String packageName -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:5:void <init>(com.android.tools.r8.kotlin.KotlinLambdaInfo,com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour,java.lang.String,int[]):33:37 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda) -> a
    1:5:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):47:51 -> a
    6:11:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):50:55 -> a
    12:12:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    12:12:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):55 -> a
    13:13:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):54:54 -> a
    14:21:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour com.android.tools.r8.kotlin.KotlinSyntheticClassInfo.getFlavour(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin):109:116 -> a
    14:21:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):57 -> a
    22:22:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):57:57 -> a
    23:27:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):79:83 -> a
    28:28:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.getFunction():286:286 -> a
    28:28:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297 -> a
    28:28:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    29:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297:297 -> a
    29:29:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.getFunction():286:286 -> a
    30:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297 -> a
    30:30:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    31:31:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297:297 -> a
    31:31:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.getFunction():286:286 -> a
    32:32:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297 -> a
    32:32:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    33:34:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297:298 -> a
    33:34:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    35:37:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.getFunction():286:286 -> a
    35:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297 -> a
    35:37:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    38:38:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):86:86 -> a
    39:40:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):91:92 -> a
    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo asSyntheticClass() -> f
    boolean isSyntheticClass() -> j
    1:1:java.lang.String getPackageName():98:98 -> l
    1:1:int[] getMetadataVersion():103:103 -> m
    1:1:boolean isLambda():63:63 -> n
com.android.tools.r8.kotlin.KotlinTypeAliasInfo -> com.android.tools.r8.internal.cA:
    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
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> g
    boolean $assertionsDisabled -> h
    java.lang.String name -> b
    int flags -> a
    1:1:void <clinit>():20:20 -> <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):37:46 -> <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):51:58 -> a
    9:20:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65:76 -> a
    21:24:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):82:85 -> a
    25:25:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):84:84 -> a
    26:26:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):85:85 -> a
com.android.tools.r8.kotlin.KotlinTypeInfo -> com.android.tools.r8.internal.dA:
    com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo flexibleTypeUpperBound -> 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 -> i
    boolean isRaw -> h
    int flags -> a
    1:1:void <clinit>():28:28 -> <clinit>
    1:9: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,boolean):47:55 -> <init>
    1:2: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):62:63 -> a
    3:11:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):28:36 -> a
    3:11: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):64 -> a
    12:15:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):35:38 -> a
    12:15: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):64 -> a
    16:16:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinTypeReference.fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    16:16:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):39 -> a
    16:16: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):64 -> a
    17:26:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):39:48 -> a
    17:26: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):64 -> a
    27:28:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):53:54 -> a
    27:28:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):48 -> a
    27:28: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):64 -> a
    29:29: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":50,"2":51,"3":52,"4":53,"5":54,"6":55}}
    50:50:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    50:50:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):48 -> a
    50:50: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):64 -> a
    51:51:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    51:51:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):48 -> a
    51:51: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):64 -> a
    52:52:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    52:52:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):48 -> a
    52:52: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):64 -> a
    53:53:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    53:53:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):48 -> a
    53:53: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):64 -> a
    54:54:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String) -> a
    54:54:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):48 -> a
    54:54: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):64 -> a
    55:55:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    55:55:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):48 -> a
    55:55: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):64 -> a
    30:30:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    30:30:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):48 -> a
    30:30: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):64 -> a
    31:32:com.android.tools.r8.kotlin.KotlinClassifierInfo 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):48:49 -> a
    31:32: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):64 -> a
    33:35: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:67 -> a
    36:43:java.util.List com.android.tools.r8.kotlin.KotlinTypeInfo.getArguments(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):76:83 -> a
    36:43: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):67 -> a
    44:46: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):68:70 -> a
    47:49: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):69:71 -> a
    56:85:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):91:120 -> a
    86:95:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):127:136 -> a
    96:96:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeProjectionInfo):134:134 -> a
    97:97:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):136:136 -> a
    98:98:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):140:140 -> a
com.android.tools.r8.kotlin.KotlinTypeParameterInfo -> com.android.tools.r8.internal.eA:
    java.util.List annotations -> f
    java.util.List originalUpperBounds -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> d
    java.util.List EMPTY_UPPER_BOUNDS -> h
    java.util.List EMPTY_TYPE_PARAMETERS -> g
    int id -> b
    java.lang.String name -> c
    int flags -> a
    1:2:void <clinit>():27:28 -> <clinit>
    1:7:void <init>(int,int,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,java.util.List,java.util.List):43:49 -> <init>
    1:5:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):65:69 -> a
    6:11:com.android.tools.r8.kotlin.KotlinTypeParameterInfo 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):54:59 -> a
    6:11:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    12:19:java.util.List com.android.tools.r8.kotlin.KotlinTypeParameterInfo.getUpperBounds(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):77:84 -> a
    12:19:com.android.tools.r8.kotlin.KotlinTypeParameterInfo 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):59 -> a
    12:19:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    20:20: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):28:28 -> a
    20:20:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):176 -> a
    20:20:com.android.tools.r8.kotlin.KotlinTypeParameterInfo 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
    20:20:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    21:21:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):176:176 -> a
    21:21:com.android.tools.r8.kotlin.KotlinTypeParameterInfo 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
    21:21:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    22:22:com.android.tools.r8.kotlin.KotlinTypeParameterInfo 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:60 -> a
    22:22:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    23:25:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70:72 -> a
    26:40:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeParameterVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):91:105 -> a
    41:41:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeInfo):113:113 -> a
    42:43:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):113:114 -> a
    44:44:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):114:114 -> a
com.android.tools.r8.kotlin.KotlinTypeProjectionInfo -> com.android.tools.r8.internal.fA:
    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):22:24 -> <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):29:31 -> a
    4:4:boolean com.android.tools.r8.kotlin.KotlinTypeProjectionInfo.isStarProjection():35:35 -> a
    4:4:boolean 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):43 -> a
    5:8:boolean 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:47 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor lambda$rewrite$0(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider,int):47:47 -> a
    10:11:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):53:54 -> a
com.android.tools.r8.kotlin.KotlinTypeReference -> com.android.tools.r8.internal.gA:
    com.android.tools.r8.graph.DexType known -> a
    java.lang.String originalName -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():25:25 -> <clinit>
    1:4:void <init>(java.lang.String,com.android.tools.r8.graph.DexType):30:33 -> <init>
    5:8:void <init>(java.lang.String):36:39 -> <init>
    1:1:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):52:52 -> a
    2:2:boolean com.android.tools.r8.utils.DescriptorUtils.isValidBinaryName(java.lang.String):562:562 -> a
    2:2:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):52 -> a
    3:3:boolean com.android.tools.r8.utils.DescriptorUtils.isValidBinaryName(java.lang.String):561:561 -> a
    3:3:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):52 -> a
    4:4:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):54:54 -> a
    5:8:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):53:56 -> a
    9:14:boolean toRenamedBinaryNameOrDefault(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,java.lang.String):112:117 -> a
    15:18:void lambda$toRenamedBinaryNameOrDefault$0(java.lang.String,java.util.function.Consumer,java.lang.String):120:123 -> a
    19:19:void lambda$toRenamedBinaryNameOrDefault$0(java.lang.String,java.util.function.Consumer,java.lang.String):121:121 -> a
    20:30:com.android.tools.r8.graph.DexType toRewrittenTypeOrNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):132:142 -> a
    31:31:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> a
    31:31:com.android.tools.r8.graph.DexType toRewrittenTypeOrNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):142 -> a
    32:33:com.android.tools.r8.graph.DexType toRewrittenTypeOrNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):143:144 -> a
    34:36:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):157:159 -> a
    37:38:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):164:165 -> a
    39:39:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> a
    39:39:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):165 -> a
    1:5:com.android.tools.r8.kotlin.KotlinTypeReference fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):65:69 -> b
    6:25:boolean toRenamedDescriptorOrDefault(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,java.lang.String):77:96 -> b
    1:1:java.lang.String getOriginalName():47:47 -> n
    1:5:java.lang.String toKotlinClassifier(boolean):100:104 -> o
    6:6:java.lang.String toKotlinClassifier(boolean):0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8,"2":9,"3":10}}
    8:8:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> o
    8:8:java.lang.String toKotlinClassifier(boolean):103 -> o
    9:9:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> o
    9:9:java.lang.String toKotlinClassifier(boolean):103 -> o
    10:10:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> o
    10:10:java.lang.String toKotlinClassifier(boolean):103 -> o
    7:7:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> o
    7:7:java.lang.String toKotlinClassifier(boolean):103 -> o
    1:1:java.lang.String toString():152:152 -> toString
com.android.tools.r8.kotlin.KotlinValueParameterInfo -> com.android.tools.r8.internal.hA:
    com.android.tools.r8.kotlin.KotlinTypeInfo varargElementType -> d
    java.util.List EMPTY_VALUE_PARAMETERS -> e
    com.android.tools.r8.kotlin.KotlinTypeInfo type -> c
    java.lang.String name -> a
    int flags -> b
    1:1:void <clinit>():22:22 -> <clinit>
    1:5:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo):33:37 -> <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):49:54 -> a
    7:14:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):59:66 -> a
    15:19:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):73:77 -> a
    20:22:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):85:87 -> a
com.android.tools.r8.kotlin.KotlinVersionRequirementInfo -> com.android.tools.r8.internal.jA:
    java.util.List versionRequirements -> a
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo NO_VERSION_REQUIREMENTS -> b
    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:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmVersionRequirementVisitorProvider):38:42 -> a
com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint -> com.android.tools.r8.internal.iA:
    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):60:65 -> <init>
    1:5:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):69:73 -> a
    1:5:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):47 -> a
    6:6:void com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint.rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):78:78 -> a
    6:6:void access$100(com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:9:void com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint.rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):78:80 -> a
    7:9:void access$100(com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):47 -> a
com.android.tools.r8.logging.Log -> com.android.tools.r8.internal.qC:
    java.util.Set CLASS_FILTER -> b
    boolean ENABLED -> a
    1:1:void <clinit>():12:12 -> <clinit>
    2:11:java.util.Set com.android.tools.r8.logging.Log.getClassFilter():57:66 -> <clinit>
    2:11:void <clinit>():19 -> <clinit>
    12:12:void <clinit>():19:19 -> <clinit>
    1:2:void debug(java.lang.Class,java.lang.String,java.lang.Object[]):34:35 -> a
    3:3:boolean isLoggingEnabledFor(java.lang.Class):46:46 -> a
    4:7:void log(java.lang.String,java.lang.Class,java.lang.String,java.lang.Object[]):50:53 -> a
    1:2:void info(java.lang.Class,java.lang.String,java.lang.Object[]):28:29 -> b
    1:2:void warn(java.lang.Class,java.lang.String,java.lang.Object[]):40:41 -> c
com.android.tools.r8.naming.ApplyMappingError -> com.android.tools.r8.naming.a:
    1:1:void <init>(java.lang.String,com.android.tools.r8.position.Position):27:27 -> <init>
    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
    java.util.Set mapVersions -> d
    com.android.tools.r8.utils.BiMapContainer nameMapping -> b
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.com.google.common.collect.ImmutableMap classNameMappings -> a
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Set,com.android.tools.r8.naming.ClassNameMapper$1):39:39 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Set):156:156 -> <init>
    3:10:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Set):151:158 -> <init>
    1:1:com.android.tools.r8.naming.ClassNameMapper$Builder builder():85:85 -> a
    2:2:com.android.tools.r8.naming.ClassNameMapper mapperFromFile(java.nio.file.Path):89:89 -> a
    3:9:com.android.tools.r8.naming.ClassNameMapper mapperFromFile(java.nio.file.Path,com.android.tools.r8.naming.ClassNameMapper$MissingFileAction):94:100 -> a
    10:10:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler):128:128 -> a
    10:10:com.android.tools.r8.naming.ClassNameMapper mapperFromFile(java.nio.file.Path,com.android.tools.r8.naming.ClassNameMapper$MissingFileAction):100 -> a
    11:11:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler):110:110 -> a
    12:15:java.io.BufferedReader com.android.tools.r8.com.google.common.io.CharSource.openBufferedStream():112:115 -> a
    12:15:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler):110 -> a
    16:16:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler):128:128 -> a
    16:16:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler):109 -> a
    17:27:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):137:137 -> a
    36:36:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):146:146 -> a
    37:41:java.lang.String deobfuscateClassName(java.lang.String):199:203 -> a
    42:42:java.lang.String lambda$sorted$0(com.android.tools.r8.naming.ClassNamingForNameMapper):232:232 -> a
    43:43:void write(com.android.tools.r8.utils.ChainableStringConsumer):254:254 -> a
    44:44:java.util.Map getClassNameMappings():162:162 -> a
    44:44:boolean verifyIsSorted():239 -> a
    44:44:void write(com.android.tools.r8.utils.ChainableStringConsumer):254 -> a
    45:47:boolean verifyIsSorted():239:241 -> a
    45:47:void write(com.android.tools.r8.utils.ChainableStringConsumer):254 -> a
    48:48:java.util.Map getClassNameMappings():162:162 -> a
    48:48:boolean verifyIsSorted():241 -> a
    48:48:void write(com.android.tools.r8.utils.ChainableStringConsumer):254 -> a
    49:54:boolean verifyIsSorted():241:246 -> a
    49:54:void write(com.android.tools.r8.utils.ChainableStringConsumer):254 -> a
    55:55:java.util.Map getClassNameMappings():162:162 -> a
    55:55:void write(com.android.tools.r8.utils.ChainableStringConsumer):255 -> a
    56:57:void write(com.android.tools.r8.utils.ChainableStringConsumer):255:256 -> a
    58:59:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):291:292 -> a
    60:60:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):188:188 -> a
    60:60:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    61:61:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    61:61:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):188 -> a
    61:61:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    62:62:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189:189 -> a
    62:62:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    63:67:com.android.tools.r8.naming.MemberNaming$Signature canonicalizeSignature(com.android.tools.r8.naming.MemberNaming$Signature):166:170 -> a
    63:67:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189 -> a
    63:67:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    68:68:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189:189 -> a
    68:68:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    69:71:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292:294 -> a
    72:75:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):175:178 -> a
    72:75:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    76:76:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    76:76:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):178 -> a
    76:76:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    77:79:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):178:180 -> a
    77:79:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    80:80:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    80:80:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):180 -> a
    80:80:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    81:81:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):182:182 -> a
    81:81:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    82:86:com.android.tools.r8.naming.MemberNaming$Signature canonicalizeSignature(com.android.tools.r8.naming.MemberNaming$Signature):166:170 -> a
    82:86:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):184 -> a
    82:86:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    87:87:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):184:184 -> a
    87:87:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    88:92:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294:298 -> a
    93:102:java.lang.String lookupName(com.android.tools.r8.naming.MemberNaming$Signature,com.android.tools.r8.graph.DexType):303:312 -> a
    103:103:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):316:316 -> a
    104:107:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):175:178 -> a
    104:107:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    108:108:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    108:108:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):178 -> a
    108:108:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    109:111:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):178:180 -> a
    109:111:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    112:112:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    112:112:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):180 -> a
    112:112:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    113:113:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):182:182 -> a
    113:113:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    114:118:com.android.tools.r8.naming.MemberNaming$Signature canonicalizeSignature(com.android.tools.r8.naming.MemberNaming$Signature):166:170 -> a
    114:118:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):184 -> a
    114:118:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    119:119:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):184:184 -> a
    119:119:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    120:128:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):318:326 -> a
    129:129:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):330:330 -> a
    130:130:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):188:188 -> a
    130:130:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    131:131:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    131:131:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):188 -> a
    131:131:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    132:132:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189:189 -> a
    132:132:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    133:137:com.android.tools.r8.naming.MemberNaming$Signature canonicalizeSignature(com.android.tools.r8.naming.MemberNaming$Signature):166:170 -> a
    133:137:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189 -> a
    133:137:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    138:138:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189:189 -> a
    138:138:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    139:147:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):332:340 -> a
    148:148:java.lang.String originalNameOf(com.android.tools.r8.graph.DexType):344:344 -> a
    149:149:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    149:149:java.lang.String originalNameOf(com.android.tools.r8.graph.DexType):344 -> a
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper getClassNaming(java.lang.String):223:223 -> b
    2:2:java.util.Set getMapVersions():348:348 -> b
    1:1:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String):104:104 -> c
    2:5:java.io.BufferedReader com.android.tools.r8.com.google.common.io.CharSource.openBufferedStream():112:115 -> c
    2:5:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String):104 -> c
    6:6:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler):128:128 -> c
    6:6:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String):104 -> c
    7:7:com.android.tools.r8.utils.BiMapContainer getObfuscatedToOriginalMapping():268:268 -> c
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder com.android.tools.r8.com.google.common.collect.ImmutableBiMap.builder():121:121 -> c
    8:8:com.android.tools.r8.utils.BiMapContainer getObfuscatedToOriginalMapping():269 -> c
    9:15:com.android.tools.r8.utils.BiMapContainer getObfuscatedToOriginalMapping():270:276 -> c
    1:4:com.android.tools.r8.naming.ClassNameMapper sorted():231:234 -> d
    1:2:boolean equals(java.lang.Object):281:282 -> equals
    1:1:int hashCode():287:287 -> hashCode
    1:3:java.lang.String toString():262:264 -> toString
com.android.tools.r8.naming.ClassNameMapper$Builder -> com.android.tools.r8.naming.b$a:
    java.util.Map mapping -> a
    java.util.LinkedHashSet mapVersions -> b
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMapper$1):46:46 -> <init>
    2:2:void <init>():51:51 -> <init>
    3:4:void <init>():48:49 -> <init>
    1:1:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):46:46 -> a
    2:2:com.android.tools.r8.naming.ClassNamingForNameMapper$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):59:59 -> a
    3:3:com.android.tools.r8.naming.ClassNamingForNameMapper$Builder com.android.tools.r8.naming.ClassNamingForNameMapper.builder(java.lang.String,java.lang.String):209:209 -> a
    3:3:com.android.tools.r8.naming.ClassNamingForNameMapper$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):59 -> a
    4:4:com.android.tools.r8.naming.ClassNamingForNameMapper$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):60:60 -> a
    5:5:com.android.tools.r8.naming.ClassNameMapper build():66:66 -> a
    6:6:java.lang.String lambda$buildClassNameMappings$0(com.android.tools.r8.naming.ClassNamingForNameMapper):71:71 -> a
    7:7:void lambda$buildClassNameMappings$1(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.lang.String,com.android.tools.r8.naming.ClassNamingForNameMapper$Builder):73:73 -> a
    8:8:com.android.tools.r8.naming.ProguardMap$Builder setCurrentMapVersion(com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):79:79 -> a
    1:5:com.android.tools.r8.com.google.common.collect.ImmutableMap buildClassNameMappings():70:74 -> b
com.android.tools.r8.naming.ClassNameMapper$MissingFileAction -> com.android.tools.r8.naming.b$b:
    com.android.tools.r8.naming.ClassNameMapper$MissingFileAction MISSING_FILE_IS_EMPTY_MAP -> b
    com.android.tools.r8.naming.ClassNameMapper$MissingFileAction MISSING_FILE_IS_ERROR -> c
    1:2:void <clinit>():42:43 -> <clinit>
    1:1:void <init>(java.lang.String,int):41:41 -> <init>
com.android.tools.r8.naming.ClassNameMinifier -> com.android.tools.r8.naming.f:
    java.util.function.Predicate isUsed -> j
    com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy classNamingStrategy -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean allowMixedCaseNaming -> i
    java.util.Set usedTypeNames -> d
    boolean $assertionsDisabled -> k
    boolean keepInnerClassStructure -> g
    com.android.tools.r8.naming.ClassNameMinifier$Namespace topLevelState -> h
    java.lang.Iterable classes -> c
    java.util.Map renaming -> e
    java.util.Map states -> f
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy,java.lang.Iterable):52:52 -> <init>
    2:30:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy,java.lang.Iterable):40:68 -> <init>
    1:1:java.util.function.Predicate access$100(com.android.tools.r8.naming.ClassNameMinifier):35:35 -> a
    2:2:void setUsedTypeName(java.lang.String):73:73 -> a
    2:2:void access$400(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):35 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void setUsedTypeName(java.lang.String):73:73 -> a
    3:3:void access$400(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):35 -> a
    4:23:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):89:108 -> a
    24:29:boolean verifyMemberRenamingOfInnerClasses(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexString):125:125 -> a
    24:29:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):108 -> a
    30:38:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):111:119 -> a
    39:47:java.util.Map getPackageRenaming():135:143 -> a
    39:47:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):119 -> a
    48:48:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):119:119 -> a
    49:50:void renameDanglingTypes(com.android.tools.r8.graph.ProgramOrClasspathClass):147:148 -> a
    51:51:void renameDanglingTypesInField(com.android.tools.r8.graph.DexClassAndField):152:152 -> a
    52:55:void renameDanglingTypesInMethod(com.android.tools.r8.graph.DexClassAndMethod):156:159 -> a
    56:57:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):175:176 -> a
    58:58:void setUsedTypeName(java.lang.String):73:73 -> a
    58:58:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):176 -> a
    59:59:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):177:177 -> a
    60:73:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):191:204 -> a
    60:73:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):178 -> a
    74:88:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.InnerClassAttribute.getLiveContext(com.android.tools.r8.graph.AppView):101:115 -> a
    74:88:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):204 -> a
    74:88:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):178 -> a
    89:93:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):180:184 -> a
    94:94:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):209:209 -> a
    95:108:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):191:204 -> a
    95:108:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):213 -> a
    109:123:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.InnerClassAttribute.getLiveContext(com.android.tools.r8.graph.AppView):101:115 -> a
    109:123:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):204 -> a
    109:123:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):213 -> a
    124:133:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):215:224 -> a
    134:150:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForOuterClass(com.android.tools.r8.graph.DexType,java.lang.String):242:258 -> a
    134:150:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):226 -> a
    151:153:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):230:232 -> a
    154:158:java.lang.String getParentPackagePrefix(java.lang.String):334:338 -> a
    1:1:com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy access$200(com.android.tools.r8.naming.ClassNameMinifier):35:35 -> b
    2:2:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForClass(com.android.tools.r8.graph.DexType):236:236 -> b
    3:3:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageBinaryNameFromJavaType(java.lang.String):380:380 -> b
    3:3:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForClass(com.android.tools.r8.graph.DexType):236 -> b
    4:4:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForClass(com.android.tools.r8.graph.DexType):238:238 -> b
    5:5:com.android.tools.r8.naming.ClassNameMinifier$Namespace lambda$getStateForClass$2(java.lang.String):238:238 -> b
    1:1:java.util.Set access$300(com.android.tools.r8.naming.ClassNameMinifier):35:35 -> c
    2:2:boolean lambda$new$0(java.lang.String):65:65 -> c
    3:3:void lambda$computeRenaming$1(com.android.tools.r8.graph.DexType):100:100 -> c
    1:7:void renameDanglingType(com.android.tools.r8.graph.DexType):164:170 -> d
com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy -> com.android.tools.r8.naming.c:
    boolean isRenamedByApplyMapping(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate) -> a
    com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType) -> b
com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming -> com.android.tools.r8.naming.d:
    java.util.Map packageRenaming -> a
    java.util.Map classRenaming -> b
    1:1:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.naming.ClassNameMinifier$1):76:76 -> <init>
    2:4:void <init>(java.util.Map,java.util.Map):81:83 -> <init>
com.android.tools.r8.naming.ClassNameMinifier$Namespace -> com.android.tools.r8.naming.e:
    char[] packagePrefix -> c
    com.android.tools.r8.naming.ClassNameMinifier this$0 -> f
    int dictionaryIndex -> d
    boolean $assertionsDisabled -> g
    int nameIndex -> e
    java.lang.String packageName -> b
    1:1:void <clinit>():263:263 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):271:271 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String,java.lang.String):274:274 -> <init>
    3:15:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String,java.lang.String):267:279 -> <init>
    1:3:com.android.tools.r8.graph.DexString nextTypeName(com.android.tools.r8.graph.DexType):287:289 -> a
    4:4:int getDictionaryIndex():295:295 -> a
    1:1:int incrementDictionaryIndex():300:300 -> b
    1:1:int incrementNameIndex():305:305 -> c
    1:1:java.lang.String getPackageName():283:283 -> d
com.android.tools.r8.naming.ClassNaming -> com.android.tools.r8.naming.h:
    com.android.tools.r8.naming.MemberNaming lookup(com.android.tools.r8.naming.MemberNaming$Signature) -> a
com.android.tools.r8.naming.ClassNaming$Builder -> com.android.tools.r8.naming.g:
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange addMappedRange(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String) -> a
    void addMappingInformation(com.android.tools.r8.naming.mappinginformation.MappingInformation,java.util.function.Consumer) -> 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.j:
    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
    java.lang.String originalName -> a
    java.lang.String renamedName -> b
    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):38:38 -> <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):133:139 -> <init>
    com.android.tools.r8.naming.MemberNaming lookup(com.android.tools.r8.naming.MemberNaming$Signature) -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap getQualifiedMethodMembers():143:143 -> a
    2:3:void forAllFieldNaming(com.android.tools.r8.utils.ThrowingConsumer):156:157 -> a
    2:3:void forAllMemberNaming(com.android.tools.r8.utils.ThrowingConsumer):149 -> a
    4:5:void forAllMethodNaming(com.android.tools.r8.utils.ThrowingConsumer):164:165 -> a
    4:5:void forAllMemberNaming(com.android.tools.r8.utils.ThrowingConsumer):150 -> a
    1:11:boolean equals(java.lang.Object):232:242 -> equals
    1:1:int hashCode():247:247 -> hashCode
    2:2:int com.android.tools.r8.com.google.common.base.Objects.hashCode(java.lang.Object[]):77:77 -> hashCode
    2:2:int hashCode():247 -> hashCode
com.android.tools.r8.naming.ClassNamingForMapApplier$Builder -> com.android.tools.r8.naming.i:
    com.android.tools.r8.position.Position position -> c
    com.android.tools.r8.utils.Reporter reporter -> d
    java.lang.String originalName -> a
    java.util.Map qualifiedMethodMembers -> e
    java.lang.String renamedName -> b
    java.util.Map methodMembers -> f
    java.util.Map fieldMembers -> g
    1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.utils.Reporter,com.android.tools.r8.naming.ClassNamingForMapApplier$1):40:40 -> <init>
    2:2:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.utils.Reporter):50:50 -> <init>
    3:11:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.utils.Reporter):46:54 -> <init>
    com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange addMappedRange(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String) -> a
    void addMappingInformation(com.android.tools.r8.naming.mappinginformation.MappingInformation,java.util.function.Consumer) -> a
    1:1:java.util.List lambda$addMemberEntry$0(com.android.tools.r8.naming.MemberNaming$MethodSignature):64:64 -> a
    2:2:com.android.tools.r8.naming.ClassNamingForMapApplier build():83:83 -> a
    3:3:boolean com.android.tools.r8.naming.MemberNaming.isMethodNaming():87:87 -> a
    3:3:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):61 -> a
    4:10:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):62:68 -> a
    11:11:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):67:67 -> a
    12:21:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):66:75 -> a
    22:22:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):74:74 -> a
    23:23:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):73:73 -> a
com.android.tools.r8.naming.ClassNamingForNameMapper -> com.android.tools.r8.naming.k:
    com.android.tools.r8.com.google.common.collect.ImmutableMap fieldMembers -> d
    com.android.tools.r8.com.google.common.collect.ImmutableMap methodMembers -> c
    java.lang.String originalName -> a
    java.util.List additionalMappingInfo -> g
    boolean $assertionsDisabled -> h
    java.util.Map mappedRangesByRenamedName -> e
    java.lang.String renamedName -> b
    java.util.Map mappedFieldNamingsByName -> f
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(java.lang.String,java.lang.String,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.List,com.android.tools.r8.naming.ClassNamingForNameMapper$1):35:35 -> <init>
    2:9:void <init>(java.lang.String,java.lang.String,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.List):238:245 -> <init>
    1:1:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":340,"2":341,"3":342}}
    340:340:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):338:338 -> a
    341:341:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):338:338 -> a
    342:342:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):338:338 -> a
    339:339:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):338:338 -> a
    343:343:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName getMappedRangesForRenamedName(java.lang.String):253:253 -> a
    344:350:com.android.tools.r8.naming.MemberNaming lookup(com.android.tools.r8.naming.MemberNaming$Signature):258:264 -> a
    351:351:java.util.Collection allFieldNamings():319:319 -> a
    352:358:void write(com.android.tools.r8.utils.ChainableStringConsumer):335:341 -> a
    359:360:void forAllFieldNaming(com.android.tools.r8.utils.ThrowingConsumer):313:314 -> a
    359:360:void write(com.android.tools.r8.utils.ChainableStringConsumer):341 -> a
    361:369:void write(com.android.tools.r8.utils.ChainableStringConsumer):345:353 -> a
    370:370:void lambda$write$1(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.MemberNaming):341:341 -> a
    371:371:int lambda$write$2(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):349:349 -> a
    1:11:com.android.tools.r8.naming.MemberNaming lookupByOriginalSignature(com.android.tools.r8.naming.MemberNaming$Signature):270:280 -> b
    12:20:java.util.List lookupByOriginalName(java.lang.String):289:297 -> b
    21:21:java.util.Collection allMethodNamings():331:331 -> b
    1:1:java.util.List getAdditionalMappingInfo():249:249 -> c
    1:11:boolean equals(java.lang.Object):370:380 -> equals
    1:5:int hashCode():385:389 -> hashCode
    1:3:java.lang.String toString():360:362 -> toString
com.android.tools.r8.naming.ClassNamingForNameMapper$Builder -> com.android.tools.r8.naming.k$a:
    java.util.Map methodMembers -> c
    java.util.Map fieldMembers -> d
    java.lang.String originalName -> a
    java.util.List additionalMappingInfo -> g
    java.util.Map mappedRangesByName -> e
    java.lang.String renamedName -> b
    java.util.Map mappedFieldNamingsByName -> f
    1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.naming.ClassNamingForNameMapper$1):37:37 -> <init>
    2:2:void <init>(java.lang.String,java.lang.String):47:47 -> <init>
    3:11:void <init>(java.lang.String,java.lang.String):41:49 -> <init>
    1:10:com.android.tools.r8.naming.ClassNamingForNameMapper build():69:78 -> a
    11:11:boolean com.android.tools.r8.naming.MemberNaming.isMethodNaming():87:87 -> a
    11:11:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):54 -> a
    12:17:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):55:60 -> a
    18:20:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange addMappedRange(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String):95:97 -> a
    21:21:java.util.List lambda$addMappedRange$1(java.lang.String):97:97 -> a
    22:28:void addMappingInformation(com.android.tools.r8.naming.mappinginformation.MappingInformation,java.util.function.Consumer):104:110 -> a
    1:1:java.util.List lambda$addMemberEntry$0(java.lang.String):59:59 -> b
com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange -> com.android.tools.r8.naming.k$b:
    com.android.tools.r8.naming.Range originalRange -> c
    java.util.List additionalMappingInfo -> f
    com.android.tools.r8.naming.Range minifiedRange -> a
    int nextSequenceNumber -> g
    int sequenceNumber -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.naming.MemberNaming$MethodSignature signature -> b
    java.lang.String renamedName -> d
    1:3:void <clinit>():411:413 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String,com.android.tools.r8.naming.ClassNamingForNameMapper$1):411:411 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String):433:433 -> <init>
    3:12:void <init>(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String):428:437 -> <init>
    1:1:java.util.List access$400(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):411:411 -> a
    2:2:int getNextSequenceNumber():416:416 -> a
    3:9:void addMappingInformation(com.android.tools.r8.naming.mappinginformation.MappingInformation,java.util.function.Consumer):442:448 -> a
    10:14:int getOriginalLineNumber(int):493:497 -> a
    15:15:boolean com.android.tools.r8.naming.Range.contains(int):31:31 -> a
    15:15:int getOriginalLineNumber(int):497 -> a
    16:26:int getOriginalLineNumber(int):497:507 -> a
    1:1:int access$500(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):411:411 -> b
    2:2:java.util.List getOutlineCallsiteInformation():481:481 -> b
    3:9:java.util.List filter(java.util.function.Predicate,java.util.function.Function):471:477 -> b
    3:9:java.util.List getOutlineCallsiteInformation():481 -> b
    1:1:java.util.List getRewriteFrameMappingInformation():487:487 -> c
    2:8:java.util.List filter(java.util.function.Predicate,java.util.function.Function):471:477 -> c
    2:8:java.util.List getRewriteFrameMappingInformation():487 -> c
    1:2:boolean isCompilerSynthesized():452:453 -> d
    3:3:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isOutlineMappingInformation():0:0 -> d
    3:3:boolean isCompilerSynthesized():453 -> d
    1:2:boolean isOutlineFrame():461:462 -> e
    3:3:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isOutlineMappingInformation():0:0 -> e
    3:3:boolean isOutlineFrame():462 -> e
    1:10:boolean equals(java.lang.Object):540:549 -> equals
    1:4:int hashCode():555:558 -> hashCode
    1:10:java.lang.String toString():521:530 -> toString
com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName -> com.android.tools.r8.naming.k$c:
    java.util.List mappedRanges -> a
    1:2:void <init>(java.util.List):118:119 -> <init>
    1:1:java.util.List access$300(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName):115:115 -> a
    2:2:java.util.List allRangesForLine(int):149:149 -> a
    3:5:java.util.List allRangesForLine(int,boolean):162:164 -> a
    6:6:boolean com.android.tools.r8.naming.Range.contains(int):31:31 -> a
    6:6:java.util.List allRangesForLine(int,boolean):170 -> a
    7:15:java.util.List allRangesForLine(int,boolean):173:181 -> a
    16:16:java.util.List getMappedRanges():185:185 -> a
    1:2:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange firstRangeForLine(int):128:129 -> b
    3:3:boolean com.android.tools.r8.naming.Range.contains(int):31:31 -> b
    3:3:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange firstRangeForLine(int):135 -> b
    1:7:boolean equals(java.lang.Object):193:199 -> equals
    1:1:int hashCode():204:204 -> hashCode
com.android.tools.r8.naming.DictionaryReader -> com.android.tools.r8.internal.fh:
    java.nio.file.Path path -> c
    java.io.BufferedReader reader -> b
    boolean $assertionsDisabled -> d
    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
    41:54:com.android.tools.r8.com.google.common.collect.ImmutableList readAllNames(java.nio.file.Path,com.android.tools.r8.utils.Reporter):84:97 -> a
    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.n:
    java.util.Map renaming -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map reservedNamingStates -> d
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    com.android.tools.r8.naming.MemberNamingStrategy strategy -> e
    boolean $assertionsDisabled -> h
    java.util.Map frontiers -> f
    java.util.Map frontierStatesForInterfaces -> g
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):52:52 -> <init>
    2:16:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):41:55 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.naming.FieldNameMinifier):37:37 -> a
    2:6:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):63:67 -> a
    7:9:void renameFieldsInInterfaces(java.util.Collection):234:236 -> a
    7:9:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):68 -> a
    10:17:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):69:76 -> a
    18:18:com.android.tools.r8.naming.ReservedFieldNamingState getOrCreateReservedFieldNamingState(com.android.tools.r8.graph.DexType):97:97 -> a
    19:34:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):117:132 -> a
    35:35:void com.android.tools.r8.naming.ReservedFieldNamingState.markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
    35:35:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):131 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void com.android.tools.r8.naming.ReservedFieldNamingState.markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
    36:36:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):131 -> a
    37:43:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):134:140 -> a
    44:45:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    44:45:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):141 -> a
    46:56:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):140:150 -> a
    57:72:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):149:164 -> a
    73:73:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):163:163 -> a
    74:76:void patchUpAllIndirectlyImplementingInterfacesFromLibraryAndClassPath(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.naming.ReservedFieldNamingState):171:173 -> a
    77:84:com.android.tools.r8.utils.TraversalContinuation lambda$patchUpAllIndirectlyImplementingInterfacesFromLibraryAndClassPath$2(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):176:183 -> a
    85:89:void renameFieldsInClasses():188:192 -> a
    90:90:void renameFieldsInClasses():191:191 -> a
    91:99:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):194:202 -> a
    100:105:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):200:205 -> a
    106:106:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):93:93 -> a
    106:106:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):205 -> a
    107:109:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):206:208 -> a
    110:110:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    110:110:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):208 -> a
    111:111:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    111:111:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):208 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    112:113:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):211:212 -> a
    114:117:void lambda$renameFieldsInUnrelatedClasspathClasses$6(com.android.tools.r8.graph.DexClasspathClass):222:225 -> a
    118:123:void renameFieldsInInterfacePartition(java.util.Set):241:246 -> a
    124:124:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):93:93 -> a
    124:124:void renameFieldsInInterfacePartition(java.util.Set):246 -> a
    125:141:void renameFieldsInInterfacePartition(java.util.Set):248:264 -> a
    142:142:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    142:142:void renameFieldsInInterfacePartition(java.util.Set):265 -> a
    143:143:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    143:143:void renameFieldsInInterfacePartition(java.util.Set):265 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    144:145:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState):254:255 -> a
    146:148:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):276:278 -> a
    146:148:void lambda$renameFieldsInClasses$4(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.graph.ProgramField):208 -> a
    149:151:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):276:278 -> a
    149:151:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):267 -> a
    152:152:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):269:269 -> a
    153:153:void com.android.tools.r8.naming.ReservedFieldNamingState.markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
    153:153:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):268 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    154:154:void com.android.tools.r8.naming.ReservedFieldNamingState.markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
    154:154:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):268 -> a
    155:155:void renameNonReboundAccessesToField(com.android.tools.r8.graph.FieldAccessInfo):290:290 -> a
    156:159:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):296:299 -> a
    160:160:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    160:160:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):299 -> a
    161:169:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):299:307 -> a
    1:1:com.android.tools.r8.graph.SubtypingInfo access$300(com.android.tools.r8.naming.FieldNameMinifier):37:37 -> b
    2:2:com.android.tools.r8.naming.ReservedFieldNamingState lambda$getOrCreateReservedFieldNamingState$0(com.android.tools.r8.graph.DexType):98:98 -> b
    3:6:void renameFieldsInUnrelatedClasspathClasses():217:220 -> b
    1:1:com.android.tools.r8.naming.FieldNamingState lambda$renameFieldsInClasses$3(com.android.tools.r8.graph.DexType):201:201 -> c
    2:4:void renameNonReboundReferences():284:286 -> c
    1:3:void reserveFieldNames():112:114 -> d
    4:4:void reserveFieldNames():113:113 -> d
com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming -> com.android.tools.r8.naming.l:
    java.util.Map renaming -> a
    1:1:void <init>(java.util.Map,com.android.tools.r8.naming.FieldNameMinifier$1):79:79 -> <init>
    2:3:void <init>(java.util.Map):83:84 -> <init>
    1:1:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming empty():88:88 -> a
com.android.tools.r8.naming.FieldNameMinifier$InterfacePartitioning -> com.android.tools.r8.naming.m:
    com.android.tools.r8.graph.AppView appView -> b
    java.util.Set visited -> c
    com.android.tools.r8.naming.FieldNameMinifier minifier -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():311:311 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.FieldNameMinifier):317:317 -> <init>
    2:6:void <init>(com.android.tools.r8.naming.FieldNameMinifier):315:319 -> <init>
    1:1:java.util.List access$100(com.android.tools.r8.naming.FieldNameMinifier$InterfacePartitioning,java.util.Collection):311:311 -> a
    2:9:java.util.List sortedPartitions(java.util.Collection):323:330 -> a
    10:43:java.util.Set buildSortedPartition(com.android.tools.r8.graph.DexClass):337:370 -> a
com.android.tools.r8.naming.FieldNamingState -> com.android.tools.r8.naming.p:
    com.android.tools.r8.naming.ReservedFieldNamingState reservedNames -> d
    com.android.tools.r8.naming.MemberNamingStrategy strategy -> e
    java.util.function.BiPredicate isAvailable -> f
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):25:25 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.ReservedFieldNamingState):32:32 -> <init>
    3:6: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: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
    2:2:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):48:48 -> a
    3:8:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):52:57 -> a
    9:9:java.lang.Object com.android.tools.r8.naming.FieldNamingStateBase.getOrCreateInternalState(com.android.tools.r8.graph.DexField):31:31 -> a
    9:9:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    10:10:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57:57 -> a
    11:11:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):93:93 -> a
    11:11:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:com.android.tools.r8.naming.MemberNamingStrategy access$100(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
    12:12:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):93 -> a
    12:12:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    13:13:java.util.function.BiPredicate access$000(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
    13:13:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):93 -> a
    13:13:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    14:15:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):93:94 -> a
    14:15:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    16:16:com.android.tools.r8.naming.ReservedFieldNamingState access$200(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
    16:16:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):94 -> a
    16:16:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    17:17:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):94:94 -> a
    17:17:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    18:18:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():66:66 -> a
    18:18:java.lang.Object createInternalState():17 -> a
    19:19:void com.android.tools.r8.naming.FieldNamingState$InternalState.<init>(com.android.tools.r8.naming.FieldNamingState):84:84 -> a
    19:19:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():66 -> a
    19:19:java.lang.Object createInternalState():17 -> a
    1:5:com.android.tools.r8.naming.FieldNamingState clone():71:75 -> b
    1:1:java.lang.Object clone():17:17 -> clone
com.android.tools.r8.naming.FieldNamingState$InternalState -> com.android.tools.r8.naming.o:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.naming.FieldNamingState this$0 -> d
    int dictionaryIndex -> b
    int nextNameIndex -> c
    1:1:void <clinit>():78:78 -> <clinit>
    1:3:void <init>(com.android.tools.r8.naming.FieldNamingState,int,int):87:89 -> <init>
    1:1:int getDictionaryIndex():105:105 -> a
    1:1:int incrementDictionaryIndex():110:110 -> b
    1:1:int incrementNameIndex():115:115 -> c
    1:1:java.lang.Object clone():78:78 -> clone
    1:1:com.android.tools.r8.naming.FieldNamingState$InternalState clone():100:100 -> d
com.android.tools.r8.naming.FieldNamingStateBase -> com.android.tools.r8.naming.q:
    java.util.Map internalStates -> c
    com.android.tools.r8.graph.AppView appView -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):20:22 -> <init>
    java.lang.Object createInternalState() -> a
    1:4:com.android.tools.r8.graph.DexType getInternalStateKey(com.android.tools.r8.graph.DexType):40:43 -> a
    1:4:java.lang.Object getInternalState(com.android.tools.r8.graph.DexType):26 -> a
    5:5:java.lang.Object getInternalState(com.android.tools.r8.graph.DexType):27:27 -> a
    1:4:com.android.tools.r8.graph.DexType getInternalStateKey(com.android.tools.r8.graph.DexType):40:43 -> b
    1:4:java.lang.Object getOrCreateInternalState(com.android.tools.r8.graph.DexType):35 -> b
    5:5:java.lang.Object getOrCreateInternalState(com.android.tools.r8.graph.DexType):36:36 -> b
    1:1:java.lang.Object lambda$getOrCreateInternalState$0(com.android.tools.r8.graph.DexType):36:36 -> c
com.android.tools.r8.naming.IdentifierMinifier -> com.android.tools.r8.naming.r:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter recordCfToCfRewriter -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.shaking.ProguardClassFilter adaptClassStrings -> b
    com.android.tools.r8.naming.NamingLens lens -> d
    1:1:void <clinit>():39:39 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):46:50 -> <init>
    1:3:void adaptClassStrings(java.util.concurrent.ExecutorService):61:61 -> a
    4:5:void lambda$adaptClassStrings$0(com.android.tools.r8.graph.DexProgramClass):64:65 -> a
    6:10:void adaptClassStringsInStaticField(com.android.tools.r8.graph.DexEncodedField):76:80 -> a
    6:10:void lambda$adaptClassStrings$0(com.android.tools.r8.graph.DexProgramClass):66 -> a
    11:11:void lambda$adaptClassStrings$0(com.android.tools.r8.graph.DexProgramClass):68:68 -> a
    12:28:void adaptClassStringsInMethod(com.android.tools.r8.graph.DexEncodedMethod):86:102 -> a
    29:29:boolean com.android.tools.r8.cf.code.CfInstruction.isConstString():0:0 -> a
    29:29:void adaptClassStringsInMethod(com.android.tools.r8.graph.DexEncodedMethod):102 -> a
    30:35:void adaptClassStringsInMethod(com.android.tools.r8.graph.DexEncodedMethod):103:108 -> a
    36:36:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):114:114 -> a
    37:38:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    37:38:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):114 -> a
    39:45:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):118:124 -> a
    46:46:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":179,"2":180,"3":181}}
    179:179:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):124:124 -> a
    180:180:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    180:180:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):124 -> a
    181:181:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    181:181:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):124 -> a
    171:178:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):125:132 -> a
    182:188:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):163:169 -> a
    189:189:boolean com.android.tools.r8.code.Instruction.isDexItemBasedConstString():0:0 -> a
    189:189:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):169 -> a
    190:217:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):170:197 -> a
    218:218:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    218:218:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):199 -> a
    219:219:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> a
    219:219:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):199 -> a
    220:220:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):199:199 -> a
    221:221:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):185:185 -> a
    222:222:boolean com.android.tools.r8.cf.code.CfInstruction.isDexItemBasedConstString():0:0 -> a
    222:222:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):185 -> a
    223:227:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):186:190 -> a
    228:228:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    228:228:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):190 -> a
    229:229:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):192:192 -> a
    230:230:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):191:191 -> a
    1:3:void replaceDexItemBasedConstString(java.util.concurrent.ExecutorService):137:137 -> b
    4:4:void lambda$replaceDexItemBasedConstString$1(com.android.tools.r8.graph.DexProgramClass):141:141 -> b
    5:12:void replaceDexItemBasedConstStringInStaticField(com.android.tools.r8.graph.DexEncodedField):151:158 -> b
    5:12:void lambda$replaceDexItemBasedConstString$1(com.android.tools.r8.graph.DexProgramClass):142 -> b
    13:13:void lambda$replaceDexItemBasedConstString$1(com.android.tools.r8.graph.DexProgramClass):144:144 -> b
    1:4:void run(java.util.concurrent.ExecutorService):54:57 -> c
com.android.tools.r8.naming.IdentifierNameStringMarker -> com.android.tools.r8.internal.Dn:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap identifierNameStrings -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():53:53 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):58:60 -> <init>
    boolean lambda$decoupleIdentifierNameStringForInvokeInstruction$1(com.android.tools.r8.ir.code.ConstString,com.android.tools.r8.ir.code.Instruction) -> a
    boolean lambda$decoupleIdentifierNameStringForInvokeInstruction$2(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Instruction) -> a
    1:3:void decoupleIdentifierNameStringsInFields(java.util.concurrent.ExecutorService):65:65 -> a
    4:4:void lambda$decoupleIdentifierNameStringsInFields$0(com.android.tools.r8.graph.DexProgramClass):68:68 -> a
    5:17:void com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringInStaticField(com.android.tools.r8.graph.DexEncodedField):77:89 -> a
    5:17:void lambda$decoupleIdentifierNameStringsInFields$0(com.android.tools.r8.graph.DexProgramClass):69 -> a
    18:18:void com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringInStaticField(com.android.tools.r8.graph.DexEncodedField):88:88 -> a
    18:18:void lambda$decoupleIdentifierNameStringsInFields$0(com.android.tools.r8.graph.DexProgramClass):69 -> a
    19:49:void decoupleIdentifierNameStringsInBlocks(com.android.tools.r8.ir.code.IRCode,java.util.Set):98:128 -> a
    50:50:void decoupleIdentifierNameStringsInBlocks(com.android.tools.r8.ir.code.IRCode,java.util.Set):127:127 -> a
    51:51:void decoupleIdentifierNameStringsInBlocks(com.android.tools.r8.ir.code.IRCode,java.util.Set):124:124 -> a
    52:106:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringForFieldPutInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):139:193 -> a
    52:106:void decoupleIdentifierNameStringsInBlocks(com.android.tools.r8.ir.code.IRCode,java.util.Set):123 -> a
    107:108: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):203:204 -> a
    109:110:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexItemFactory):175:176 -> a
    109:110: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):204 -> a
    111:113:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexItemFactory):180:182 -> a
    111:113:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexItemFactory):176 -> a
    111:113: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):204 -> a
    114:227: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):205:318 -> a
    228:231: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):211:214 -> a
    232:233:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):336:337 -> a
    232:233: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):218 -> a
    234:235:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexItemFactory):175:176 -> a
    234:235:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):337 -> a
    234:235: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):218 -> a
    236:238:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexItemFactory):180:182 -> a
    236:238:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexItemFactory):176 -> a
    236:238:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):337 -> a
    236:238: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):218 -> a
    239:242:int com.android.tools.r8.naming.IdentifierNameStringUtils.getPositionOfFirstConstString(com.android.tools.r8.ir.code.Instruction):289:292 -> a
    239:242:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):338 -> a
    239:242: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):218 -> a
    243:246:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):341:344 -> a
    243:246: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):218 -> a
    247:247:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> a
    247:247:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):344 -> a
    247:247: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):218 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    248:248:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> a
    248:248:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):344 -> a
    248:248: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):218 -> a
    249:258:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):343:352 -> a
    249:258: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):218 -> a
    259:259:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):351:351 -> a
    259:259: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):218 -> a
    260:263: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):219:222 -> a
    264:264:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    264:264: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):222 -> a
    265:282: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):227:244 -> a
    283:283:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    283:283:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    283:283: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):244 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    284:284:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    284:284:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    284:284: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):244 -> a
    285:363: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):247:325 -> a
    364:370: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):324:330 -> a
    371:371: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):230:230 -> a
    371:371: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):329 -> a
    372:372: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):328:328 -> a
    373:373:com.android.tools.r8.ir.code.Value lambda$decoupleIdentifierNameStringForInvokeInstruction$3(com.android.tools.r8.ir.code.Value[],com.android.tools.r8.ir.code.Value,long):326:326 -> a
    374:386:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):361:373 -> a
    387:387:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":773,"2":774,"3":775}}
    773:773:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):374:374 -> a
    774:774:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):374:374 -> a
    775:775:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):374:374 -> a
    761:772:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):374:385 -> a
com.android.tools.r8.naming.IdentifierNameStringUtils -> com.android.tools.r8.internal.Gn:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():41:41 -> <clinit>
    boolean lambda$evaluateTypeArrayContentFromConstructionToUse$0(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.Instruction) -> a
    1:89:boolean isReflectionMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):73:161 -> a
    90:96:boolean isReflectionMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):114:120 -> a
    97:102:boolean isClassNameValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):186:191 -> a
    103:103:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    103:103:boolean isClassNameValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):191 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    104:104:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    104:104:boolean isClassNameValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):191 -> a
    105:106:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):205:206 -> a
    107:107:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    107:107:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):209 -> a
    108:109:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):210:211 -> a
    110:110:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> a
    110:110:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):211 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    111:111:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> a
    111:111:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):211 -> a
    112:112:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):213:213 -> a
    113:119:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):212:218 -> a
    120:122:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexItemFactory):180:182 -> a
    120:122:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):219 -> a
    123:126:int com.android.tools.r8.naming.IdentifierNameStringUtils.getPositionOfFirstConstString(com.android.tools.r8.ir.code.Instruction):289:292 -> a
    123:126:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):220 -> a
    127:127:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):224:224 -> a
    128:132:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):322:326 -> a
    128:132:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    133:133:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313:313 -> a
    133:133:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):326 -> a
    133:133:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    134:135:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    134:135:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313 -> a
    134:135:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):326 -> a
    134:135:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    136:136:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):315:315 -> a
    136:136:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):326 -> a
    136:136:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    137:139:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):328:330 -> a
    137:139:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    140:140:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    140:140:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):330 -> a
    140:140:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    141:141:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):331:331 -> a
    141:141:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    142:164:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):222:244 -> a
    165:165:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    165:165:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):249 -> a
    166:175:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):253:262 -> a
    176:181:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):261:266 -> a
    182:186:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):265:269 -> a
    187:206:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.naming.IdentifierNameStringUtils.retrieveDexTypeListFromClassList(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):535:554 -> a
    187:206:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):269 -> a
    207:207:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    207:207:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.naming.IdentifierNameStringUtils.retrieveDexTypeListFromClassList(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):554 -> a
    207:207:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):269 -> a
    208:227:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.naming.IdentifierNameStringUtils.retrieveDexTypeListFromClassList(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):554:573 -> a
    208:227:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):269 -> a
    228:234:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.naming.IdentifierNameStringUtils.retrieveDexTypeListFromClassList(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):572:578 -> a
    228:234:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):269 -> a
    235:235:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):274:274 -> a
    236:239:com.android.tools.r8.graph.DexMethod com.android.tools.r8.naming.IdentifierNameStringUtils.inferMethodInHolder(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.DexTypeList):401:404 -> a
    236:239:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):274 -> a
    240:245:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):273:278 -> a
    246:246:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    246:246:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):278 -> a
    247:247:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):280:280 -> a
    248:252:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):279:283 -> a
    253:253:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):282:282 -> a
    254:271:com.android.tools.r8.graph.DexMember com.android.tools.r8.naming.IdentifierNameStringUtils.inferMemberFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):339:356 -> a
    254:271:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):303 -> a
    272:273:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    272:273:com.android.tools.r8.graph.DexMember com.android.tools.r8.naming.IdentifierNameStringUtils.inferMemberFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):362 -> a
    272:273:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):303 -> a
    274:280:com.android.tools.r8.graph.DexMember com.android.tools.r8.naming.IdentifierNameStringUtils.inferMemberFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):366:372 -> a
    274:280:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):303 -> a
    281:283:com.android.tools.r8.graph.DexMethod com.android.tools.r8.naming.IdentifierNameStringUtils.inferMethodNameInHolder(com.android.tools.r8.graph.DexClass,java.lang.String):390:392 -> a
    281:283:com.android.tools.r8.graph.DexMember com.android.tools.r8.naming.IdentifierNameStringUtils.inferMemberFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):374 -> a
    281:283:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):303 -> a
    284:284:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313:313 -> a
    284:284:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):306 -> a
    285:286:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    285:286:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313 -> a
    285:286:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):306 -> a
    287:287:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):315:315 -> a
    287:287:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):306 -> a
    288:291:com.android.tools.r8.graph.DexField inferFieldInHolder(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.DexType):380:383 -> a
    292:335: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):433:476 -> a
    336:339:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):412:415 -> a
    336:339: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):476 -> a
    340:340:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    340:340:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):415 -> a
    340:340: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):476 -> a
    341:343:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):416:418 -> a
    341:343: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):476 -> a
    344:344:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    344:344:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):418 -> a
    344: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):476 -> a
    345:347:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):419:419 -> a
    345:347: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):476 -> a
    348:353: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):481:486 -> a
    354:354: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":851,"2":852,"3":853}}
    851:851: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):489:489 -> a
    852:852: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):489:489 -> a
    853:853: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):489:489 -> a
    847:850: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):493:496 -> a
com.android.tools.r8.naming.InterfaceMethodNameMinifier -> com.android.tools.r8.naming.v:
    com.android.tools.r8.naming.MethodNameMinifier$State minifierState -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> c
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    com.android.tools.r8.com.google.common.base.Equivalence definitionEquivalence -> d
    boolean $assertionsDisabled -> h
    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,com.android.tools.r8.graph.SubtypingInfo):377:377 -> <init>
    2:17:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MethodNameMinifier$State,com.android.tools.r8.graph.SubtypingInfo):370:385 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.naming.InterfaceMethodNameMinifier):98:98 -> a
    2:2:java.util.Comparator getDefaultInterfaceMethodOrdering():400:400 -> a
    3:5:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):414:416 -> a
    6:8:void reserveNamesInInterfaces(java.lang.Iterable):404:406 -> a
    6:8:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    9:9:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):113:113 -> a
    9:9:void reserveNamesInInterfaces(java.lang.Iterable):406 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    10:10:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):114:114 -> a
    10:10:void reserveNamesInInterfaces(java.lang.Iterable):406 -> a
    10:10:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    11:11:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):113:113 -> a
    11:11:void reserveNamesInInterfaces(java.lang.Iterable):406 -> a
    11:11:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    12:14:void reserveNamesInInterfaces(java.lang.Iterable):407:409 -> a
    12:14:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    15:19:void patchUpChildrenInReservationStates():630:634 -> a
    15:19:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):420 -> a
    20:140:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):421:541 -> a
    141:150:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):536:545 -> a
    151:165:boolean verifyAllMethodsAreRepresentedIn(java.util.List):685:699 -> a
    151:165:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):545 -> a
    166:166:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):546:546 -> a
    167:181:boolean verifyAllCallSitesAreRepresentedIn(java.util.List):666:680 -> a
    167:181:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):546 -> a
    182:212:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):548:578 -> a
    213:217:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):704:708 -> a
    213:217:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    218:218:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
    250:250:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):709:709 -> a
    250:250:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    251:251:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):709:709 -> a
    251:251:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    252:252:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):709:709 -> a
    252:252:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    219:222:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):709:712 -> a
    219:222:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    223:229:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):585:591 -> a
    230:230:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    230:230:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):591 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    231:231:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    231:231:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):591 -> a
    232:236:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):592:596 -> a
    237:238:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):99:100 -> a
    237:238:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):596 -> a
    239:240:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):597:598 -> a
    241:241:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    241:241:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):598 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    242:242:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    242:242:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):598 -> a
    243:244:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    243:244:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):599 -> a
    245:246:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    245:246:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):600 -> a
    247:249:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):603:605 -> a
    253:253:com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState lambda$assignNamesToInterfaceMethods$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):434:434 -> a
    254:286:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):456:488 -> a
    287:291:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):487:491 -> a
    292:303:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):490:501 -> a
    304:304:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):91:91 -> a
    304:304:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):502 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    305:305:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):92:92 -> a
    305:305:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):502 -> a
    306:307:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):502:503 -> a
    308:309:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):128:129 -> a
    308:309:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    310:311:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):91:92 -> a
    310:311:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):132 -> a
    310:311:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    312:314:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):91:91 -> a
    312:314:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):134 -> a
    312:314:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    315:315:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):92:92 -> a
    315:315:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):134 -> a
    315:315:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    316:316:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):134:134 -> a
    316:316:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    317:320:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):609:612 -> a
    321:321:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    321:321:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):612 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    322:322:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    322:322:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):612 -> a
    323:326:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):614:617 -> a
    327:327:boolean lambda$assignNewName$3(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):616:616 -> a
    328:328:com.android.tools.r8.graph.DexString newNameInGroup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):626:626 -> a
    329:329:void computeReservationFrontiersForAllImplementingClasses(java.lang.Iterable):641:641 -> a
    330:332:void lambda$computeReservationFrontiersForAllImplementingClasses$6(com.android.tools.r8.graph.DexClass):643:645 -> a
    333:338:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):647:652 -> a
    339:339:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
    339:339:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):652 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    340:340:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
    340:340:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):652 -> a
    341:343:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):658:660 -> a
    1:1:com.android.tools.r8.naming.MethodNameMinifier$State access$100(com.android.tools.r8.naming.InterfaceMethodNameMinifier):98:98 -> b
    2:2:com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState lambda$assignNamesToInterfaceMethods$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):492:492 -> b
    3:3:boolean lambda$newNameInGroup$4(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):626:626 -> b
    1:1:java.util.Map access$200(com.android.tools.r8.naming.InterfaceMethodNameMinifier):98:98 -> c
    1:1:com.android.tools.r8.com.google.common.base.Equivalence access$300(com.android.tools.r8.naming.InterfaceMethodNameMinifier):98:98 -> d
com.android.tools.r8.naming.InterfaceMethodNameMinifier$1 -> com.android.tools.r8.naming.s:
    com.android.tools.r8.naming.InterfaceMethodNameMinifier this$0 -> a
    1:1:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier):386:386 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):386:386 -> a
    2:2:boolean doEquivalent(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):389:389 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):386 -> a
    3:3:int doHash(java.lang.Object):386:386 -> a
    4:4:int doHash(com.android.tools.r8.graph.DexEncodedMethod):394:394 -> a
    4:4:int doHash(java.lang.Object):386 -> a
com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState -> com.android.tools.r8.naming.t:
    java.util.Map methodStates -> c
    java.util.List callSiteCollidingMethods -> d
    java.util.Set callSites -> b
    com.android.tools.r8.naming.InterfaceMethodNameMinifier this$0 -> e
    1:6:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier):238:243 -> <init>
    1:1:java.util.Map access$400(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):238:238 -> a
    2:2:void addState(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):246:246 -> a
    3:3:java.util.Set lambda$addState$0(com.android.tools.r8.graph.DexEncodedMethod):246:246 -> a
    4:4:void addCallSite(com.android.tools.r8.graph.DexCallSite):260:260 -> a
    5:18:com.android.tools.r8.graph.DexString getReservedName():264:277 -> a
    19:19:int lambda$getReservedName$2(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):271:271 -> a
    20:20:boolean isAvailable(com.android.tools.r8.graph.DexString):303:303 -> a
    21:23:java.lang.Object forAnyState(java.util.function.BiFunction):333:335 -> a
    21:23:boolean isAvailable(com.android.tools.r8.graph.DexString):304 -> a
    24:31:boolean isAvailable(com.android.tools.r8.graph.DexString):304:311 -> a
    32:33:java.lang.Boolean lambda$isAvailable$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):306:307 -> a
    34:34:void addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.naming.MethodNameMinifier$State):315:315 -> a
    35:36:void lambda$addRenaming$5(com.android.tools.r8.graph.DexString,com.android.tools.r8.naming.MethodNameMinifier$State,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):317:318 -> a
    37:38:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):99:100 -> a
    37:38:void lambda$addRenaming$5(com.android.tools.r8.graph.DexString,com.android.tools.r8.naming.MethodNameMinifier$State,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):318 -> a
    39:39:void forEachState(java.util.function.BiConsumer):323:323 -> a
    40:42:java.lang.Object forAnyState(java.util.function.BiFunction):333:335 -> a
    40:42:void forEachState(java.util.function.BiConsumer):323 -> a
    43:43:java.lang.Object lambda$forEachState$6(java.util.function.BiConsumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):325:325 -> a
    44:47:boolean containsReservation(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):345:348 -> a
    1:1:java.util.List access$500(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):238:238 -> b
    2:2:java.util.Set lambda$appendMethodGroupState$1(com.android.tools.r8.graph.DexEncodedMethod):253:253 -> b
    3:3:void reserveName(com.android.tools.r8.graph.DexString):289:289 -> b
    4:7:void lambda$reserveName$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):291:294 -> b
    8:9:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):99:100 -> b
    8:9:void lambda$reserveName$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):294 -> b
    10:11:void lambda$reserveName$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):296:297 -> b
    12:13:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):99:100 -> b
    12:13:void lambda$reserveName$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):297 -> b
    1:1:java.util.Set access$600(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):238:238 -> c
    1:1:int compareTo(java.lang.Object):238:238 -> compareTo
    2:2:int compareTo(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):359:359 -> compareTo
    2:2:int compareTo(java.lang.Object):238 -> compareTo
    1:4:void appendMethodGroupState(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):250:253 -> d
com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState -> com.android.tools.r8.naming.u:
    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
    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.DexEncodedMethod):116:117 -> a
    3:3: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):122:122 -> a
    3:3:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):117 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4: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):122:122 -> a
    4:4:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):117 -> a
    5:5:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):124:124 -> a
    6:14:java.lang.Object forAny(java.util.function.Function):188:196 -> a
    6:14:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):125 -> a
    15:29:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):125:139 -> a
    30:32:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):127:129 -> a
    33:33:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
    33:33:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):130 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
    34:34:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):130 -> a
    35:38:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):131:134 -> a
    39:39:void addReservationType(com.android.tools.r8.graph.DexType):143:143 -> a
    40:40:void addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):173:173 -> a
    41:41:void lambda$addRenaming$5(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):175:175 -> a
    42:42:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176:176 -> a
    43:43:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    43:43:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    44:44:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176 -> a
    45:46:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    45:46:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176 -> a
    47:47:void forAll(java.util.function.Consumer):180:180 -> a
    48:56:java.lang.Object forAny(java.util.function.Function):188:196 -> a
    48:56:void forAll(java.util.function.Consumer):180 -> a
    57:57:java.lang.Object lambda$forAll$6(java.util.function.Consumer,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):182:182 -> a
    58:65:java.lang.Object forChildren(java.util.function.Function):217:224 -> a
    1:1:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151:151 -> b
    2:2:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> b
    2:2:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> b
    3:3:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151 -> b
    4:4:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):152:152 -> b
    5:8:void com.android.tools.r8.naming.MethodReservationState.reserveName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):42:45 -> b
    5:8:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):152 -> b
    9:9:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):158:158 -> b
    10:18:java.lang.Object forAny(java.util.function.Function):188:196 -> b
    10:18:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):159 -> b
    19:29:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):159:169 -> b
    30:31:java.lang.Boolean lambda$isAvailable$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):161:162 -> b
    32:32:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> b
    32:32:java.lang.Boolean lambda$isAvailable$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):162 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> b
    33:33:java.lang.Boolean lambda$isAvailable$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):162 -> b
    34:35:java.lang.Boolean lambda$isAvailable$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):163:164 -> b
    36:43:java.lang.Object forParents(java.util.function.Function):200:207 -> b
    44:44:boolean containsReservation(com.android.tools.r8.graph.DexType):234:234 -> b
    1:1:void reserveName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):147:147 -> c
    2:2:void lambda$reserveName$2(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):149:149 -> c
com.android.tools.r8.naming.InternalNamingState -> com.android.tools.r8.naming.w:
    int getDictionaryIndex() -> a
    int incrementDictionaryIndex() -> b
    int incrementNameIndex() -> c
com.android.tools.r8.naming.MapVersion -> com.android.tools.r8.internal.mD:
    com.android.tools.r8.naming.MapVersion[] $VALUES -> h
    com.android.tools.r8.naming.MapVersion MAP_VERSION_UNKNOWN -> g
    com.android.tools.r8.naming.MapVersion MAP_VERSION_EXPERIMENTAL -> f
    com.android.tools.r8.naming.MapVersion MAP_VERSION_NONE -> c
    java.lang.String name -> b
    com.android.tools.r8.naming.MapVersion MAP_VERSION_2_0 -> e
    com.android.tools.r8.naming.MapVersion MAP_VERSION_1_0 -> d
    1:5:void <clinit>():9:13 -> <clinit>
    6:6:void <clinit>():8:8 -> <clinit>
    1:2:void <init>(java.lang.String,int,java.lang.String):19:20 -> <init>
    1:1:com.android.tools.r8.naming.MapVersion[] com.android.tools.r8.naming.MapVersion.values():8:8 -> a
    1:1:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):28 -> a
    2:2:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):28:28 -> a
    3:3:java.lang.String com.android.tools.r8.naming.MapVersion.getName():24:24 -> a
    3:3:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):29 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):29:29 -> a
    5:5:java.lang.String getName():24:24 -> a
com.android.tools.r8.naming.MemberNaming -> com.android.tools.r8.naming.x:
    com.android.tools.r8.naming.MemberNaming$Signature signature -> a
    com.android.tools.r8.naming.MemberNaming$Signature renamedSignature -> b
    com.android.tools.r8.position.Position position -> c
    1:1:void <init>(com.android.tools.r8.naming.MemberNaming$Signature,java.lang.String):61:61 -> <init>
    2:5:void <init>(com.android.tools.r8.naming.MemberNaming$Signature,com.android.tools.r8.naming.MemberNaming$Signature,com.android.tools.r8.position.Position):64:67 -> <init>
    1:1:com.android.tools.r8.naming.MemberNaming$Signature getOriginalSignature():71:71 -> a
    1:1:java.lang.String getRenamedName():83:83 -> b
    1:1:com.android.tools.r8.naming.MemberNaming$Signature getRenamedSignature():79:79 -> c
    1:6:boolean equals(java.lang.Object):38:43 -> equals
    1:2:int hashCode():48:49 -> hashCode
    1:1:java.lang.String toString():100:100 -> toString
com.android.tools.r8.naming.MemberNaming$FieldSignature -> com.android.tools.r8.naming.x$a:
    java.lang.String type -> c
    1:2:void <init>(java.lang.String,java.lang.String):176:177 -> <init>
    com.android.tools.r8.naming.MemberNaming$FieldSignature asFieldSignature() -> a
    1:3:com.android.tools.r8.naming.MemberNaming$FieldSignature fromDexField(com.android.tools.r8.graph.DexField,boolean):185:187 -> a
    1:3:com.android.tools.r8.naming.MemberNaming$FieldSignature fromDexField(com.android.tools.r8.graph.DexField):181 -> a
    4:8:com.android.tools.r8.graph.DexField toDexField(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):191:191 -> a
    9:9:com.android.tools.r8.naming.MemberNaming$Signature asRenamed(java.lang.String):199:199 -> a
    10:12:void write(java.io.Writer):231:233 -> a
    com.android.tools.r8.naming.MemberNaming$Signature$SignatureKind kind() -> d
    1:5:boolean equals(java.lang.Object):212:216 -> equals
    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.x$b:
    boolean $assertionsDisabled -> e
    java.lang.String[] parameters -> d
    java.lang.String type -> c
    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>
    1:1:com.android.tools.r8.naming.MemberNaming$MethodSignature fromDexMethod(com.android.tools.r8.graph.DexMethod):265:265 -> a
    2:9:com.android.tools.r8.naming.MemberNaming$MethodSignature fromDexMethod(com.android.tools.r8.graph.DexMethod,boolean):269:276 -> a
    10:19:com.android.tools.r8.naming.MemberNaming$MethodSignature fromSignature(java.lang.String,java.lang.String):281:290 -> a
    20:28:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):300:308 -> a
    29:29:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):305:305 -> a
    30:30:com.android.tools.r8.naming.MemberNaming$MethodSignature initializer(java.lang.String[]):312:312 -> a
    31:31:com.android.tools.r8.naming.MemberNaming$Signature asRenamed(java.lang.String):317:317 -> a
    32:42:void write(java.io.Writer):354:364 -> a
    com.android.tools.r8.naming.MemberNaming$MethodSignature asMethodSignature() -> b
    com.android.tools.r8.naming.MemberNaming$Signature$SignatureKind kind() -> d
    1:8:boolean equals(java.lang.Object):330:337 -> equals
    1:8:java.lang.String toDescriptor():368:375 -> g
    1:2:com.android.tools.r8.naming.MemberNaming$MethodSignature toUnqualified():295:296 -> h
    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.x$c:
    java.lang.String name -> a
    boolean $assertionsDisabled -> 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
    com.android.tools.r8.naming.MemberNaming$Signature asRenamed(java.lang.String) -> a
    void write(java.io.Writer) -> a
    com.android.tools.r8.naming.MemberNaming$MethodSignature asMethodSignature() -> b
    1:1:boolean isQualified():124:124 -> c
    com.android.tools.r8.naming.MemberNaming$Signature$SignatureKind kind() -> d
    1:2:java.lang.String toHolderFromQualified():133:134 -> e
    1:2:java.lang.String toUnqualifiedName():128:129 -> f
    1:6:java.lang.String toString():156:161 -> toString
com.android.tools.r8.naming.MemberNamingStrategy -> com.android.tools.r8.naming.y:
    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.DexEncodedMethod,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.B:
    com.android.tools.r8.naming.MethodNameMinifier$State minifierState -> d
    java.util.Map renaming -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.MemberNamingStrategy strategy -> b
    com.android.tools.r8.naming.MethodReservationState rootReservationState -> i
    com.android.tools.r8.naming.MethodNamingState rootNamingState -> h
    boolean $assertionsDisabled -> j
    com.android.tools.r8.com.google.common.collect.BiMap reservationStates -> e
    java.util.Map namingStates -> f
    java.util.Map frontiers -> g
    1:1:void <clinit>():92:92 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):144:144 -> <init>
    2:24:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):129:151 -> <init>
    java.lang.Object lambda$getNamingKeyTransform$2(com.android.tools.r8.graph.DexMethod) -> a
    1:1:java.util.Map access$000(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> a
    2:2:com.android.tools.r8.naming.MethodNamingState access$200(com.android.tools.r8.naming.MethodNameMinifier,com.android.tools.r8.graph.DexType):92:92 -> a
    3:3:void 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):92:92 -> a
    4:26:com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming computeRenaming(java.lang.Iterable,com.android.tools.r8.graph.SubtypingInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):192:214 -> a
    27:30:void assignNamesToClassesMethods():218:221 -> a
    31:31:void assignNamesToClassesMethods():220:220 -> a
    32:35:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):223:226 -> a
    36:36:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":290,"2":291,"3":292}}
    290:290:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):226:226 -> a
    291:291:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):226:226 -> a
    292:292:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):226:226 -> a
    263:273:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):227:237 -> a
    274:287:void assignNameToMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState):262:275 -> a
    274:287:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):238 -> a
    288:289:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    288:289:void assignNameToMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState):275 -> a
    288:289:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):238 -> a
    293:294:com.android.tools.r8.naming.MethodNamingState lambda$assignNamesToClassesMethods$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.naming.MethodReservationState,com.android.tools.r8.graph.DexType):233:234 -> a
    295:298:void lambda$renameMethodsInUnrelatedClasspathClasses$5(com.android.tools.r8.graph.DexClasspathClass):250:253 -> a
    299:303:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):306:310 -> a
    304:304:java.lang.Iterable shuffleMethods(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):420:420 -> a
    304:304:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):310 -> a
    305:308:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):310:313 -> a
    309:312:void com.android.tools.r8.naming.MethodReservationState.reserveName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):42:45 -> a
    309:312:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):313 -> a
    313:313:com.android.tools.r8.naming.MethodReservationState lambda$allocateReservationStateAndReserve$7(com.android.tools.r8.naming.MethodReservationState,com.android.tools.r8.graph.DexType):307:307 -> a
    314:324:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):320:330 -> a
    325:338:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):344:357 -> a
    325:338:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    339:339:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":681,"2":682,"3":683}}
    681:681:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):357:357 -> a
    681:681:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    682:682:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):357:357 -> a
    682:682:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    683:683:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):357:357 -> a
    683:683:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    340:340:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):358:358 -> a
    340:340:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    341:341:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:336 -> a
    342:342:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":684,"2":685,"3":686}}
    684:684:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:336 -> a
    685:685:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:336 -> a
    686:686:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:336 -> a
    678:680:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:338 -> a
    687:694:void renameNonReboundReferences(java.util.concurrent.ExecutorService):364:371 -> a
    695:695:void lambda$renameNonReboundReferences$8(java.util.Map,com.android.tools.r8.graph.DexMethod):369:369 -> a
    696:731:void renameNonReboundMethodReference(com.android.tools.r8.graph.DexMethod,java.util.Map):376:411 -> a
    732:732:boolean lambda$renameNonReboundMethodReference$9(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):408:408 -> a
    1:1:com.android.tools.r8.com.google.common.collect.BiMap access$100(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> b
    2:2:java.lang.Object lambda$getReservationKeyTransform$0(com.android.tools.r8.graph.DexMethod):158:158 -> b
    3:3:java.util.function.Function getNamingKeyTransform():166:166 -> b
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    4:4:java.util.function.Function getNamingKeyTransform():166 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    5:5:java.util.function.Function getNamingKeyTransform():166 -> b
    6:7:java.util.function.Function getNamingKeyTransform():167:168 -> b
    8:20:void lambda$reserveNamesInClasses$6(com.android.tools.r8.graph.DexClass):288:300 -> b
    21:21:void lambda$reserveNamesInClasses$6(com.android.tools.r8.graph.DexClass):297:297 -> b
    1:1:com.android.tools.r8.naming.MethodReservationState access$300(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> c
    2:3:java.util.function.Function getReservationKeyTransform():155:156 -> c
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> c
    4:4:java.util.function.Function getReservationKeyTransform():156 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> c
    5:5:java.util.function.Function getReservationKeyTransform():156 -> c
    6:9:java.util.function.Function getReservationKeyTransform():158:161 -> c
    10:10:java.lang.Object lambda$getReservationKeyTransform$1(com.android.tools.r8.graph.DexMethod):161:161 -> c
    1:1:java.util.Map access$500(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> d
    2:5:void renameMethodsInUnrelatedClasspathClasses():245:248 -> d
    1:1:com.android.tools.r8.naming.MemberNamingStrategy access$600(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> e
    2:5:void reserveNamesInClasses():280:280 -> e
    9:11:void reserveNamesInClasses():284:286 -> e
    12:12:void reserveNamesInClasses():285:285 -> e
com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming -> com.android.tools.r8.naming.z:
    java.util.Map renaming -> a
    1:1:void <init>(java.util.Map,com.android.tools.r8.naming.MethodNameMinifier$1):171:171 -> <init>
    2:3:void <init>(java.util.Map):175:176 -> <init>
    1:1:com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming empty():180:180 -> a
com.android.tools.r8.naming.MethodNameMinifier$State -> com.android.tools.r8.naming.A:
    com.android.tools.r8.naming.MethodNameMinifier this$0 -> a
    1:1:void <init>(com.android.tools.r8.naming.MethodNameMinifier):96:96 -> <init>
    1:1:com.android.tools.r8.graph.DexType getFrontier(com.android.tools.r8.graph.DexType):118:118 -> a
com.android.tools.r8.naming.MethodNamingState -> com.android.tools.r8.naming.D:
    com.android.tools.r8.naming.MethodNamingState parentNamingState -> d
    com.android.tools.r8.naming.MemberNamingStrategy namingStrategy -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.naming.MethodReservationState reservationState -> c
    1:1:void <clinit>():19:19 -> <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):30:33 -> <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):40:40 -> a
    2:2:com.android.tools.r8.naming.MethodNamingState createChild(com.android.tools.r8.naming.MethodReservationState):44:44 -> a
    3:3:com.android.tools.r8.graph.DexString newOrReservedNameFor(com.android.tools.r8.graph.DexEncodedMethod):49:49 -> a
    4:17:com.android.tools.r8.graph.DexString newOrReservedNameFor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiPredicate):54:67 -> a
    18:24:java.util.Set getUsedBy(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):98:104 -> a
    25:28:com.android.tools.r8.naming.MethodNamingState$InternalNewNameState createInternalState(com.android.tools.r8.graph.DexMethod):124:127 -> a
    25:28:java.lang.Object createInternalState(com.android.tools.r8.graph.DexMethod):19 -> a
    1:3:com.android.tools.r8.graph.DexString nextName(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiPredicate):71:73 -> b
    4:15:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):83:94 -> b
    1:6:com.android.tools.r8.graph.DexString getAssignedName(com.android.tools.r8.graph.DexMethod):111:116 -> d
com.android.tools.r8.naming.MethodNamingState$InternalNewNameState -> com.android.tools.r8.naming.C:
    java.util.Map originalToRenamedNames -> c
    java.util.Map usedBy -> d
    int dictionaryIndex -> f
    com.android.tools.r8.naming.MethodNamingState$InternalNewNameState parentInternalState -> b
    boolean $assertionsDisabled -> g
    int nameCount -> e
    1:1:void <clinit>():130:130 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.MethodNamingState$InternalNewNameState,com.android.tools.r8.naming.MethodNamingState$1):130:130 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.MethodNamingState$InternalNewNameState):142:142 -> <init>
    3:19:void <init>(com.android.tools.r8.naming.MethodNamingState$InternalNewNameState):133:149 -> <init>
    1:1:int getDictionaryIndex():154:154 -> a
    2:2:java.util.Set getUsedBy(com.android.tools.r8.graph.DexString):163:163 -> a
    3:3:com.android.tools.r8.graph.DexString getAssignedName(com.android.tools.r8.graph.DexMethod):167:167 -> a
    4:6:void addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):171:173 -> a
    1:1:int incrementDictionaryIndex():159:159 -> b
    2:2:java.util.Set lambda$addRenaming$0(com.android.tools.r8.graph.DexString):173:173 -> b
    1:1:int incrementNameIndex():189:189 -> c
    2:7:boolean checkParentPublicNameCountIsLessThanOrEqual():178:183 -> c
    2:7:int incrementNameIndex():189 -> c
    8:8:int incrementNameIndex():190:190 -> c
com.android.tools.r8.naming.MethodNamingStateBase -> com.android.tools.r8.naming.E:
    java.util.Map internalStates -> a
    java.util.function.Function keyTransform -> b
    1:3:void <init>(java.util.function.Function):17:19 -> <init>
    java.lang.Object createInternalState(com.android.tools.r8.graph.DexMethod) -> a
    1:1:java.lang.Object lambda$getOrCreateInternalState$0(com.android.tools.r8.graph.DexMethod,java.lang.Object):29:29 -> a
    1:2:java.lang.Object getInternalState(com.android.tools.r8.graph.DexMethod):23:24 -> b
    1:2:java.lang.Object getOrCreateInternalState(com.android.tools.r8.graph.DexMethod):28:29 -> c
com.android.tools.r8.naming.MethodReservationState -> com.android.tools.r8.naming.G:
    com.android.tools.r8.naming.MethodReservationState parentNamingState -> c
    1:2:void <init>(com.android.tools.r8.naming.MethodReservationState,java.util.function.Function):27:28 -> <init>
    1:1:com.android.tools.r8.naming.MethodReservationState createRoot(java.util.function.Function):33:33 -> a
    2:2:com.android.tools.r8.naming.MethodReservationState createChild():37:37 -> a
    3:8:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):53:58 -> a
    9:9:com.android.tools.r8.naming.MethodReservationState$InternalReservationState createInternalState(com.android.tools.r8.graph.DexMethod):77:77 -> a
    9:9:java.lang.Object createInternalState(com.android.tools.r8.graph.DexMethod):19 -> a
    1:7:java.util.Set getReservedNamesFor(com.android.tools.r8.graph.DexMethod):64:70 -> d
com.android.tools.r8.naming.MethodReservationState$InternalReservationState -> com.android.tools.r8.naming.F:
    java.util.Map originalToReservedNames -> a
    java.util.Set reservedNames -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():80:80 -> <clinit>
    1:3:void <init>():80:82 -> <init>
    1:1:boolean isReserved(com.android.tools.r8.graph.DexString):85:85 -> a
    2:5:java.util.Set getAssignedNamesFor(com.android.tools.r8.graph.DexMethod):89:92 -> a
    6:14:void reserveName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):96:104 -> a
    15:15:java.util.Set lambda$reserveName$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):103:103 -> a
com.android.tools.r8.naming.MinifiedRenaming -> com.android.tools.r8.naming.H:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> g
    java.util.Map packageRenaming -> e
    java.util.Map renaming -> f
    1:1:void <clinit>():26:26 -> <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):37:37 -> <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):30:42 -> <init>
    1:1:java.lang.String lookupPackageName(java.lang.String):47:47 -> a
    2:2:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):52:52 -> a
    3:18:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):57:72 -> a
    19:27:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):71:79 -> a
    28:33:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):78:83 -> a
    34:37:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):82:85 -> a
    38:38:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):90:90 -> a
    39:39:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):95:95 -> a
    40:40:void lambda$verifyRenamingConsistentWithResolution$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):140:140 -> a
    41:51:void lambda$toString$1(java.lang.StringBuilder,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexString):150:160 -> a
    1:35:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):104:138 -> b
    1:16:java.lang.String toString():147:162 -> toString
com.android.tools.r8.naming.Minifier -> com.android.tools.r8.naming.N:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():38:38 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):42:43 -> <init>
    1:2:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):47:48 -> a
    3:3:com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.shaking.AppInfoWithLiveness.computeSubtypingInfo():1531:1531 -> a
    3:3:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):48 -> a
    4:42:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):49:87 -> a
    43:51:java.util.List computeReachableInterfacesWithDeterministicOrder(com.android.tools.r8.graph.SubtypingInfo):94:102 -> a
    52:54:void lambda$computeReachableInterfacesWithDeterministicOrder$0(java.util.List,com.android.tools.r8.graph.DexType):97:99 -> a
com.android.tools.r8.naming.Minifier$BaseMinificationNamingStrategy -> com.android.tools.r8.naming.I:
    java.util.List obfuscationDictionary -> a
    com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing mixedCasing -> c
    java.util.Set obfuscationDictionaryForLookup -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():105:105 -> <clinit>
    1:6:void <init>(java.util.List,boolean):113:118 -> <init>
    1:15:java.lang.String nextName(char[],com.android.tools.r8.naming.InternalNamingState):123:137 -> a
com.android.tools.r8.naming.Minifier$MinificationClassNamingStrategy -> com.android.tools.r8.naming.J:
    com.android.tools.r8.graph.DexItemFactory factory -> f
    com.android.tools.r8.graph.AppView appView -> e
    1:2:void <init>(com.android.tools.r8.graph.AppView):149:150 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView):148:152 -> <init>
    boolean isRenamedByApplyMapping(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):161:161 -> a
    2:2:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":189,"2":190,"3":191}}
    189:189:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):161:161 -> a
    190:190:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):161:161 -> a
    191:191:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):161:161 -> a
    164:180:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):162:178 -> a
    181:185:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):163:167 -> a
    186:186:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    186:186:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):167 -> a
    187:187:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    187:187:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    187:187:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):167 -> a
    188:188:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):167:167 -> a
    1:2:com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType):183:184 -> b
com.android.tools.r8.naming.Minifier$MinificationPackageNamingStrategy -> com.android.tools.r8.naming.L:
    com.android.tools.r8.naming.InternalNamingState namingState -> e
    1:2:void <init>(com.android.tools.r8.graph.AppView):221:222 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.AppView):220:220 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.AppView):197:197 -> <init>
    1:2:java.lang.String next(java.lang.String,java.util.function.Predicate):232:233 -> a
com.android.tools.r8.naming.Minifier$MinificationPackageNamingStrategy$1 -> com.android.tools.r8.naming.K:
    int dictionaryIndex -> b
    int nameIndex -> c
    1:4:void <init>(com.android.tools.r8.naming.Minifier$MinificationPackageNamingStrategy):198:201 -> <init>
    1:1:int getDictionaryIndex():205:205 -> a
    1:1:int incrementDictionaryIndex():210:210 -> b
    1:1:int incrementNameIndex():215:215 -> c
com.android.tools.r8.naming.Minifier$MinifierMemberNamingStrategy -> com.android.tools.r8.naming.M:
    com.android.tools.r8.graph.DexItemFactory factory -> f
    com.android.tools.r8.graph.AppView appView -> e
    boolean desugaredLibraryRenaming -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():238:238 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):246:249 -> <init>
    1:1:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):257:257 -> a
    2:3:boolean checkAllowMemberRenaming(com.android.tools.r8.graph.DexType):315:316 -> a
    2:3:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):257 -> a
    4:4:com.android.tools.r8.graph.DexString getNextName(com.android.tools.r8.naming.InternalNamingState):279:279 -> a
    4:4:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):260 -> a
    5:5:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):261:261 -> a
    6:6:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):270:270 -> a
    7:8:boolean checkAllowMemberRenaming(com.android.tools.r8.graph.DexType):315:316 -> a
    7:8:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):270 -> a
    9:9:com.android.tools.r8.graph.DexString getNextName(com.android.tools.r8.naming.InternalNamingState):279:279 -> 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):273 -> a
    10:10:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):274:274 -> a
    11:20:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):284:293 -> a
    21:24:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):292:295 -> a
    25:25:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):288:288 -> a
    26:26:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):302:302 -> a
    27:27:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    27:27:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):302 -> a
    28:30:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):302:304 -> a
    31:31:boolean allowMemberRenaming(com.android.tools.r8.graph.DexClass):311:311 -> a
com.android.tools.r8.naming.NamingLens -> com.android.tools.r8.naming.Q:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>():37:37 -> <init>
    com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType) -> a
    boolean lambda$lookupMethodName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString) -> a
    com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions) -> a
    com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod) -> a
    java.lang.String lookupPackageName(java.lang.String) -> a
    1:12:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView):55:66 -> a
    13:17:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):98:98 -> a
    13:17:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView):66 -> a
    18:24:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView):66:72 -> a
    25:25:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView):68:68 -> a
    26:26:com.android.tools.r8.graph.DexMethod lambda$lookupMethodName$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):70:70 -> a
    27:31:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):98:98 -> a
    27:31:com.android.tools.r8.graph.DexMethod lambda$lookupMethodName$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):70 -> a
    32:32:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):79:79 -> a
    33:33:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    33:33:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):79 -> a
    34:41:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):80:87 -> a
    42:47:com.android.tools.r8.graph.DexProto lookupProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):105:105 -> a
    48:48:com.android.tools.r8.graph.DexType lambda$lookupProto$2(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):108:108 -> a
    49:49:com.android.tools.r8.graph.DexType[] lambda$lookupProto$3(int):109:109 -> a
    50:58:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):113:121 -> a
    59:59:com.android.tools.r8.naming.NamingLens getIdentityLens():133:133 -> a
    60:65:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):155:160 -> a
    66:66:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":596,"2":597,"3":598}}
    596:596:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):160:160 -> a
    597:597:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):160:160 -> a
    598:598:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):160:160 -> a
    67:67:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":599,"2":600,"3":601,"4":602}}
    599:599:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:161 -> a
    600:600:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:161 -> a
    601:601:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:161 -> a
    602:602:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:161 -> a
    228:232:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:165 -> a
    233:237:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):91:91 -> a
    233:237:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):165 -> a
    238:239:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):166:167 -> a
    240:240:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":608,"2":609,"3":610}}
    608:608:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):167:167 -> a
    609:609:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):167:167 -> a
    610:610:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):167:167 -> a
    408:412:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):168:172 -> a
    413:417:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):98:98 -> a
    413:417:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):172 -> a
    418:419:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):173:174 -> a
    420:420:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":617,"2":618,"3":619}}
    617:617:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):174:174 -> a
    618:618:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):174:174 -> a
    619:619:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):174:174 -> a
    595:595:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):175:175 -> a
    boolean hasPrefixRewritingLogic() -> b
    boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod) -> b
    1:2:com.android.tools.r8.graph.DexString lookupClassDescriptor(com.android.tools.r8.graph.DexType):44:45 -> b
    com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType) -> c
    1:1:boolean isIdentityLens():137:137 -> c
    1:2:java.lang.String lookupInternalName(com.android.tools.r8.graph.DexType):141:142 -> d
    com.android.tools.r8.graph.DexString prefixRewrittenType(com.android.tools.r8.graph.DexType) -> e
com.android.tools.r8.naming.NamingLens$IdentityLens -> com.android.tools.r8.naming.O:
    1:1:void <init>(com.android.tools.r8.naming.NamingLens$1):208:208 -> <init>
    2:2:void <init>():210:210 -> <init>
    java.lang.String lookupPackageName(java.lang.String) -> a
    1:1:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):221:221 -> a
    2:2:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):226:226 -> a
    3:3:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):231:231 -> a
    4:4:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):236:236 -> a
    boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod) -> b
    1:1:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):216:216 -> c
com.android.tools.r8.naming.NamingLens$NonIdentityNamingLens -> com.android.tools.r8.naming.P:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():181:181 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexItemFactory):185:186 -> <init>
    1:7:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):195:201 -> c
    8:8:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:536 -> c
    8:8:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):201 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:12:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:539 -> c
    9:12:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):201 -> c
    13:14:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):203:204 -> c
    15:15:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):196:196 -> c
com.android.tools.r8.naming.PrefixRewritingNamingLens -> com.android.tools.r8.naming.S:
    com.android.tools.r8.graph.AppView appView -> e
    boolean $assertionsDisabled -> f
    int $r8$clinit -> g
    com.android.tools.r8.naming.NamingLens namingLens -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:4:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.AppView):36:39 -> <init>
    1:4:com.android.tools.r8.naming.NamingLens createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):29:32 -> a
    5:6:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> a
    5:6:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):66 -> a
    7:7:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):67:67 -> a
    8:8:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):72:72 -> a
    9:10:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> a
    9:10:boolean isRenamed(com.android.tools.r8.graph.DexType):43 -> a
    9:10:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):72 -> a
    11:13:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):74:76 -> a
    14:14:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):81:81 -> a
    15:16:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> a
    15:16:boolean isRenamed(com.android.tools.r8.graph.DexType):43 -> a
    15:16:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):81 -> a
    17:19:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):83:85 -> a
    20:20:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):90:90 -> a
    21:22:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> a
    21:22:boolean isRenamed(com.android.tools.r8.graph.DexType):43 -> a
    21:22:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):90 -> a
    23:25:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):92:94 -> a
    26:27:java.lang.String lookupPackageName(java.lang.String):104:105 -> a
    28:28:void lambda$verifyNotPrefixRewrittenPackage$0(java.lang.String,com.android.tools.r8.graph.DexType):111:111 -> a
    1:1:boolean verifyNotPrefixRewrittenPackage(java.lang.String):109:109 -> b
    2:2:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):118:118 -> b
    1:2:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> e
    1:2:com.android.tools.r8.graph.DexString prefixRewrittenType(com.android.tools.r8.graph.DexType):61 -> e
com.android.tools.r8.naming.ProguardMap$Builder -> com.android.tools.r8.naming.T:
    1:1:void <init>():12:12 -> <init>
    com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position) -> a
    com.android.tools.r8.naming.ProguardMap$Builder setCurrentMapVersion(com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation) -> a
com.android.tools.r8.naming.ProguardMapError -> com.android.tools.r8.naming.U:
    1:1:void <init>(java.lang.String,com.android.tools.r8.position.Position):17:17 -> <init>
    1:1:com.android.tools.r8.naming.ProguardMapError duplicateSourceClass(java.lang.String,com.android.tools.r8.position.Position):21:21 -> a
    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.Y:
    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 -> j
    com.android.tools.r8.com.google.common.collect.BiMap mappedNames -> d
    java.util.Set mappedClasses -> e
    java.util.Map additionalFieldNamings -> i
    java.util.Map memberNames -> f
    java.util.Map defaultInterfaceMethodImplementationNames -> g
    java.util.Map additionalMethodNamings -> h
    1:1:void <clinit>():75:75 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):89:89 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView):80:93 -> <init>
    1:8:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):97:104 -> a
    9:9:void com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.forEachInstantiatedLambdaInterfaces(java.util.function.Consumer):247:247 -> a
    9:9:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):105 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:void com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.forEachInstantiatedLambdaInterfaces(java.util.function.Consumer):247:247 -> a
    10:10:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):105 -> a
    11:29:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):112:130 -> a
    30:30:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    30:30:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):130 -> a
    31:34:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):138:141 -> a
    35:44:void computeDefaultInterfaceMethodMethods():345:354 -> a
    35:44:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    45:45:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    45:45:void computeDefaultInterfaceMethodMethods():355 -> a
    45:45:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    46:46:void computeDefaultInterfaceMethodMethods():356:356 -> a
    46:46:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    47:47:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):370:370 -> a
    47:47:void computeDefaultInterfaceMethodMethods():356 -> a
    47:47:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    48:48:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> a
    48:48:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):370 -> a
    48:48:void computeDefaultInterfaceMethodMethods():356 -> a
    48:48:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    49:49:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):373:373 -> a
    49:49:void computeDefaultInterfaceMethodMethods():356 -> a
    49:49:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    50:50:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    50:50:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):374 -> a
    50:50:void computeDefaultInterfaceMethodMethods():356 -> a
    50:50:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    51:62:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):377:388 -> a
    51:62:void computeDefaultInterfaceMethodMethods():356 -> a
    51:62:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    63:67:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):387:391 -> a
    63:67:void computeDefaultInterfaceMethodMethods():356 -> a
    63:67:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    68:68:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):390:390 -> a
    68:68:void computeDefaultInterfaceMethodMethods():356 -> a
    68:68:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    69:78:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):143:152 -> a
    79:79:java.util.List com.android.tools.r8.graph.DexApplication.classesWithDeterministicOrder(java.util.Collection):131:131 -> a
    79:79:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):153 -> a
    80:110:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):153:183 -> a
    111:113:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.DexType):107:109 -> a
    114:117:void lambda$run$1(java.util.Set,java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):119:122 -> a
    118:120:void lambda$run$2(java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):133:135 -> a
    121:122:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):193:194 -> a
    123:123:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    123:123:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):198 -> a
    124:130:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):199:205 -> a
    131:131:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    131:131:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):207 -> a
    132:133:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):208:209 -> a
    134:141:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):331:338 -> a
    134:141:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):209 -> a
    142:142:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):337:337 -> a
    142:142:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):209 -> a
    143:147:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):336:340 -> a
    143:147:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):209 -> a
    148:156:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):210:218 -> a
    157:172:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):215:230 -> a
    173:182:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):229:238 -> a
    183:196:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):233:246 -> a
    197:222:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):245:270 -> a
    223:223:void lambda$computeMapping$4(java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):267:267 -> a
    224:232:void addNonPrivateInterfaceMappings(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.graph.DexType[]):278:286 -> a
    233:233:void lambda$addNonPrivateInterfaceMappings$6(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.naming.MemberNaming):282:282 -> a
    234:239:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):296:301 -> a
    240:242:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):300:302 -> a
    243:243:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    243:243:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):302 -> a
    244:251:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):303:310 -> a
    252:254:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):309:311 -> a
    255:255:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    255:255:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):311 -> a
    256:258:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):312:314 -> a
    259:261:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):321:321 -> a
    263:266:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):323:326 -> a
    1:1:void lambda$computeMapping$3(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.naming.MemberNaming):211:211 -> b
    2:2:void lambda$computeMapping$5(java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):272:272 -> b
com.android.tools.r8.naming.ProguardMapMinifier$ApplyMappingClassNamingStrategy -> com.android.tools.r8.naming.V:
    java.util.Set mappedNames -> h
    boolean $assertionsDisabled -> i
    java.util.Map mappings -> g
    1:1:void <clinit>():396:396 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Set):405:407 -> <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):413:415 -> a
    4:7:boolean lambda$next$0(java.util.function.Predicate,java.lang.String):420:423 -> a
    8:8:boolean isRenamedByApplyMapping(com.android.tools.r8.graph.DexType):451:451 -> a
    1:15:com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType):432:446 -> b
com.android.tools.r8.naming.ProguardMapMinifier$ApplyMappingMemberNamingStrategy -> com.android.tools.r8.naming.W:
    boolean $assertionsDisabled -> k
    java.util.Map mappedNames -> i
    com.android.tools.r8.graph.DexItemFactory factory -> j
    1:1:void <clinit>():455:455 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):463:466 -> <init>
    boolean allowMemberRenaming(com.android.tools.r8.graph.DexClass) -> a
    1:2:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):474:475 -> a
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    3:3:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):475 -> a
    4:8:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):476:480 -> a
    9:15:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):553:559 -> a
    9:15:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):481 -> a
    16:16:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):556:556 -> a
    16:16:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):481 -> a
    17:22:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):485:490 -> a
    23:23:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    23:23:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):490 -> a
    24:24:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):490:490 -> a
    25:29:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):499:503 -> a
    30:36:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):553:559 -> a
    30:36:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):504 -> a
    37:37:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):556:556 -> a
    37:37:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):504 -> a
    38:40:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):508:510 -> a
    41:41:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):515:515 -> a
    42:42:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):520:520 -> a
    43:43: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):524:524 -> a
    44:44:boolean com.android.tools.r8.graph.DexDefinition.isDexEncodedField():0:0 -> a
    44:44: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):524 -> a
    45:63: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):524:542 -> a
com.android.tools.r8.naming.ProguardMapMinifier$ProguardMapMinifiedRenaming -> com.android.tools.r8.naming.X:
    java.util.Set unmappedReferences -> h
    java.util.Map classRenamingsMappingToDifferentName -> i
    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):576:579 -> <init>
    1:2:void lambda$new$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):581:582 -> a
    3:13:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):594:604 -> a
    3:13:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):589 -> a
    14:14:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):603:603 -> a
    14:14:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):589 -> a
    15:19:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):602:606 -> a
    15:19:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):589 -> a
    20:20:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):590:590 -> a
com.android.tools.r8.naming.ProguardMapReader -> com.android.tools.r8.naming.a0:
    java.lang.String line -> i
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> d
    com.android.tools.r8.naming.MapVersion version -> j
    int lineOffset -> h
    com.android.tools.r8.com.google.gson.JsonParser jsonParser -> c
    java.util.HashMap cache -> k
    boolean $assertionsDisabled -> l
    boolean allowEmptyMappedRanges -> e
    java.io.BufferedReader reader -> b
    boolean allowExperimentalMapping -> f
    int lineNo -> g
    1:1:void <clinit>():63:63 -> <clinit>
    1:1:void <init>(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):80:80 -> <init>
    2:383:void <init>(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):66:447 -> <init>
    384:389:void <init>(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):81:86 -> <init>
    1:1:int access$000(com.android.tools.r8.naming.ProguardMapReader):63:63 -> a
    2:3:char peekChar(int):100:101 -> a
    4:4:boolean hasNext():106:106 -> a
    4:4:void expect(char):209 -> a
    5:6:void expect(char):212:213 -> a
    7:7:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    7:7:void expect(char):213 -> a
    8:8:void expect(char):213:213 -> a
    9:9:void expect(char):210:210 -> a
    10:11:boolean isEmptyOrCommentLine(java.lang.String):139:140 -> a
    12:16:boolean hasFirstCharJsonBrace(java.lang.String,int):166:170 -> a
    12:16:boolean isEmptyOrCommentLine(java.lang.String):142 -> a
    17:17:boolean isEmptyOrCommentLine(java.lang.String):143:143 -> a
    18:24:boolean isCommentLineWithJsonBrace():151:157 -> a
    25:29:boolean hasFirstCharJsonBrace(java.lang.String,int):166:170 -> a
    25:29:boolean isCommentLineWithJsonBrace():157 -> a
    30:30:boolean isCommentLineWithJsonBrace():158:158 -> a
    31:34:void parse(com.android.tools.r8.naming.ProguardMap$Builder):220:223 -> a
    35:35:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):234:234 -> a
    36:36:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isMapVersionMappingInformation():0:0 -> a
    36:36:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):234 -> a
    37:37:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isUnknownJsonMappingInformation():0:0 -> a
    37:37:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):235 -> a
    38:40:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):234:236 -> a
    41:41:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isMapVersionMappingInformation():0:0 -> a
    41:41:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):236 -> a
    42:42:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):237:237 -> a
    43:43:void parseMappingInformation(java.util.function.Consumer):271:271 -> a
    44:50:com.android.tools.r8.com.google.gson.JsonObject parseJsonInComment():574:580 -> a
    44:50:void parseMappingInformation(java.util.function.Consumer):273 -> a
    51:51:void parseMappingInformation(java.util.function.Consumer):273:273 -> a
    52:52:void parseMappingInformation(java.util.function.Consumer):271:271 -> a
    53:66:void lambda$parseMappingInformation$1(java.util.function.Consumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):277:290 -> a
    67:103:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):302:338 -> a
    104:104:com.android.tools.r8.naming.Range parseRange():547:547 -> a
    104:104:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    105:111:int parseNumber():563:569 -> a
    105:111:com.android.tools.r8.naming.Range parseRange():550 -> a
    105:111:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    112:117:com.android.tools.r8.naming.Range parseRange():551:556 -> a
    112:117:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    118:124:int parseNumber():563:569 -> a
    118:124:com.android.tools.r8.naming.Range parseRange():557 -> a
    118:124:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    125:125:com.android.tools.r8.naming.Range parseRange():558:558 -> a
    125:125:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    126:131:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):341:346 -> a
    132:133:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):342:343 -> a
    134:134:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    134:134:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):343 -> a
    135:140:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):343:348 -> a
    141:141:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():485:485 -> a
    141:141:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    142:142:boolean hasNext():106:106 -> a
    142:142:void expectWhitespace():199 -> a
    142:142:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():486 -> a
    142:142:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    143:145:void expectWhitespace():199:201 -> a
    143:145:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():486 -> a
    143:145:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    146:150:java.lang.String parseMethodName():459:463 -> a
    146:150:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():487 -> a
    146:150:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    151:155:java.lang.String substring(int):450:454 -> a
    151:155:java.lang.String parseMethodName():465 -> a
    151:155:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():487 -> a
    151:155:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    156:179:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():488:511 -> a
    156:179:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    180:184:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):350:354 -> a
    185:185:com.android.tools.r8.naming.Range parseRange():547:547 -> a
    185:185:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    186:192:int parseNumber():563:569 -> a
    186:192:com.android.tools.r8.naming.Range parseRange():550 -> a
    186:192:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    193:198:com.android.tools.r8.naming.Range parseRange():551:556 -> a
    193:198:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    199:205:int parseNumber():563:569 -> a
    199:205:com.android.tools.r8.naming.Range parseRange():557 -> a
    199:205:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    206:206:com.android.tools.r8.naming.Range parseRange():558:558 -> a
    206:206:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    207:207:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):357:357 -> a
    208:208:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    208:208:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):357 -> a
    209:209:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):357:357 -> a
    210:210:int parseNumber():564:564 -> a
    210:210:com.android.tools.r8.naming.Range parseRange():557 -> a
    210:210:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    211:211:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    211:211:int parseNumber():564 -> a
    211:211:com.android.tools.r8.naming.Range parseRange():557 -> a
    211:211:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    212:212:int parseNumber():564:564 -> a
    212:212:com.android.tools.r8.naming.Range parseRange():557 -> a
    212:212:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    213:213:int parseNumber():564:564 -> a
    213:213:com.android.tools.r8.naming.Range parseRange():550 -> a
    213:213:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    214:214:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    214:214:int parseNumber():564 -> a
    214:214:com.android.tools.r8.naming.Range parseRange():550 -> a
    214:214:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    215:215:int parseNumber():564:564 -> a
    215:215:com.android.tools.r8.naming.Range parseRange():550 -> a
    215:215:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    216:217:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):360:361 -> a
    218:218:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    218:218:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):361 -> a
    219:222:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):361:364 -> a
    223:224:void skipArrow():517:518 -> a
    223:224:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):365 -> a
    225:225:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):366:366 -> a
    226:230:java.lang.String parseMethodName():459:463 -> a
    226:230:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):367 -> a
    231:235:java.lang.String substring(int):450:454 -> a
    231:235:java.lang.String parseMethodName():465 -> a
    231:235:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):367 -> a
    236:263:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):369:396 -> a
    264:264:com.android.tools.r8.position.TextPosition getPosition():411:411 -> a
    264:264:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):396 -> a
    265:274:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):396:405 -> a
    275:275:void expectWhitespace():204:204 -> a
    275:275:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():486 -> a
    275:275:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    276:276:int parseNumber():564:564 -> a
    276:276:com.android.tools.r8.naming.Range parseRange():557 -> a
    276:276:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    277:277:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    277:277:int parseNumber():564 -> a
    277:277:com.android.tools.r8.naming.Range parseRange():557 -> a
    277:277:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    278:278:int parseNumber():564:564 -> a
    278:278:com.android.tools.r8.naming.Range parseRange():557 -> a
    278:278:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    279:279:int parseNumber():564:564 -> a
    279:279:com.android.tools.r8.naming.Range parseRange():550 -> a
    279:279:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    280:280:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    280:280:int parseNumber():564 -> a
    280:280:com.android.tools.r8.naming.Range parseRange():550 -> a
    280:280:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    281:281:int parseNumber():564:564 -> a
    281:281:com.android.tools.r8.naming.Range parseRange():550 -> a
    281:281:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    282:282:void lambda$parseMemberMappings$4(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.naming.MemberNaming,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):310:310 -> a
    283:283:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isGlobalMappingInformation():0:0 -> a
    283:283:void lambda$parseMemberMappings$4(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.naming.MemberNaming,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):310 -> a
    284:293:void lambda$parseMemberMappings$4(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.naming.MemberNaming,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):310:319 -> a
    294:296:void lambda$parseMemberMappings$2(com.android.tools.r8.naming.mappinginformation.MappingInformation,com.android.tools.r8.naming.mappinginformation.MappingInformation):315:315 -> a
    297:306:java.lang.String parseType(boolean):469:478 -> a
    307:311:java.lang.String substring(int):450:454 -> a
    307:311:java.lang.String parseType(boolean):481 -> a
    1:1:int access$100(com.android.tools.r8.naming.ProguardMapReader):63:63 -> b
    2:2:char nextChar():120:120 -> b
    3:3:boolean hasNext():106:106 -> b
    3:3:char nextChar():120 -> b
    4:8:char nextChar():120:124 -> b
    9:9:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> b
    9:9:char nextChar():124 -> b
    10:10:char nextChar():124:124 -> b
    11:11:boolean hasLine():187:187 -> b
    11:11:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):229 -> b
    12:31:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):230:249 -> b
    32:37:boolean acceptString(java.lang.String):532:537 -> b
    32:37:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):249 -> b
    38:38:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":305,"3":306}}
    305:305:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):252:252 -> b
    306:306:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):252:252 -> b
    292:292:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):254:254 -> b
    293:295:boolean acceptArrow():522:524 -> b
    293:295:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):255 -> b
    296:299:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):257:260 -> b
    300:300:com.android.tools.r8.position.TextPosition getPosition():411:411 -> b
    300:300:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):262 -> b
    301:304:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):262:265 -> b
    307:309:void lambda$parseMemberMappings$3(com.android.tools.r8.naming.mappinginformation.MappingInformation,com.android.tools.r8.naming.mappinginformation.MappingInformation):322:322 -> b
    310:321:void skipIdentifier(boolean):418:429 -> b
    322:322:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> b
    322:322:void skipIdentifier(boolean):429 -> b
    323:334:void skipIdentifier(boolean):429:440 -> b
    335:335:void skipIdentifier(boolean):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":785,"2":786,"3":787}}
    785:785:void skipIdentifier(boolean):440:440 -> b
    786:786:void skipIdentifier(boolean):440:440 -> b
    787:787:void skipIdentifier(boolean):440:440 -> b
    776:776:void skipIdentifier(boolean):441:441 -> b
    777:777:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> b
    777:777:void skipIdentifier(boolean):441 -> b
    778:778:void skipIdentifier(boolean):441:441 -> b
    779:779:void skipIdentifier(boolean):434:434 -> b
    1:5:int nextCodePoint():111:115 -> c
    6:6:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> c
    6:6:int nextCodePoint():115 -> c
    7:7:int nextCodePoint():115:115 -> c
    1:1:void close():73:73 -> close
    1:1:boolean nextLine():129:129 -> d
    2:6:boolean skipLine():178:182 -> d
    2:6:boolean nextLine():132 -> d
    7:7:boolean hasLine():187:187 -> d
    7:7:boolean skipLine():183 -> d
    7:7:boolean nextLine():132 -> d
    8:8:boolean nextLine():130:130 -> d
    9:9:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> d
    9:9:boolean nextLine():130 -> d
    10:10:boolean nextLine():130:130 -> d
    1:1:int peekCodePoint():96:96 -> e
    1:1:boolean hasNext():106:106 -> f
    1:1:void skipWhitespace():192 -> f
    2:3:void skipWhitespace():192:193 -> f
com.android.tools.r8.naming.ProguardMapReader$ParseException -> com.android.tools.r8.naming.Z:
    int lineNo -> b
    int lineOffset -> c
    java.lang.String msg -> e
    boolean eol -> d
    1:5:void <init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String,boolean):598:602 -> <init>
    1:1:java.lang.String toString():607:607 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1222,"2":1223,"3":1224}}
    1222:1222:java.lang.String toString():608:608 -> toString
    1223:1223:java.lang.String toString():608:608 -> toString
    1224:1224:java.lang.String toString():608:608 -> toString
    610:610:java.lang.String toString():608:608 -> toString
    611:611:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1222,"2":1223,"3":1224}}
    1222:1222:java.lang.String toString():610:610 -> toString
    1223:1223:java.lang.String toString():610:610 -> toString
    1224:1224:java.lang.String toString():610:610 -> toString
    1221:1221:java.lang.String toString():610:610 -> toString
com.android.tools.r8.naming.ProguardMapSupplier -> com.android.tools.r8.internal.jN:
    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
    1:12:void <clinit>():23:34 -> <clinit>
    1:8:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.utils.InternalOptions):64:71 -> <init>
    1:1:com.android.tools.r8.utils.Reporter access$100(com.android.tools.r8.naming.ProguardMapSupplier):23:23 -> a
    2:2:com.android.tools.r8.naming.ProguardMapSupplier create(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.utils.InternalOptions):76:76 -> a
    3:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId com.android.tools.r8.naming.ProguardMapSupplier.computeProguardMapId():88:90 -> a
    3:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():80 -> a
    6:6:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):98:98 -> a
    45:45:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    46:46:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):98:98 -> a
    46:46:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    47:47:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):99:99 -> a
    47:47:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    7:7:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):110:110 -> a
    7:7:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    8:8:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):111:111 -> a
    59:59:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    60:60:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):111:111 -> a
    60:60:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    61:61:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):111:111 -> a
    61:61:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    9:11:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):111:113 -> a
    9:11:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    12:12:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":64,"2":65,"3":66}}
    64:64:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):114:114 -> a
    64:64:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    65:65:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):114:114 -> a
    65:65:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    66:66:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):114:114 -> a
    66:66:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    13:15:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):114:114 -> a
    13:15:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    19:21:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):118:120 -> a
    19:21:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    22:22:com.android.tools.r8.naming.MapVersion com.android.tools.r8.utils.InternalOptions.getMapFileVersion():1766:1766 -> a
    22:22:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):120 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    23:25:com.android.tools.r8.naming.MapVersion com.android.tools.r8.utils.InternalOptions.getMapFileVersion():1766:1768 -> a
    23:25:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):120 -> a
    23:25:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    26:30:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):121:125 -> a
    26:30:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    31:31:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":79,"2":80,"3":81}}
    79:79:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):127:127 -> a
    79:79:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    80:80:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):127:127 -> a
    80:80:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    81:81:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):127:127 -> a
    81:81:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    32:42:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):127:137 -> a
    32:42:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    43:43:void com.android.tools.r8.naming.ProguardMapSupplier.writeBody():94:94 -> a
    43:43:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    44:44:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():83:83 -> a
    1:1:com.android.tools.r8.StringConsumer access$200(com.android.tools.r8.naming.ProguardMapSupplier):23:23 -> b
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker -> com.android.tools.r8.internal.jN$a:
    1:29:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult validateProguardMapHash(java.lang.String):257:285 -> a
    1:1:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):196:196 -> accept
    1:1:void finished(com.android.tools.r8.DiagnosticsHandler):202:202 -> finished
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult -> com.android.tools.r8.internal.jN$a$a:
    boolean error -> a
    java.lang.String message -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():218:218 -> <clinit>
    1:3:void <init>(boolean,java.lang.String):234:236 -> <init>
    1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult createOk():223:223 -> a
    2:2:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult createError(java.lang.String):231:231 -> a
    1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult createInfo(java.lang.String):227:227 -> b
    2:3:java.lang.String getMessage():248:249 -> b
    1:1:boolean isError():244:244 -> c
    1:1:boolean isOk():240:240 -> d
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId -> com.android.tools.r8.internal.kN:
    java.lang.String id -> a
    java.lang.String hash -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.naming.ProguardMapSupplier$1):37:37 -> <init>
    2:6:void <init>(java.lang.String,java.lang.String):41:45 -> <init>
    1:1:java.lang.String getHash():55:55 -> a
    1:1:java.lang.String getId():50:50 -> b
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder -> com.android.tools.r8.internal.mN:
    com.android.tools.r8.com.google.common.hash.Hasher hasher -> a
    1:3:void <init>():140:142 -> <init>
    1:1:java.lang.String lambda$getProviderOrDefault$0(com.android.tools.r8.MapIdEnvironment):147:147 -> a
    2:2:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder.accept(java.lang.String):161:161 -> a
    2:2:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):140 -> a
    3:4:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):166:167 -> a
    5:5:com.android.tools.r8.MapIdEnvironment com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder.getEnvironment(java.lang.String):151:151 -> a
    5:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):167 -> a
    6:7:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):167:168 -> a
    1:1:com.android.tools.r8.MapIdProvider getProviderOrDefault(com.android.tools.r8.MapIdProvider):147:147 -> b
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder$1 -> com.android.tools.r8.internal.lN:
    java.lang.String val$hash -> a
    1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder,java.lang.String):151:151 -> <init>
    1:1:java.lang.String getMapHash():154:154 -> getMapHash
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter -> com.android.tools.r8.internal.nN:
    com.android.tools.r8.naming.ProguardMapSupplier this$0 -> a
    1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier):172:172 -> <init>
    1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter.accept(java.lang.String):176:176 -> a
    1:1:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):172 -> a
com.android.tools.r8.naming.Range -> com.android.tools.r8.internal.vP:
    int to -> b
    boolean isCardinal -> c
    int from -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    3:7:void <init>(int,int,boolean):23:27 -> <init>
    1:6:boolean equals(java.lang.Object):44:49 -> equals
    1:1:int hashCode():61:61 -> hashCode
    1:1:java.lang.String toString():36:36 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":39,"2":40,"3":41}}
    39:39:java.lang.String toString():36:36 -> toString
    40:40:java.lang.String toString():36:36 -> toString
    41:41:java.lang.String toString():36:36 -> toString
    38:38:java.lang.String toString():36:36 -> toString
com.android.tools.r8.naming.RecordRewritingNamingLens -> com.android.tools.r8.naming.b0:
    com.android.tools.r8.graph.DexItemFactory factory -> e
    boolean $assertionsDisabled -> f
    int $r8$clinit -> g
    com.android.tools.r8.naming.NamingLens namingLens -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.AppView):36:38 -> <init>
    1:2:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):46:47 -> a
    1:2:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):54 -> a
    3:3:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):55:55 -> a
    4:4:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):60:60 -> a
    5:6:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):46:47 -> a
    5:6:boolean isRenamed(com.android.tools.r8.graph.DexType):42 -> a
    5:6:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):60 -> a
    7:8:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):60:61 -> a
    9:9:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):67:67 -> a
    10:10:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):73:73 -> a
    11:11:java.lang.String lookupPackageName(java.lang.String):88:88 -> a
    1:1:boolean hasPrefixRewritingLogic():78:78 -> b
    2:2:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):93:93 -> b
    1:1:com.android.tools.r8.graph.DexString prefixRewrittenType(com.android.tools.r8.graph.DexType):83:83 -> e
com.android.tools.r8.naming.ReservedFieldNamingState -> com.android.tools.r8.naming.d0:
    com.android.tools.r8.naming.ReservedFieldNamingState interfaceMinificationState -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):20:20 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):17:17 -> <init>
    1:1:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):29:29 -> a
    1:1:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
    2:2:com.android.tools.r8.graph.DexString getReservedByNameInState(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState,com.android.tools.r8.graph.DexString):43:43 -> a
    2:2:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):29 -> a
    2:2:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
    3:5:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):37:39 -> a
    3:5:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):33 -> a
    3:5:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
    6:6:com.android.tools.r8.graph.DexString getReservedByNameInState(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState,com.android.tools.r8.graph.DexString):43:43 -> a
    6:6:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):39 -> a
    6:6:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):33 -> a
    6:6:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
    7:9:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):37:39 -> a
    7:9:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):25 -> a
    10:10:com.android.tools.r8.graph.DexString getReservedByNameInState(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState,com.android.tools.r8.graph.DexString):43:43 -> a
    10:10:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):39 -> a
    10:10:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):25 -> a
    11:12:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):51:52 -> a
    13:16:void includeInterfaceReservationState(com.android.tools.r8.naming.ReservedFieldNamingState):58:61 -> a
    13:16:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):54 -> a
    17:17:com.android.tools.r8.naming.ReservedFieldNamingState$InternalState createInternalState():73:73 -> a
    17:17:java.lang.Object createInternalState():15 -> a
    1:3:void setInterfaceMinificationState(com.android.tools.r8.naming.ReservedFieldNamingState):66:68 -> b
com.android.tools.r8.naming.ReservedFieldNamingState$InternalState -> com.android.tools.r8.naming.c0:
    java.util.Map reservedNames -> a
    1:3:void <init>():76:78 -> <init>
    1:2:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString):81:82 -> a
    3:3:void markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):86:86 -> a
    4:4:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState):90:90 -> a
com.android.tools.r8.naming.SeedMapper -> com.android.tools.r8.naming.f0:
    com.android.tools.r8.com.google.common.collect.ImmutableMap mappings -> a
    java.util.Set mappedToDescriptorNames -> b
    com.android.tools.r8.utils.Reporter reporter -> c
    1:1:void <init>(java.util.Map,java.util.Set,com.android.tools.r8.utils.Reporter,com.android.tools.r8.naming.SeedMapper$1):38:38 -> <init>
    2:10:void <init>(java.util.Map,java.util.Set,com.android.tools.r8.utils.Reporter):103:111 -> <init>
    1:1:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93:93 -> a
    2:3:com.android.tools.r8.naming.SeedMapper seedMapperFromInputStream(com.android.tools.r8.utils.Reporter,java.io.InputStream):84:85 -> a
    2:3:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93 -> a
    4:4:com.android.tools.r8.naming.SeedMapper$Builder builder(com.android.tools.r8.utils.Reporter):79:79 -> a
    4:4:com.android.tools.r8.naming.SeedMapper seedMapperFromInputStream(com.android.tools.r8.utils.Reporter,java.io.InputStream):86 -> a
    4:4:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93 -> a
    5:7:com.android.tools.r8.naming.SeedMapper seedMapperFromInputStream(com.android.tools.r8.utils.Reporter,java.io.InputStream):87:89 -> a
    5:7:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93 -> a
    8:12:com.android.tools.r8.naming.SeedMapper seedMapperFromInputStream(com.android.tools.r8.utils.Reporter,java.io.InputStream):85:89 -> a
    8:12:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93 -> a
    13:13:com.android.tools.r8.naming.ClassNamingForMapApplier getClassNaming(com.android.tools.r8.graph.DexType):153:153 -> a
    14:14:java.util.Set getKeyset():157:157 -> a
    15:15:com.android.tools.r8.naming.ClassNamingForMapApplier getMapping(java.lang.String):165:165 -> a
    1:1:boolean hasMapping(com.android.tools.r8.graph.DexType):148:148 -> b
    2:2:java.util.Set getMappedToDescriptorNames():161:161 -> b
    1:10:void verifyMappingsAreConflictFree():115:124 -> c
    11:11:void verifyMappingsAreConflictFree():121:121 -> c
    12:35:void verifyMappingsAreConflictFree():120:143 -> c
com.android.tools.r8.naming.SeedMapper$Builder -> com.android.tools.r8.naming.e0:
    java.util.Map map -> a
    java.util.Set mappedToDescriptorNames -> b
    com.android.tools.r8.utils.Reporter reporter -> c
    1:1:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.naming.SeedMapper$1):40:40 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.Reporter):46:46 -> <init>
    3:8:void <init>(com.android.tools.r8.utils.Reporter):42:47 -> <init>
    com.android.tools.r8.naming.ProguardMap$Builder setCurrentMapVersion(com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation) -> a
    1:4:com.android.tools.r8.naming.ClassNamingForMapApplier$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):53:56 -> a
    1:4:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):40 -> a
    5:5:com.android.tools.r8.naming.ClassNamingForMapApplier$Builder com.android.tools.r8.naming.ClassNamingForMapApplier.builder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.utils.Reporter):105:105 -> a
    5:5:com.android.tools.r8.naming.ClassNamingForMapApplier$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):57 -> a
    5:5:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):40 -> a
    6:7:com.android.tools.r8.naming.ClassNamingForMapApplier$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):59:60 -> a
    6:7:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):40 -> a
    8:9:com.android.tools.r8.naming.SeedMapper build():73:74 -> a
com.android.tools.r8.naming.SourceFileRewriter -> com.android.tools.r8.internal.iV:
    1:2:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):20:21 -> a
    3:3:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61:61 -> a
    3:3:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):21 -> a
    4:4:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteTo(java.lang.String,boolean):65:65 -> a
    4:4:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61 -> a
    4:4:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):21 -> a
    5:5:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):23:23 -> a
    6:6:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeCompatProvider(com.android.tools.r8.utils.InternalOptions):31:31 -> a
    6:6:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):24 -> a
    7:7:java.lang.String com.android.tools.r8.naming.SourceFileRewriter.getRenameSourceFileAttribute(com.android.tools.r8.utils.InternalOptions):52:52 -> a
    7:7:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeCompatProvider(com.android.tools.r8.utils.InternalOptions):32 -> a
    7:7:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):24 -> a
    8:9:boolean com.android.tools.r8.naming.SourceFileRewriter.isDefaultOrEmpty(java.lang.String,com.android.tools.r8.utils.InternalOptions):56:57 -> a
    8:9:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeCompatProvider(com.android.tools.r8.utils.InternalOptions):34 -> a
    8:9:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):24 -> a
    10:10:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteTo(java.lang.String,boolean):65:65 -> a
    10:10:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeCompatProvider(com.android.tools.r8.utils.InternalOptions):34 -> a
    10:10:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):24 -> a
    11:11:java.lang.String com.android.tools.r8.naming.SourceFileRewriter.getRenameSourceFileAttribute(com.android.tools.r8.utils.InternalOptions):52:52 -> a
    11:11:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):41 -> a
    11:11:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    12:13:boolean com.android.tools.r8.naming.SourceFileRewriter.isDefaultOrEmpty(java.lang.String,com.android.tools.r8.utils.InternalOptions):56:57 -> a
    12:13:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):43 -> a
    12:13:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    14:14:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteTo(java.lang.String,boolean):65:65 -> a
    14:14:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):43 -> a
    14:14:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    15:16:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):45:46 -> a
    15:16:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    17:17:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61:61 -> a
    17:17:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):46 -> a
    17:17:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    18:18:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteTo(java.lang.String,boolean):65:65 -> a
    18:18:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61 -> a
    18:18:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):46 -> a
    18:18:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
com.android.tools.r8.naming.SourceFileRewriter$1 -> com.android.tools.r8.internal.hV:
    java.lang.String val$renaming -> a
    boolean val$allowDiscard -> b
    1:1:void <init>(java.lang.String,boolean):65:65 -> <init>
    1:1:boolean allowDiscardingSourceFile():73:73 -> allowDiscardingSourceFile
    1:1:java.lang.String get(com.android.tools.r8.SourceFileEnvironment):68:68 -> get
com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo -> com.android.tools.r8.internal.ua:
    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
    int arrayDepth -> a
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo NAME_INSTANCE -> d
    1:1:void <clinit>():88:88 -> <clinit>
    2:2:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    2:2:void <clinit>():88 -> <clinit>
    3:6:void <clinit>():88:91 -> <clinit>
    7:7:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    7:7:void <clinit>():91 -> <clinit>
    8:11:void <clinit>():91:94 -> <clinit>
    12:12:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    12:12:void <clinit>():94 -> <clinit>
    13:16:void <clinit>():94:97 -> <clinit>
    17:17:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    17:17:void <clinit>():97 -> <clinit>
    18:21:void <clinit>():97:100 -> <clinit>
    22:22:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    22:22:void <clinit>():100 -> <clinit>
    23:23:void <clinit>():100:100 -> <clinit>
    1:3:void <init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping,int):110:112 -> <init>
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo asClassNameComputationInfo() -> a
    1:2:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo create(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping,int):117:118 -> a
    3:15:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo getInstance(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):122:134 -> a
    16:16:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo getInstance(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):130:130 -> a
    17:25:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo getInstance(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):124:132 -> a
    26:28:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo getInstance(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):126:128 -> a
    29:33:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.naming.NamingLens):155:155 -> a
    1:1:boolean needsToComputeName():144:144 -> e
    2:2:boolean com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping.needsToComputeClassName():30:30 -> e
    2:2:boolean needsToComputeName():144 -> e
    1:5:boolean equals(java.lang.Object):174:178 -> equals
    1:1:boolean needsToRegisterReference():149:149 -> f
    2:2:boolean com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping.needsToRegisterTypeReference():34:34 -> f
    2:2:boolean needsToRegisterReference():149 -> f
    1:1:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo none():139:139 -> g
    1:1:int hashCode():183:183 -> hashCode
com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping -> com.android.tools.r8.internal.ta:
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping NONE -> b
    boolean $assertionsDisabled -> h
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping NAME -> c
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping TYPE_NAME -> d
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping CANONICAL_NAME -> e
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping[] $VALUES -> g
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping SIMPLE_NAME -> f
    1:7:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(java.lang.String,int):22:22 -> <init>
    1:39:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):44:82 -> a
    40:46:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):68:74 -> a
    47:47:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":231,"2":232,"3":233}}
    231:231:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):77:77 -> a
    232:232:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):77:77 -> a
    233:233:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):77:77 -> a
    124:124:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):77:77 -> a
    125:126:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getCanonicalNameFromDescriptor(java.lang.String):337:338 -> a
    125:126:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):61 -> a
    127:127:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":231,"2":232,"3":233}}
    231:231:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
    232:232:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
    233:233:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
    190:190:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
    191:191:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):54:54 -> a
    192:230:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):46:84 -> a
com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo -> com.android.tools.r8.internal.Kj:
    com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo FIELD_NAME_INSTANCE -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo asFieldNameComputationInfo() -> b
    boolean needsToComputeName() -> e
    boolean needsToRegisterReference() -> f
    1:1:com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo forFieldName():21:21 -> g
com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo -> com.android.tools.r8.internal.eG:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo asClassNameComputationInfo() -> a
    1:2:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):20:21 -> a
    3:3:boolean com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo.isFieldNameComputationInfo():0:0 -> a
    3:3:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):22 -> a
    4:4:boolean com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo.isClassNameComputationInfo():0:0 -> a
    4:4:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):26 -> a
    5:10:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):27:32 -> a
    11:12:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):23:24 -> a
    13:13:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo.internalComputeNameFor(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.naming.NamingLens):28:28 -> a
    13:13:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):24 -> a
    14:14:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):35:35 -> a
    com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo asFieldNameComputationInfo() -> b
    com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo asRecordFieldNamesComputationInfo() -> c
    boolean isRecordFieldNamesComputationInfo() -> d
    boolean needsToComputeName() -> e
    boolean needsToRegisterReference() -> f
com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo -> com.android.tools.r8.internal.UP:
    com.android.tools.r8.graph.DexField[] fields -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():38:38 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexField[]):42:43 -> <init>
    com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens) -> a
    1:4:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo forFieldNamesAndFields(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[]):98:101 -> a
    5:6:boolean com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo.fieldsMatchNames(java.lang.String[],com.android.tools.r8.graph.DexField[]):109:110 -> a
    5:6:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo forFieldNamesAndFields(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[]):102 -> a
    7:9:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo forFieldNamesAndFields(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[]):103:105 -> a
    10:15:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction):122:127 -> a
    16:16:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    16:16:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction):128 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:22:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction):128:133 -> a
    23:23:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo.dexStringFromFieldNames(java.util.List,com.android.tools.r8.graph.DexItemFactory):93:93 -> a
    23:23:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction):133 -> a
    24:24:boolean lambda$internalComputeNameFor$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):122:122 -> a
    com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo asRecordFieldNamesComputationInfo() -> c
    boolean isRecordFieldNamesComputationInfo() -> d
    boolean needsToComputeName() -> e
    boolean needsToRegisterReference() -> f
com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$MatchingRecordFieldNamesComputationInfo -> com.android.tools.r8.internal.SP:
    1:1:void <init>(com.android.tools.r8.graph.DexField[]):70:70 -> <init>
    1:1:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):79:79 -> a
    2:2:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):84:84 -> a
    3:3:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    3:3:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):86:86 -> a
    5:5:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):85:85 -> a
    6:10:com.android.tools.r8.graph.DexField com.android.tools.r8.naming.NamingLens.lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):91:91 -> a
    6:10:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):85 -> a
    11:14:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):85:88 -> a
com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$MissMatchingRecordFieldNamesComputationInfo -> com.android.tools.r8.internal.TP:
    java.lang.String[] fieldNames -> c
    1:1:void <init>(java.lang.String[],com.android.tools.r8.graph.DexField[],com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$1):46:46 -> <init>
    2:3:void <init>(java.lang.String[],com.android.tools.r8.graph.DexField[]):52:53 -> <init>
    1:1:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):62:62 -> a
    2:2:java.lang.String lambda$internalComputeNameFor$0(int):62:62 -> a
com.android.tools.r8.naming.identifiernamestring.ClassForNameIdentifierNameStringLookupResult -> com.android.tools.r8.internal.L9:
    1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():633:633 -> a
    1:1:boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions):24 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    boolean isTypeInitializedFromUse() -> d
com.android.tools.r8.naming.identifiernamestring.ClassNameComparisonIdentifierNameStringLookupResult -> com.android.tools.r8.internal.sa:
    1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
    boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions) -> a
    boolean isTypeInitializedFromUse() -> d
com.android.tools.r8.naming.identifiernamestring.DexMemberBasedConstStringIdentifierNameStringLookupResult -> com.android.tools.r8.internal.Ug:
    1:1:void <init>(com.android.tools.r8.graph.DexMember):13:13 -> <init>
com.android.tools.r8.naming.identifiernamestring.DexTypeBasedConstStringIdentifierNameStringLookupResult -> com.android.tools.r8.internal.Zg:
    1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
    boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions) -> a
    boolean isTypeInitializedFromUse() -> d
com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult -> com.android.tools.r8.internal.Cn:
    com.android.tools.r8.graph.DexReference reference -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():13:13 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexReference):17:19 -> <init>
    com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult asTypeResult() -> a
    1:1:com.android.tools.r8.naming.identifiernamestring.ClassForNameIdentifierNameStringLookupResult fromClassForName(com.android.tools.r8.graph.DexType):23:23 -> a
    2:2:com.android.tools.r8.naming.identifiernamestring.DexMemberBasedConstStringIdentifierNameStringLookupResult fromDexMemberBasedConstString(com.android.tools.r8.graph.DexMember):38:38 -> a
    1:1:com.android.tools.r8.naming.identifiernamestring.ClassNameComparisonIdentifierNameStringLookupResult fromClassNameComparison(com.android.tools.r8.graph.DexType):28:28 -> b
    2:2:com.android.tools.r8.naming.identifiernamestring.UncategorizedMemberIdentifierNameStringLookupResult fromUncategorized(com.android.tools.r8.graph.DexMember):44:44 -> b
    3:3:com.android.tools.r8.graph.DexReference getReference():56:56 -> b
    boolean isTypeResult() -> c
    1:1:com.android.tools.r8.naming.identifiernamestring.DexTypeBasedConstStringIdentifierNameStringLookupResult fromDexTypeBasedConstString(com.android.tools.r8.graph.DexType):33:33 -> c
com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringMemberLookupResult -> com.android.tools.r8.internal.En:
    1:1:void <init>(com.android.tools.r8.graph.DexMember):13:13 -> <init>
com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult -> com.android.tools.r8.internal.Fn:
    1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
    com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult asTypeResult() -> a
    boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions) -> a
    boolean isTypeResult() -> c
    boolean isTypeInitializedFromUse() -> d
com.android.tools.r8.naming.identifiernamestring.UncategorizedMemberIdentifierNameStringLookupResult -> com.android.tools.r8.internal.k00:
    1:1:void <init>(com.android.tools.r8.graph.DexMember):13:13 -> <init>
com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation -> com.android.tools.r8.internal.Ac:
    com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$1):12:12 -> <init>
    2:2:void <init>():28:28 -> <init>
    1:1:boolean com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation.isSupported(com.android.tools.r8.naming.MapVersion):25:25 -> a
    1:1:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):64 -> a
    2:2:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder.build():20:20 -> a
    2:2:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):65 -> a
    3:3:void com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation.<init>(com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$1):12:12 -> a
    3:3:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder.build():20 -> a
    3:3:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):65 -> a
    4:4:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):65:65 -> a
    5:5:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):51:51 -> a
    boolean isCompilerSynthesizedMappingInformation() -> f
    1:3:java.lang.String serialize():56:58 -> i
com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder -> com.android.tools.r8.internal.zc:
    1:1:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation build():20:20 -> a
com.android.tools.r8.naming.mappinginformation.FileNameInformation -> com.android.tools.r8.naming.mappinginformation.a:
    java.lang.String fileName -> a
    1:2:void <init>(java.lang.String):21:22 -> <init>
    com.android.tools.r8.naming.mappinginformation.FileNameInformation asFileNameInformation() -> a
    1:1:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):46:46 -> a
    2:2:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isFileNameInformation():0:0 -> a
    2:2:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):46 -> a
    3:3:com.android.tools.r8.naming.mappinginformation.FileNameInformation build(java.lang.String):50:50 -> a
    4:4:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):68:68 -> a
    5:8:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.naming.mappinginformation.MappingInformation.getJsonElementFromObject(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.lang.String,java.lang.String):149:152 -> a
    5:8:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):69 -> a
    9:9:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.naming.mappinginformation.MappingInformation.getJsonElementFromObject(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.lang.String,java.lang.String):151:151 -> a
    9:9:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):69 -> a
    10:14:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):71:75 -> a
    15:15:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):74:74 -> a
    1:4:java.lang.String serialize():55:58 -> i
    1:1:java.lang.String getFileName():31:31 -> j
com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation -> com.android.tools.r8.naming.mappinginformation.b:
    com.android.tools.r8.naming.MapVersion mapVersion -> a
    java.lang.String value -> b
    1:3:void <init>(com.android.tools.r8.naming.MapVersion,java.lang.String):22:24 -> <init>
    boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation) -> a
    1:10:void deserialize(com.android.tools.r8.com.google.gson.JsonObject,int,java.util.function.Consumer):72:81 -> a
    com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation asMapVersionMappingInformation() -> b
    1:4:java.lang.String serialize():62:65 -> i
    1:1:com.android.tools.r8.naming.MapVersion getMapVersion():48:48 -> j
    1:1:java.lang.String getValue():52:52 -> k
com.android.tools.r8.naming.mappinginformation.MappingInformation -> com.android.tools.r8.naming.mappinginformation.c:
    1:1:void <init>():13:13 -> <init>
    boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation) -> a
    com.android.tools.r8.naming.mappinginformation.FileNameInformation asFileNameInformation() -> a
    1:7:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):86:92 -> a
    8:15:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):91:98 -> a
    16:16:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):97:97 -> a
    17:39:void deserialize(java.lang.String,com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):117:139 -> a
    17:39:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):101 -> a
    40:40:void deserialize(java.lang.String,com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):129:129 -> a
    40:40:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):101 -> a
    41:48:void deserialize(java.lang.String,com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):119:126 -> a
    41:48:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):101 -> a
    49:62:void deserialize(java.lang.String,com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):122:135 -> a
    49:62:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):101 -> a
    com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation asMapVersionMappingInformation() -> b
    com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation asOutlineCallsiteInformation() -> c
    com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation asRewriteFrameMappingInformation() -> d
    com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation asUnknownJsonMappingInformation() -> e
    boolean isCompilerSynthesizedMappingInformation() -> f
    boolean isOutlineCallsiteInformation() -> g
    boolean isRewriteFrameMappingInformation() -> h
    java.lang.String serialize() -> i
com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics -> com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics:
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> b
    1:3:void <init>(java.lang.String,com.android.tools.r8.position.Position):34:36 -> <init>
    1:2:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics noHandlerFor(int,java.lang.String):40:41 -> a
    3:4:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics noKeyForObjectWithId(int,java.lang.String,java.lang.String,java.lang.String):70:71 -> a
    5:6:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics invalidValueForObjectWithId(int,java.lang.String,java.lang.String):77:78 -> a
    1:2:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics noKeyInJson(int,java.lang.String):46:47 -> b
    1:1:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics notValidJson(int):52:52 -> c
    1:2:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics notValidString(int,java.lang.String):57:58 -> d
    1:1:java.lang.String getDiagnosticMessage():31:31 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():21:21 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():26:26 -> getPosition
    1:1:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics notAllowedCombination(com.android.tools.r8.naming.mappinginformation.MappingInformation,com.android.tools.r8.naming.mappinginformation.MappingInformation,int):98:98 -> notAllowedCombination
com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation -> com.android.tools.r8.internal.LK:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap positions -> a
    com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> b
    1:1:void <clinit>():17:17 -> <clinit>
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap):24:25 -> <init>
    1:1:void lambda$serialize$0(com.android.tools.r8.com.google.gson.JsonObject,java.lang.Integer,java.lang.Integer):40:40 -> a
    2:2:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):48:48 -> a
    3:3:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isOutlineCallsiteInformation():0:0 -> a
    3:3:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):48 -> a
    4:4:int rewritePosition(int):62:62 -> a
    5:5:com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap):66:66 -> a
    6:6:boolean com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation.isSupported(com.android.tools.r8.naming.MapVersion):70:70 -> a
    6:6:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):75 -> a
    7:12:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):76:81 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.<init>():176:176 -> a
    13:13:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):81 -> a
    14:15:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):83:84 -> a
    16:16:com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation.create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap):66:66 -> a
    16:16:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):95 -> a
    17:17:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):95:95 -> a
    18:19:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):78:79 -> a
    20:25:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):87:92 -> a
    26:26:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":121,"2":122,"3":123}}
    121:121:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    122:122:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    123:123:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    118:118:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    119:119:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    119:119:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92 -> a
    120:120:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation asOutlineCallsiteInformation() -> c
    1:9:java.lang.String serialize():35:43 -> i
com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation -> com.android.tools.r8.internal.NK:
    com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation) -> a
    1:1:boolean com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation.isSupported(com.android.tools.r8.naming.MapVersion):40:40 -> a
    1:1:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):44 -> a
    2:2:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):45:45 -> a
    1:3:java.lang.String serialize():24:26 -> i
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation -> com.android.tools.r8.internal.wT:
    java.util.List actions -> b
    java.util.List conditions -> a
    com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> c
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(java.util.List,java.util.List,com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$1):27:27 -> <init>
    2:4:void <init>(java.util.List,java.util.List):37:39 -> <init>
    1:1:void lambda$serialize$0(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition):60:60 -> a
    2:2:void lambda$serialize$1(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction):63:63 -> a
    3:3:boolean com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation.isSupported(com.android.tools.r8.naming.MapVersion):69:69 -> a
    3:3:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):79 -> a
    4:17:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):82:95 -> a
    18:18:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):74:74 -> a
    19:19:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isRewriteFrameMappingInformation():0:0 -> a
    19:19:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):74 -> a
    20:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):137:142 -> a
    20:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    20:25:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    26:26:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":40,"3":41}}
    40:40:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):143:143 -> a
    40:40:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    40:40:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    41:41:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):143:143 -> a
    41:41:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    41:41:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    27:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):144:145 -> a
    27:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    27:28:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    29:29:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88:88 -> a
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    30:30:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    31:31:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47,"4":48,"5":49}}
    45:45:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    45:45:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    45:45:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    46:46:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    46:46:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    46:46:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    47:47:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    47:47:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    47:47:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    48:48:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    48:48:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    48:48:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    49:49:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    49:49:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    49:49:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    32:32:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    32:32:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147 -> a
    32:32:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    32:32:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    33:33:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    33:33:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    33:33:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    34:34:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    34:34:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    34:34:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    35:35:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":50,"2":51,"3":52,"4":53,"5":54}}
    50:50:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    50:50:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    50:50:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    51:51:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    51:51:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    51:51:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    52:52:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    52:52:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    52:52:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    53:53:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    53:53:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    53:53:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    54:54:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    54:54:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    54:54:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    36:36:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    36:36:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140 -> a
    36:36:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    36:36:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    37:37:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    37:37:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    37:37:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    1:9:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):208:216 -> b
    1:9:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    1:9:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    10:10:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):274:274 -> b
    10:10:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    10:10:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    10:10:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    11:11:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.create(int):269:269 -> b
    11:11:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):274 -> b
    11:11:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    11:11:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    11:11:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    12:12:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94:94 -> b
    13:13:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    13:13:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    13:13:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    13:13:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    14:14:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    26:26:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    27:27:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    28:28:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    29:29:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    30:30:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    15:15:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276 -> b
    15:15:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    15:15:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    15:15:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    16:16:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    16:16:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    16:16:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    16:16:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    17:17:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    17:17:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    17:17:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    18:18:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    26:26:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    27:27:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    28:28:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    29:29:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    30:30:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    19:20:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:220 -> b
    19:20:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    19:20:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    21:21:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    26:26:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    27:27:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    28:28:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    29:29:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    30:30:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    22:22:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    22:22:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    22:22:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    23:23:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    23:23:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    23:23:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    24:24:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    26:26:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    27:27:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    28:28:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    29:29:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    30:30:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    25:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    25:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    25:25:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation asRewriteFrameMappingInformation() -> d
    1:9:java.lang.String serialize():57:65 -> i
    1:1:java.util.List getActions():47:47 -> j
    1:1:java.util.List getConditions():43:43 -> k
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder -> com.android.tools.r8.internal.rT:
    java.util.List actions -> b
    java.util.List conditions -> a
    1:4:void <init>():112:115 -> <init>
    1:1:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder addCondition(com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition):118:118 -> a
    2:2:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder addRewriteAction(com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction):123:123 -> a
    3:3:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation build():128:128 -> a
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition -> com.android.tools.r8.internal.sT:
    1:1:void <init>():132:132 -> <init>
    boolean evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl) -> a
    com.android.tools.r8.com.google.gson.JsonPrimitive serialize() -> a
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction -> com.android.tools.r8.internal.tT:
    int numberOfFrames -> b
    1:2:void <init>(int):240:241 -> <init>
    1:1:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    2:2:com.android.tools.r8.com.google.gson.JsonElement serialize():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":504,"2":505,"3":506}}
    504:504:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    505:505:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    506:506:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    252:252:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    253:253:com.android.tools.r8.com.google.gson.JsonElement serialize():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":507,"2":508,"3":509}}
    507:507:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    508:508:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    509:509:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    503:503:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    510:510:void evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder):265:265 -> a
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction -> com.android.tools.r8.internal.uT:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():203:203 -> <clinit>
    1:1:void <init>():203:203 -> <init>
    void evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder) -> a
    com.android.tools.r8.com.google.gson.JsonElement serialize() -> a
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition -> com.android.tools.r8.internal.vT:
    com.android.tools.r8.references.ClassReference classReference -> a
    1:2:void <init>(com.android.tools.r8.references.ClassReference):167:168 -> <init>
    1:1:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    2:2:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":176,"2":177,"3":178}}
    176:176:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    177:177:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    178:178:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    175:175:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    179:179:boolean evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl):188:188 -> a
    180:183:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):192:195 -> a
    184:184:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    185:185:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":188,"2":189,"3":190,"4":191,"5":192}}
    188:188:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    189:189:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    190:190:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    191:191:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    192:192:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    186:186:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    186:186:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193 -> a
    187:187:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    193:193:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition create(com.android.tools.r8.references.ClassReference):199:199 -> a
com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation -> com.android.tools.r8.internal.u00:
    java.lang.String id -> a
    java.lang.String payload -> b
    1:3:void <init>(java.lang.String,java.lang.String):16:18 -> <init>
    boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation) -> a
    1:1:void deserialize(java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):52:52 -> a
    com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation asUnknownJsonMappingInformation() -> e
    1:1:java.lang.String serialize():32:32 -> i
    1:1:java.lang.String getId():23:23 -> j
    1:1:java.lang.String getPayload():27:27 -> k
com.android.tools.r8.naming.signature.GenericSignatureAction -> com.android.tools.r8.internal.Ol:
    void parsedIdentifier(java.lang.String) -> a
    java.lang.Object parsedInnerTypeName(java.lang.Object,java.lang.String) -> a
    void parsedSymbol(char) -> a
    java.lang.Object parsedTypeName(java.lang.String,com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition) -> a
    void stop() -> a
com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition -> com.android.tools.r8.internal.Ol$a:
    com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition MEMBER_ANNOTATION -> d
    com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition ENCLOSING_INNER_OR_TYPE_ANNOTATION -> c
    com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition CLASS_SUPER_OR_INTERFACE_ANNOTATION -> b
    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.internal.Ql:
    com.android.tools.r8.naming.signature.GenericSignatureAction actions -> a
    char[] buffer -> e
    int pos -> f
    char symbol -> b
    boolean $assertionsDisabled -> g
    java.lang.String identifier -> c
    boolean eof -> d
    1:1:void <clinit>():54:54 -> <clinit>
    1:2:void <init>(com.android.tools.r8.naming.signature.GenericSignatureAction):76:77 -> <init>
    1:1:void parseClassSignature(java.lang.String):82:82 -> a
    2:7:void com.android.tools.r8.naming.signature.GenericSignatureParser.setInput(java.lang.String):129:134 -> a
    2:7:void parseClassSignature(java.lang.String):83 -> a
    8:19:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseOptFormalTypeParameters():158:169 -> a
    8:19:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseClassSignature():144 -> a
    8:19:void parseClassSignature(java.lang.String):84 -> a
    20:24:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseClassSignature():147:151 -> a
    20:24:void parseClassSignature(java.lang.String):84 -> a
    25:29:void parseClassSignature(java.lang.String):85:89 -> a
    30:30:void parseClassSignature(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":125,"2":126,"3":127}}
    125:125:void parseClassSignature(java.lang.String):89:89 -> a
    126:126:void parseClassSignature(java.lang.String):89:89 -> a
    127:127:void parseClassSignature(java.lang.String):89:89 -> a
    120:122:void parseClassSignature(java.lang.String):90:92 -> a
    123:123:void parseClassSignature(java.lang.String):87:87 -> a
    128:139:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseOptFormalTypeParameters():158:169 -> a
    128:139:void parseMethodTypeSignature():319 -> a
    140:144:void parseMethodTypeSignature():321:325 -> a
    145:145:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):312:312 -> a
    145:145:void parseMethodTypeSignature():325 -> a
    146:147:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):307:308 -> a
    146:147:void parseMethodTypeSignature():325 -> a
    148:149:void parseMethodTypeSignature():328:329 -> a
    150:151:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateReturnType():350:351 -> a
    150:151:void parseMethodTypeSignature():331 -> a
    152:152:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):312:312 -> a
    152:152:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateReturnType():351 -> a
    152:152:void parseMethodTypeSignature():331 -> a
    153:154:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):307:308 -> a
    153:154:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateReturnType():351 -> a
    153:154:void parseMethodTypeSignature():331 -> a
    155:156:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateReturnType():353:354 -> a
    155:156:void parseMethodTypeSignature():331 -> a
    157:163:void parseMethodTypeSignature():333:339 -> a
    164:172:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeVariableSignature():286:294 -> a
    164:172:void parseMethodTypeSignature():340 -> a
    173:175:void parseMethodTypeSignature():342:344 -> a
    176:190:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):218:232 -> a
    191:193:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():252:254 -> a
    191:193:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    194:206:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeArgument():268:280 -> a
    194:206:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():256 -> a
    194:206:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    207:207:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():257:257 -> a
    207:207:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    208:219:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeArgument():269:280 -> a
    208:219:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():258 -> a
    208:219:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    220:221:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():261:262 -> a
    220:221:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    222:228:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):236:242 -> a
    229:231:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():252:254 -> a
    229:231:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    232:244:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeArgument():268:280 -> a
    232:244:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():256 -> a
    232:244:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    245:245:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():257:257 -> a
    245:245:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    246:257:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeArgument():269:280 -> a
    246:257:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():258 -> a
    246:257:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    258:259:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():261:262 -> a
    258:259:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    260:261:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):246:247 -> a
    262:268:void expect(char):379:385 -> a
    269:269:void expect(char):380:380 -> a
    270:272:void parseError(java.lang.String,int):443:445 -> a
    1:1:void parseFieldSignature(java.lang.String):114:114 -> b
    2:7:void com.android.tools.r8.naming.signature.GenericSignatureParser.setInput(java.lang.String):129:134 -> b
    2:7:void parseFieldSignature(java.lang.String):115 -> b
    8:13:void parseFieldSignature(java.lang.String):116:121 -> b
    14:14:void parseFieldSignature(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":141,"2":142,"3":143}}
    141:141:void parseFieldSignature(java.lang.String):121:121 -> b
    142:142:void parseFieldSignature(java.lang.String):121:121 -> b
    143:143:void parseFieldSignature(java.lang.String):121:121 -> b
    136:138:void parseFieldSignature(java.lang.String):122:124 -> b
    139:139:void parseFieldSignature(java.lang.String):119:119 -> b
    144:151:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):197:204 -> b
    152:166:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):298:312 -> b
    152:166:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):205 -> b
    167:168:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):307:308 -> b
    167:168:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):205 -> b
    169:169:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):211:211 -> b
    170:178:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeVariableSignature():286:294 -> b
    170:178:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):208 -> b
    179:179:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):199:199 -> b
    180:201:void scanIdentifier():405:426 -> b
    202:213:void scanIdentifier():419:430 -> b
    214:214:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseError():439:439 -> b
    214:214:void scanIdentifier():431 -> b
    215:215:void scanIdentifier():434:434 -> b
    1:1:void parseMethodSignature(java.lang.String):98:98 -> c
    2:7:void com.android.tools.r8.naming.signature.GenericSignatureParser.setInput(java.lang.String):129:134 -> c
    2:7:void parseMethodSignature(java.lang.String):99 -> c
    8:13:void parseMethodSignature(java.lang.String):100:105 -> c
    14:14:void parseMethodSignature(java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":125,"2":126,"3":127}}
    125:125:void parseMethodSignature(java.lang.String):105:105 -> c
    126:126:void parseMethodSignature(java.lang.String):105:105 -> c
    127:127:void parseMethodSignature(java.lang.String):105:105 -> c
    120:122:void parseMethodSignature(java.lang.String):106:108 -> c
    123:123:void parseMethodSignature(java.lang.String):103:103 -> c
    128:138:void scanSymbol():364:374 -> c
    1:17:void updateFormalTypeParameter():175:191 -> d
com.android.tools.r8.naming.signature.GenericSignatureRewriter -> com.android.tools.r8.internal.Rl:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.NamingLens namingLens -> b
    com.android.tools.r8.graph.GenericSignatureContextBuilder contextBuilder -> c
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GenericSignatureContextBuilder):35:38 -> <init>
    1:11:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):45:55 -> a
    12:12:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    12:12:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):55 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:boolean com.android.tools.r8.graph.AppView.hasLiveness():655:655 -> a
    13:13:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):55 -> a
    14:23:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):55:64 -> a
    24:24:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):61:61 -> a
    25:25:boolean lambda$run$0(java.util.function.Predicate,com.android.tools.r8.graph.DexType):57:57 -> a
    26:26:boolean lambda$run$1(java.util.function.Predicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):60:60 -> a
    27:27:boolean lambda$run$2(java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):64:64 -> a
    28:32:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):67:71 -> a
    33:33:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):70:70 -> a
    34:46:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):68:80 -> a
    47:50:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):70:73 -> a
    47:50:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):80 -> a
    51:51:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):81:81 -> a
    52:52:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):78:78 -> a
    53:66:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):77:90 -> a
    67:67:void lambda$run$3(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):88:88 -> a
    68:70:void lambda$run$3(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):87:89 -> a
    71:71:void lambda$run$3(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):85:85 -> a
    72:72:void lambda$run$3(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):84:84 -> a
    73:73:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):100:100 -> a
    74:77:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):99:102 -> a
    78:78:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):96:96 -> a
    79:79:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):95:95 -> a
com.android.tools.r8.optimize.ClassAndMemberPublicizer -> com.android.tools.r8.internal.D9:
    com.android.tools.r8.graph.DexApplication application -> a
    com.android.tools.r8.ir.optimize.MethodPoolCollection methodPoolCollection -> d
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder lensBuilder -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> c
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):52:52 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):47:57 -> <init>
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> a
    1:1:java.lang.Boolean lambda$publicizeMethod$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass,java.lang.Boolean):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:java.lang.Boolean lambda$publicizeMethod$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass,java.lang.Boolean):181:181 -> a
    3:4:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):76:77 -> a
    5:9:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):82:86 -> a
    10:10:void com.android.tools.r8.shaking.AppInfoWithLiveness.forEachReachableInterface(java.util.function.Consumer):793:793 -> a
    10:10:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):86 -> a
    11:14:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):87:90 -> a
    15:15:void lambda$run$0(com.android.tools.r8.graph.DexClass):86:86 -> a
    16:20:void publicizeType(com.android.tools.r8.graph.DexType):98:102 -> a
    21:21:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):106:106 -> a
    22:22:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClass.getAccessFlags():43:43 -> a
    22:22:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    22:22:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):107 -> a
    23:23:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    23:23:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):107 -> a
    24:24:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):111:111 -> a
    25:25:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    25:25:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):111 -> a
    26:43:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):114:131 -> a
    44:52:void com.android.tools.r8.graph.DexClass.replaceInnerClassAttributeForThisClass(com.android.tools.r8.graph.InnerClassAttribute):1076:1084 -> a
    44:52:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):129 -> a
    53:54:void lambda$publicizeClass$1(java.util.Set,com.android.tools.r8.graph.ProgramMethod):117:118 -> a
    55:55:void publicizeField(com.android.tools.r8.graph.ProgramField):136:136 -> a
    56:56:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    56:56:void publicizeField(com.android.tools.r8.graph.ProgramField):137 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    57:57:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    57:57:void publicizeField(com.android.tools.r8.graph.ProgramField):137 -> a
    58:61:void publicizeField(com.android.tools.r8.graph.ProgramField):140:143 -> a
    62:62:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    62:62:void publicizeField(com.android.tools.r8.graph.ProgramField):147 -> a
    63:91:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):151:179 -> a
    92:92:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):176:176 -> a
    93:93:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    93:93:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    93:93:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):184 -> a
    94:94:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition) -> a
    94:94:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):184 -> a
    95:97:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):188:190 -> a
    98:98:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    98:98:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    98:98:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):195 -> a
    99:99:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    99:99:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):195 -> a
    100:114:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):202:216 -> a
    115:115:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    115:115:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    115:115:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):217 -> a
    116:116:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    116:116:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):217 -> a
    117:117:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):219:219 -> a
    118:118:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    118:118:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    118:118:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):166 -> a
    119:119:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    119:119:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):166 -> a
com.android.tools.r8.optimize.FieldRebindingIdentityLens -> com.android.tools.r8.internal.Vj:
    boolean $assertionsDisabled -> g
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> f
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.FieldRebindingIdentityLens$1):23:23 -> <init>
    2:3:void <init>(java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):31:32 -> <init>
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):60:60 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):70:70 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):78:78 -> a
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:5:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):46:50 -> b
    6:6:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.FieldRebindingIdentityLens.getReboundFieldReference(com.android.tools.r8.graph.DexField):55:55 -> b
    6:6:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):50 -> b
    7:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):50:51 -> b
    9:9:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):65:65 -> b
    10:10:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):83:83 -> b
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111:113 -> c
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    boolean hasCodeRewritings() -> e
    1:1:boolean isContextFreeForMethods():118:118 -> g
com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder -> com.android.tools.r8.internal.Uj:
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> a
    1:1:void <init>(com.android.tools.r8.optimize.FieldRebindingIdentityLens$1):121:121 -> <init>
    2:2:void <init>():126:126 -> <init>
    3:3:void <init>():123:123 -> <init>
    1:1:void recordDefinitionForNonReboundFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):130:130 -> a
    2:3:com.android.tools.r8.optimize.FieldRebindingIdentityLens build(com.android.tools.r8.graph.DexItemFactory):137:138 -> a
com.android.tools.r8.optimize.InvokeSingleTargetExtractor -> com.android.tools.r8.internal.zu:
    com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind kind -> e
    com.android.tools.r8.graph.DexMethod target -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):20:20 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):16:16 -> <init>
    1:7:void setTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind):24:30 -> a
    8:8:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> a
    8:8:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):83 -> a
    9:9:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> a
    9:9:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):58 -> a
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> b
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):48 -> b
    2:2:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):68 -> b
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):78 -> c
    2:2:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> c
    2:2:void registerInstanceOf(com.android.tools.r8.graph.DexType):108 -> c
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> d
    1:1:void registerNewInstance(com.android.tools.r8.graph.DexType):88 -> d
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):63:63 -> d
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> e
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):93 -> e
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> f
    1:1:void registerTypeReference(com.android.tools.r8.graph.DexType):103 -> f
    2:2:com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind getKind():43:43 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):73:73 -> f
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):98 -> g
    2:2:com.android.tools.r8.graph.DexMethod getTarget():39:39 -> g
    3:3:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):53:53 -> g
com.android.tools.r8.optimize.MemberRebindingAnalysis -> com.android.tools.r8.internal.KD:
    com.android.tools.r8.optimize.MemberRebindingLens$Builder lensBuilder -> d
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.utils.InternalOptions options -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.androidapi.AndroidApiLevelCompute androidApiLevelCompute -> a
    1:1:void <clinit>():47:47 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView):55:60 -> <init>
    1:1:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    1:1:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):177 -> a
    2:10:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):178:186 -> a
    11:18:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):182:189 -> a
    19:19:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.MemberRebindingAnalysis):47:47 -> a
    20:20:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):69:69 -> a
    21:21:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    21:21:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):69 -> a
    22:24:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):69:71 -> a
    25:25:boolean com.android.tools.r8.ir.code.Invoke$Type.isDirect():181:181 -> a
    25:25:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):71 -> a
    26:26:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> a
    26:26:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):75 -> a
    27:34:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):75:82 -> a
    35:51:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):78:94 -> a
    52:52:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):309:309 -> a
    52:52:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):94 -> a
    53:57:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):100:104 -> a
    58:58:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):103:103 -> a
    59:59:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    59:59:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):147 -> a
    59:59:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    60:60:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):148:148 -> a
    60:60:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    61:61:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):168:168 -> a
    61:61:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):149 -> a
    61:61:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    62:62:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> a
    62:62:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):168 -> a
    62:62:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):149 -> a
    62:62:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    63:63:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToAbstractMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):172:172 -> a
    63:63:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):150 -> a
    63:63:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    64:64:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> a
    64:64:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToAbstractMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):172 -> a
    64:64:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):150 -> a
    64:64:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    65:65:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):152:152 -> a
    65:65:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    66:66:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):151:151 -> a
    66:66:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    67:69:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):107:109 -> a
    70:70:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):764:764 -> a
    70:70:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):756 -> a
    70:70:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):109 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):760:760 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):764 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):756 -> a
    71:71:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):109 -> a
    72:72:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):772:772 -> a
    72:72:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):756 -> a
    72:72:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):109 -> a
    73:73:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexMethod):768:768 -> a
    73:73:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):772 -> a
    73:73:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):756 -> a
    73:73:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):109 -> a
    74:96:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):112:134 -> a
    97:103:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):130:136 -> a
    104:104:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159:159 -> a
    105:105:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    105:105:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    106:106:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    106:106:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159 -> a
    107:107:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159:159 -> a
    108:108:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    108:108:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    109:109:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    109:109:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159 -> a
    110:110:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):162:162 -> a
    111:111:boolean lambda$isAccessibleInAllContexts$0(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):164:164 -> a
    112:113:com.android.tools.r8.graph.DexType firstLibraryClassOrFirstInterfaceTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):199:200 -> a
    114:119:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.MemberRebindingAnalysis.firstLibraryClass(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):238:243 -> a
    114:119:com.android.tools.r8.graph.DexType firstLibraryClassOrFirstInterfaceTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):201 -> a
    120:142:com.android.tools.r8.graph.DexType firstLibraryClassForInterfaceTarget(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):209:231 -> a
    143:143:com.android.tools.r8.graph.MethodResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod):255:255 -> a
    144:155:void computeMethodRebinding(com.android.tools.r8.graph.MethodAccessInfoCollection):260:271 -> a
    156:220:void computeMethodRebinding(com.android.tools.r8.utils.BiForEachable,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):279:343 -> a
    221:221:java.util.List lambda$computeMethodRebinding$1(com.android.tools.r8.graph.DexProgramClass):284:284 -> a
    222:223:void lambda$computeMethodRebinding$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):284:285 -> a
    224:238:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):289:303 -> a
    239:239:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):365:365 -> a
    239:239:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):310 -> a
    240:240:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    240:240:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):365 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    240:240:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):310 -> a
    241:241:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    241:241:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):365 -> a
    241:241:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):310 -> a
    242:245:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):365:368 -> a
    242:245:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):310 -> a
    246:246:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):314:314 -> a
    247:251:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForInterfaceMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.TriConsumer):385:389 -> a
    247:251:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):313 -> a
    252:253:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):318:319 -> a
    254:263:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForVisibilityIfNeeded(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):432:441 -> a
    254:263:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):321 -> a
    264:267:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForVisibilityIfNeeded(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):436:439 -> a
    264:267:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):321 -> a
    268:268:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):327:327 -> a
    269:269:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    269:269:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):328 -> a
    270:276:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):329:335 -> a
    277:277:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):333:333 -> a
    278:278:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):331:331 -> a
    279:279:int lambda$computeMethodRebinding$5(com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.Pair):347:347 -> a
    280:291:void lambda$computeMethodRebinding$6(java.util.function.Function,com.android.tools.r8.graph.DexProgramClass,java.util.List):347:358 -> a
    292:301:com.android.tools.r8.graph.DexProgramClass findHolderForInterfaceMethodBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):393:402 -> a
    302:309:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):406:413 -> a
    302:309:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):319 -> a
    310:314:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):412:416 -> a
    310:314:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):319 -> a
    315:319:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):415:419 -> a
    315:319:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):319 -> a
    320:342:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):446:468 -> a
    343:344:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$8(java.util.Set,com.android.tools.r8.graph.FieldAccessInfo):496:497 -> a
    345:350:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):499:504 -> a
    351:356:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):500:505 -> a
    357:359:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):514:516 -> a
    360:360:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):515:515 -> a
    361:362:void lambda$computeNonReboundFieldReferences$9(java.util.Set,com.android.tools.r8.graph.ProgramMethod):518:519 -> a
    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod):247:247 -> b
    2:5:void recordNonReboundFieldAccesses(java.util.concurrent.ExecutorService):475:478 -> b
    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexMethod):251:251 -> c
    2:6:com.android.tools.r8.optimize.MemberRebindingLens run(java.util.concurrent.ExecutorService):482:486 -> c
    1:18:boolean verifyFieldAccessCollectionContainsAllNonReboundFieldReferences(java.util.concurrent.ExecutorService):491:508 -> d
com.android.tools.r8.optimize.MemberRebindingAnalysis$1 -> com.android.tools.r8.internal.JD:
    com.android.tools.r8.optimize.MemberRebindingAnalysis this$0 -> f
    java.util.Set val$nonReboundFieldReferences -> e
    1:1:void <init>(com.android.tools.r8.optimize.MemberRebindingAnalysis,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.Set):520:520 -> <init>
    void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):524:524 -> a
    2:3:void lambda$registerFieldReference$0(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):548:549 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):529:529 -> c
    void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
    void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):534:534 -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):539:539 -> g
    1:4:void registerFieldReference(com.android.tools.r8.graph.DexField):543:546 -> i
com.android.tools.r8.optimize.MemberRebindingIdentityLens -> com.android.tools.r8.internal.MD:
    boolean $assertionsDisabled -> h
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> f
    java.util.Map nonReboundMethodReferenceToDefinitionMap -> g
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.MemberRebindingIdentityLens$1):27:27 -> <init>
    2:5:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):37:40 -> <init>
    com.android.tools.r8.optimize.MemberRebindingIdentityLens asMemberRebindingIdentityLens() -> a
    1:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):74:77 -> a
    5:5:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingIdentityLens.getReboundMethodReference(com.android.tools.r8.graph.DexMethod):84:84 -> a
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):77 -> a
    6:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):77:80 -> a
    10:10:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):89:89 -> a
    11:11:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):99:99 -> a
    12:12:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):107:107 -> a
    13:13:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    13:13:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):107 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:15:com.android.tools.r8.optimize.MemberRebindingIdentityLens toRewrittenMemberRebindingIdentityLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):156:157 -> a
    16:16:com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder com.android.tools.r8.optimize.MemberRebindingIdentityLens.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):49:49 -> a
    16:16:com.android.tools.r8.optimize.MemberRebindingIdentityLens toRewrittenMemberRebindingIdentityLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):157 -> a
    17:36:com.android.tools.r8.optimize.MemberRebindingIdentityLens toRewrittenMemberRebindingIdentityLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):158:177 -> a
    37:37:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    37:37:void lambda$toRewrittenMemberRebindingIdentityLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):170 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:void lambda$toRewrittenMemberRebindingIdentityLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):173:173 -> a
    39:39:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    39:39:void lambda$toRewrittenMemberRebindingIdentityLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):173 -> a
    40:42:void lambda$toRewrittenMemberRebindingIdentityLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):172:174 -> a
    43:43:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    43:43:void lambda$toRewrittenMemberRebindingIdentityLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):160 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:void lambda$toRewrittenMemberRebindingIdentityLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):163:163 -> a
    45:45:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    45:45:void lambda$toRewrittenMemberRebindingIdentityLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):163 -> a
    46:48:void lambda$toRewrittenMemberRebindingIdentityLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):162:164 -> a
    1:5:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):59:63 -> b
    6:6:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.MemberRebindingIdentityLens.getReboundFieldReference(com.android.tools.r8.graph.DexField):68:68 -> b
    6:6:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):63 -> b
    7:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):63:64 -> b
    9:9:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):94:94 -> b
    10:10:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):112:112 -> b
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):134:136 -> c
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    boolean hasCodeRewritings() -> e
    1:1:boolean isContextFreeForMethods():141:141 -> g
com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder -> com.android.tools.r8.internal.LD:
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map nonReboundMethodReferenceToDefinitionMap -> d
    com.android.tools.r8.graph.GraphLens previousLens -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.MemberRebindingIdentityLens$1):180:180 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):190:190 -> <init>
    3:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):185:192 -> <init>
    1:1:void recordNonReboundFieldAccesses(com.android.tools.r8.graph.FieldAccessInfo):196:196 -> a
    2:2:void lambda$recordNonReboundFieldAccesses$0(com.android.tools.r8.graph.FieldAccessInfo,com.android.tools.r8.graph.DexField):198:198 -> a
    3:3:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203:203 -> a
    3:3:void lambda$recordNonReboundFieldAccesses$0(com.android.tools.r8.graph.FieldAccessInfo,com.android.tools.r8.graph.DexField):198 -> a
    4:4:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203:203 -> a
    4:4:void access$300(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):180 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203:203 -> a
    5:5:void access$300(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):180 -> a
    6:6:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundMethodAccess(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):208:208 -> a
    6:6:void access$200(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):180 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundMethodAccess(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):208:208 -> a
    7:7:void access$200(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):180 -> a
    8:17:void recordMethodAccess(com.android.tools.r8.graph.DexMethod):213:222 -> a
    18:18:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundMethodAccess(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):208:208 -> a
    18:18:void recordMethodAccess(com.android.tools.r8.graph.DexMethod):221 -> a
    19:22:com.android.tools.r8.optimize.MemberRebindingIdentityLens build():231:234 -> a
com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory -> com.android.tools.r8.internal.OD:
    1:19:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):46:64 -> a
    20:20:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection):71:71 -> a
    21:21:com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder com.android.tools.r8.optimize.MemberRebindingIdentityLens.builder(com.android.tools.r8.graph.AppView):44:44 -> a
    21:21:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection):71 -> a
    22:22:com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder com.android.tools.r8.optimize.MemberRebindingIdentityLens.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):49:49 -> a
    22:22:com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder com.android.tools.r8.optimize.MemberRebindingIdentityLens.builder(com.android.tools.r8.graph.AppView):44 -> a
    22:22:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection):71 -> a
    23:25:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection):72:74 -> a
    26:29:void initializeMemberAccessInfoCollectionsForMemberRebinding(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.concurrent.ExecutorService):87:90 -> a
    30:30:void initializeMemberAccessInfoCollectionsForMemberRebinding(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.concurrent.ExecutorService):89:89 -> a
    31:31:void lambda$initializeMemberAccessInfoCollectionsForMemberRebinding$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):92:92 -> a
    32:32:void com.android.tools.r8.graph.UseRegistry.accept(com.android.tools.r8.graph.ProgramMethod):31:31 -> a
    32:32:void lambda$initializeMemberAccessInfoCollectionsForMemberRebinding$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):99 -> a
com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory$NonReboundMemberReferencesRegistry -> com.android.tools.r8.internal.ND:
    java.util.Set seenFieldReferences -> h
    java.util.Set seenMethodReferences -> i
    com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder methodAccessInfoCollectionBuilder -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> e
    com.android.tools.r8.graph.FieldAccessInfoCollectionImpl fieldAccessInfoCollection -> f
    1:1:void <clinit>():103:103 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.Set,java.util.Set):118:123 -> <init>
    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):128:128 -> a
    2:15:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):154:167 -> a
    16:16:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    16:16:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):167 -> a
    17:19:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):168:170 -> a
    20:20:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    20:20:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):170 -> a
    21:29:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):170:178 -> a
    30:30:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):184:184 -> a
    31:37:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod,java.util.Map):208:214 -> a
    38:38:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    38:38:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod,java.util.Map):214 -> a
    39:51:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod,java.util.Map):218:230 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):189:189 -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):133:133 -> c
    void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):194:194 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):138:138 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):199:199 -> f
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):143:143 -> g
    2:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):204:204 -> g
    1:6:void registerFieldAccess(com.android.tools.r8.graph.DexField):147:152 -> i
com.android.tools.r8.optimize.MemberRebindingLens -> com.android.tools.r8.internal.QD:
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.AppView appView -> f
    java.util.Map methodMaps -> g
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> h
    1:1:void <clinit>():25:25 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map):35:38 -> <init>
    1:1:com.android.tools.r8.optimize.MemberRebindingLens$Builder builder(com.android.tools.r8.graph.AppView):42:42 -> a
    2:2:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):57:57 -> a
    3:3:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):67:67 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):75:75 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    5:5:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):75 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:17:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):121:132 -> a
    18:18:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):131:131 -> a
    19:22:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):130:133 -> a
    23:23:com.android.tools.r8.optimize.FieldRebindingIdentityLens toRewrittenFieldRebindingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):148:148 -> a
    24:24:com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder com.android.tools.r8.optimize.FieldRebindingIdentityLens.builder():36:36 -> a
    24:24:com.android.tools.r8.optimize.FieldRebindingIdentityLens toRewrittenFieldRebindingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):149 -> a
    25:35:com.android.tools.r8.optimize.FieldRebindingIdentityLens toRewrittenFieldRebindingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):150:160 -> a
    36:36:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    36:36:void lambda$toRewrittenFieldRebindingLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):153 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:37:void lambda$toRewrittenFieldRebindingLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):156:156 -> a
    38:38:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    38:38:void lambda$toRewrittenFieldRebindingLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):156 -> a
    39:41:void lambda$toRewrittenFieldRebindingLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):155:157 -> a
    com.android.tools.r8.optimize.MemberRebindingLens asMemberRebindingLens() -> b
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):62:62 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):81:81 -> b
    3:7:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):106:110 -> b
    8:8:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.MemberRebindingLens.getReboundFieldReference(com.android.tools.r8.graph.DexField):115:115 -> b
    8:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):110 -> b
    9:10:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):110:111 -> b
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):89:91 -> c
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    1:1:boolean isContextFreeForMethods():96:96 -> g
com.android.tools.r8.optimize.MemberRebindingLens$Builder -> com.android.tools.r8.internal.PD:
    java.util.Map methodMaps -> b
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():163:163 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.MemberRebindingLens$1):163:163 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):170:170 -> <init>
    3:8:void <init>(com.android.tools.r8.graph.AppView):166:171 -> <init>
    1:7:void map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):176:182 -> a
    8:8:java.util.Map lambda$map$0(com.android.tools.r8.ir.code.Invoke$Type):180:180 -> a
    9:10:void recordNonReboundFieldAccesses(com.android.tools.r8.graph.FieldAccessInfo):186:187 -> a
    11:11:void com.android.tools.r8.optimize.MemberRebindingLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):194:194 -> a
    11:11:void lambda$recordNonReboundFieldAccesses$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):189 -> a
    12:12:com.android.tools.r8.optimize.MemberRebindingLens build():198:198 -> a
com.android.tools.r8.optimize.PublicizerLens -> com.android.tools.r8.internal.uP:
    com.android.tools.r8.graph.AppView appView -> n
    boolean $assertionsDisabled -> p
    java.util.Set publicizedMethods -> o
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.optimize.PublicizerLens$1):16:16 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):22:24 -> <init>
    1:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):42:43 -> a
    3:3:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):54:54 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    4:4:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):54 -> a
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    5:9:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):55:59 -> a
    5:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    10:10:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    10:10:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    11:11:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    11:11:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):60 -> a
    11:11:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    12:12:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):60:60 -> a
    12:12:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    13:17:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):44:48 -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    boolean isLegitimateToHaveEmptyMappings() -> n
    1:1:com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder createBuilder():65:65 -> o
com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder -> com.android.tools.r8.internal.tP:
    java.util.Set publicizedMethods -> a
    1:1:void <init>(com.android.tools.r8.optimize.PublicizerLens$1):68:68 -> <init>
    2:2:void <init>():71:71 -> <init>
    3:3:void <init>():69:69 -> <init>
    1:4:com.android.tools.r8.graph.GraphLens build(com.android.tools.r8.graph.AppView):74:77 -> a
    5:5:void add(com.android.tools.r8.graph.DexMethod):81:81 -> a
com.android.tools.r8.optimize.VisibilityBridgeRemover -> com.android.tools.r8.internal.Z10:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):27:28 -> <init>
    1:19:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):33:51 -> a
    1:19:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):91 -> a
    20:20:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isTargetingSuperMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind,com.android.tools.r8.graph.DexMethod):75:75 -> a
    20:20:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):51 -> a
    20:20:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):91 -> a
    21:31:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):55:65 -> a
    21:31:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):91 -> a
    32:32:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    32:32:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):91 -> a
    33:33:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isTargetingSuperMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind,com.android.tools.r8.graph.DexMethod):77:77 -> a
    33:33:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):51 -> a
    33:33:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):91 -> a
    34:34:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):92:92 -> a
    35:38:void run(java.util.concurrent.ExecutorService):83:86 -> a
    39:56:void run(java.util.concurrent.ExecutorService):85:102 -> a
    57:65:void lambda$run$1(java.util.concurrent.ConcurrentHashMap,com.android.tools.r8.graph.DexProgramClass):88:96 -> a
    66:67:void lambda$run$3(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):104:105 -> a
    68:68:void lambda$run$2(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexEncodedMethod):105:105 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator -> com.android.tools.r8.internal.L2:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> e
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner codeScanner -> b
    com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis effectivelyUnusedArgumentsAnalysis -> c
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection reprocessingCriteriaCollection -> d
    1:1:void <clinit>():36:36 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView):57:61 -> <init>
    1:36:void initializeCodeScanner(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):70:105 -> a
    37:48:void lambda$initializeCodeScanner$0(com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Set):89:100 -> a
    49:61:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):111:123 -> a
    62:62:boolean com.android.tools.r8.ir.conversion.MethodProcessor.isPostMethodProcessor():0:0 -> a
    62:62:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):123 -> a
    63:63:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):123:123 -> a
    64:65:void publishDelayedReprocessingCriteria():128:129 -> a
    66:67:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):133:134 -> a
    68:68:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    68:68:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108 -> a
    68:68:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    68:68:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135 -> a
    69:69:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108:108 -> a
    69:69:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    69:69:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    70:71:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):136:137 -> a
    72:89:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):147:164 -> a
    90:92:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator.populateParameterOptimizationInfo(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.List,java.util.function.BiConsumer,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):214:216 -> a
    90:92:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):164 -> a
    93:93:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    93:93:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator.populateParameterOptimizationInfo(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.List,java.util.function.BiConsumer,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):216 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:93:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):164 -> a
    94:94:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    94:94:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator.populateParameterOptimizationInfo(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.List,java.util.function.BiConsumer,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):216 -> a
    94:94:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):164 -> a
    95:115:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator.populateParameterOptimizationInfo(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.List,java.util.function.BiConsumer,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):216:236 -> a
    95:115:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):164 -> a
    116:133:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):180:197 -> a
    134:137:void lambda$tearDownCodeScanner$2(java.util.Map,java.util.Set,com.android.tools.r8.graph.DexMethodSignature):169:172 -> a
    138:138:com.android.tools.r8.utils.collections.DexMethodSignatureSet lambda$tearDownCodeScanner$1(java.util.Set):171:171 -> a
    139:144:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):250:255 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer -> com.android.tools.r8.internal.N2:
    com.android.tools.r8.graph.AppView appView -> f
    boolean $assertionsDisabled -> h
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens graphLens -> g
    1:1:void <clinit>():39:39 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens):46:48 -> <init>
    void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField) -> a
    void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer):39:39 -> a
    2:14:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):56:68 -> a
    15:19:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):379:383 -> a
    15:19:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):68 -> a
    20:22:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):70:72 -> a
    23:23:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):383:383 -> a
    23:23:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):68 -> a
    24:25:void fixupClass(com.android.tools.r8.graph.DexProgramClass):76:77 -> a
    26:26:void lambda$fixupFields$1(com.android.tools.r8.graph.DexEncodedField$Builder):84:84 -> a
    27:34:void lambda$fixupMethods$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):106:113 -> a
    35:35:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    35:35:void lambda$fixupMethods$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):113 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    36:36:void lambda$fixupMethods$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):113 -> a
    37:39:void lambda$fixupMethods$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):114:116 -> a
    40:40:void lambda$fixupMethods$3(com.android.tools.r8.graph.MethodAccessFlags):115:115 -> a
    41:44:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer.fixupOptimizationInfos(java.util.concurrent.ExecutorService):124:127 -> a
    41:44:void lambda$fixupApplication$0(java.util.concurrent.ExecutorService):68 -> a
    45:45:void com.android.tools.r8.ir.optimize.info.OptimizationFeedback.fixupOptimizationInfos(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):54:54 -> a
    45:45:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer.fixupOptimizationInfos(java.util.concurrent.ExecutorService):127 -> a
    45:45:void lambda$fixupApplication$0(java.util.concurrent.ExecutorService):68 -> a
    46:46:com.android.tools.r8.graph.DexField fixupFieldReference(com.android.tools.r8.graph.DexField):160:160 -> a
    47:47:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):165:165 -> a
    48:48:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):170:170 -> a
    49:49:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):190:190 -> a
    com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType) -> b
    1:1:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens access$100(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer):39:39 -> b
    2:2:void fixupFields(com.android.tools.r8.graph.DexProgramClass):83:83 -> b
    3:3:void fixupFields(com.android.tools.r8.graph.DexProgramClass):82:82 -> b
    4:10:void fixupFields(com.android.tools.r8.graph.DexProgramClass):81:87 -> b
    11:11:void fixupFields(com.android.tools.r8.graph.DexProgramClass):86:86 -> b
    12:12:void fixupFields(com.android.tools.r8.graph.DexProgramClass):85:85 -> b
    13:13:void lambda$fixupFields$2(com.android.tools.r8.graph.DexEncodedField$Builder):88:88 -> b
    14:22:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupMethods$5(com.android.tools.r8.graph.DexEncodedMethod):95:103 -> b
    1:2:void fixupMethods(com.android.tools.r8.graph.DexProgramClass):92:93 -> c
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer$1 -> com.android.tools.r8.internal.M2:
    com.android.tools.r8.graph.PrunedItems val$prunedItems -> b
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer this$0 -> c
    com.android.tools.r8.graph.GraphLens val$codeLens -> a
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):130:130 -> <init>
    1:1:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):134:134 -> a
    2:11:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):142:151 -> a
    12:12:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.createMethodOptimizationInfoFixer():83:83 -> a
    12:12:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):151 -> a
    13:13:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):152:152 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner -> com.android.tools.r8.internal.O2:
    com.android.tools.r8.ir.code.AliasedValueConfiguration aliasedValueConfiguration -> g
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameterFactory methodParameterFactory -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> f
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set monomorphicVirtualMethods -> c
    boolean $assertionsDisabled -> h
    java.util.Map virtualRootMethods -> e
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection reprocessingCriteriaCollection -> d
    1:4:void <clinit>():63:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection):92:92 -> <init>
    2:26:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection):70:94 -> <init>
    1:1:void addMonomorphicVirtualMethods(java.util.Set):98:98 -> a
    2:2:void addVirtualRootMethods(java.util.Map):102:102 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference getMethodStates():106:106 -> a
    4:4:boolean isMonomorphicVirtualMethod(com.android.tools.r8.graph.ProgramMethod):132:132 -> a
    5:5:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMonomorphicVirtualMethod(com.android.tools.r8.graph.DexMethod):138:138 -> a
    5:5:boolean isMonomorphicVirtualMethod(com.android.tools.r8.graph.ProgramMethod):132 -> a
    6:6:boolean isMonomorphicVirtualMethod(com.android.tools.r8.graph.ProgramMethod):133:133 -> a
    7:10:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):142:145 -> a
    11:11:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> a
    11:11:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):146 -> a
    12:12:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):147:147 -> a
    13:20:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.scan(com.android.tools.r8.ir.code.InvokeCustom,com.android.tools.r8.graph.ProgramMethod):542:549 -> a
    13:20:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):147 -> a
    21:21:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):150:150 -> a
    22:55:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):154:187 -> a
    56:56:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    56:56:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):188 -> a
    57:57:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):188:188 -> a
    58:58:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    58:58:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):193 -> a
    59:59:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):194:194 -> a
    60:60:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    60:60:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):200 -> a
    61:61:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):204:204 -> a
    62:62:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    62:62:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):209 -> a
    63:63:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):219:219 -> a
    64:85:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):210:231 -> a
    86:92:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):229:235 -> a
    93:99:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):244:250 -> a
    93:99:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    100:101:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.shouldUsePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):535:536 -> a
    100:101:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):252 -> a
    100:101:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    102:102:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMonomorphicVirtualMethod(com.android.tools.r8.graph.DexMethod):138:138 -> a
    102:102:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.shouldUsePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):536 -> a
    102:102:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):252 -> a
    102:102:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    103:109:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):253:259 -> a
    103:109:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    110:110:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):282:282 -> a
    110:110:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    110:110:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    111:111:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    111:111:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):282 -> a
    111:111:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    111:111:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    112:114:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):283:285 -> a
    112:114:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    112:114:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    115:115:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    115:115:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):285 -> a
    115:115:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    115:115:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    116:116:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):325:325 -> a
    116:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    116:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    116:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    117:117:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    117:117:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):325 -> a
    117:117:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    117:117:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    117:117:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    118:118:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    118:118:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    118:118:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):325 -> a
    118:118:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    118:118:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    118:118:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    119:119:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):325:325 -> a
    119:119:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    119:119:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    119:119:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    120:128:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):324:332 -> a
    120:128:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    120:128:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    120:128:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    129:129:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):110:110 -> a
    129:129:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):336 -> a
    129:129:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    129:129:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    129:129:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    130:136:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):338:344 -> a
    130:136:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    130:136:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    130:136:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    137:137:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    137:137:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):344 -> a
    137:137:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    137:137:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    137:137:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    138:138:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    138:138:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    138:138:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):344 -> a
    138:138:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    138:138:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    138:138:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    139:139:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):344:344 -> a
    139:139:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    139:139:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    139:139:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    140:143:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):343:346 -> a
    140:143:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    140:143:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    140:143:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    144:144:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):290:290 -> a
    144:144:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    144:144:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    145:145:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    145:145:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):290 -> a
    145:145:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    145:145:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    146:146:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):291:291 -> a
    146:146:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    146:146:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    147:147:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    147:147:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):292 -> a
    147:147:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    147:147:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    148:148:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):294:294 -> a
    148:148:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    148:148:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    149:149:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    149:149:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):296 -> a
    149:149:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    149:149:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    150:156:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):295:301 -> a
    150:156:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    150:156:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    157:157:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    157:157:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):302 -> a
    157:157:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    157:157:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    158:158:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):311:311 -> a
    158:158:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    158:158:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    159:166:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):306:313 -> a
    159:166:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    159:166:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    167:168:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):261:262 -> a
    167:168:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    169:169:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    169:169:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):266 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    169:169:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    170:170:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    170:170:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):266 -> a
    170:170:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    171:171:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):268:268 -> a
    171:171:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    172:172:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):363:363 -> a
    172:172:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    172:172:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    173:173:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    173:173:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):364 -> a
    173:173:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    173:173:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    174:174:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):364:364 -> a
    174:174:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    174:174:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    175:175:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    175:175:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):364 -> a
    175:175:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    175:175:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    176:176:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):357:357 -> a
    176:176:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    176:176:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    177:177:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):270:270 -> a
    177:177:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    178:182:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):375:379 -> a
    183:183:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.alwaysReprocess():34:34 -> a
    183:183:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):380 -> a
    184:192:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):383:391 -> a
    193:193:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):423:423 -> a
    193:193:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    194:194:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    194:194:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):423 -> a
    194:194:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    195:195:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):424:424 -> a
    195:195:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    196:196:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    196:196:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):424 -> a
    196:196:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    197:197:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    197:197:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):425 -> a
    197:197:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    198:198:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):430:430 -> a
    198:198:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    199:199:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    199:199:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):431 -> a
    199:199:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    200:202:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):434:436 -> a
    200:202:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    203:203:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    203:203:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):437 -> a
    203:203:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    204:204:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):438:438 -> a
    204:204:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    205:205:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReceiverParameterState.<init>(com.android.tools.r8.ir.analysis.type.DynamicType):22:22 -> a
    205:205:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):438 -> a
    205:205:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    206:224:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):385:403 -> a
    225:225:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):449:449 -> a
    225:225:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    226:226:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    226:226:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):449 -> a
    226:226:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    227:227:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):450:450 -> a
    227:227:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    228:228:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    228:228:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):450 -> a
    228:228:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    229:229:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    229:229:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):451 -> a
    229:229:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    230:230:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):454:454 -> a
    230:230:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    231:231:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    231:231:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):454 -> a
    231:231:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    232:232:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    232:232:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):454 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    232:232:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    233:233:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):456:456 -> a
    233:233:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    234:234:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    234:234:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):456 -> a
    234:234:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    235:236:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):456:457 -> a
    235:236:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    237:237:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    237:237:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):457 -> a
    237:237:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    238:238:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    238:238:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    238:238:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):457 -> a
    238:238:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    239:242:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):464:467 -> a
    239:242:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    243:243:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):466:466 -> a
    243:243:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    244:246:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):114:116 -> a
    244:246:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    244:246:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    247:247:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):110:110 -> a
    247:247:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):118 -> a
    247:247:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    247:247:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    248:248:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):117:117 -> a
    248:248:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    248:248:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    249:259:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):115:125 -> a
    249:259:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    249:259:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    260:260:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    260:260:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):125 -> a
    260:260:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    260:260:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    261:262:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):127:128 -> a
    261:262:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    261:262:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    263:263:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    263:263:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):469 -> a
    263:263:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    264:265:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):471:472 -> a
    264:265:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    266:266:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    266:266:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):25 -> a
    266:266:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):472 -> a
    266:266:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    267:267:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):25:25 -> a
    267:267:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):472 -> a
    267:267:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    268:269:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):473:474 -> a
    268:269:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    270:270:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):23:23 -> a
    270:270:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):474 -> a
    270:270:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    271:272:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):476:477 -> a
    271:272:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    273:273:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    273:273:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):33 -> a
    273:273:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):477 -> a
    273:273:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    274:274:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):33:33 -> a
    274:274:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):477 -> a
    274:274:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    275:277:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):482:484 -> a
    275:277:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    278:278:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    278:278:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):485 -> a
    278:278:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    279:279:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):486:486 -> a
    279:279:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    280:280:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState.<init>(com.android.tools.r8.ir.analysis.type.Nullability):27:27 -> a
    280:280:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):486 -> a
    280:280:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    281:286:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):489:494 -> a
    281:286:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    287:287:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    287:287:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):494 -> a
    287:287:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    288:290:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):495:497 -> a
    288:290:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    291:291:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    291:291:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):498 -> a
    291:291:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    292:292:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):499:499 -> a
    292:292:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    293:293:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):29:29 -> a
    293:293:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):499 -> a
    293:293:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    294:295:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):504:505 -> a
    294:295:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    296:296:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    296:296:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):506 -> a
    296:296:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    297:297:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):507:507 -> a
    297:297:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    298:298:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState.<init>(com.android.tools.r8.ir.analysis.value.AbstractValue):21:21 -> a
    298:298:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):507 -> a
    298:298:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    299:312:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):396:409 -> a
    313:317:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):511:515 -> a
    318:318:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    318:318:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):515 -> a
    319:319:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):516:516 -> a
    320:320:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):110:110 -> a
    320:320:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):517 -> a
    321:321:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):520:520 -> a
    322:322:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    322:322:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):520 -> a
    323:326:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):520:523 -> a
    327:327:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):110:110 -> a
    327:327:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):526 -> a
    328:330:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):527:529 -> a
    331:331:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):528:528 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer -> com.android.tools.r8.internal.R2:
    void acceptCodeScannerResult(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference) -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer andThen(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer):25:25 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer emptyConsumer():12:12 -> emptyConsumer
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer$1 -> com.android.tools.r8.internal.P2:
    1:1:void <init>():12:12 -> <init>
    void acceptCodeScannerResult(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference) -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer$2 -> com.android.tools.r8.internal.Q2:
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer val$nextEventConsumer -> b
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer this$0 -> c
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer val$self -> a
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer):25:25 -> <init>
    1:2:void acceptCodeScannerResult(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):28:29 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens -> com.android.tools.r8.internal.T2:
    boolean $assertionsDisabled -> o
    java.util.Map prototypeChanges -> n
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,java.util.Map):30:31 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):92:92 -> a
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):78 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.hasPrototypeChanges(com.android.tools.r8.graph.DexMethod):44:44 -> a
    2:2:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):79 -> a
    3:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):83:86 -> a
    7:7:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):84:84 -> a
    8:8: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):107:107 -> a
    9:9:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> a
    9:9: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):107 -> a
    10:10:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.hasPrototypeChanges(com.android.tools.r8.graph.DexMethod):44:44 -> a
    10:10: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):107 -> a
    11:12: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:109 -> a
    13:13:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    13:13: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):109 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):93:93 -> a
    14:14: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):109 -> a
    1:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):63:70 -> b
    1:1:com.android.tools.r8.graph.DexField internalGetNextFieldSignature(com.android.tools.r8.graph.DexField):97:97 -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):92:92 -> e
    1:1:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):102:102 -> f
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexMethod):48:48 -> g
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.hasPrototypeChanges(com.android.tools.r8.graph.DexMethod):44:44 -> g
    2:2:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexMethod):48 -> g
    3:4:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexMethod):48:49 -> g
    1:1:boolean hasPrototypeChanges(com.android.tools.r8.graph.DexMethod):44:44 -> h
    boolean isLegitimateToHaveEmptyMappings() -> n
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder -> com.android.tools.r8.internal.S2:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map prototypeChanges -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newFieldSignatures -> b
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> c
    1:1:void <clinit>():116:116 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):126:126 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView):119:127 -> <init>
    1:3:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder.isEmpty():131:133 -> a
    1:3:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens build():170 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens build():173:173 -> a
    5:9:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder.fixupPrototypeChangesAfterFieldSignatureChanges(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens):182:186 -> a
    5:9:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens build():176 -> a
    10:13:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder.fixupPrototypeChangesAfterFieldSignatureChanges(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens):185:188 -> a
    10:13:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens build():176 -> a
    14:16:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder mergeDisjoint(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):138:140 -> a
    17:18:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder recordMove(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):145:146 -> a
    19:26:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):152:159 -> a
    27:27:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):157:157 -> a
    28:28:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder recordStaticized(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):165:165 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorIROptimizer -> com.android.tools.r8.internal.U2:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:24:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):40:63 -> a
    25:25:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    25:25:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):65 -> a
    26:59:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):66:99 -> a
    60:60: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):52:52 -> a
    60:60:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):101 -> a
    61:72:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):103:114 -> a
    73:73:com.android.tools.r8.ir.code.Assume com.android.tools.r8.ir.code.Assume.createAssumeDynamicTypeInstruction(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,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
    73:73:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):116 -> a
    74:86:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):118:130 -> a
    87:87: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):52:52 -> a
    87:87:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):132 -> a
    88:105:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):134:151 -> a
    106:106:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    106:106:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):151 -> a
    107:107:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):151:151 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer -> com.android.tools.r8.internal.W2:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection reprocessingCriteriaCollection -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():33:33 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection):40:42 -> <init>
    1:19:void enqueueMethodForReprocessing(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):55:73 -> a
    20:22:void enqueueAffectedCallees(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):79:81 -> a
    23:33:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):84:94 -> a
    34:34:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    34:34:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    35:35:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):94 -> a
    36:45:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):94:103 -> a
    46:46:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo) -> a
    46:46:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):103 -> a
    47:47:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    47:47:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):46 -> a
    47:47:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):103 -> a
    48:58:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):50:60 -> a
    48:58:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):103 -> a
    59:62:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):103:106 -> a
    63:63:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    63:63:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:64:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    64:64:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):106 -> a
    65:65:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):106:106 -> a
    66:69:void enqueueAffectedCallers(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService):120:123 -> a
    70:89:void enqueueAffectedCallers(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService):122:141 -> a
    90:91:java.util.List lambda$enqueueAffectedCallers$2(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.graph.DexProgramClass):125:126 -> a
    92:93:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):129:130 -> a
    94:94:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:124 -> a
    94:94:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):132 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    95:95:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):125:125 -> a
    95:95:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):132 -> a
    96:98:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):132:134 -> a
    99:99:void lambda$enqueueAffectedCallers$3(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,java.util.List):143:143 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer$AffectedMethodUseRegistry -> com.android.tools.r8.internal.V2:
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens graphLens -> g
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens):155:157 -> <init>
    1:1:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):166:166 -> a
    2:2:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):207:207 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):171:171 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):212:212 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):176:176 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):217:217 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):181:181 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):186:186 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):222:222 -> g
    1:11:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod):190:200 -> h
    12:12:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer$AffectedMethodUseRegistry.markAffected():161:161 -> h
    12:12:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod):201 -> h
    1:9:void registerFieldAccess(com.android.tools.r8.graph.DexField):226:234 -> i
    10:10:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer$AffectedMethodUseRegistry.markAffected():161:161 -> i
    10:10:void registerFieldAccess(com.android.tools.r8.graph.DexField):235 -> i
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator -> com.android.tools.r8.internal.X2:
    java.util.function.BiConsumer interfaceDispatchOutsideProgram -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> i
    com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder postMethodProcessorBuilder -> e
    com.android.tools.r8.utils.InternalOptions options -> d
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> f
    java.util.List stronglyConnectedProgramComponents -> g
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    1:1:void <clinit>():52:52 -> <clinit>
    1:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.List,java.util.function.BiConsumer):73:81 -> <init>
    1:18:void populateOptimizationInfo(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):95:112 -> a
    19:39:void processStronglyConnectedComponent(java.util.Set):127:147 -> a
    40:40:void lambda$processStronglyConnectedComponent$0(java.util.Set,com.android.tools.r8.graph.DexMethodSignature):132:132 -> a
    41:43:void setOptimizationInfo(java.util.concurrent.ExecutorService):151:151 -> a
    44:44:void setOptimizationInfo(com.android.tools.r8.graph.DexProgramClass):156:156 -> a
    45:45:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):160:160 -> a
    46:46:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    46:46:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108 -> a
    46:46:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    46:46:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):160 -> a
    47:47:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108:108 -> a
    47:47:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    47:47:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):160 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    48:58:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):161:171 -> a
    59:59:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    59:59:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):172 -> a
    60:68:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):175:183 -> a
    69:69:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    69:69:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):183 -> a
    70:74:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184:188 -> a
    75:78:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):274:277 -> a
    75:78:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    79:79:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isClassParameter():0:0 -> a
    79:79:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):278 -> a
    79:79:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    80:81:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):281:282 -> a
    80:81:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    82:88:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.shouldWidenDynamicTypeToUnknown(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):297:303 -> a
    82:88:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):283 -> a
    82:88:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    89:89:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    89:89:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.shouldWidenDynamicTypeToUnknown(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):303 -> a
    89:89:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):283 -> a
    89:89:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    90:90:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    90:90:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    90:90:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.shouldWidenDynamicTypeToUnknown(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):303 -> a
    90:90:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):283 -> a
    90:90:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    91:92:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.shouldWidenDynamicTypeToUnknown(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):304:305 -> a
    91:92:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):283 -> a
    91:92:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    93:93:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):284:284 -> a
    93:93:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    94:94:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    94:94:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):288 -> a
    94:94:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    95:95:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):288:288 -> a
    95:95:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    96:96:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):29:29 -> a
    96:96:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):288 -> a
    96:96:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    97:97:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):290:290 -> a
    97:97:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    98:98:com.android.tools.r8.utils.Action com.android.tools.r8.utils.Action.empty():13:13 -> a
    98:98:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64 -> a
    98:98:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):286 -> a
    98:98:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    99:99:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64:64 -> a
    99:99:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):286 -> a
    99:99:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    100:109:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):284:293 -> a
    100:109:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    110:116:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):199:205 -> a
    117:126:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):202:211 -> a
    127:142:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):209:224 -> a
    143:143:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple com.android.tools.r8.ir.optimize.info.OptimizationFeedback.getSimple():44:44 -> a
    143:143:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):225 -> a
    144:144:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):227:227 -> a
    145:145:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):226:226 -> a
    146:159:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233:246 -> a
    160:160:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    160:160:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):249 -> a
    161:163:java.util.ArrayList com.android.tools.r8.utils.ListUtils.newInitializedArrayList(int,java.lang.Object):207:209 -> a
    161:163:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):249 -> a
    164:180:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):251:267 -> a
    181:189:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState lambda$getMethodStateAfterUninstantiatedParameterRemoval$1(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):255:263 -> a
    190:190:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):29:29 -> a
    190:190:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState lambda$getMethodStateAfterUninstantiatedParameterRemoval$1(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):263 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer -> com.android.tools.r8.internal.a3:
    java.util.Map interfaceDispatchOutsideProgram -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map libraryVirtualMethods -> d
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Map):158:158 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Map):152:161 -> <init>
    boolean lambda$computeLibraryVirtualMethods$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass) -> a
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer):81:81 -> a
    2:20:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens run(java.util.List,java.util.function.Consumer,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):170:188 -> a
    21:21:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.builder(com.android.tools.r8.graph.AppView):35:35 -> a
    21:21:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens run(java.util.List,java.util.function.Consumer,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):188 -> a
    22:24:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens run(java.util.List,java.util.function.Consumer,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):189:191 -> a
    25:29:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder lambda$run$0(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,java.util.function.Consumer,java.util.Set):176:180 -> a
    30:30:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder lambda$run$0(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,java.util.function.Consumer,java.util.Set):179:179 -> a
    31:31:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder lambda$run$0(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,java.util.function.Consumer,java.util.Set):177:177 -> a
    32:32:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer.getOrComputeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):197:197 -> a
    32:32:com.android.tools.r8.utils.collections.DexMethodSignatureSet access$200(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.graph.DexClass):81 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:37:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer.getOrComputeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):197:201 -> a
    33:37:com.android.tools.r8.utils.collections.DexMethodSignatureSet access$200(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.graph.DexClass):81 -> a
    38:42:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer.getOrComputeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):197:201 -> a
    38:42:void lambda$computeLibraryVirtualMethods$2(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):210 -> a
    43:43:void lambda$computeLibraryVirtualMethods$2(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):210:210 -> a
    44:53:com.android.tools.r8.utils.collections.DexMethodSignatureSet computeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):205:214 -> a
    54:54:void lambda$computeLibraryVirtualMethods$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClassAndMethod):213:213 -> a
    1:1:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo access$100(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer):81:81 -> b
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges -> com.android.tools.r8.internal.Y2:
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges EMPTY -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet removableParameterIndices -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType newReturnType -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap newParameterTypes -> b
    1:4:void <clinit>():83:86 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):95:98 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges create(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):102:102 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges.empty():128:128 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges create(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):103 -> a
    3:20:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges create(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):106:123 -> a
    21:24:void lambda$create$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,int,com.android.tools.r8.graph.proto.ArgumentInfo):115:118 -> a
    25:25:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    25:25:void lambda$create$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,int,com.android.tools.r8.graph.proto.ArgumentInfo):118 -> a
    26:28:void lambda$create$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,int,com.android.tools.r8.graph.proto.ArgumentInfo):118:120 -> a
    29:29:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges empty():128:128 -> a
    1:7:boolean equals(java.lang.Object):138:144 -> equals
    1:1:int hashCode():133:133 -> hashCode
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer -> com.android.tools.r8.internal.Z2:
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer this$0 -> j
    java.util.Map allowedPrototypeChangesForVirtualMethods -> d
    com.android.tools.r8.utils.InternalOptions options -> b
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> i
    boolean $assertionsDisabled -> k
    com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions -> c
    com.android.tools.r8.utils.collections.ProgramMethodMap returnValuesForVirtualMethods -> e
    java.util.Map newMethodSignatures -> f
    java.util.Map newMethodSignatureSuffixes -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    java.util.Map occupiedMethodSignatures -> h
    1:1:void <clinit>():218:218 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):247:247 -> <init>
    2:30:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):220:248 -> <init>
    com.android.tools.r8.graph.DexType lambda$computePrototypeChangesForMethod$16(int) -> a
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    1:1:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):630 -> a
    1:1:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    2:2:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):630 -> a
    2:2:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
    3:32:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):630:659 -> a
    3:32:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
    33:33:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    33:33:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):659 -> a
    33:33:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
    34:34:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    34:34:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    34:34:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):659 -> a
    34:34:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
    35:67:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):659:691 -> a
    35:67:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
    68:68:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    68:68:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):691 -> a
    68:68:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    69:69:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    69:69:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):691 -> a
    69:69:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
    70:72:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):577:579 -> a
    73:73:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    73:73:boolean isReturnValueUnusedForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet):535 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    74:74:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    74:74:boolean isReturnValueUnusedForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet):535 -> a
    75:77:boolean isReturnValueUnusedForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet):535:537 -> a
    78:78:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder access$300(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer,java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):218:218 -> a
    79:91:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):269:281 -> a
    92:92:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.builder(com.android.tools.r8.graph.AppView):35:35 -> a
    92:92:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):281 -> a
    93:96:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):282:285 -> a
    97:101:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):284:288 -> a
    102:102:boolean lambda$reservePinnedMethodSignatures$0(com.android.tools.r8.graph.DexEncodedMethod):300:300 -> a
    103:104:boolean lambda$reservePinnedMethodSignatures$2(java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):312:313 -> a
    105:105:void lambda$reservePinnedMethodSignatures$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):315:315 -> a
    106:106:void lambda$reservePinnedMethodSignatures$4(com.android.tools.r8.graph.DexMethodSignature):319:319 -> a
    107:114:void reserveMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges):328:335 -> a
    115:116:void computePrototypeChangesForVirtualMethods(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet):344:345 -> a
    117:117:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):349:349 -> a
    118:118:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    118:118:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):349 -> a
    119:124:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.containsImmediateInterfaceOfInstantiatedLambda(com.android.tools.r8.utils.collections.ProgramMethodSet):456:461 -> a
    119:124:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):355 -> a
    125:125:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):361:361 -> a
    126:126:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    126:126:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):361 -> a
    127:129:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):362:364 -> a
    130:130:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    130:130:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):364 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    131:131:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    131:131:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):364 -> a
    132:132:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):472:472 -> a
    132:132:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    133:133:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    133:133:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):476 -> a
    133:133:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    134:153:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):476:495 -> a
    134:153:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    154:154:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    154:154:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):495 -> a
    154:154:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    155:159:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):497:501 -> a
    155:159:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    160:160:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):367:367 -> a
    161:173:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):550:562 -> a
    161:173:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):370 -> a
    174:174:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    174:174:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):563 -> a
    174:174:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):370 -> a
    175:175:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):563:563 -> a
    175:175:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):370 -> a
    176:176:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):562:562 -> a
    176:176:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):370 -> a
    177:177:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):372:372 -> a
    178:178:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMethodSignature.getReturnType():41:41 -> a
    178:178:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getReturnValueForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethodSignature):428 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    178:178:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):379 -> a
    179:179:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> a
    179:179:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMethodSignature.getReturnType():41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    179:179:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getReturnValueForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethodSignature):428 -> a
    179:179:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):379 -> a
    180:202:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getReturnValueForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethodSignature):428:450 -> a
    180:202:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):379 -> a
    203:220:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.analysis.value.SingleValue):513:530 -> a
    203:220:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):381 -> a
    221:221:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    221:221:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.analysis.value.SingleValue):530 -> a
    221:221:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):381 -> a
    222:222:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.analysis.value.SingleValue):530:530 -> a
    222:222:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):381 -> a
    223:223:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.analysis.value.SingleValue):514:514 -> a
    223:223:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):381 -> a
    224:238:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):383:397 -> a
    239:241:java.util.Map computeVirtualMethodsBySignature(java.util.Set):406:408 -> a
    242:242:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    242:242:java.util.Map computeVirtualMethodsBySignature(java.util.Set):408 -> a
    243:243:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    243:243:java.util.Map computeVirtualMethodsBySignature(java.util.Set):408 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    244:244:void lambda$computeVirtualMethodsBySignature$7(java.util.Map,com.android.tools.r8.graph.ProgramMethod):412:412 -> a
    245:247:void lambda$computeVirtualMethodsBySignature$7(java.util.Map,com.android.tools.r8.graph.ProgramMethod):411:413 -> a
    248:248:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420:420 -> a
    248:248:boolean lambda$computePrototypeChangesForVirtualMethods$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):351 -> a
    249:249:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> a
    249:249:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    249:249:boolean lambda$computePrototypeChangesForVirtualMethods$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):351 -> a
    250:252:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> a
    250:252:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
    250:252:boolean lambda$computePrototypeChangesForVirtualMethods$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):351 -> a
    253:255:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):421:423 -> a
    253:255:boolean lambda$computePrototypeChangesForVirtualMethods$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):351 -> a
    256:269:boolean visitClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):572:585 -> a
    270:270:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):266:266 -> a
    270:270:boolean visitClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):585 -> a
    271:302:boolean visitClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):595:626 -> a
    303:303:boolean lambda$visitClass$9(com.android.tools.r8.graph.DexEncodedField):574:574 -> a
    304:326:void lambda$visitClass$13(com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramMethod):597:619 -> a
    327:332:void lambda$visitClass$13(com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramMethod):618:623 -> a
    333:333:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):601:601 -> a
    334:334:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):779:779 -> a
    334:334:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    335:335:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420:420 -> a
    335:335:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    335:335:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    336:336:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> a
    336:336:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    336:336:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    336:336:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    337:339:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> a
    337:339:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
    337:339:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    337:339:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    340:342:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):421:423 -> a
    340:342:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    340:342:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    343:347:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):782:786 -> a
    343:347:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    348:348:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):606:606 -> a
    349:359:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):696:706 -> a
    360:360:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    360:360:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):706 -> a
    361:381:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):709:729 -> a
    382:390:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):728:736 -> a
    391:393:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):735:737 -> a
    394:394:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    394:394:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):739 -> a
    395:405:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):739:749 -> a
    406:422:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):738:754 -> a
    423:423:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):753:753 -> a
    424:426:boolean lambda$getNewMethodSignature$14(com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges,com.android.tools.r8.graph.DexMethod):743:745 -> a
    427:433:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isMethodSignatureFresh(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges):766:772 -> a
    427:433:boolean lambda$getNewMethodSignature$14(com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges,com.android.tools.r8.graph.DexMethod):744 -> a
    434:434:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):779:779 -> a
    434:434:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    435:435:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420:420 -> a
    435:435:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    435:435:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    436:436:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> a
    436:436:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    436:436:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    436:436:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    437:439:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> a
    437:439:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
    437:439:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    437:439:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    440:442:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):421:423 -> a
    440:442:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    440:442:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    443:445:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):782:784 -> a
    443:445:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    446:447:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):590:591 -> a
    448:448:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexClassAndMethod):66:66 -> a
    448:448:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):591 -> a
    449:449:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):593:593 -> a
    450:457:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):796:803 -> a
    458:458:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.withExtraParameters(com.android.tools.r8.ir.conversion.ExtraParameter[]):263:263 -> a
    458:458:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):804 -> a
    459:471:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):805:817 -> a
    472:472:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):814:814 -> a
    473:473:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticItems.createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView):501:501 -> a
    473:473:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):814 -> a
    474:475:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):818:819 -> a
    476:476:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.withExtraParameters(com.android.tools.r8.ir.conversion.ExtraParameter[]):263:263 -> a
    476:476:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):820 -> a
    477:479:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):821:823 -> a
    480:482:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):822:824 -> a
    483:485:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):892:894 -> a
    486:486:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnType(com.android.tools.r8.graph.ProgramMethod):901:901 -> a
    486:486:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):896 -> a
    487:487:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnType(com.android.tools.r8.graph.ProgramMethod):900:900 -> a
    487:487:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):896 -> a
    488:488:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):896:896 -> a
    489:489:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):895:895 -> a
    490:508:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):906:924 -> a
    509:509:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    509:509:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):924 -> a
    510:510:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    510:510:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    510:510:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):924 -> a
    511:512:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):924:925 -> a
    513:513:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    513:513:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):925 -> a
    514:515:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):925:926 -> a
    516:516:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    516:516:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):926 -> a
    517:517:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    517:517:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    517:517:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):926 -> a
    518:518:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):926:926 -> a
    519:523:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):925:929 -> a
    524:524:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    524:524:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):930 -> a
    525:538:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):928:941 -> a
    539:539:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):940:940 -> a
    540:552:com.android.tools.r8.graph.DexType getNewParameterType(com.android.tools.r8.graph.ProgramMethod,int):965:977 -> a
    553:553:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    553:553:com.android.tools.r8.graph.DexType getNewParameterType(com.android.tools.r8.graph.ProgramMethod,int):977 -> a
    554:554:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    554:554:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    554:554:com.android.tools.r8.graph.DexType getNewParameterType(com.android.tools.r8.graph.ProgramMethod,int):977 -> a
    555:572:com.android.tools.r8.graph.DexType getNewParameterType(com.android.tools.r8.graph.ProgramMethod,int):978:995 -> a
    573:574:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1006:1007 -> a
    575:582:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1016:1023 -> a
    575:582:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    583:583:com.android.tools.r8.graph.proto.RemovedReceiverInfo$Builder com.android.tools.r8.graph.proto.RemovedReceiverInfo$Builder.create():54:54 -> a
    583:583:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1025 -> a
    583:583:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    584:584:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1025:1025 -> a
    584:584:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    585:602:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1024:1041 -> a
    585:602:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    603:619:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1037:1053 -> a
    603:619:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    620:640:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1048:1068 -> a
    620:640:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    641:650:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1062:1071 -> a
    641:650:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    651:651:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1005:1005 -> a
    652:663:com.android.tools.r8.graph.proto.RewrittenTypeInfo computeReturnChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):1077:1088 -> a
    664:664:void lambda$computeReturnChangesForMethod$18(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder):1084:1084 -> a
    boolean lambda$computePrototypeChangesForMethod$17(int) -> b
    1:22:void reservePinnedMethodSignatures(java.util.Set):296:317 -> b
    23:26:void lambda$reservePinnedMethodSignatures$1(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):302:305 -> b
    27:36:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):830:839 -> b
    37:45:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForAbstractVirtualMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):864:872 -> b
    37:45:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):839 -> b
    46:57:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForAbstractVirtualMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):870:881 -> b
    46:57:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):839 -> b
    58:70:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForAbstractVirtualMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):875:887 -> b
    58:70:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):839 -> b
    71:71:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForAbstractVirtualMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):884:884 -> b
    71:71:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):839 -> b
    72:79:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):846:853 -> b
    80:80:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):852:852 -> b
    81:81:com.android.tools.r8.graph.DexType lambda$computePrototypeChangesForMethod$15(com.android.tools.r8.graph.ProgramMethod,int):893:893 -> b
    1:13:com.android.tools.r8.ir.analysis.value.SingleValue getReturnValue(com.android.tools.r8.graph.ProgramMethod):948:960 -> c
    1:2:boolean lambda$isReturnValueUnusedForVirtualMethods$8(com.android.tools.r8.graph.ProgramMethod):540:541 -> d
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods -> com.android.tools.r8.internal.c3:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():19:19 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):28:31 -> <init>
    1:18:void initializeUnoptimizableMethodStates(java.util.Collection):38:55 -> a
    19:19:void disableArgumentPropagationForMethod(com.android.tools.r8.graph.ProgramMethod):59:59 -> a
    1:3:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    1:3:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    4:4:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":23,"2":24,"3":25}}
    23:23:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    23:23:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    24:24:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    24:24:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    25:25:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    25:25:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    5:9:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):66:70 -> b
    5:9:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    10:10:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> b
    10:10:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):70 -> b
    10:10:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    11:11:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> b
    11:11:boolean com.android.tools.r8.shaking.KeepMethodInfo.isArgumentPropagationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):60 -> b
    11:11:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):70 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    11:11:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    12:14:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> b
    12:14:boolean com.android.tools.r8.shaking.KeepMethodInfo.isArgumentPropagationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):60 -> b
    12:14:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):70 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    12:14:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    15:16:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):45:46 -> b
    17:17:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    17:17:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):46 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    18:18:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):46 -> b
    19:22:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47:50 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState -> com.android.tools.r8.internal.E5:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():13:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):30:30 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):33 -> a
    3:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):36:40 -> a
    8:8:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isArrayParameter():0:0 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):40 -> a
    9:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):41:44 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):45 -> a
    14:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):47:48 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState get():20:20 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState -> com.android.tools.r8.internal.F5:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState INSTANCE -> a
    1:3:void <clinit>():15:17 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):32:32 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):35 -> a
    3:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):38:45 -> a
    11:11:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isClassParameter():0:0 -> a
    11:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):46 -> a
    12:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):46:49 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):50 -> a
    17:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):51:52 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState get():22:22 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState -> com.android.tools.r8.internal.H5:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState INSTANCE -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy() -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):49:49 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):58:58 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):49:49 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):58 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState get():20:20 -> k
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState -> com.android.tools.r8.internal.I5:
    1:1:void <init>():13:13 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):17:17 -> a
    2:2:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):17 -> a
    boolean isBottom() -> c
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy() -> f
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState -> com.android.tools.r8.internal.M5:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():12:14 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):30:31 -> a
    3:3:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):34 -> a
    4:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):37:38 -> a
    6:6:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isPrimitiveParameter():0:0 -> a
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):38 -> a
    7:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):38:39 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState get():20:20 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState -> com.android.tools.r8.internal.N5:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():13:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):30:30 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):33 -> a
    3:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):36:40 -> a
    8:8:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):40 -> a
    9:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):41:44 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):45 -> a
    14:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):47:48 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState get():20:20 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState -> com.android.tools.r8.internal.Gc:
    com.android.tools.r8.ir.analysis.type.Nullability nullability -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.type.Nullability,java.util.Set):32:35 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState.getNullability():70:70 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):52 -> a
    2:5:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):52:55 -> a
    6:6:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):55 -> a
    7:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):102:103 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.type.Nullability.isUnknown():53:53 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):103:104 -> a
    12:12:boolean com.android.tools.r8.ir.analysis.type.Nullability.isUnknown():53:53 -> a
    12:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):105 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):106 -> a
    14:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):108:109 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):110 -> a
    17:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):113:113 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy():93:93 -> f
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState asArrayParameter() -> g
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():40:41 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.bottomArrayTypeParameter():16:16 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():42 -> k
    4:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():44:46 -> k
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():60:60 -> q
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():70:70 -> r
    1:1:boolean isEffectivelyBottom():84:84 -> s
    1:1:boolean isEffectivelyUnknown():88:88 -> t
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState -> com.android.tools.r8.internal.Jc:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> d
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,java.util.Set):34:38 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.getDynamicType():65:65 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):56 -> a
    2:3:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):56:57 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    4:4:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:8:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):57:60 -> a
    9:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):107:114 -> a
    17:27:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):112:122 -> a
    28:28:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    28:28:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):123 -> a
    29:30:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):125:126 -> a
    31:31:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    31:31:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):127 -> a
    32:35:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):129:132 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy():98:98 -> f
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState asClassParameter() -> h
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():43:44 -> k
    3:3:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():44 -> k
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():45:45 -> k
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.bottomClassTypeParameter():20:20 -> k
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():46 -> k
    6:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():48:50 -> k
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():65:65 -> q
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.getDynamicType():65:65 -> r
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():70 -> r
    2:2:com.android.tools.r8.ir.analysis.type.Nullability getNullability():70:70 -> r
    1:1:boolean isEffectivelyBottom():89:89 -> s
    2:2:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> s
    2:2:boolean isEffectivelyBottom():89 -> s
    3:3:boolean isEffectivelyBottom():89:89 -> s
    1:1:boolean isEffectivelyUnknown():93:93 -> t
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState -> com.android.tools.r8.internal.Lc:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):30:36 -> a
    8:8:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):53 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):53:53 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    10:10:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):53 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    11:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):54:55 -> a
    11:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    13:13:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):57 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    14:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):57:57 -> a
    14:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    15:15:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):57 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    16:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):58:61 -> a
    16:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):62 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    21:21:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):61:61 -> a
    21:21:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    22:22:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):45:45 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState asConcrete() -> d
    boolean isConcrete() -> e
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState -> com.android.tools.r8.internal.Mc:
    java.util.List parameterStates -> c
    boolean isReturnValueUsed -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(boolean,java.util.List):23:25 -> <init>
    4:8:void <init>(boolean,java.util.List):24:28 -> <init>
    1:1:boolean lambda$new$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):25:25 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> a
    2:2:boolean lambda$new$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):25 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown create(boolean,java.util.List):33:33 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown create(boolean,java.util.List):34 -> a
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown create(boolean,java.util.List):35:35 -> a
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState getParameterState(int):39:39 -> a
    7:7:boolean isEffectivelyUnknown(boolean,java.util.List):60:60 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65:65 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    9:9:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65:65 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    11:11:java.util.List com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.getParameterStates():43:43 -> a
    11:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():66 -> a
    11:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    12:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():66:69 -> a
    12:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65:65 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    17:17:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    17:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65 -> a
    17:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    18:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65:65 -> a
    18:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    19:19:java.util.List com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.getParameterStates():43:43 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():66 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    20:23:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():66:69 -> a
    20:23:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    24:26:void setParameterState(int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):127:129 -> a
    27:27:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> a
    27:27:void setParameterState(int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):129 -> a
    28:31:void setParameterState(int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):127:130 -> a
    32:32:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    32:32:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):77 -> a
    33:33:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    33:33:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):77 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    34:34:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):77 -> a
    35:35:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):78:78 -> a
    36:36:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    36:36:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):79 -> a
    37:37:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):78:78 -> a
    38:38:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.isReturnValueUsed():47:47 -> a
    38:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):82 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):83:83 -> a
    40:40:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):87 -> a
    41:41:int com.android.tools.r8.graph.DexMethodSignature.getArity():29:29 -> a
    41:41:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    42:42:int com.android.tools.r8.graph.DexMethodSignature.getArity():29 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):87 -> a
    43:43:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    43:43:int com.android.tools.r8.graph.DexMethodSignature.getArity():29 -> a
    43:43:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):87 -> a
    44:44:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88:88 -> a
    45:45:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    45:45:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    46:46:int com.android.tools.r8.graph.DexMethodSignature.getArity():29:29 -> a
    46:46:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    47:47:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    47:47:int com.android.tools.r8.graph.DexMethodSignature.getArity():29 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    48:48:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    48:48:int com.android.tools.r8.graph.DexMethodSignature.getArity():29 -> a
    48:48:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    49:54:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88:93 -> a
    55:55:com.android.tools.r8.utils.Action com.android.tools.r8.utils.Action.empty():13:13 -> a
    55:55:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64 -> a
    55:55:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):93 -> a
    56:56:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64:64 -> a
    56:56:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):93 -> a
    57:57:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):92:92 -> a
    58:58:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    58:58:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):97 -> a
    59:60:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):98:99 -> a
    61:61:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMethodSignature.getParameter(int):33:33 -> a
    61:61:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):100 -> a
    62:64:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):101:103 -> a
    65:65:com.android.tools.r8.utils.Action com.android.tools.r8.utils.Action.empty():13:13 -> a
    65:65:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64 -> a
    65:65:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):103 -> a
    66:66:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64:64 -> a
    66:66:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):103 -> a
    67:71:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):101:105 -> a
    72:72:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> a
    72:72:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):105 -> a
    73:77:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):104:108 -> a
    78:78:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    78:78:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):108 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState asMonomorphic() -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> h
    1:1:java.util.List getParameterStates():43:43 -> k
    1:1:boolean isEffectivelyBottom():51:51 -> l
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> l
    2:2:boolean isEffectivelyBottom():51 -> l
    1:1:boolean isEffectivelyUnknown():55:55 -> m
    1:1:boolean isReturnValueUsed():47:47 -> n
    1:1:int size():134:134 -> o
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom -> com.android.tools.r8.internal.Nc:
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown -> com.android.tools.r8.internal.Oc:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy() -> a
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState -> com.android.tools.r8.internal.Qc:
    java.util.Set inParameters -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:2:void <init>(java.util.Set):26:27 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState asConcrete() -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):112:112 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):115 -> a
    3:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):118:124 -> a
    10:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):122:130 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):129:129 -> a
    20:27:boolean mutableJoinInParameters(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState):134:141 -> a
    1:3:boolean widenInParameters(com.android.tools.r8.graph.AppView):149:151 -> b
    boolean isConcrete() -> d
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState asArrayParameter() -> g
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState asClassParameter() -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState asPrimitiveParameter() -> i
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState asReferenceParameter() -> j
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters() -> k
    1:5:java.util.Set copyInParameters():37:41 -> l
    1:2:java.util.Set getInParameters():49:50 -> m
    1:1:boolean hasInParameters():45:45 -> n
    1:1:void internalClearInParameters():33:33 -> o
    boolean isReferenceParameter() -> p
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState -> com.android.tools.r8.internal.Rc:
    java.util.Map receiverBoundsToState -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:4:void <init>(java.util.Map):27:30 -> <init>
    5:8:void <init>(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):35:38 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown create(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):44:44 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown create(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):44 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown create(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):45 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown create(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):46:46 -> a
    5:5:void forEach(java.util.function.BiConsumer):100:100 -> a
    6:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateForBounds(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):104:105 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateForBounds(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):109 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():122:122 -> a
    10:10:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():122 -> a
    11:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():122:126 -> a
    16:16:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.forEach(java.util.function.BiConsumer):100:100 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():126 -> a
    17:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():127:127 -> a
    18:18:void lambda$mutableCopy$0(java.util.Map,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):126:126 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):135:135 -> a
    20:20:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):135 -> a
    21:35:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):135:149 -> a
    36:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):86:88 -> a
    36:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> a
    39:39:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88:88 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> a
    41:41:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    41:41:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    41:41:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> a
    42:42:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91:91 -> a
    42:42:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> a
    43:43:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    43:43:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91 -> a
    43:43:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> a
    44:47:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91:94 -> a
    44:47:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> a
    48:48:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    48:48:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):89 -> a
    48:48:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> a
    49:49:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):150:150 -> a
    50:50:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    50:50:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):150 -> a
    51:51:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    51:51:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):151 -> a
    52:54:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):153:155 -> a
    55:55:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.bottom():10:10 -> a
    55:55:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):156 -> a
    56:56:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):157:157 -> a
    57:57:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):165:165 -> a
    58:58:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    58:58:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):165 -> a
    59:60:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):165:166 -> a
    61:61:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    61:61:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    62:62:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):167 -> a
    63:68:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):167:172 -> a
    69:69:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):55:55 -> a
    69:69:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    70:70:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    70:70:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):55 -> a
    70:70:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    71:73:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):55:57 -> a
    71:73:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    74:74:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    74:74:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):57 -> a
    74:74:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    75:75:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):58:58 -> a
    75:75:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    76:76:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    76:76:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):59 -> a
    76:76:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    77:77:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):61:61 -> a
    77:77:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    78:78:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    78:78:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):65 -> a
    78:78:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    79:82:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):65:68 -> a
    79:82:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    83:85:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):86:88 -> a
    83:85:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    83:85:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    86:86:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    86:86:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    86:86:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    86:86:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    87:87:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88:88 -> a
    87:87:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    87:87:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    88:88:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    88:88:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    88:88:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    88:88:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    89:89:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    89:89:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91 -> a
    89:89:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    89:89:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    90:93:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91:94 -> a
    90:93:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    90:93:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    94:94:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    94:94:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):89 -> a
    94:94:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    94:94:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    95:95:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):69:69 -> a
    95:95:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    96:96:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    96:96:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):69 -> a
    96:96:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    97:97:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    97:97:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):70 -> a
    97:97:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    98:98:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):72:72 -> a
    98:98:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    99:99:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    99:99:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):173 -> a
    100:102:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):176:178 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState asPolymorphic() -> j
    1:1:boolean isEffectivelyBottom():113:113 -> k
    1:1:boolean isEffectivelyUnknown():117:117 -> l
    1:1:java.util.Collection values():183:183 -> m
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom -> com.android.tools.r8.internal.Sc:
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown -> com.android.tools.r8.internal.Tc:
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState -> com.android.tools.r8.internal.Vc:
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue,java.util.Set):26:29 -> <init>
    1:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):58:65 -> a
    9:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):63:68 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):69 -> a
    16:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):71:72 -> a
    18:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    18:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):73 -> a
    19:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):75:76 -> a
    21:21:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):83:83 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy():50:50 -> f
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState asPrimitiveParameter() -> i
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():38:39 -> k
    3:3:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():39 -> k
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.bottomPrimitiveTypeParameter():24:24 -> k
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():40 -> k
    5:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():42:44 -> k
    1:1:boolean isEffectivelyBottom():92:92 -> q
    2:2:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> q
    2:2:boolean isEffectivelyBottom():92 -> q
    3:3:boolean isEffectivelyBottom():92:92 -> q
    1:1:boolean isEffectivelyUnknown():96:96 -> r
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReceiverParameterState -> com.android.tools.r8.internal.Wc:
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.type.DynamicType,java.util.Set):27:30 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):47:47 -> a
    2:2:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):47 -> a
    3:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):96:99 -> a
    7:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    7:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):100 -> a
    8:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):102:103 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):104 -> a
    11:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):106:107 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy():85:85 -> f
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():35:36 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.bottomReceiverParameter():28:28 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():37 -> k
    4:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():39:41 -> k
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():52:52 -> q
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReceiverParameterState.getDynamicType():52:52 -> r
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():57 -> r
    2:2:com.android.tools.r8.ir.analysis.type.Nullability getNullability():57:57 -> r
    1:1:boolean isEffectivelyBottom():66:66 -> s
    1:1:boolean isEffectivelyUnknown():70:70 -> t
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState -> com.android.tools.r8.internal.Yc:
    1:1:void <init>(java.util.Set):18:18 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState asReferenceParameter() -> j
    boolean isReferenceParameter() -> p
    com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType() -> q
    com.android.tools.r8.ir.analysis.type.Nullability getNullability() -> r
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter -> com.android.tools.r8.internal.DE:
    int index -> b
    com.android.tools.r8.graph.DexMethod method -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,int):15:17 -> <init>
    1:1:int getIndex():25:25 -> a
    1:1:com.android.tools.r8.graph.DexMethod getMethod():21:21 -> b
    1:5:boolean equals(java.lang.Object):30:34 -> equals
    1:1:int hashCode():39:39 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
    47:47:java.lang.String toString():44:44 -> toString
    48:48:java.lang.String toString():44:44 -> toString
    49:49:java.lang.String toString():44:44 -> toString
    45:45:java.lang.String toString():44:44 -> toString
    46:46:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
    47:47:java.lang.String toString():44:44 -> toString
    48:48:java.lang.String toString():44:44 -> toString
    49:49:java.lang.String toString():44:44 -> toString
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameterFactory -> com.android.tools.r8.internal.EE:
    java.util.Map methodParameters -> a
    1:3:void <init>():12:14 -> <init>
    1:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter create(com.android.tools.r8.graph.ProgramMethod,int):17:17 -> a
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState -> com.android.tools.r8.internal.LE:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy() -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState asMonomorphic() -> b
    boolean isPolymorphic() -> c
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState asConcrete() -> d
    boolean isConcrete() -> e
    boolean isMonomorphic() -> f
    boolean isBottom() -> g
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState asPolymorphic() -> j
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase -> com.android.tools.r8.internal.ME:
    1:1:void <init>():7:7 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState asMonomorphic() -> b
    boolean isPolymorphic() -> c
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState asConcrete() -> d
    boolean isConcrete() -> e
    boolean isMonomorphic() -> f
    boolean isBottom() -> g
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState asPolymorphic() -> j
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection -> com.android.tools.r8.optimize.argumentpropagation.codescanner.a:
    java.util.Map methodStates -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(java.util.Map):21:23 -> <init>
    java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addTemporaryMethodState$1(java.util.function.Function,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):70 -> a
    2:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addTemporaryMethodState$1(java.util.function.Function,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):70:78 -> a
    11:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addTemporaryMethodState$1(java.util.function.Function,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):77:80 -> a
    15:15:void addMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):32:32 -> a
    16:19:void addMethodState(com.android.tools.r8.graph.AppView,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):37:40 -> a
    20:24:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addMethodState$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):45:49 -> a
    25:28:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addMethodState$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):48:51 -> a
    29:29:void addTemporaryMethodState(com.android.tools.r8.graph.AppView,java.lang.Object,java.util.function.Function,com.android.tools.r8.utils.Timing):66:66 -> a
    30:30:void addMethodStates(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection):87:87 -> a
    31:31:void forEach(java.util.function.BiConsumer):92:92 -> a
    32:32:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(java.lang.Object):100:100 -> a
    33:33:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    33:33:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(java.lang.Object):100 -> a
    34:34:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(java.lang.Object):100:100 -> a
    35:35:boolean isEmpty():104:104 -> a
    36:36:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState removeOrElse(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):112:112 -> a
    com.android.tools.r8.graph.DexMethodSignature getSignature(java.lang.Object) -> b
    1:1:void lambda$addMethodStates$2(com.android.tools.r8.graph.AppView,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):88:88 -> b
    2:2:void set(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):117:117 -> b
    3:6:void set(java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):121:124 -> b
    3:6:void set(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):117 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference -> com.android.tools.r8.optimize.argumentpropagation.codescanner.b:
    1:1:void <init>(java.util.Map):17:17 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    1:1:java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature(java.lang.Object):14:14 -> b
    2:2:com.android.tools.r8.graph.DexMethodSignature getSignature(com.android.tools.r8.graph.DexMethod):35:35 -> b
    2:2:com.android.tools.r8.graph.DexMethodSignature getSignature(java.lang.Object):14 -> b
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference createConcurrent():25:25 -> b
    4:4:com.android.tools.r8.graph.DexMethod getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> b
    4:4:java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod):14 -> b
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> b
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):14 -> b
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> b
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):14 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature -> com.android.tools.r8.optimize.argumentpropagation.codescanner.c:
    1:1:void <init>(java.util.Map):16:16 -> <init>
    1:1:com.android.tools.r8.graph.DexMethodSignature getKey(com.android.tools.r8.graph.ProgramMethod):29:29 -> a
    1:1:java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod):13 -> a
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature(java.lang.Object):13:13 -> b
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature create():20:20 -> b
    3:3:com.android.tools.r8.graph.DexMethodSignature getKey(com.android.tools.r8.graph.ProgramMethod):29:29 -> b
    3:3:java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod):13 -> b
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> b
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):13 -> b
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> b
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):13 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState -> com.android.tools.r8.internal.kH:
    1:1:void <init>():7:7 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState asNonEmpty() -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState -> com.android.tools.r8.internal.nL:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState asConcrete() -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState asNonEmpty() -> b
    boolean isBottom() -> c
    boolean isConcrete() -> d
    boolean isUnknown() -> e
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy() -> f
com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner -> com.android.tools.r8.internal.QV:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner CLONER -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner IDENTITY -> b
    1:14:void <clinit>():23:36 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState) -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner getCloner():50:50 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner getIdentity():54:54 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner$1 -> com.android.tools.r8.internal.OV:
    1:1:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):27:27 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):32:32 -> a
com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner$2 -> com.android.tools.r8.internal.PV:
    1:1:void <init>():37:37 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState) -> a
com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState -> com.android.tools.r8.internal.v00:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy() -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy() -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState get():21:21 -> k
com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState -> com.android.tools.r8.internal.w00:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState INSTANCE -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action) -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):25:25 -> a
    2:2:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):25 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy() -> f
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState get():20:20 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis -> com.android.tools.r8.internal.V10:
    java.util.Set monomorphicVirtualMethods -> g
    java.util.Map virtualRootMethodsPerClass -> f
    java.util.Map virtualRootMethods -> h
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):114:114 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):105:110 -> <init>
    1:5:void initializeVirtualRootMethods(java.util.Collection,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner):121:125 -> a
    6:7:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):130:131 -> a
    8:8:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211:211 -> a
    8:8:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    9:9:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    9:9:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    10:10:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    10:10:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211 -> a
    10:10:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    11:15:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211:215 -> a
    11:15:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    16:16:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):134:134 -> a
    17:19:void lambda$computeVirtualRootMethodsState$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):150:152 -> a
    20:22:void lambda$computeVirtualRootMethodsState$1(java.util.Map,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):154:154 -> a
    23:23:com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod lambda$computeVirtualRootMethodsState$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):155:155 -> a
    24:28:void lambda$computeVirtualRootMethodsState$3(java.util.Map,com.android.tools.r8.graph.ProgramMethod):159:163 -> a
    29:29:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod.<init>(com.android.tools.r8.graph.ProgramMethod):44:44 -> a
    29:29:void lambda$computeVirtualRootMethodsState$3(java.util.Map,com.android.tools.r8.graph.ProgramMethod):163 -> a
    30:30:void lambda$computeVirtualRootMethodsState$3(java.util.Map,com.android.tools.r8.graph.ProgramMethod):163:163 -> a
    31:33:void lambda$prune$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):177:179 -> a
    34:34:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    34:34:void lambda$prune$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):179 -> a
    35:54:void lambda$prune$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):183:202 -> a
    55:57:void lambda$prune$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):195:195 -> a
    58:58:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220:220 -> a
    59:59:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    59:59:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    60:60:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():503:503 -> a
    60:60:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220 -> a
    61:66:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220:225 -> a
    1:1:void lambda$prune$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):204:204 -> b
    1:3:void prune(com.android.tools.r8.graph.DexProgramClass):172:174 -> i
    4:4:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> i
    4:4:void prune(com.android.tools.r8.graph.DexProgramClass):174 -> i
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> i
    5:5:void prune(com.android.tools.r8.graph.DexProgramClass):174 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:2:void visit(com.android.tools.r8.graph.DexProgramClass):140:141 -> k
    1:2:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):146:147 -> l
    3:3:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> l
    3:3:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):147 -> l
    4:4:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> l
    4:4:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):147 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):157:157 -> l
    6:6:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    6:6:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):157 -> l
com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod -> com.android.tools.r8.internal.U10:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod parent -> a
    com.android.tools.r8.utils.collections.ProgramMethodSet overrides -> c
    com.android.tools.r8.graph.ProgramMethod root -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):47:47 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):41:49 -> <init>
    1:3:void addOverride(com.android.tools.r8.graph.ProgramMethod):53:55 -> a
    4:4:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod.hasParent():62:62 -> a
    4:4:void addOverride(com.android.tools.r8.graph.ProgramMethod):56 -> a
    5:5:void addOverride(com.android.tools.r8.graph.ProgramMethod):57:57 -> a
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod getParent():66:66 -> a
    7:8:void forEach(java.util.function.Consumer):90:91 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getRoot():70:70 -> b
    1:12:com.android.tools.r8.graph.ProgramMethod getSingleNonAbstractMethod():74:85 -> c
    13:13:com.android.tools.r8.graph.ProgramMethod getSingleNonAbstractMethod():84:84 -> c
    1:1:boolean hasOverrides():95:95 -> d
    1:1:boolean isInterfaceMethodWithSiblings():101:101 -> e
com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter -> com.android.tools.r8.internal.AH:
    1:1:void <init>():32:32 -> <init>
    void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult) -> a
    void processWorklist() -> a
    1:2:com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):39:40 -> a
    3:3:boolean com.android.tools.r8.graph.GraphLens.isArgumentPropagatorGraphLens():0:0 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):43 -> a
    4:6:com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):44:46 -> a
    7:7:boolean lambda$create$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):40:40 -> a
    8:8:boolean com.android.tools.r8.graph.GraphLens.isArgumentPropagatorGraphLens():0:0 -> a
    8:8:boolean lambda$create$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):40 -> a
com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$EmptyNullCheckInserter -> com.android.tools.r8.internal.yH:
    1:1:void <init>():208:208 -> <init>
    void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult) -> a
    void processWorklist() -> a
com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl -> com.android.tools.r8.internal.zH:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map worklist -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.code.IRCode code -> b
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens graphLens -> c
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):63:63 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):60:66 -> <init>
    boolean lambda$processWorklist$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    1:1:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):73:73 -> a
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    2:2:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):73 -> a
    3:4:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):78:79 -> a
    5:5:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRemovedReceiverInfo():0:0 -> a
    5:5:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):79 -> a
    6:18:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):83:95 -> a
    19:29:void processWorklist():100:110 -> a
    30:30:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    30:30:void processWorklist():110 -> a
    31:37:void processWorklist():114:120 -> a
    38:46:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):172:180 -> a
    38:46:void processWorklist():121 -> a
    47:54:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Instruction):195:202 -> a
    47:54:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):180 -> a
    47:54:void processWorklist():121 -> a
    55:58:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):187:190 -> a
    55:58:void processWorklist():121 -> a
    59:66:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Instruction):195:202 -> a
    59:66:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):190 -> a
    59:66:void processWorklist():121 -> a
    67:73:void processWorklist():125:131 -> a
    74:94:void processWorklist():130:150 -> a
    95:105:void processWorklist():149:159 -> a
    106:106:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    106:106:void processWorklist():159 -> a
    107:113:void processWorklist():160:166 -> a
com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator -> com.android.tools.r8.internal.No:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():43:43 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):52:55 -> <init>
    1:12:void process(java.util.Set):75:86 -> a
    13:15:void lambda$process$0(java.util.Deque,com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):91:93 -> a
    16:25:void propagate(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):101:110 -> a
    26:30:void propagate(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):108:112 -> a
    31:31:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    31:31:void propagate(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):112 -> a
    32:36:void propagate(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):113:117 -> a
    37:37:void lambda$propagate$1(java.util.function.Consumer,com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):111:111 -> a
    38:40:void postProcessMethodStates(java.util.concurrent.ExecutorService):122:122 -> a
    41:41:void postProcessMethodStates(com.android.tools.r8.graph.DexProgramClass):127:127 -> a
    42:46:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):131:135 -> a
    47:47:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    47:47:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):135 -> a
    48:51:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):135:138 -> a
    52:52:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    52:52:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):138 -> a
    53:55:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):138:140 -> a
    56:56:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    56:56:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):140 -> a
    57:57:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):140:140 -> a
    1:10:void run(java.util.concurrent.ExecutorService):61:70 -> b
com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph -> com.android.tools.r8.internal.Lo:
    java.util.Map nodes -> a
    com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator this$0 -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():144:144 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator,java.lang.Iterable):148:148 -> <init>
    2:5:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator,java.lang.Iterable):146:149 -> <init>
    1:1:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):144:144 -> a
    2:3:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.forEachNeighbor(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):154:155 -> a
    2:3:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):144 -> a
    4:4:void forEachNode(java.util.function.Consumer):160:160 -> a
    5:5:void lambda$forEachNode$0(java.util.function.Consumer,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):160:160 -> a
    6:6:void add(com.android.tools.r8.graph.DexProgramClass):164:164 -> a
    7:7:void add(com.android.tools.r8.graph.ProgramMethod):168:168 -> a
    8:8:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    8:8:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    8:8:void add(com.android.tools.r8.graph.ProgramMethod):168 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    9:9:void add(com.android.tools.r8.graph.ProgramMethod):168 -> a
    10:18:void add(com.android.tools.r8.graph.ProgramMethod):171:179 -> a
    19:19:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):191:191 -> a
    19:19:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    20:20:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    20:20:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):191 -> a
    20:20:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    21:30:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):195:204 -> a
    21:30:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    31:33:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getEnclosingMethod(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):261:263 -> a
    31:33:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):205 -> a
    31:33:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    34:34:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getEnclosingMethod(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):262:262 -> a
    34:34:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):205 -> a
    34:34:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    35:37:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):210:212 -> a
    35:37:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    38:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getMethodState(com.android.tools.r8.graph.ProgramMethod):272:272 -> a
    38:38:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):216 -> a
    38:38:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    39:39:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    39:39:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getMethodState(com.android.tools.r8.graph.ProgramMethod):272 -> a
    39:39:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):216 -> a
    39:39:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getMethodState(com.android.tools.r8.graph.ProgramMethod):272 -> a
    40:40:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):216 -> a
    40:40:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    41:49:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):217:225 -> a
    41:49:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    50:50:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    50:50:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):226 -> a
    50:50:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    51:56:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):226:231 -> a
    51:56:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    57:57:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    57:57:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):231 -> a
    57:57:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    58:64:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):231:237 -> a
    58:64:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    65:72:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):234:241 -> a
    65:72:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    73:73:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    73:73:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):241 -> a
    73:73:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    74:75:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):242:243 -> a
    74:75:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    76:79:com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode getOrCreateParameterNode(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):249:252 -> a
    80:80:com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode getOrCreateParameterNode(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):251:251 -> a
    81:82:com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode lambda$getOrCreateParameterNode$1(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,int,com.android.tools.r8.graph.ProgramMethod,java.lang.Integer,com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):256:257 -> a
com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode -> com.android.tools.r8.internal.Mo:
    java.util.Set predecessors -> d
    java.util.Set successors -> e
    com.android.tools.r8.graph.DexType parameterType -> c
    boolean pending -> f
    boolean $assertionsDisabled -> g
    int parameterIndex -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState methodState -> a
    1:1:void <clinit>():276:276 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,int,com.android.tools.r8.graph.DexType):288:288 -> <init>
    2:11:void <init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,int,com.android.tools.r8.graph.DexType):282:291 -> <init>
    1:2:void addPredecessor(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):295:296 -> a
    3:6:void clearPredecessors():300:303 -> a
    7:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState addState(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState,com.android.tools.r8.utils.Action):330:336 -> a
    14:22:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState addState(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState,com.android.tools.r8.utils.Action):332:340 -> a
    23:23:void setState(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):351:351 -> a
    1:1:java.util.Set getPredecessors():307:307 -> b
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState getState():311:311 -> c
    1:1:java.util.Set getSuccessors():315:315 -> d
    1:1:boolean hasSuccessors():319:319 -> e
    1:1:boolean isPending():323:323 -> f
    1:1:void setPending():346:346 -> g
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode.isPending():323:323 -> g
    2:2:void setPending():346 -> g
    3:4:void setPending():346:347 -> g
    1:2:void unsetPending():355:356 -> h
com.android.tools.r8.optimize.argumentpropagation.propagation.InterfaceMethodArgumentPropagator -> com.android.tools.r8.internal.Bt:
    boolean $assertionsDisabled -> i
    java.util.function.Consumer interfaceDispatchOutsideProgram -> h
    java.util.Map methodStatesToPropagate -> g
    1:1:void <clinit>():41:41 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,java.util.function.Consumer):54:54 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,java.util.function.Consumer):45:55 -> <init>
    1:2:void run(java.util.Collection):60:61 -> a
    3:5:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):66:68 -> a
    6:9:void lambda$computeInterfaceState$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.DexProgramClass):97:100 -> a
    10:19:void lambda$computeInterfaceState$1(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.ProgramMethod):106:115 -> a
    20:20:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    20:20:void lambda$computeInterfaceState$1(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.ProgramMethod):115 -> a
    21:22:void lambda$computeInterfaceState$1(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.ProgramMethod):115:116 -> a
    23:23:void propagateInterfaceStateToClassHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature):127:127 -> a
    24:25:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):133:134 -> a
    26:26:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexClass):784:784 -> a
    26:26:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):134 -> a
    27:35:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):135:143 -> a
    36:36:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    36:36:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):143 -> a
    37:51:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):144:158 -> a
    52:85:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):166:199 -> a
    86:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):175:205 -> a
    117:117:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    117:117:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    117:117:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> a
    117:117:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    117:117:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):205 -> a
    118:118:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    118:118:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    118:118:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):205 -> a
    119:119:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):205:205 -> a
    120:120:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    120:120:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):205 -> a
    121:123:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):207:209 -> a
    124:138:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound lambda$transformInterfaceMethodStateForClassMethod$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):179:193 -> a
    139:141:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound lambda$transformInterfaceMethodStateForClassMethod$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):192:194 -> a
    142:142:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound lambda$transformInterfaceMethodStateForClassMethod$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):191:191 -> a
    143:143:boolean lambda$transformInterfaceMethodStateForClassMethod$5(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):188:188 -> a
    1:1:void lambda$propagateInterfaceStateToClassHierarchy$4(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.DexProgramClass):131:131 -> b
    2:5:boolean verifyAllInterfacesFinished(java.util.Collection):217:217 -> b
    1:1:boolean isRoot(com.android.tools.r8.graph.DexProgramClass):75:75 -> c
    1:1:void prune(com.android.tools.r8.graph.DexProgramClass):87:87 -> i
    1:3:void visit(com.android.tools.r8.graph.DexProgramClass):80:82 -> k
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):93:94 -> l
    3:3:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> l
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):94 -> l
    4:4:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> l
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):94 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):104:104 -> l
    6:6:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):104 -> l
    7:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):119:119 -> l
    1:1:boolean lambda$propagateInterfaceStateToClassHierarchy$2(com.android.tools.r8.graph.DexProgramClass):129:129 -> m
com.android.tools.r8.optimize.argumentpropagation.propagation.MethodArgumentPropagator -> com.android.tools.r8.internal.kE:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):21:22 -> <init>
com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator -> com.android.tools.r8.internal.H10:
    boolean $assertionsDisabled -> h
    java.util.Map propagationStates -> g
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):175:175 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):169:169 -> <init>
    1:1:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo access$000(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> a
    2:3:void run(java.util.Collection):180:181 -> a
    4:5:boolean com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.verifyAllClassesFinished(java.util.Collection):309:310 -> a
    4:5:void run(java.util.Collection):181 -> a
    6:6:void run(java.util.Collection):182:182 -> a
    7:7:boolean com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.verifyStatePruned():316:316 -> a
    7:7:void run(java.util.Collection):182 -> a
    8:22:void lambda$computePropagationState$1(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):197:211 -> a
    23:23:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    23:23:void lambda$computePropagationState$1(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):211 -> a
    24:25:void lambda$computePropagationState$1(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):218:219 -> a
    26:31:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):221:226 -> a
    32:36:boolean com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.isUpperBoundSatisfied(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):263:267 -> a
    32:36:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):227 -> a
    37:44:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):228:235 -> a
    45:55:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):233:243 -> a
    56:56:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    56:56:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):243 -> a
    57:57:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    57:57:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    57:57:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):243 -> a
    58:59:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):243:244 -> a
    60:67:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):241:248 -> a
    68:70:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):247:249 -> a
    71:71:void computeFinalMethodStates(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):279:279 -> a
    72:72:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    72:72:void computeFinalMethodStates(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):279 -> a
    73:73:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    73:73:void computeFinalMethodStates(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):279 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    74:75:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):283:284 -> a
    74:75:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    76:76:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    76:76:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108 -> a
    76:76:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    76:76:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):284 -> a
    76:76:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    77:77:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108:108 -> a
    77:77:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    77:77:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):284 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    77:77:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    78:78:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):288:288 -> a
    78:78:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    79:79:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    79:79:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    79:79:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> a
    79:79:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    79:79:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):288 -> a
    79:79:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    80:80:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    80:80:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    80:80:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):288 -> a
    80:80:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    81:85:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):289:293 -> a
    81:85:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    86:86:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):149:149 -> a
    86:86:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    86:86:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    86:86:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    87:87:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36:36 -> a
    87:87:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    87:87:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    88:88:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):149:149 -> a
    88:88:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    88:88:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    88:88:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    89:89:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):150:150 -> a
    89:89:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:89:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    89:89:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    90:94:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):150:154 -> a
    90:94:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    90:94:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    90:94:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    95:95:com.android.tools.r8.graph.AppView com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.access$300(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> a
    95:95:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):156 -> a
    95:95:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    95:95:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    95:95:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    96:96:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):156:156 -> a
    96:96:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    96:96:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    96:96:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    97:97:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):155:155 -> a
    97:97:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    97:97:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    97:97:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    98:98:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):298:298 -> a
    98:98:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    99:99:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    99:99:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):298 -> a
    99:99:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    100:101:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):298:299 -> a
    100:101:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> b
    1:1:com.android.tools.r8.graph.AppView access$1000(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> c
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> d
    1:1:com.android.tools.r8.graph.AppView access$400(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> e
    1:1:com.android.tools.r8.graph.AppView access$500(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> f
    1:1:com.android.tools.r8.graph.AppView access$600(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> g
    1:1:com.android.tools.r8.graph.AppView access$700(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> h
    1:1:com.android.tools.r8.graph.AppView access$800(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> i
    2:3:void prune(com.android.tools.r8.graph.DexProgramClass):304:305 -> i
    1:1:com.android.tools.r8.graph.AppView access$900(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> j
    1:2:void visit(com.android.tools.r8.graph.DexProgramClass):187:188 -> k
    1:4:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):192:195 -> l
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    5:5:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):195 -> l
    6:6:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    6:6:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):195 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):255:255 -> l
com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState -> com.android.tools.r8.internal.G10:
    java.util.Map activeUntilLowerBound -> b
    java.util.Map inactiveUntilUpperBound -> c
    com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator this$0 -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature active -> a
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator,com.android.tools.r8.graph.DexProgramClass):52:52 -> <init>
    2:16:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator,com.android.tools.r8.graph.DexProgramClass):40:54 -> <init>
    1:24:void addParentState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):64:87 -> a
    25:30:void lambda$addParentState$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature):75:80 -> a
    31:39:void lambda$addParentState$3(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature):89:97 -> a
    40:88:void lambda$addParentState$3(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature):95:143 -> a
    89:90:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):105:106 -> a
    91:91:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethodSignature):680:680 -> a
    91:91:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):106 -> a
    92:94:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):685:687 -> a
    92:94:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethodSignature):680 -> a
    92:94:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):106 -> a
    95:104:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):106:115 -> a
    105:122:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):114:131 -> a
    123:127:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):129:133 -> a
    128:128:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):132:132 -> a
    1:1:void lambda$new$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):55:55 -> b
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.AlwaysFalseParameterReprocessingCriteria -> com.android.tools.r8.internal.D1:
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.AlwaysFalseParameterReprocessingCriteria INSTANCE -> a
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():24:24 -> <init>
    boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType) -> a
    boolean shouldReprocessDueToDynamicType() -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.AlwaysTrueParameterReprocessingCriteria -> com.android.tools.r8.internal.K1:
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.AlwaysTrueParameterReprocessingCriteria INSTANCE -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():22:22 -> <init>
    boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType) -> a
    boolean shouldReprocessDueToDynamicType() -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection -> com.android.tools.r8.internal.b3:
    java.util.Map reproccessingCriteria -> b
    java.util.Map delayedReproccessingCriteria -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):44:44 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView):38:45 -> <init>
    1:2:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria getReprocessingCriteria(com.android.tools.r8.graph.ProgramMethod):49:50 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.alwaysReprocess():34:34 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria getReprocessingCriteria(com.android.tools.r8.graph.ProgramMethod):50 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria getReprocessingCriteria(com.android.tools.r8.graph.ProgramMethod):49:49 -> a
    5:6:void publishDelayedReprocessingCriteria():54:55 -> a
    7:7:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):63:63 -> a
    8:8:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    8:8:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):63 -> a
    9:10:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):67:68 -> a
    11:12:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):89:90 -> a
    11:12:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria.builder():26:26 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):93 -> a
    13:13:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    14:18:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):96:100 -> a
    14:18:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    19:19:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):100 -> a
    19:19:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    20:20:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):100 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    21:64:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):100:143 -> a
    21:64:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    65:99:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):118:152 -> a
    65:99:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    100:100:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria.isAlwaysReprocess():0:0 -> a
    100:100:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):72 -> a
    101:101:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):73:73 -> a
    102:114:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):70:82 -> a
    115:115:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):81:81 -> a
    1:1:boolean verifyNoDelayedReprocessingCriteria():156:156 -> b
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria -> com.android.tools.r8.internal.JE:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap reproccesingCriteria -> a
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria ALWAYS_REPROCESS -> b
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():16:18 -> <clinit>
    1:2:void <init>():23:24 -> <init>
    3:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):28:30 -> <init>
    1:3:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria getParameterReprocessingCriteria(int):38:38 -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria -> com.android.tools.r8.internal.rH:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():24:24 -> <clinit>
    1:2:void <init>(boolean):26:27 -> <init>
    boolean shouldReprocessDueToDynamicType() -> a
    1:1:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):37:37 -> a
    2:15:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessReferenceParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):73:86 -> a
    2:15:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):38 -> a
    16:16:com.android.tools.r8.ir.analysis.type.Nullability com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.getNullability(int):123:123 -> a
    16:16:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessReferenceParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):38 -> a
    17:17:com.android.tools.r8.ir.analysis.type.Nullability com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.getNullability(int):123:123 -> a
    17:17:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessReferenceParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):89 -> a
    17:17:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):38 -> a
    18:18:boolean com.android.tools.r8.ir.analysis.type.Nullability.isUnknown():53:53 -> a
    18:18:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessReferenceParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):38 -> a
    19:19:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):41:41 -> a
    20:20:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessPrimitiveParameter(com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int):63:63 -> a
    20:20:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):42 -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria -> com.android.tools.r8.internal.mL:
    1:1:void <init>():15:15 -> <init>
    boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType) -> a
    boolean shouldReprocessDueToDynamicType() -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder -> com.android.tools.r8.internal.lL:
    boolean reprocessDueToAbstractValue -> a
    boolean reprocessDueToDynamicType -> b
    boolean reprocessDueToNullability -> c
    1:1:void <init>():58:58 -> <init>
    1:2:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria build():90:91 -> a
    3:3:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder.shouldNeverReprocess():84:84 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria build():93 -> a
    4:6:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria build():94:96 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder setReprocessDueToAbstractValue():65:65 -> b
    1:1:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder setReprocessDueToDynamicType():70:70 -> c
    1:1:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder setReprocessDueToNullability():75:75 -> d
    1:1:boolean shouldAlwaysReprocess():80:80 -> e
com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis -> com.android.tools.r8.internal.Eh:
    java.util.Map constraints -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.collections.ProgramMethodSet optimizableVirtualMethods -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():66:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):81:81 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView):72:82 -> <init>
    boolean lambda$computeEffectivelyUnusedConstraints$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value) -> a
    1:3:void initializeOptimizableVirtualMethods(java.util.Set):87:89 -> a
    4:4:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    4:4:void initializeOptimizableVirtualMethods(java.util.Set):89 -> a
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    5:5:void initializeOptimizableVirtualMethods(java.util.Set):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void initializeOptimizableVirtualMethods(java.util.Set):98:98 -> a
    7:7:void lambda$initializeOptimizableVirtualMethods$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):93:93 -> a
    8:10:void lambda$initializeOptimizableVirtualMethods$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):92:94 -> a
    11:11:void lambda$initializeOptimizableVirtualMethods$1(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):100:100 -> a
    12:12:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    12:12:void lambda$initializeOptimizableVirtualMethods$1(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):101 -> a
    13:15:void lambda$initializeOptimizableVirtualMethods$1(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):101:103 -> a
    16:38:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):132:154 -> a
    39:43:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):209:213 -> a
    39:43:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):155 -> a
    44:51:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):159:166 -> a
    52:52:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):165:165 -> a
    53:54:void computeEffectivelyUnusedArguments():177:178 -> a
    55:65:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.removeUnoptimizableNodes():167:177 -> a
    55:65:void computeEffectivelyUnusedArguments():182 -> a
    66:66:void computeEffectivelyUnusedArguments():187:187 -> a
    67:67:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    67:67:void computeEffectivelyUnusedArguments():188 -> a
    68:68:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    68:68:void computeEffectivelyUnusedArguments():189 -> a
    69:83:void computeEffectivelyUnusedArguments():190:204 -> a
    84:88:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):209:213 -> a
    84:88:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):112 -> a
    89:99:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):115:125 -> a
    100:102:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):221:223 -> a
com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph -> com.android.tools.r8.internal.Fh:
    java.util.Map nodes -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():28:28 -> <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>
    1:2:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph create(com.android.tools.r8.graph.AppView,java.util.Map):41:42 -> a
    3:3:java.util.Collection getNodes():92:92 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.getOrCreateNode(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):96:96 -> a
    4:4:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.getOrCreateNode(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):96:97 -> a
    5:6:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):44 -> a
    7:7:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):45:45 -> a
    8:12:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.addConstraintEdge(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Map):56:60 -> a
    8:12:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):46 -> a
    13:41:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.addConstraintEdge(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Map):59:87 -> a
    13:41:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):46 -> a
    42:42:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode getOrCreateNode(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):102:102 -> a
    43:43:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode lambda$getOrCreateNode$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):103:103 -> a
    44:54:void removeClosedCycles(java.util.function.Consumer):116:126 -> a
    55:55:boolean com.android.tools.r8.utils.dfs.DFSWorklistItem.isFullyVisited():0:0 -> a
    55:55:void removeClosedCycles(java.util.function.Consumer):127 -> a
    56:60:void removeClosedCycles(java.util.function.Consumer):130:134 -> a
    61:77:boolean lambda$removeClosedCycles$3(com.android.tools.r8.utils.dfs.DFSStack,com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode,java.util.function.Consumer,java.util.Deque,com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):136:152 -> a
    78:78:boolean lambda$removeClosedCycles$2(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):140:140 -> a
    1:6:void remove(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):107:112 -> b
    1:3:boolean verifyContains(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):161:163 -> c
com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode -> com.android.tools.r8.internal.Gh:
    java.util.Set predecessors -> c
    java.util.Set successors -> d
    boolean unoptimizable -> e
    boolean $assertionsDisabled -> f
    int argumentIndex -> b
    com.android.tools.r8.graph.ProgramMethod method -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,int):25:25 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.ProgramMethod,int):20:27 -> <init>
    1:4:void addSuccessor(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):31:34 -> a
    5:9:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.clearSuccessors():44:48 -> a
    5:9:void cleanForRemoval():39 -> a
    10:14:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.clearPredecessors():52:56 -> a
    10:14:void cleanForRemoval():40 -> a
    15:15:void lambda$setUnused$1(java.util.BitSet):112:112 -> a
    1:1:int getArgumentIndex():60:60 -> b
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.isUnused():89:89 -> b
    2:2:boolean lambda$removeUnusedSuccessors$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):96 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.isUnused():89:90 -> b
    3:4:boolean lambda$removeUnusedSuccessors$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):96 -> b
    5:6:boolean lambda$removeUnusedSuccessors$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):97:98 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod getMethod():64:64 -> c
    1:1:java.util.Set getPredecessors():68:68 -> d
    1:1:java.util.Set getSuccessors():72:72 -> e
    1:6:boolean isNullable():76:81 -> f
    1:1:boolean isUnoptimizable():85:85 -> g
    1:1:void removeUnusedSuccessors():94:94 -> h
    1:1:void setUnoptimizable():106:106 -> i
    1:7:void setUnused():110:116 -> j
com.android.tools.r8.optimize.argumentpropagation.utils.BidirectedGraph -> com.android.tools.r8.internal.M4:
    1:1:void <init>():14:14 -> <init>
    void forEachNeighbor(java.lang.Object,java.util.function.Consumer) -> a
    void forEachNode(java.util.function.Consumer) -> a
    1:3:java.util.List computeStronglyConnectedComponents():25:27 -> a
    4:9:void lambda$computeStronglyConnectedComponents$0(java.util.Set,java.util.List,java.lang.Object):29:34 -> a
    10:15:java.util.Set computeStronglyConnectedComponent(java.lang.Object):40:45 -> a
com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal -> com.android.tools.r8.internal.ff:
    java.util.Map states -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List newlySeenButNotFinishedRoots -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):56:56 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):42:58 -> <init>
    1:4:java.util.Deque com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.computeRoots(java.util.Collection):77:80 -> a
    1:4:void run(java.util.Collection):67 -> a
    5:8:void run(java.util.Collection):68:71 -> a
    9:11:void prioritizeNewlySeenButNotFinishedRoots(java.util.Deque):102:102 -> a
    20:21:void prioritizeNewlySeenButNotFinishedRoots(java.util.Deque):111:112 -> a
    22:22:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):155:155 -> a
    23:23:boolean isClassFinished(com.android.tools.r8.graph.DexProgramClass):174:174 -> a
    1:1:boolean isClassSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):170:170 -> b
    1:7:boolean isRoot(com.android.tools.r8.graph.DexProgramClass):87:93 -> c
    1:2:boolean lambda$prioritizeNewlySeenButNotFinishedRoots$0(com.android.tools.r8.graph.DexProgramClass):105:106 -> d
    1:1:boolean lambda$processSuperClasses$1(com.android.tools.r8.graph.DexProgramClass):137:137 -> e
    1:1:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):139:139 -> f
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.isClassUnseen(com.android.tools.r8.graph.DexProgramClass):166:166 -> f
    2:2:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):139 -> f
    3:4:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):139:140 -> f
    5:7:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):159:161 -> f
    5:7:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):141 -> f
    8:8:boolean com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.isClassUnseen(com.android.tools.r8.graph.DexProgramClass):166:166 -> f
    8:8:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):178 -> f
    8:8:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):162 -> f
    8:8:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):141 -> f
    9:10:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):178:179 -> f
    9:10:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):162 -> f
    9:10:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):141 -> f
    11:12:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):144:145 -> f
    1:1:void processSubclasses(com.android.tools.r8.graph.DexProgramClass):151:151 -> g
    1:3:void processSuperClasses(com.android.tools.r8.graph.DexProgramClass):133:135 -> h
    void prune(com.android.tools.r8.graph.DexProgramClass) -> i
    1:8:void traverse(com.android.tools.r8.graph.DexProgramClass):117:124 -> j
    9:11:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):159:161 -> j
    9:11:void traverse(com.android.tools.r8.graph.DexProgramClass):125 -> j
    12:12:boolean com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.isClassUnseen(com.android.tools.r8.graph.DexProgramClass):166:166 -> j
    12:12:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):178 -> j
    12:12:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):162 -> j
    12:12:void traverse(com.android.tools.r8.graph.DexProgramClass):125 -> j
    13:14:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):178:179 -> j
    13:14:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):162 -> j
    13:14:void traverse(com.android.tools.r8.graph.DexProgramClass):125 -> j
    15:15:void traverse(com.android.tools.r8.graph.DexProgramClass):128:128 -> j
    16:18:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markFinished(com.android.tools.r8.graph.DexProgramClass):183:185 -> j
    16:18:void traverse(com.android.tools.r8.graph.DexProgramClass):129 -> j
    void visit(com.android.tools.r8.graph.DexProgramClass) -> k
com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState -> com.android.tools.r8.internal.ef:
    com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState FINISHED -> c
    com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState SEEN -> b
    1:5:void <clinit>():30:34 -> <clinit>
    1:1:void <init>(java.lang.String,int):26:26 -> <init>
com.android.tools.r8.optimize.argumentpropagation.utils.ParameterRemovalUtils -> com.android.tools.r8.internal.kL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:2:boolean canRemoveUnusedParametersFrom(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):17:18 -> a
    3:3:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> a
    3:3:boolean canRemoveUnusedParametersFrom(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):19 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:6:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> a
    4:6:boolean canRemoveUnusedParametersFrom(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):19 -> a
    7:10:boolean canRemoveUnusedParametersFrom(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):22:25 -> a
    11:22:boolean canRemoveUnusedParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,int):30:41 -> a
com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph -> com.android.tools.r8.internal.CM:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):20:22 -> <init>
    1:1:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13:13 -> a
    2:2:void com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):27:27 -> a
    2:2:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
    3:3:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> a
    3:3:void com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):27 -> a
    3:3:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
    4:4:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> a
    4:4:void com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):27 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
    5:5:void com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):28:28 -> a
    5:5:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
    6:6:void forEachNode(java.util.function.Consumer):33:33 -> a
com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils -> com.android.tools.r8.internal.h20:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:2:com.android.tools.r8.ir.analysis.type.DynamicType widenDynamicReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):28:29 -> a
    3:3:com.android.tools.r8.ir.analysis.type.DynamicType widenDynamicReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):25:25 -> a
    4:4:com.android.tools.r8.ir.analysis.type.DynamicType widenDynamicNonReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):34:34 -> a
    5:5:com.android.tools.r8.ir.analysis.type.DynamicType com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.widenDynamicNonReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):42:42 -> a
    5:5:com.android.tools.r8.ir.analysis.type.DynamicType widenDynamicNonReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):34 -> a
    6:16:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):50:60 -> a
    17:17:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    17:17:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):60 -> a
    18:18:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    18:18:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    18:18:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):60 -> a
    19:20:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):60:61 -> a
    21:21:boolean com.android.tools.r8.ir.analysis.type.Nullability.strictlyLessThan(com.android.tools.r8.ir.analysis.type.Nullability):87:87 -> a
    21:21:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):61 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:boolean com.android.tools.r8.ir.analysis.type.Nullability.strictlyLessThan(com.android.tools.r8.ir.analysis.type.Nullability):87:87 -> a
    22:22:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):61 -> a
    23:24:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):62:63 -> a
    25:25:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87:87 -> a
    25:25:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    26:30:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):92:96 -> a
    26:30:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87 -> a
    26:30:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    31:31:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    31:31:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):97 -> a
    31:31:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87 -> a
    31:31:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    32:34:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:102 -> a
    32:34:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87 -> a
    32:34:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    35:35:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):101:101 -> a
    35:35:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87 -> a
    35:35:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    36:36:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87:87 -> a
    36:36:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    37:41:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):69:73 -> a
    42:46:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):92:96 -> a
    42:46:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82 -> a
    47:47:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    47:47:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):97 -> a
    47:47:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82 -> a
    48:50:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:102 -> a
    48:50:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82 -> a
    51:51:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):101:101 -> a
    51:51:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82 -> a
    52:52:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82:82 -> a
com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting -> com.android.tools.r8.internal.T5:
    com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult result -> b
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:4:void <clinit>():70:73 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):81:83 -> <init>
    1:1:void run():87:87 -> a
    2:2:com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.shaking.AppInfoWithLiveness.computeSubtypingInfo():1531:1531 -> a
    2:2:void run():87 -> a
    3:26:void run():88:111 -> a
    27:27:void lambda$run$0(com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexProgramClass):90:90 -> a
    28:30:void lambda$run$1(com.android.tools.r8.graph.MethodAccessInfoCollection$Modifier,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):113:115 -> a
    31:38:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):124:131 -> a
    39:45:java.util.Set com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.getCandidatesForHoisting(java.util.Set):139:145 -> a
    39:45:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):133 -> a
    46:47:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):133:134 -> a
    48:97:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):157:206 -> a
    98:100:java.util.Map$Entry com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.findMostFrequentBridge(java.util.Map):268:270 -> a
    98:100:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):209 -> a
    101:103:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):210:212 -> a
    104:111:java.util.List com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.getBridgesEligibleForHoisting(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):279:286 -> a
    104:111:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):216 -> a
    112:112:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):217:217 -> a
    113:116:boolean com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):292:295 -> a
    113:116:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):220 -> a
    117:117:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    117:117:boolean com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):295 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    117:117:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):220 -> a
    118:118:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    118:118:boolean com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):295 -> a
    118:118:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):220 -> a
    119:131:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):226:238 -> a
    132:134:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):299:301 -> a
    132:134:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    135:156:com.android.tools.r8.graph.CfCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):310:331 -> a
    135:156:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):301 -> a
    135:156:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    157:157:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    157:157:com.android.tools.r8.graph.CfCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):331 -> a
    157:157:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):301 -> a
    157:157:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    158:158:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    158:158:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    158:158:com.android.tools.r8.graph.CfCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):331 -> a
    158:158:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):301 -> a
    158:158:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    159:159:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    159:159:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    159:159:com.android.tools.r8.graph.CfCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):331 -> a
    159:159:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):301 -> a
    159:159:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    160:161:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):303:304 -> a
    160:161:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    162:166:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):336:340 -> a
    162:166:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    162:166:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    167:167:boolean com.android.tools.r8.code.Instruction.isInvokeVirtual():0:0 -> a
    167:167:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):340 -> a
    167:167:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    167:167:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    168:174:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):341:347 -> a
    168:174:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    168:174:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    175:175:boolean com.android.tools.r8.code.Instruction.isInvokeVirtualRange():0:0 -> a
    175:175:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):349 -> a
    175:175:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    175:175:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    176:195:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):350:369 -> a
    176:195:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    176:195:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    196:211:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239:254 -> a
    212:221:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):251:260 -> a
    222:222:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    222:222:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    223:223:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":225,"2":226,"3":227}}
    225:225:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    225:225:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    226:226:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    226:226:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    227:227:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    227:227:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    224:224:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    224:224:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    228:228:java.util.List lambda$hoistBridgeIfPossible$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):201:201 -> a
com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens -> com.android.tools.r8.internal.U5:
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap bridgeToHoistedBridgeMap -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneMap):25:26 -> <init>
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):48:48 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):58:58 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):66:66 -> a
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    1:1:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):31:31 -> b
    2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens.getNextMethodSignature(com.android.tools.r8.graph.DexMethod):43:43 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):32 -> b
    3:3:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):53:53 -> b
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):73:75 -> c
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    1:2:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):37:38 -> e
    3:3:boolean hasCodeRewritings():85:85 -> e
    1:1:boolean isContextFreeForMethods():80:80 -> g
com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult -> com.android.tools.r8.internal.V5:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap bridgeToHoistedBridgeMap -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):28:28 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):26:29 -> <init>
    1:1:void forEachHoistedBridge(java.util.function.BiConsumer):33:33 -> a
    2:5:void lambda$forEachHoistedBridge$0(java.util.function.BiConsumer,java.util.Set,com.android.tools.r8.graph.DexMethod):35:38 -> a
    6:6:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):48:48 -> a
    7:7:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> a
    7:7:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):49:49 -> a
    9:9:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    9:9:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):50 -> a
    10:20:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):51:61 -> a
    21:25:void recordNonReboundMethodAccesses(com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder):66:70 -> a
    26:31:void lambda$recordNonReboundMethodAccesses$3(com.android.tools.r8.graph.MethodAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder,com.android.tools.r8.graph.DexMethod):72:77 -> a
    32:32:void lambda$recordNonReboundMethodAccesses$1(com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):75:75 -> a
    33:33:com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens buildLens():86:86 -> a
    34:34:boolean com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult.isEmpty():44:44 -> a
    34:34:com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens buildLens():86 -> a
    35:36:com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens buildLens():86:87 -> a
    1:1:boolean isEmpty():44:44 -> b
    2:2:void lambda$recordNonReboundMethodAccesses$2(com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):80:80 -> b
com.android.tools.r8.optimize.proto.ProtoNormalizer -> com.android.tools.r8.internal.ZO:
    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>():42:42 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):48:51 -> <init>
    1:2:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):55:56 -> a
    3:3:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):379:379 -> a
    3:3:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:7:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):381:383 -> a
    5:7:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):56 -> a
    8:17:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):76:85 -> a
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    18:18:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
    18:18:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):85 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    19:19:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    19:19:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
    19:19:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):85 -> a
    20:26:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):87:93 -> a
    27:30:void lambda$run$1(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):96:99 -> a
    31:78:com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState computeGlobalReservationState(java.util.concurrent.ExecutorService):115:162 -> a
    79:79:void lambda$computeGlobalReservationState$3(java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):128:128 -> a
    80:95:void lambda$computeGlobalReservationState$4(java.util.Map,java.util.Set,com.android.tools.r8.graph.DexTypeList,java.util.Set):137:152 -> a
    96:97:void com.android.tools.r8.optimize.proto.ProtoNormalizer.computeExtraReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet):193:194 -> a
    96:97:void lambda$computeGlobalReservationState$5(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):158 -> a
    98:98:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$8(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature):218:218 -> a
    99:100:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):226:227 -> a
    101:101:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):266:266 -> a
    101:101:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):227 -> a
    102:102:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):266:266 -> a
    102:102:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):227 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    103:109:void lambda$computeInstanceInitializerCollisions$9(com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,java.util.Map,com.android.tools.r8.graph.ProgramMethod):229:235 -> a
    110:128:void resolveInstanceInitializerCollisions(java.util.Map):242:260 -> a
    129:130:java.lang.Object com.android.tools.r8.utils.IterableUtils.min(java.lang.Iterable,java.util.Comparator):101:102 -> a
    129:130:void resolveInstanceInitializerCollisions(java.util.Map):260 -> a
    131:138:void resolveInstanceInitializerCollisions(java.util.Map):260:267 -> a
    139:151:void resolveInstanceInitializerCollisions(java.util.Map):266:278 -> a
    152:153:void lambda$resolveInstanceInitializerCollisions$10(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):245:246 -> a
    154:155:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):284:285 -> a
    154:155:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):170 -> a
    156:156:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):175:175 -> a
    157:157:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:162 -> a
    157:157:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):175 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    158:164:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:168 -> a
    158:164:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):175 -> a
    165:165:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):175:175 -> a
    166:171:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):174:179 -> a
    172:172:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexClassAndMethod):66:66 -> a
    172:172:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):179 -> a
    173:173:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):184:184 -> a
    174:174:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:162 -> a
    174:174:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    175:181:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:168 -> a
    175:181:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):184 -> a
    182:182:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):184:184 -> a
    183:185:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet) -> a
    186:186:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779:779 -> a
    186:186:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$6(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):215 -> a
    187:187:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.getNext(java.util.Iterator,java.lang.Object):845:845 -> a
    187:187:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779 -> a
    187:187:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$6(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):215 -> a
    188:188:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$6(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):215:215 -> a
    com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$7(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet) -> b
    1:1:void lambda$run$0(java.util.concurrent.ExecutorService):56:56 -> b
    2:9:java.util.Map computeNewInstanceInitializerSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):205:212 -> b
    1:7:void run(java.util.concurrent.ExecutorService):61:67 -> c
    8:8:com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens.builder(com.android.tools.r8.graph.AppView):40:40 -> c
    8:8:void run(java.util.concurrent.ExecutorService):67 -> c
    9:47:void run(java.util.concurrent.ExecutorService):68:106 -> c
com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState -> com.android.tools.r8.internal.XO:
    java.util.Map reservedParameters -> a
    com.android.tools.r8.utils.collections.DexMethodSignatureSet unoptimizableSignatures -> b
    1:3:void <init>(java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):300:302 -> <init>
    1:1:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37:37 -> a
    1:1:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):324 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    2:2:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):324 -> a
    3:3:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:162 -> a
    3:3:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):324 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:10:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:168 -> a
    4:10:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):324 -> a
    11:11:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):325:325 -> a
    12:13:java.util.Map selectDeterministicTarget(java.util.Map):307:308 -> a
    14:22:void lambda$selectDeterministicTarget$0(java.util.Map,com.android.tools.r8.graph.DexTypeList,java.util.Set):310:318 -> a
com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState -> com.android.tools.r8.internal.YO:
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():333:333 -> <clinit>
    1:3:void <init>():333:335 -> <init>
    1:1:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.isUnoptimizable(com.android.tools.r8.graph.DexMethodSignature):329:329 -> a
    1:1:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):359 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.isUnoptimizable(com.android.tools.r8.graph.DexMethodSignature):329:329 -> a
    2:2:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):359 -> a
    3:8:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):360:365 -> a
    9:9:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37:37 -> a
    9:9:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):366 -> a
    10:10:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    10:10:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):366 -> a
    11:11:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):367:367 -> a
    12:30:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):365:383 -> a
    31:31:com.android.tools.r8.graph.DexMethodSignature getAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):350:350 -> a
    1:1:com.android.tools.r8.graph.DexMethodSignature getNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):342:342 -> b
com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens -> com.android.tools.r8.internal.bP:
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.collections.BidirectionalOneToOneMap newMethodSignatures -> f
    java.util.Map prototypeChanges -> g
    1:1:void <clinit>():25:25 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,java.util.Map):34:36 -> <init>
    com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):45:45 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):55:55 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):100:100 -> a
    4:4:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):101 -> a
    5:8:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):105:108 -> a
    9:13:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):107:111 -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):50:50 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):68:68 -> b
    1:5:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):75:79 -> c
    6:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):461:461 -> c
    6:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):79 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:9:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):83:83 -> c
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):121:121 -> e
    2:2:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> e
    2:2:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):121 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):121:121 -> e
    1:1:boolean isContextFreeForMethods():89:89 -> g
com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder -> com.android.tools.r8.internal.aP:
    java.util.Map prototypeChanges -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():129:129 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$1):129:129 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):137:137 -> <init>
    3:9:void <init>(com.android.tools.r8.graph.AppView):132:138 -> <init>
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):143:145 -> a
    4:18:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder.computePrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):157:171 -> a
    4:18:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):147 -> a
    19:29:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder.computePrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):170:180 -> a
    19:29:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):147 -> a
    30:30:boolean com.android.tools.r8.graph.proto.ArgumentPermutation.isDefault():0:0 -> a
    30:30:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder.computePrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):180 -> a
    30:30:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):147 -> a
    31:37:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder.computePrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):180:186 -> a
    31:37:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):147 -> a
    38:41:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):148:151 -> a
    42:42:com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens build():194:194 -> a
    1:1:boolean isEmpty():190:190 -> b
com.android.tools.r8.org.objectweb.asm.AnnotationVisitor -> com.android.tools.r8.internal.c2:
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor av -> a
    1:1:void <init>(int):59:59 -> <init>
    2:16:void <init>(int,com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):70:84 -> <init>
    1:2:void visit(java.lang.String,java.lang.Object):99:100 -> a
    3:4:void visitEnum(java.lang.String,java.lang.String,java.lang.String):112:113 -> a
    5:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):127:128 -> a
    7:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):145:146 -> a
    9:10:void visitEnd():153:154 -> a
com.android.tools.r8.org.objectweb.asm.AnnotationWriter -> com.android.tools.r8.internal.d2:
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter nextAnnotation -> h
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter previousAnnotation -> g
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> b
    int numElementValuePairs -> f
    com.android.tools.r8.org.objectweb.asm.ByteVector annotation -> d
    int numElementValuePairsOffset -> e
    boolean useNamedValues -> c
    1:9:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,boolean,com.android.tools.r8.org.objectweb.asm.ByteVector,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):115:123 -> <init>
    1:4:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):143:146 -> a
    5:5:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):175:175 -> a
    6:6:void com.android.tools.r8.org.objectweb.asm.TypeReference.putTarget(int,com.android.tools.r8.org.objectweb.asm.ByteVector):433:433 -> a
    6:6:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):177 -> a
    7:25:void com.android.tools.r8.org.objectweb.asm.TypeReference.putTarget(int,com.android.tools.r8.org.objectweb.asm.ByteVector):412:430 -> a
    7:25:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):177 -> a
    26:26:void com.android.tools.r8.org.objectweb.asm.TypeReference.putTarget(int,com.android.tools.r8.org.objectweb.asm.ByteVector):407:407 -> a
    26:26:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):177 -> a
    27:30:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):178:181 -> a
    31:98:void visit(java.lang.String,java.lang.Object):193:260 -> a
    99:105:void visitEnum(java.lang.String,java.lang.String,java.lang.String):268:274 -> a
    106:112:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):281:287 -> a
    113:125:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):294:306 -> a
    126:129:void visitEnd():311:314 -> a
    130:145:int computeAnnotationsSize(com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):375:390 -> a
    146:158:void putAnnotations(int,com.android.tools.r8.org.objectweb.asm.ByteVector):412:424 -> a
    159:159:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):457:457 -> a
    160:165:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):456:461 -> a
    166:171:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):460:465 -> a
    172:177:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):464:469 -> a
    178:178:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):468:468 -> a
    179:202:void putParameterAnnotations(int,com.android.tools.r8.org.objectweb.asm.AnnotationWriter[],int,com.android.tools.r8.org.objectweb.asm.ByteVector):526:549 -> a
    1:8:int computeAnnotationsSize(java.lang.String):334:341 -> b
com.android.tools.r8.org.objectweb.asm.Attribute -> com.android.tools.r8.internal.W3:
    byte[] content -> b
    java.lang.String type -> a
    com.android.tools.r8.org.objectweb.asm.Attribute nextAttribute -> c
    1:2:void <init>(java.lang.String):64:65 -> <init>
    1:3:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):128:130 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.ByteVector write(com.android.tools.r8.org.objectweb.asm.ClassWriter,byte[],int,int,int):159:159 -> a
    5:18:int computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,int):247:260 -> a
    19:29:void putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):336:346 -> a
com.android.tools.r8.org.objectweb.asm.Attribute$Set -> com.android.tools.r8.internal.V3:
    com.android.tools.r8.org.objectweb.asm.Attribute[] data -> b
    int size -> a
    1:6:void <init>():351:356 -> <init>
    1:2:com.android.tools.r8.org.objectweb.asm.Attribute[] toArray():369:370 -> a
    3:4:boolean com.android.tools.r8.org.objectweb.asm.Attribute$Set.contains(com.android.tools.r8.org.objectweb.asm.Attribute):375:376 -> a
    3:4:void addAttributes(com.android.tools.r8.org.objectweb.asm.Attribute):361 -> a
    5:10:void com.android.tools.r8.org.objectweb.asm.Attribute$Set.add(com.android.tools.r8.org.objectweb.asm.Attribute):384:389 -> a
    5:10:void addAttributes(com.android.tools.r8.org.objectweb.asm.Attribute):362 -> a
    11:11:void addAttributes(com.android.tools.r8.org.objectweb.asm.Attribute):364:364 -> a
com.android.tools.r8.org.objectweb.asm.ByteVector -> com.android.tools.r8.internal.f6:
    byte[] data -> a
    int length -> b
    1:2:void <init>():45:46 -> <init>
    3:4:void <init>(int):54:55 -> <init>
    5:7:void <init>(byte[]):63:65 -> <init>
    1:8:com.android.tools.r8.org.objectweb.asm.ByteVector put11(int,int):92:99 -> a
    9:19:com.android.tools.r8.org.objectweb.asm.ByteVector put122(int,int,int):195:205 -> a
    20:35:com.android.tools.r8.org.objectweb.asm.ByteVector putLong(long):216:231 -> a
    36:60:com.android.tools.r8.org.objectweb.asm.ByteVector putUTF8(java.lang.String):244:268 -> a
    61:61:com.android.tools.r8.org.objectweb.asm.ByteVector putUTF8(java.lang.String):246:246 -> a
    62:100:com.android.tools.r8.org.objectweb.asm.ByteVector encodeUtf8(java.lang.String,int,int):285:323 -> a
    101:101:com.android.tools.r8.org.objectweb.asm.ByteVector encodeUtf8(java.lang.String,int,int):298:298 -> a
    102:108:com.android.tools.r8.org.objectweb.asm.ByteVector putByteArray(byte[],int,int):339:345 -> a
    109:113:void enlarge(int):355:359 -> a
    1:6:com.android.tools.r8.org.objectweb.asm.ByteVector putByte(int):75:80 -> b
    7:16:com.android.tools.r8.org.objectweb.asm.ByteVector put112(int,int,int):152:161 -> b
    1:9:com.android.tools.r8.org.objectweb.asm.ByteVector put12(int,int):130:138 -> c
    10:19:com.android.tools.r8.org.objectweb.asm.ByteVector putInt(int):172:181 -> c
    1:8:com.android.tools.r8.org.objectweb.asm.ByteVector putShort(int):110:117 -> d
com.android.tools.r8.org.objectweb.asm.ClassReader -> com.android.tools.r8.internal.Ja:
    int[] bootstrapMethodOffsets -> f
    byte[] classFileBuffer -> b
    int[] cpInfoOffsets -> c
    com.android.tools.r8.org.objectweb.asm.ConstantDynamic[] constantDynamicValues -> e
    java.lang.String[] constantUtf8Values -> d
    int maxStringLength -> g
    int header -> a
    1:1:void <init>(byte[]):166:166 -> <init>
    2:2:void <init>(byte[],int,int):180:180 -> <init>
    3:9:void <init>(byte[],int,boolean):192:198 -> <init>
    10:10:void <init>(byte[],int,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":306,"2":307,"3":308}}
    306:306:void <init>(byte[],int,boolean):198:198 -> <init>
    307:307:void <init>(byte[],int,boolean):198:198 -> <init>
    308:308:void <init>(byte[],int,boolean):198:198 -> <init>
    209:272:void <init>(byte[],int,boolean):199:262 -> <init>
    273:305:void <init>(byte[],int,boolean):243:275 -> <init>
    1:1:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):424:424 -> a
    2:10:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):445:453 -> a
    11:11:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    11:11:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):454 -> a
    12:12:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    12:12:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):455 -> a
    13:13:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):456:456 -> a
    14:14:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    14:14:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):459 -> a
    15:71:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):459:515 -> a
    72:72:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    72:72:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):516 -> a
    73:92:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):517:536 -> a
    93:106:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):533:546 -> a
    107:107:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    107:107:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):547 -> a
    108:130:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):548:570 -> a
    131:137:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):569:575 -> a
    138:138:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):773:773 -> a
    138:138:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    139:139:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readModule(int,char[]):3756:3756 -> a
    139:139:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):777 -> a
    139:139:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    140:155:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):778:793 -> a
    140:155:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    156:156:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readPackage(int,char[]):3771:3771 -> a
    156:156:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):796 -> a
    156:156:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    157:163:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):796:802 -> a
    157:163:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    164:164:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readModule(int,char[]):3756:3756 -> a
    164:164:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):806 -> a
    164:164:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    165:172:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):807:814 -> a
    165:172:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    173:173:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readPackage(int,char[]):3771:3771 -> a
    173:173:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):819 -> a
    173:173:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    174:179:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):820:825 -> a
    174:179:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    180:180:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readModule(int,char[]):3756:3756 -> a
    180:180:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):827 -> a
    180:180:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    181:189:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):827:835 -> a
    181:189:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    190:190:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readPackage(int,char[]):3771:3771 -> a
    190:190:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):839 -> a
    190:190:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    191:196:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):840:845 -> a
    191:196:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    197:197:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readModule(int,char[]):3756:3756 -> a
    197:197:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):847 -> a
    197:197:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    198:206:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):847:855 -> a
    198:206:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    207:207:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    207:207:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):858 -> a
    207:207:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    208:213:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):858:863 -> a
    208:213:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    214:214:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    214:214:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):867 -> a
    214:214:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    215:217:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):868:870 -> a
    215:217:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    218:218:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    218:218:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):872 -> a
    218:218:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    219:226:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):872:879 -> a
    219:226:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    227:227:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):586:586 -> a
    228:228:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    228:228:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):591 -> a
    229:246:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):592:609 -> a
    247:266:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):608:627 -> a
    267:288:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):626:647 -> a
    289:314:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):646:671 -> a
    315:338:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):670:693 -> a
    339:339:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    339:339:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):696 -> a
    340:347:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):696:703 -> a
    348:348:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    348:348:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):707 -> a
    349:357:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):706:714 -> a
    358:358:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    358:358:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):718 -> a
    359:359:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    359:359:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):719 -> a
    360:361:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):720:721 -> a
    362:373:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717:728 -> a
    374:451:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):892:969 -> a
    374:451:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    452:471:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):968:987 -> a
    452:471:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    472:493:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):986:1007 -> a
    472:493:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    494:519:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1006:1031 -> a
    494:519:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    520:542:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1030:1052 -> a
    520:542:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    543:543:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):736:736 -> a
    544:631:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1066:1153 -> a
    544:631:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    632:651:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1152:1171 -> a
    632:651:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    652:673:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1170:1191 -> a
    652:673:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    674:699:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1190:1215 -> a
    674:699:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    700:722:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1214:1236 -> a
    700:722:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    723:723:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):741:741 -> a
    724:780:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1250:1306 -> a
    724:780:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    781:781:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    781:781:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1309 -> a
    781:781:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    782:830:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1309:1357 -> a
    782:830:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    831:851:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1353:1373 -> a
    831:851:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    852:872:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1369:1389 -> a
    852:872:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    873:900:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1387:1414 -> a
    873:900:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    901:920:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1413:1432 -> a
    901:920:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    921:942:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1431:1452 -> a
    921:942:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    943:968:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1451:1476 -> a
    943:968:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    969:969:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1475:1475 -> a
    969:969:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    970:983:void com.android.tools.r8.org.objectweb.asm.ClassReader.readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2944:2957 -> a
    970:983:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1489 -> a
    970:983:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    984:984:void com.android.tools.r8.org.objectweb.asm.ClassReader.readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2956:2956 -> a
    984:984:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1489 -> a
    984:984:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    985:998:void com.android.tools.r8.org.objectweb.asm.ClassReader.readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2944:2957 -> a
    985:998:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1495 -> a
    985:998:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    999:999:void com.android.tools.r8.org.objectweb.asm.ClassReader.readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2956:2956 -> a
    999:999:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1495 -> a
    999:999:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    1000:1013:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1505:1518 -> a
    1000:1013:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    1014:1014:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):748:748 -> a
    1015:1319:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1539:1843 -> a
    1320:1373:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1745:1798 -> a
    1374:1379:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1780:1785 -> a
    1380:1556:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1724:1900 -> a
    1557:1557:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2709:2709 -> a
    1557:1557:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1901 -> a
    1558:1560:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.ClassReader.readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2680:2682 -> a
    1558:1560:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710 -> a
    1558:1560:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1901 -> a
    1561:1561:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710:2710 -> a
    1561:1561:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1901 -> a
    1562:1562:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1902:1902 -> a
    1563:1563:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2709:2709 -> a
    1563:1563:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1903 -> a
    1564:1566:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.ClassReader.readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2680:2682 -> a
    1564:1566:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710 -> a
    1564:1566:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1903 -> a
    1567:1567:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710:2710 -> a
    1567:1567:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1903 -> a
    1568:1580:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1908:1920 -> a
    1581:1581:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2709:2709 -> a
    1581:1581:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1922 -> a
    1582:1584:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.ClassReader.readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2680:2682 -> a
    1582:1584:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710 -> a
    1582:1584:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1922 -> a
    1585:1585:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710:2710 -> a
    1585:1585:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1922 -> a
    1586:1655:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1923:1992 -> a
    1656:1663:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3198:3205 -> a
    1656:1663:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1664:1664:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    1664:1664:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3205 -> a
    1664:1664:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1665:1713:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3205:3253 -> a
    1665:1713:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1714:1732:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3231:3249 -> a
    1714:1732:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1733:1733:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3225:3225 -> a
    1733:1733:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1734:1740:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3222:3228 -> a
    1734:1740:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1741:1741:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3219:3219 -> a
    1741:1741:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1742:1813:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2004:2075 -> a
    1814:1814:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2068:2068 -> a
    1815:1890:int com.android.tools.r8.org.objectweb.asm.ClassReader.readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3279:3354 -> a
    1815:1890:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2088 -> a
    1891:1891:int com.android.tools.r8.org.objectweb.asm.ClassReader.readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3351:3351 -> a
    1891:1891:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2088 -> a
    1892:2292:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2097:2497 -> a
    2293:2293:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2344:2344 -> a
    2294:2294:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2343:2343 -> a
    2295:2306:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2322:2333 -> a
    2307:2307:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2325:2325 -> a
    2308:2308:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2290:2290 -> a
    2309:2309:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2288:2288 -> a
    2310:2310:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    2310:2310:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2493 -> a
    2311:2311:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2493:2493 -> a
    2312:2312:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2492:2492 -> a
    2313:2316:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2352:2355 -> a
    2317:2321:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2354:2358 -> a
    2322:2322:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    2322:2322:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2483 -> a
    2323:2323:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2483:2483 -> a
    2324:2339:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2459:2474 -> a
    2340:2341:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2438:2439 -> a
    2342:2342:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    2342:2342:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2440 -> a
    2343:2350:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2441:2448 -> a
    2351:2361:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2384:2394 -> a
    2362:2371:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2367:2376 -> a
    2372:2372:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2283:2283 -> a
    2373:2578:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2282:2487 -> a
    2579:2579:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2261:2261 -> a
    2580:2769:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2237:2426 -> a
    2770:2770:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2421:2421 -> a
    2771:2771:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2417:2417 -> a
    2772:2772:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2413:2413 -> a
    2773:3074:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2213:2514 -> a
    3075:3104:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2513:2542 -> a
    3105:3176:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2541:2612 -> a
    3177:3206:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2611:2640 -> a
    3207:3233:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2639:2665 -> a
    3234:3234:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1546:1546 -> a
    3235:3238:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.ClassReader.readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2679:2682 -> a
    3235:3238:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2695 -> a
    3239:3239:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2696:2696 -> a
    3240:3293:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2737:2790 -> a
    3294:3346:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2753:2805 -> a
    3347:3361:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2804:2818 -> a
    3362:3367:int getTypeAnnotationBytecodeOffset(int[],int):2837:2842 -> a
    3368:3426:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2858:2916 -> a
    3427:3474:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2875:2922 -> a
    3475:3492:int readElementValues(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,boolean,char[]):2986:3003 -> a
    3493:3499:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3025:3031 -> a
    3500:3653:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3029:3182 -> a
    3654:3661:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3070:3077 -> a
    3662:3685:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3074:3097 -> a
    3686:3764:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3096:3174 -> a
    3765:3765:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3173:3173 -> a
    3766:3803:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3112:3149 -> a
    3804:3824:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3136:3156 -> a
    3825:3836:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3155:3166 -> a
    3837:3841:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3165:3169 -> a
    3842:3847:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3128:3133 -> a
    3848:3853:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3104:3109 -> a
    3854:3856:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3064:3066 -> a
    3857:3857:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3062:3062 -> a
    3858:3860:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3056:3056 -> a
    3861:3861:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3052:3052 -> a
    3862:3862:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3051:3051 -> a
    3863:3865:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3043:3043 -> a
    3866:3868:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3038:3038 -> a
    3917:3917:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3087:3087 -> a
    3918:3918:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3086:3086 -> a
    3919:3951:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3379:3411 -> a
    3952:3952:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3407:3407 -> a
    3953:3953:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    3953:3953:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3403 -> a
    3954:3954:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3403:3403 -> a
    3955:3955:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3400:3400 -> a
    3956:3956:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3397:3397 -> a
    3957:3957:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3394:3394 -> a
    3958:3958:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3391:3391 -> a
    3959:3959:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3388:3388 -> a
    3960:3960:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3385:3385 -> a
    3961:3961:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3382:3382 -> a
    3962:3991:int getFirstAttributeOffset():3430:3459 -> a
    3992:3998: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[]):3529:3535 -> a
    3999:3999:int getItem(int):3562:3562 -> a
    4000:4016:java.lang.String readUtf(int,int,char[]):3691:3707 -> a
    4017:4046:java.lang.Object readConst(int,char[]):3820:3849 -> a
    4047:4063:com.android.tools.r8.org.objectweb.asm.ConstantDynamic com.android.tools.r8.org.objectweb.asm.ClassReader.readConstantDynamic(int,char[]):3785:3801 -> a
    4047:4063:java.lang.Object readConst(int,char[]):3847 -> a
    4064:4068:java.lang.Object readConst(int,char[]):3835:3839 -> a
    4069:4069:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    4069:4069:java.lang.Object readConst(int,char[]):3840 -> a
    4070:4074:java.lang.Object readConst(int,char[]):3841:3845 -> a
    4075:4075:java.lang.Object readConst(int,char[]):3833:3833 -> a
    4076:4076:java.lang.Object readConst(int,char[]):3831:3831 -> a
    4077:4077:java.lang.Object readConst(int,char[]):3829:3829 -> a
    4078:4078:java.lang.Object readConst(int,char[]):3827:3827 -> a
    4079:4079:java.lang.Object readConst(int,char[]):3825:3825 -> a
    4080:4080:java.lang.Object readConst(int,char[]):3823:3823 -> a
    1:24:int[] readBootstrapMethodsAttribute(int):3475:3498 -> b
    25:25:int getItemCount():3548:3548 -> b
    26:26:java.lang.String readStringish(int,char[]):3726:3726 -> b
    1:1:int getMaxStringLength():3573:3573 -> c
    2:2:int readByte(int):3584:3584 -> c
    3:7:java.lang.String readUTF8(int,char[]):3652:3656 -> c
    1:2:int readInt(int):3619:3620 -> d
    3:9:java.lang.String readUtf(int,char[]):3669:3675 -> d
    1:2:long readLong(int):3634:3635 -> e
    1:2:short readShort(int):3607:3608 -> f
    1:2:int readUnsignedShort(int):3595:3596 -> g
com.android.tools.r8.org.objectweb.asm.ClassTooLargeException -> com.android.tools.r8.internal.Sa:
    java.lang.String className -> b
    int constantPoolCount -> c
    1:1:void <init>(java.lang.String,int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":53,"2":54,"3":55,"4":56,"5":57}}
    53:53:void <init>(java.lang.String,int):49:49 -> <init>
    54:54:void <init>(java.lang.String,int):49:49 -> <init>
    55:55:void <init>(java.lang.String,int):49:49 -> <init>
    56:56:void <init>(java.lang.String,int):49:49 -> <init>
    57:57:void <init>(java.lang.String,int):49:49 -> <init>
    50:52:void <init>(java.lang.String,int):49:51 -> <init>
    1:1:java.lang.String getClassName():60:60 -> a
    1:1:int getConstantPoolCount():69:69 -> b
com.android.tools.r8.org.objectweb.asm.ClassVisitor -> com.android.tools.r8.internal.Wa:
    com.android.tools.r8.org.objectweb.asm.ClassVisitor cv -> b
    int api -> a
    1:1:void <init>(int):58:58 -> <init>
    2:16:void <init>(int,com.android.tools.r8.org.objectweb.asm.ClassVisitor):70:84 -> <init>
    1:5:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):111:115 -> a
    6:7:void visitSource(java.lang.String,java.lang.String):128:129 -> a
    8:12:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):144:148 -> a
    13:13:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):145:145 -> a
    14:18:void visitNestHost(java.lang.String):164:168 -> a
    19:19:void visitNestHost(java.lang.String):165:165 -> a
    20:21:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):183:184 -> a
    22:23:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):197:198 -> a
    24:28:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):220:224 -> a
    29:29:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):221:221 -> a
    30:31:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):235:236 -> a
    32:33:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):287:288 -> a
    34:35:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):337:338 -> a
    36:37:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):365:366 -> a
    38:39:void visitEnd():376:377 -> a
    1:5:void visitNestMember(java.lang.String):250:254 -> b
    6:6:void visitNestMember(java.lang.String):251:251 -> b
    7:11:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):304:308 -> b
    12:12:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):305:305 -> b
    1:5:void visitPermittedSubclass(java.lang.String):265:269 -> c
    6:6:void visitPermittedSubclass(java.lang.String):266:266 -> c
com.android.tools.r8.org.objectweb.asm.ClassWriter -> com.android.tools.r8.internal.fb:
# {"id":"sourceFile","fileName":"ClassWriter.java"}
    int numberOfInnerClasses -> n
    com.android.tools.r8.org.objectweb.asm.FieldWriter firstField -> j
    int interfaceCount -> h
    int thisClass -> f
    com.android.tools.r8.org.objectweb.asm.ByteVector debugExtension -> t
    com.android.tools.r8.org.objectweb.asm.ModuleWriter moduleWriter -> y
    int numberOfPermittedSubclasses -> 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 permittedSubclasses -> 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
    int accessFlags -> e
    int version -> c
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> d
    int[] interfaces -> i
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> w
    int nestHostClassIndex -> z
    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):257:264 -> <init>
    void visitEnd() -> a
    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):387:403 -> 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):429:436 -> 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[]):446:453 -> a
    77:77:int newConst(java.lang.Object):802:802 -> 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):412:419 -> b
    14:127:byte[] toByteArray():477:590 -> b
    128:128:int com.android.tools.r8.org.objectweb.asm.Attribute.getAttributeCount():172:172 -> b
    128:128:byte[] toByteArray():591 -> b
    129:129:byte[] toByteArray():592:592 -> b
    130:136:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> b
    130:136:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> b
    130:136:byte[] toByteArray():592 -> b
    137:254:byte[] toByteArray():596:713 -> b
    255:263:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):307:315 -> b
    255:263: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 -> b
    255:263:byte[] toByteArray():713 -> b
    264:264:byte[] toByteArray():718:718 -> b
    265:282:com.android.tools.r8.org.objectweb.asm.Attribute[] com.android.tools.r8.org.objectweb.asm.ClassWriter.getAttributePrototypes():768:785 -> b
    265:282:byte[] com.android.tools.r8.org.objectweb.asm.ClassWriter.replaceAsmInstructions(byte[],boolean):735 -> b
    265:282:byte[] toByteArray():718 -> b
    283:306:byte[] com.android.tools.r8.org.objectweb.asm.ClassWriter.replaceAsmInstructions(byte[],boolean):736:759 -> b
    283:306:byte[] toByteArray():718 -> b
    307:307:byte[] toByteArray():720:720 -> b
    308:308:byte[] toByteArray():599:599 -> b
    1:5:void visitPermittedSubclass(java.lang.String):377:381 -> c
com.android.tools.r8.org.objectweb.asm.ConstantDynamic -> com.android.tools.r8.internal.rd:
    java.lang.Object[] bootstrapMethodArguments -> d
    java.lang.String name -> a
    java.lang.String descriptor -> b
    com.android.tools.r8.org.objectweb.asm.Handle bootstrapMethod -> c
    1:5:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):67:71 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.Handle getBootstrapMethod():98:98 -> a
    2:2:java.lang.Object getBootstrapMethodArgument(int):121:121 -> a
    1:1:int getBootstrapMethodArgumentCount():109:109 -> b
    1:1:java.lang.Object[] getBootstrapMethodArgumentsUnsafe():132:132 -> c
    1:1:java.lang.String getDescriptor():89:89 -> d
    1:1:java.lang.String getName():80:80 -> e
    1:8:boolean equals(java.lang.Object):150:157 -> equals
    1:4:int hashCode():162:165 -> hashCode
    1:7:java.lang.String toString():170:176 -> toString
com.android.tools.r8.org.objectweb.asm.Constants -> com.android.tools.r8.internal.xd:
# {"id":"sourceFile","fileName":"Constants.java"}
    1:2:void 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 checkAsmExperimental(java.lang.Object):188 -> a
    11:11:void 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 checkAsmExperimental(java.lang.Object):189 -> a
    24:24:void com.android.tools.r8.org.objectweb.asm.Constants.checkIsPreview(java.io.InputStream):214:214 -> a
    24:24:void 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 checkAsmExperimental(java.lang.Object):189 -> a
com.android.tools.r8.org.objectweb.asm.Context -> com.android.tools.r8.internal.Rd:
    int currentFrameType -> n
    java.lang.String currentMethodDescriptor -> f
    int currentFrameLocalCount -> o
    char[] charBuffer -> c
    int currentFrameOffset -> m
    int currentTypeAnnotationTarget -> h
    com.android.tools.r8.org.objectweb.asm.Attribute[] attributePrototypes -> a
    int currentMethodAccessFlags -> d
    int parsingOptions -> b
    com.android.tools.r8.org.objectweb.asm.Label[] currentMethodLabels -> g
    com.android.tools.r8.org.objectweb.asm.Label[] currentLocalVariableAnnotationRangeEnds -> k
    com.android.tools.r8.org.objectweb.asm.Label[] currentLocalVariableAnnotationRangeStarts -> j
    com.android.tools.r8.org.objectweb.asm.TypePath currentTypeAnnotationTargetPath -> i
    java.lang.Object[] currentFrameStackTypes -> s
    java.lang.Object[] currentFrameLocalTypes -> q
    int currentFrameStackCount -> r
    java.lang.String currentMethodName -> e
    int[] currentLocalVariableAnnotationRangeIndices -> l
    int currentFrameLocalCountDelta -> p
    1:1:void <init>():36:36 -> <init>
com.android.tools.r8.org.objectweb.asm.CurrentFrame -> com.android.tools.r8.internal.Vd:
    1:1:void <init>(com.android.tools.r8.org.objectweb.asm.Label):40:40 -> <init>
    1:4:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):51:54 -> a
com.android.tools.r8.org.objectweb.asm.Edge -> com.android.tools.r8.internal.Dh:
    com.android.tools.r8.org.objectweb.asm.Label successor -> b
    int info -> a
    com.android.tools.r8.org.objectweb.asm.Edge nextEdge -> c
    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.internal.ek:
    com.android.tools.r8.org.objectweb.asm.FieldVisitor fv -> b
    int api -> a
    1:1:void <init>(int):57:57 -> <init>
    2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):69:77 -> <init>
    11:11:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97,"4":98,"5":99}}
    95:95:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    96:96:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    97:97:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    98:98:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    99:99:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    88:94:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:83 -> <init>
    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):95:96 -> a
    3:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):116:120 -> a
    8:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):117:117 -> a
    9:10:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):131:132 -> a
    11:12:void visitEnd():141:142 -> a
com.android.tools.r8.org.objectweb.asm.FieldWriter -> com.android.tools.r8.internal.fk:
    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> m
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> i
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> c
    int constantValueIndex -> h
    int descriptorIndex -> f
    int signatureIndex -> g
    int accessFlags -> d
    int nameIndex -> e
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> l
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> j
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> k
    1:10:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):127:136 -> <init>
    void visitEnd() -> a
    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):147:151 -> 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):159:164 -> a
    12:13:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):172:173 -> a
    14:45:void putFieldInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):220:251 -> a
    46:46:int com.android.tools.r8.org.objectweb.asm.Attribute.getAttributeCount():172:172 -> a
    46:46:void putFieldInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):252 -> a
    47:65:void putFieldInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):254:272 -> a
    66:74:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):307:315 -> a
    66:74: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 -> a
    66:74:void putFieldInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):272 -> a
    75:75:void collectAttributePrototypes(com.android.tools.r8.org.objectweb.asm.Attribute$Set):282:282 -> a
    1:14:int computeFieldInfoSize():195:208 -> b
    15:21:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> b
    15:21:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> b
    15:21:int computeFieldInfoSize():208 -> b
com.android.tools.r8.org.objectweb.asm.Frame -> com.android.tools.r8.internal.Wk:
    short outputStackTop -> g
    short outputStackStart -> f
    int[] initializations -> i
    int[] inputLocals -> b
    int[] inputStack -> c
    int[] outputLocals -> d
    int initializationCount -> h
    int[] outputStack -> e
    com.android.tools.r8.org.objectweb.asm.Label owner -> a
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.Label):242:243 -> <init>
    1:8:void copyFrom(com.android.tools.r8.org.objectweb.asm.Frame):255:262 -> a
    9:16:int getAbstractTypeFromApiFormat(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.Object):281:288 -> a
    17:75:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):316:374 -> a
    76:110:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):336:370 -> a
    111:111:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":845,"3":846}}
    845:845:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):366:366 -> a
    846:846:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):366:366 -> a
    478:478:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):367:367 -> a
    479:479:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":847,"3":848}}
    847:847:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):332:332 -> a
    848:848:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):332:332 -> a
    812:812:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):333:333 -> a
    849:869:void setInputFrameFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.String,int):397:417 -> a
    870:893:void setInputFrameFromApiFormat(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.Object[],int,java.lang.Object[]):440:463 -> a
    894:894:int getInputStackSize():467:467 -> a
    895:895:void push(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):551:551 -> a
    896:903:int com.android.tools.r8.org.objectweb.asm.Type.getReturnTypeOffset(java.lang.String):392:399 -> a
    896:903:void push(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):551 -> a
    904:908:void push(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):552:556 -> a
    909:915:void pop(int):581:587 -> a
    916:922:void pop(java.lang.String):597:603 -> a
    923:923:void pop(java.lang.String):601:601 -> a
    924:939:int getInitializedType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int):645:660 -> a
    940:940:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1106:1106 -> a
    941:972:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):733:764 -> a
    973:973:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):752:752 -> a
    974:974:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):749:749 -> a
    975:976:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):745:746 -> a
    977:981:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):738:742 -> a
    982:1008:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):735:761 -> a
    1009:1012:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):755:758 -> a
    1013:1013:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):700:700 -> a
    1014:1023:int com.android.tools.r8.org.objectweb.asm.Frame.getLocal(int):481:490 -> a
    1014:1023:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):768 -> a
    1024:1024:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):768:768 -> a
    1025:1026:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):729:730 -> a
    1027:1027:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):724:724 -> a
    1028:1029:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):717:718 -> a
    1030:1127:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):712:809 -> a
    1128:1137:int com.android.tools.r8.org.objectweb.asm.Frame.getLocal(int):481:490 -> a
    1128:1137:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):811 -> a
    1138:1138:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):818:818 -> a
    1139:1139:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):813:813 -> a
    1140:1141:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):790:791 -> a
    1142:1151:int com.android.tools.r8.org.objectweb.asm.Frame.getLocal(int):481:490 -> a
    1142:1151:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):793 -> a
    1152:1152:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):800:800 -> a
    1153:1153:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):795:795 -> a
    1154:1469:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):783:1098 -> a
    1470:1475:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1084:1089 -> a
    1476:1503:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1053:1080 -> a
    1504:1504:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1077:1077 -> a
    1505:1505:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1068:1068 -> a
    1506:1506:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1065:1065 -> a
    1507:1519:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1062:1074 -> a
    1520:1520:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1071:1071 -> a
    1521:1521:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1059:1059 -> a
    1522:1522:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1056:1056 -> a
    1523:1523:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1050:1050 -> a
    1524:1525:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1046:1047 -> a
    1526:1529:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1036:1039 -> a
    1530:1541:void com.android.tools.r8.org.objectweb.asm.Frame.addInitializedType(int):619:630 -> a
    1530:1541:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1040 -> a
    1542:1542:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1043:1043 -> a
    1543:1544:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1029:1030 -> a
    1545:1546:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1025:1026 -> a
    1547:1547:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1022:1022 -> a
    1548:1548:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1019:1019 -> a
    1549:1549:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1017:1017 -> a
    1550:1551:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1012:1013 -> a
    1552:1787:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):772:1007 -> a
    1788:2011:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):778:1001 -> a
    2012:2013:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):994:995 -> a
    2014:2016:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):989:991 -> a
    2017:2017:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):985:985 -> a
    2018:2020:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):980:982 -> a
    2021:2023:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):973:975 -> a
    2024:2025:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):965:966 -> a
    2026:2028:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):953:955 -> a
    2029:2030:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):942:943 -> a
    2031:2034:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):918:921 -> a
    2035:2044:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):906:915 -> a
    2045:2052:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):896:903 -> a
    2053:2058:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):888:893 -> a
    2059:2065:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):879:885 -> a
    2066:2070:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):872:876 -> a
    2071:2073:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):867:869 -> a
    2074:2074:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):864:864 -> a
    2075:2075:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):832:832 -> a
    2076:2351:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):828:1103 -> a
    2352:2362:int getConcreteOutputType(int,int):1129:1139 -> a
    2363:2438:boolean merge(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.Frame,int):1169:1244 -> a
    2439:2506:boolean merge(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,int[],int):1268:1335 -> a
    2507:2544:void accept(com.android.tools.r8.org.objectweb.asm.MethodWriter):1356:1393 -> a
    1:11:void setLocal(int,int):504:514 -> b
    12:27:void push(int):524:539 -> b
    28:32:int pop():567:571 -> b
com.android.tools.r8.org.objectweb.asm.Handle -> com.android.tools.r8.internal.fm:
    boolean isInterface -> e
    java.lang.String name -> c
    java.lang.String owner -> b
    int tag -> a
    java.lang.String descriptor -> d
    1:6:void <init>(int,java.lang.String,java.lang.String,java.lang.String,boolean):98:103 -> <init>
    1:1:java.lang.String getDesc():142:142 -> a
    1:1:java.lang.String getName():133:133 -> b
    1:1:java.lang.String getOwner():124:124 -> c
    1:1:int getTag():115:115 -> d
    1:1:boolean isInterface():151:151 -> e
    1:9:boolean equals(java.lang.Object):159:167 -> equals
    1:3:int hashCode():172:174 -> hashCode
    1:1:java.lang.String toString():187:187 -> toString
com.android.tools.r8.org.objectweb.asm.Handler -> com.android.tools.r8.internal.gm:
    com.android.tools.r8.org.objectweb.asm.Handler nextHandler -> f
    com.android.tools.r8.org.objectweb.asm.Label handlerPc -> c
    int catchType -> d
    com.android.tools.r8.org.objectweb.asm.Label endPc -> b
    com.android.tools.r8.org.objectweb.asm.Label startPc -> a
    java.lang.String catchTypeDescriptor -> e
    1:6:void <init>(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int,java.lang.String):90:95 -> <init>
    1:17: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):123:139 -> a
    18:19:void com.android.tools.r8.org.objectweb.asm.Handler.<init>(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):106:107 -> a
    18:19: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):139 -> a
    20:20: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):143:143 -> a
    21:22:void com.android.tools.r8.org.objectweb.asm.Handler.<init>(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):106:107 -> a
    21:22: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):143 -> a
    23:23: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:147 -> a
    24:25:void com.android.tools.r8.org.objectweb.asm.Handler.<init>(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):106:107 -> a
    24:25: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
    26:27: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
    28:29:void com.android.tools.r8.org.objectweb.asm.Handler.<init>(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):106:107 -> a
    28:29: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):148 -> a
com.android.tools.r8.org.objectweb.asm.Label -> com.android.tools.r8.internal.nA:
    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
    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
    2:14:void addLineNumber(int):335:347 -> a
    15:20:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):358:363 -> a
    21:33:void put(com.android.tools.r8.org.objectweb.asm.ByteVector,int,boolean):386:398 -> a
    34:45:void addForwardReference(int,int,int):417:428 -> a
    46:79:boolean resolve(byte[],int):446:479 -> a
    80:90:void markSubroutine(short):507:517 -> a
    91:103:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.Label.pushSuccessors(com.android.tools.r8.org.objectweb.asm.Label):592:604 -> a
    91:103:void markSubroutine(short):518 -> a
    104:119:void addSubroutineRetSuccessors(com.android.tools.r8.org.objectweb.asm.Label):542:557 -> a
    120:132:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.Label.pushSuccessors(com.android.tools.r8.org.objectweb.asm.Label):592:604 -> a
    120:132:void addSubroutineRetSuccessors(com.android.tools.r8.org.objectweb.asm.Label):570 -> a
    133:135:void addSubroutineRetSuccessors(com.android.tools.r8.org.objectweb.asm.Label):574:576 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":622,"2":623,"3":624}}
    622:622:java.lang.String toString():620:620 -> toString
    623:623:java.lang.String toString():620:620 -> toString
    624:624:java.lang.String toString():620:620 -> toString
    621:621:java.lang.String toString():620:620 -> toString
com.android.tools.r8.org.objectweb.asm.MethodTooLargeException -> com.android.tools.r8.internal.NE:
    int codeSize -> e
    java.lang.String methodName -> c
    java.lang.String className -> b
    java.lang.String descriptor -> d
    1:5:void <init>(java.lang.String,java.lang.String,java.lang.String,int):57:61 -> <init>
    1:1:java.lang.String getClassName():70:70 -> a
    1:1:int getCodeSize():97:97 -> b
    1:1:java.lang.String getDescriptor():88:88 -> c
    1:1:java.lang.String getMethodName():79:79 -> d
com.android.tools.r8.org.objectweb.asm.MethodVisitor -> com.android.tools.r8.internal.OE:
    int api -> h
    com.android.tools.r8.org.objectweb.asm.MethodVisitor mv -> i
    1:1:void <init>(int):71:71 -> <init>
    2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):82:90 -> <init>
    11:11:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110,"4":111,"5":112}}
    108:108:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    109:109:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    110:110:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    111:111:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    112:112:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    101:107:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:96 -> <init>
    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():128:129 -> a
    3:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):143:144 -> a
    5:6:void visitAnnotableParameterCount(int,boolean):191:192 -> a
    7:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):212:213 -> a
    9:10:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):224:225 -> a
    11:12:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):299:300 -> a
    13:14:void visitInsn(int):323:324 -> a
    15:16:void visitTypeInsn(int,java.lang.String):373:374 -> a
    17:18:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):390:391 -> a
    19:19:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):430:430 -> a
    20:20:void com.android.tools.r8.org.objectweb.asm.MethodVisitor.visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String):410:410 -> a
    20:20:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):434 -> a
    21:27:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):432:438 -> a
    28:32:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):458:462 -> a
    33:33:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):459:459 -> a
    34:35:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):477:478 -> a
    36:37:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):488:489 -> a
    38:47:void visitLdcInsn(java.lang.Object):541:550 -> a
    48:49:void visitIincInsn(int,int):561:562 -> a
    50:51:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):577:578 -> a
    52:53:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):591:592 -> a
    54:55:void visitMultiANewArrayInsn(java.lang.String,int):603:604 -> 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):629:633 -> 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):630:630 -> 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):655:656 -> 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):707:708 -> 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):740:744 -> 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):741:741 -> a
    1:5:void visitParameter(java.lang.String,int):111:115 -> b
    6:6:void visitParameter(java.lang.String,int):112:112 -> b
    7:8:void visitCode():231:232 -> b
    9:10:void visitIntInsn(int,int):343:344 -> 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):677:681 -> 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):678:678 -> b
    17:18:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):760:761 -> 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):167:171 -> 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):168:168 -> c
    7:8:void visitMaxs(int,int):772:773 -> c
    9:10:void visitEnd():782:783 -> c
    1:2:void visitVarInsn(int,int):358:359 -> d
com.android.tools.r8.org.objectweb.asm.MethodWriter -> com.android.tools.r8.internal.PE:
    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
    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>
    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():651:652 -> a
    3:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):658:662 -> a
    8:10:void visitAnnotableParameterCount(int,boolean):683:685 -> a
    11:24:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):693:706 -> a
    25:30:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):716:721 -> a
    31:131:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):737:837 -> a
    132:138:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):828:834 -> a
    139:141:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):821:823 -> a
    142:143:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):816:817 -> a
    144:147:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):809:812 -> a
    148:207:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):798:857 -> a
    208:208:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):779:779 -> a
    209:221:void visitInsn(int):862:874 -> a
    222:231:void visitInsn(int):868:877 -> a
    232:246:void visitTypeInsn(int,java.lang.String):970:984 -> a
    247:247:void visitTypeInsn(int,java.lang.String):977:977 -> a
    248:271:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):992:1015 -> a
    272:272:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):1011:1011 -> a
    273:273:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):1008:1008 -> a
    274:290:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):1005:1021 -> a
    291:291:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):999:999 -> a
    292:296:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1033:1037 -> a
    297:300:int com.android.tools.r8.org.objectweb.asm.Symbol.getArgumentsAndReturnSizes():238:241 -> a
    297:300:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1038 -> a
    301:307:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1038:1044 -> a
    308:311:int com.android.tools.r8.org.objectweb.asm.Symbol.getArgumentsAndReturnSizes():238:241 -> a
    308:311:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1047 -> a
    312:319:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1051:1058 -> a
    320:320:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1045:1045 -> a
    321:330:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1069:1078 -> a
    331:334:int com.android.tools.r8.org.objectweb.asm.Symbol.getArgumentsAndReturnSizes():238:241 -> a
    331:334:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1081 -> a
    335:339:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1083:1087 -> a
    340:340:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1079:1079 -> a
    341:440:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):1094:1193 -> a
    441:511:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):1201:1271 -> a
    512:539:void visitLdcInsn(java.lang.Object):1277:1304 -> a
    540:540:void visitLdcInsn(java.lang.Object):1298:1298 -> a
    541:546:void visitIincInsn(int,int):1311:1316 -> a
    547:559:void visitIincInsn(int,int):1314:1326 -> a
    560:569:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):1334:1343 -> a
    570:580:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):1348:1358 -> a
    581:601:void visitSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):1362:1382 -> a
    602:613:void visitMultiANewArrayInsn(java.lang.String,int):1388:1399 -> a
    614:614:void visitMultiANewArrayInsn(java.lang.String,int):1395:1395 -> a
    615:624:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1408:1417 -> a
    625:633: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):1429:1437 -> a
    634:659: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):1463:1488 -> a
    660:680: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):1504:1524 -> a
    681:686:int visitFrameStart(int,int,int):1821:1826 -> a
    687:705:boolean canCopyMethodAttributes(com.android.tools.r8.org.objectweb.asm.ClassReader,boolean,boolean,int,int,int):2026:2044 -> a
    706:755:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2181:2230 -> a
    756:756:int com.android.tools.r8.org.objectweb.asm.Attribute.getAttributeCount():172:172 -> a
    756:756:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2231 -> a
    757:761:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2234:2238 -> a
    762:762:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableLength(com.android.tools.r8.org.objectweb.asm.Handler):163:163 -> a
    762:762:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableSize(com.android.tools.r8.org.objectweb.asm.Handler):176 -> a
    762:762:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2238 -> a
    763:808:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2240:2285 -> a
    809:809:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableLength(com.android.tools.r8.org.objectweb.asm.Handler):163:163 -> a
    809:809:void com.android.tools.r8.org.objectweb.asm.Handler.putExceptionTable(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.ByteVector):187 -> a
    809:809:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2285 -> a
    810:818:void com.android.tools.r8.org.objectweb.asm.Handler.putExceptionTable(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.ByteVector):187:195 -> a
    810:818:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2285 -> a
    819:825:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2286:2292 -> a
    826:826:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2291:2291 -> a
    827:857:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2290:2320 -> a
    858:863:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2319:2324 -> a
    864:894:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2323:2353 -> a
    895:908:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2349:2362 -> a
    909:931:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2358:2380 -> a
    932:940:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):307:315 -> a
    932:940: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 -> a
    932:940:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2380 -> a
    941:942:void collectAttributePrototypes(com.android.tools.r8.org.objectweb.asm.Attribute$Set):2390:2391 -> a
    void visitCode() -> b
    1:5:void visitParameter(java.lang.String,int):642:646 -> b
    6:23:void visitIntInsn(int,int):884:901 -> b
    24:24:void visitIntInsn(int,int):894:894 -> b
    25:30:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1444:1449 -> b
    31:36:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1535:1540 -> b
    37:46:void putFrameType(java.lang.Object):1974:1983 -> b
    void visitEnd() -> c
    1:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):670:675 -> c
    7:7:void visitMaxs(int,int):1545:1545 -> c
    8:12:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1560:1564 -> c
    8:12:void visitMaxs(int,int):1546 -> c
    13:13:int com.android.tools.r8.org.objectweb.asm.Frame.getAbstractTypeFromInternalName(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):302:302 -> c
    13:13:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1564 -> c
    13:13:void visitMaxs(int,int):1546 -> c
    14:92:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1566:1644 -> c
    14:92:void visitMaxs(int,int):1546 -> c
    93:93:int com.android.tools.r8.org.objectweb.asm.Frame.getAbstractTypeFromInternalName(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):302:302 -> c
    93:93:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1645 -> c
    93:93:void visitMaxs(int,int):1546 -> c
    94:105:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1645:1656 -> c
    94:105:void visitMaxs(int,int):1546 -> c
    106:207:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeMaxStackAndLocal():1662:1763 -> c
    106:207:void visitMaxs(int,int):1548 -> c
    208:211:void visitMaxs(int,int):1550:1553 -> c
    212:212:void addSuccessorToCurrentBasicBlock(int,com.android.tools.r8.org.objectweb.asm.Label):1782:1782 -> c
    1:31:void visitVarInsn(int,int):908:938 -> d
    32:70:void visitVarInsn(int,int):926:964 -> d
    71:86:int computeMethodInfoSize():2077:2092 -> d
    87:87:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableLength(com.android.tools.r8.org.objectweb.asm.Handler):163:163 -> d
    87:87:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableSize(com.android.tools.r8.org.objectweb.asm.Handler):176 -> d
    87:87:int computeMethodInfoSize():2092 -> d
    88:116:int computeMethodInfoSize():2093:2121 -> d
    117:178:int computeMethodInfoSize():2086:2147 -> d
    179:181:int com.android.tools.r8.org.objectweb.asm.AnnotationWriter.computeParameterAnnotationsSize(java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter[],int):498:500 -> d
    179:181:int computeMethodInfoSize():2143 -> d
    182:188:int computeMethodInfoSize():2150:2156 -> d
    189:191:int com.android.tools.r8.org.objectweb.asm.AnnotationWriter.computeParameterAnnotationsSize(java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter[],int):498:500 -> d
    189:191:int computeMethodInfoSize():2152 -> d
    192:202:int computeMethodInfoSize():2159:2169 -> d
    203:209:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> d
    203:209:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> d
    203:209:int computeMethodInfoSize():2169 -> d
    1:10:void endCurrentBasicBlockWithNoSuccessor():1794:1803 -> e
    11:11:void putAbstractTypes(int,int):1959:1959 -> e
    12:15:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1422:1425 -> e
    12:15:void putAbstractTypes(int,int):1959 -> e
    16:17:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1418:1419 -> e
    16:17:void putAbstractTypes(int,int):1959 -> e
    18:69:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1414:1465 -> e
    18:69:void putAbstractTypes(int,int):1959 -> e
    70:70:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1450:1450 -> e
    70:70:void putAbstractTypes(int,int):1959 -> e
    71:71:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1447:1447 -> e
    71:71:void putAbstractTypes(int,int):1959 -> e
    72:72:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1444:1444 -> e
    72:72:void putAbstractTypes(int,int):1959 -> e
    73:94:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1441:1462 -> e
    73:94:void putAbstractTypes(int,int):1959 -> e
    95:95:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1456:1456 -> e
    95:95:void putAbstractTypes(int,int):1959 -> e
    96:113:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1453:1470 -> e
    96:113:void putAbstractTypes(int,int):1959 -> e
    1:1:boolean hasAsmInstructions():633:633 -> f
    2:3:void setMethodAttributesSource(int,int):2065:2066 -> f
    1:1:boolean hasFrames():629:629 -> g
    2:2:void visitAbstractType(int,int):1837:1837 -> g
    1:3:void visitFrameEnd():1846:1848 -> h
    4:90:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1859:1945 -> h
    4:90:void visitFrameEnd():1850 -> h
    91:94:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1935:1938 -> h
    91:94:void visitFrameEnd():1850 -> h
    95:100:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1927:1932 -> h
    95:100:void visitFrameEnd():1850 -> h
    101:104:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1921:1924 -> h
    101:104:void visitFrameEnd():1850 -> h
    105:106:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1917:1918 -> h
    105:106:void visitFrameEnd():1850 -> h
    107:107:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1914:1914 -> h
    107:107:void visitFrameEnd():1850 -> h
    108:111:void visitFrameEnd():1851:1854 -> h
com.android.tools.r8.org.objectweb.asm.ModuleVisitor -> com.android.tools.r8.internal.lF:
    com.android.tools.r8.org.objectweb.asm.ModuleVisitor mv -> a
    1:1:void <init>(int):57:57 -> <init>
    2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):68:76 -> <init>
    11:11:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96,"4":97,"5":98}}
    94:94:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    95:95:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    96:96:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    97:97:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    98:98:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    87:93:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:82 -> <init>
    1:2:void visitMainClass(java.lang.String):91:92 -> a
    3:4:void visitRequire(java.lang.String,int,java.lang.String):116:117 -> a
    5:6:void visitExport(java.lang.String,int,java.lang.String[]):131:132 -> a
    7:8:void visitProvide(java.lang.String,java.lang.String[]):171:172 -> a
    9:10:void visitEnd():181:182 -> a
    1:2:void visitPackage(java.lang.String):102:103 -> b
    3:4:void visitOpen(java.lang.String,int,java.lang.String[]):146:147 -> b
    1:2:void visitUse(java.lang.String):158:159 -> c
com.android.tools.r8.org.objectweb.asm.ModuleWriter -> com.android.tools.r8.internal.mF:
    com.android.tools.r8.org.objectweb.asm.ByteVector usesIndex -> m
    int providesCount -> n
    com.android.tools.r8.org.objectweb.asm.ByteVector opens -> k
    int usesCount -> l
    int opensCount -> j
    com.android.tools.r8.org.objectweb.asm.ByteVector packageIndex -> q
    int exportsCount -> h
    com.android.tools.r8.org.objectweb.asm.ByteVector provides -> o
    int requiresCount -> f
    int moduleFlags -> d
    int moduleVersionIndex -> e
    int moduleNameIndex -> c
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> b
    com.android.tools.r8.org.objectweb.asm.ByteVector exports -> i
    int mainClassIndex -> r
    com.android.tools.r8.org.objectweb.asm.ByteVector requires -> g
    int packageCount -> p
    1:11:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,int,int):97:107 -> <init>
    void visitEnd() -> a
    1:1:void visitMainClass(java.lang.String):112:112 -> a
    2:6:void visitRequire(java.lang.String,int,java.lang.String):123:127 -> a
    7:16:void visitExport(java.lang.String,int,java.lang.String[]):132:141 -> a
    17:22:void visitProvide(java.lang.String,java.lang.String[]):166:171 -> a
    23:52:void putAttributes(com.android.tools.r8.org.objectweb.asm.ByteVector):221:250 -> a
    1:2:void visitPackage(java.lang.String):117:118 -> b
    3:12:void visitOpen(java.lang.String,int,java.lang.String[]):146:155 -> b
    13:23:int computeAttributesSize():196:206 -> b
    1:2:void visitUse(java.lang.String):160:161 -> c
    3:3:int getAttributeCount():186:186 -> c
com.android.tools.r8.org.objectweb.asm.Opcodes -> com.android.tools.r8.internal.pK:
    java.lang.Integer FLOAT -> c
    java.lang.Integer DOUBLE -> d
    java.lang.Integer LONG -> e
    java.lang.Integer NULL -> f
    java.lang.Integer UNINITIALIZED_THIS -> g
    java.lang.Integer TOP -> a
    java.lang.Integer INTEGER -> b
    1:7:void <clinit>():392:398 -> <clinit>
com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor -> com.android.tools.r8.internal.OP:
    com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor delegate -> a
    1:1:void <init>(int):57:57 -> <init>
    2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):68:76 -> <init>
    11:11:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96,"4":97,"5":98}}
    94:94:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    95:95:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    96:96:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    97:97:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    98:98:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    87:93:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:82 -> <init>
    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):103:104 -> a
    3:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):126:127 -> a
    5:6:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):138:139 -> a
    7:8:void visitEnd():148:149 -> a
com.android.tools.r8.org.objectweb.asm.RecordComponentWriter -> com.android.tools.r8.internal.PP:
    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>
    void visitEnd() -> a
    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:33:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):181:200 -> a
    34:34:int com.android.tools.r8.org.objectweb.asm.Attribute.getAttributeCount():172:172 -> a
    34:34:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):201 -> a
    35:45:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):203:213 -> a
    46:54:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):307:315 -> a
    46:54: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 -> a
    46:54:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):213 -> a
    55:55:void collectAttributePrototypes(com.android.tools.r8.org.objectweb.asm.Attribute$Set):223:223 -> a
    1:9:int computeRecordComponentInfoSize():161:169 -> b
    10:16:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> b
    10:16:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> b
    10:16:int computeRecordComponentInfoSize():169 -> b
com.android.tools.r8.org.objectweb.asm.SymbolTable -> com.android.tools.r8.internal.xX:
    com.android.tools.r8.org.objectweb.asm.ClassWriter classWriter -> a
    int typeCount -> k
    int bootstrapMethodCount -> i
    com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry[] typeTable -> l
    int constantPoolCount -> g
    int entryCount -> e
    int majorVersion -> c
    com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry[] entries -> f
    com.android.tools.r8.org.objectweb.asm.ByteVector bootstrapMethods -> j
    com.android.tools.r8.org.objectweb.asm.ClassReader sourceClassReader -> b
    java.lang.String className -> d
    com.android.tools.r8.org.objectweb.asm.ByteVector constantPool -> h
    1:6:void <init>(com.android.tools.r8.org.objectweb.asm.ClassWriter):121:126 -> <init>
    1:3:int computeBootstrapMethodsSize():358:360 -> a
    4:9:void putBootstrapMethods(com.android.tools.r8.org.objectweb.asm.ByteVector):373:378 -> a
    10:29:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry put(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):407:426 -> a
    30:31:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):457:458 -> a
    32:32:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    32:32:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):458 -> a
    33:34:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):459:460 -> a
    35:35:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    35:35:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):460 -> a
    36:37:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):461:462 -> a
    38:38:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    38:38:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):462 -> a
    39:40:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):463:464 -> a
    41:41:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    41:41:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):464 -> a
    42:43:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):465:466 -> a
    44:44:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    44:44:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):466 -> a
    45:48:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):467:470 -> a
    49:49:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantLong(long):670:670 -> a
    49:49:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):470 -> a
    50:53:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):471:474 -> a
    54:54:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantString(java.lang.String):604:604 -> a
    54:54:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):474 -> a
    55:59:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):475:479 -> a
    60:60:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantClass(java.lang.String):513:513 -> a
    60:60:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):479 -> a
    61:61:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):481:481 -> a
    62:62:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantMethodType(java.lang.String):865:865 -> a
    62:62:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):481 -> a
    63:63:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):483:483 -> a
    64:64:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantClass(java.lang.String):513:513 -> a
    64:64:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):483 -> a
    65:72:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):485:492 -> a
    73:85:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):487:499 -> a
    86:87:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantDynamic(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):884:885 -> a
    86:87:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):495 -> a
    88:88:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):501:501 -> a
    89:89:com.android.tools.r8.org.objectweb.asm.Symbol addConstantClass(java.lang.String):513:513 -> a
    90:90:com.android.tools.r8.org.objectweb.asm.Symbol addConstantFieldref(java.lang.String,java.lang.String,java.lang.String):526:526 -> a
    91:91:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodref(java.lang.String,java.lang.String,java.lang.String,boolean):542:542 -> a
    92:92:com.android.tools.r8.org.objectweb.asm.Symbol addConstantInteger(int):615:615 -> a
    93:93:com.android.tools.r8.org.objectweb.asm.Symbol addConstantFloat(float):626:626 -> a
    94:102:com.android.tools.r8.org.objectweb.asm.Symbol addConstantIntegerOrFloat(int,int):639:647 -> a
    103:103:com.android.tools.r8.org.objectweb.asm.Symbol addConstantLong(long):670:670 -> a
    104:104:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDouble(double):681:681 -> a
    105:115:com.android.tools.r8.org.objectweb.asm.Symbol addConstantLongOrDouble(int,long):694:704 -> a
    116:117: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
    118:143:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1040:1065 -> a
    144:144:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1060:1060 -> a
    145:163:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1059:1077 -> a
    164:183:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addBootstrapMethod(int,int,int):1096:1115 -> a
    164:183:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1082 -> a
    184:184:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String):1241:1241 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.Symbol addConstantUtf8Reference(int,java.lang.String):999 -> a
    185:193:com.android.tools.r8.org.objectweb.asm.Symbol addConstantUtf8Reference(int,java.lang.String):1000:1008 -> a
    194:194:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,int):1245:1245 -> a
    194:194:int addUninitializedType(java.lang.String,int):1161 -> a
    195:205:int addUninitializedType(java.lang.String,int):1162:1172 -> a
    206:215:int com.android.tools.r8.org.objectweb.asm.SymbolTable.addTypeInternal(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):1216:1225 -> a
    206:215:int addUninitializedType(java.lang.String,int):1172 -> a
    216:216:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,java.lang.String):1249:1249 -> a
    216:216:int addConstantNameAndType(java.lang.String,java.lang.String):729 -> a
    217:228:int addConstantNameAndType(java.lang.String,java.lang.String):730:741 -> a
    229:229:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,java.lang.String,int):1254:1254 -> a
    229:229:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDynamicOrInvokeDynamicReference(int,java.lang.String,java.lang.String,int):924 -> a
    230:242:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDynamicOrInvokeDynamicReference(int,java.lang.String,java.lang.String,int):925:937 -> a
    243:243:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,java.lang.String,java.lang.String):1259:1259 -> a
    243:243:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):559 -> a
    244:255:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):560:571 -> a
    256:256:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantClass(java.lang.String):513:513 -> a
    256:256:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):572 -> a
    257:257:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):572:572 -> a
    258:260:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):571:573 -> a
    261:261:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,java.lang.String,java.lang.String,int):1268:1268 -> a
    261:261:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):811 -> a
    262:275:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):812:825 -> a
    276:276:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantFieldref(java.lang.String,java.lang.String,java.lang.String):526:526 -> a
    276:276:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):825 -> a
    277:279:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):825:827 -> a
    280:280:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantMethodref(java.lang.String,java.lang.String,java.lang.String,boolean):542:542 -> a
    280:280:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):828 -> a
    281:281:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):828:828 -> a
    282:285: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 com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantClass(java.lang.String):513:513 -> b
    4:4:int setMajorVersionAndClassName(int,java.lang.String):320 -> b
    5:5:int setMajorVersionAndClassName(int,java.lang.String):320:320 -> b
    6:6:void putConstantPool(com.android.tools.r8.org.objectweb.asm.ByteVector):348:348 -> b
    7:7:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry get(int):394:394 -> b
    8:8:com.android.tools.r8.org.objectweb.asm.Symbol addConstantModule(java.lang.String):972:972 -> b
    9:18:int addMergedType(int,int):1193:1202 -> b
    19:19:java.lang.ClassLoader com.android.tools.r8.org.objectweb.asm.ClassWriter.getClassLoader():1051:1051 -> b
    19:19:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1014 -> b
    19:19:int addMergedType(int,int):1202 -> b
    20:42:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1017:1039 -> b
    20:42:int addMergedType(int,int):1202 -> b
    43:43:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1034:1034 -> b
    43:43:int addMergedType(int,int):1202 -> b
    44:45:int addMergedType(int,int):1202:1203 -> b
    46:46:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1025:1025 -> b
    46:46:int addMergedType(int,int):1202 -> b
    47:47:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1019:1019 -> b
    47:47:int addMergedType(int,int):1202 -> b
    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):1129:1129 -> c
    1:1:int getConstantPoolLength():338:338 -> d
    2:2:int com.android.tools.r8.org.objectweb.asm.SymbolTable.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 com.android.tools.r8.org.objectweb.asm.SymbolTable.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
    11:20:int com.android.tools.r8.org.objectweb.asm.SymbolTable.addTypeInternal(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):1216:1225 -> e
    11:20:int addType(java.lang.String):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.internal.wX:
    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
    int com.android.tools.r8.org.objectweb.asm.Symbol.tag -> b
    java.lang.String com.android.tools.r8.org.objectweb.asm.Symbol.owner -> c
    com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry next -> i
    java.lang.String com.android.tools.r8.org.objectweb.asm.Symbol.value -> e
    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):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):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,java.lang.String,java.lang.String,long,int):1297 -> <init>
    24:24:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,long,int):1298:1298 -> <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,long,int):1307 -> <init>
    32:32:void <init>(int,int,java.lang.String,long,int):1308:1308 -> <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,int):1313 -> <init>
    40:40:void <init>(int,int,java.lang.String,java.lang.String,int):1314:1314 -> <init>
com.android.tools.r8.org.objectweb.asm.Type -> com.android.tools.r8.internal.UY:
    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
    java.lang.String valueBuffer -> b
    com.android.tools.r8.org.objectweb.asm.Type BOOLEAN_TYPE -> f
    com.android.tools.r8.org.objectweb.asm.Type SHORT_TYPE -> i
    com.android.tools.r8.org.objectweb.asm.Type BYTE_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
    31:57:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):417:443 -> a
    58:58:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):437:437 -> a
    59:59:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):421:421 -> a
    60:80:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):419:439 -> a
    81:81:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):433:433 -> a
    82:88:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):429:435 -> a
    89:107:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):423:441 -> a
    108:137:java.lang.String getClassName():458:487 -> a
    138:138:java.lang.String getClassName():485:485 -> a
    139:139:java.lang.String getClassName():478:478 -> a
    140:140:int com.android.tools.r8.org.objectweb.asm.Type.getDimensions():671:671 -> a
    140:140:com.android.tools.r8.org.objectweb.asm.Type com.android.tools.r8.org.objectweb.asm.Type.getElementType():241 -> a
    140:140:java.lang.String getClassName():478 -> a
    141:141:com.android.tools.r8.org.objectweb.asm.Type com.android.tools.r8.org.objectweb.asm.Type.getElementType():242:242 -> a
    141:141:java.lang.String getClassName():478 -> a
    142:142:java.lang.String getClassName():478:478 -> a
    143:143:int com.android.tools.r8.org.objectweb.asm.Type.getDimensions():671:671 -> a
    143:143:java.lang.String getClassName():479 -> a
    144:146:java.lang.String getClassName():480:482 -> a
    147:147:java.lang.String getClassName():476:476 -> a
    148:148:java.lang.String getClassName():474:474 -> a
    149:149:java.lang.String getClassName():472:472 -> a
    150:150:java.lang.String getClassName():470:470 -> a
    151:151:java.lang.String getClassName():468:468 -> a
    152:152:java.lang.String getClassName():466:466 -> a
    153:153:java.lang.String getClassName():464:464 -> a
    154:154:java.lang.String getClassName():462:462 -> a
    155:155:java.lang.String getClassName():460:460 -> a
    1:6:java.lang.String getDescriptor():519:524 -> b
    7:26:int getArgumentsAndReturnSizes(java.lang.String):731:750 -> b
    1:1:com.android.tools.r8.org.objectweb.asm.Type getMethodType(java.lang.String):264:264 -> c
    2:2:java.lang.String getInternalName():499:499 -> c
    1:2:com.android.tools.r8.org.objectweb.asm.Type getObjectType(java.lang.String):252:253 -> d
    3:20:int getSize():684:701 -> d
    1:8:int com.android.tools.r8.org.objectweb.asm.Type.getReturnTypeOffset(java.lang.String):392:399 -> e
    1:8:com.android.tools.r8.org.objectweb.asm.Type getReturnType(java.lang.String):369 -> e
    9:9:com.android.tools.r8.org.objectweb.asm.Type getReturnType(java.lang.String):369:369 -> e
    10:10:com.android.tools.r8.org.objectweb.asm.Type getReturnType(java.lang.String):368:368 -> e
    11:11:int getSort():660:660 -> e
    1:17:boolean equals(java.lang.Object):847:863 -> equals
    1:1:com.android.tools.r8.org.objectweb.asm.Type getType(java.lang.String):177:177 -> f
    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.internal.TZ:
    byte[] typePathContainer -> a
    int typePathOffset -> b
    1:3:void <init>(byte[],int):72:74 -> <init>
    1:4:void put(com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.ByteVector):195:198 -> a
    1:1:int com.android.tools.r8.org.objectweb.asm.TypePath.getLength():84:84 -> toString
    1:1:java.lang.String toString():163 -> toString
    2:2:java.lang.String toString():164:164 -> toString
    3:3:int com.android.tools.r8.org.objectweb.asm.TypePath.getStep(int):96:96 -> toString
    3:3:java.lang.String toString():166 -> toString
    4:4:java.lang.String toString():180:180 -> toString
    5:5:int com.android.tools.r8.org.objectweb.asm.TypePath.getStepArgument(int):108:108 -> toString
    5:5:java.lang.String toString():177 -> toString
    6:6:java.lang.String toString():177:177 -> toString
    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.TypeReference -> com.android.tools.r8.internal.UZ:
    int targetTypeAndInfo -> a
    1:2:void <init>(int):193:194 -> <init>
    1:1:int getExceptionIndex():359:359 -> a
    1:1:int getFormalParameterIndex():348:348 -> b
    1:1:int getSort():303:303 -> c
    1:1:int getSuperTypeIndex():338:338 -> d
    1:1:int getTryCatchBlockIndex():370:370 -> e
    1:1:int getTypeArgumentIndex():382:382 -> f
    1:1:int getTypeParameterBoundIndex():327:327 -> g
    1:1:int getTypeParameterIndex():315:315 -> h
com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter -> com.android.tools.r8.internal.fv:
    java.util.BitSet mainSubroutineInsns -> F
    java.util.BitSet sharedSubroutineInsns -> H
    java.util.Map subroutinesInsns -> G
    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[]):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:1:void visitEnd():152:152 -> c
    2:3:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutinesInsns():165:166 -> c
    2:3:void visitEnd():154 -> c
    4:23:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutineInsns(int,java.util.BitSet,java.util.BitSet):189:208 -> c
    4:23:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutinesInsns():166 -> c
    4:23:void visitEnd():154 -> c
    24:27:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutinesInsns():168:171 -> c
    24:27:void visitEnd():154 -> c
    28:47:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutineInsns(int,java.util.BitSet,java.util.BitSet):189:208 -> c
    28:47:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutinesInsns():171 -> c
    28:47:void visitEnd():154 -> c
    48:57:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():302:311 -> c
    48:57:void visitEnd():155 -> c
    58:62:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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
    58:62:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    58:62:void visitEnd():155 -> c
    63:63: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
    63:63:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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
    63:63:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    63:63:void visitEnd():155 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    64:64: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
    64:64:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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
    64:64:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    64:64:void visitEnd():155 -> c
    65:83:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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
    65:83:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    65:83:void visitEnd():155 -> c
    84:95:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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
    84:95:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    84:95:void visitEnd():155 -> c
    96:96:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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:371 -> c
    96:96:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    96:96:void visitEnd():155 -> c
    97:97:void visitEnd():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":147,"2":148,"3":149,"4":150,"5":151,"6":152}}
    147:147:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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:371 -> c
    147:147:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    147:147:void visitEnd():155 -> c
    148:148:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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:371 -> c
    148:148:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    148:148:void visitEnd():155 -> c
    149:149:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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:371 -> c
    149:149:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    149:149:void visitEnd():155 -> c
    150:150:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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:371 -> c
    150:150:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    150:150:void visitEnd():155 -> c
    151:151:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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:371 -> c
    151:151:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    151:151:void visitEnd():155 -> c
    152:152:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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:371 -> c
    152:152:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    152:152:void visitEnd():155 -> c
    98:105:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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:378 -> c
    98:105:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    98:105:void visitEnd():155 -> c
    106:106:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabelForJumpInsn(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):534:534 -> c
    106:106:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):379 -> c
    106:106:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    106:106:void visitEnd():155 -> c
    107:120:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):384:397 -> c
    107:120:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    107:120:void visitEnd():155 -> c
    121:121: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
    121:121:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):397 -> c
    121:121:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    121:121:void visitEnd():155 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    122:122: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
    122:122:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):397 -> c
    122:122:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    122:122:void visitEnd():155 -> c
    123:123:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):398:398 -> c
    123:123:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    123:123:void visitEnd():155 -> c
    124:124: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
    124:124:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):398 -> c
    124:124:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    124:124:void visitEnd():155 -> c
    125:125:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):400:400 -> c
    125:125:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    125:125:void visitEnd():155 -> c
    126:126:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabelForJumpInsn(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):534:534 -> c
    126:126:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):401 -> c
    126:126:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    126:126:void visitEnd():155 -> c
    127:127:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):405:405 -> c
    127:127:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    127:127:void visitEnd():155 -> c
    128:136:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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:411 -> c
    128:136:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    128:136:void visitEnd():155 -> c
    137:137: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
    137:137:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):411 -> c
    137:137:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    137:137:void visitEnd():155 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    138:138: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
    138:138:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):411 -> c
    138:138:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    138:138:void visitEnd():155 -> c
    139:139:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):412:412 -> c
    139:139:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    139:139:void visitEnd():155 -> c
    140:140: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
    140:140:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):412 -> c
    140:140:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    140:140:void visitEnd():155 -> c
    141:141:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.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):414:414 -> c
    141:141:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    141:141:void visitEnd():155 -> c
    142:144:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():315:317 -> c
    142:144:void visitEnd():155 -> c
    145:146:void visitEnd():157:158 -> c
com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation -> com.android.tools.r8.internal.ev:
    java.util.Map clonedLabels -> d
    java.util.BitSet subroutineInsns -> c
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode returnLabel -> e
    com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter this$0 -> f
    com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation parent -> b
    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
    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 com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.get(java.lang.Object):558:558 -> get
    1:1:java.lang.Object get(java.lang.Object):427 -> get
    2:2:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabelForJumpInsn(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):534:534 -> get
    2:2:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.get(java.lang.Object):558 -> get
    2:2:java.lang.Object get(java.lang.Object):427 -> get
    1:1:int hashCode():568:568 -> hashCode
com.android.tools.r8.org.objectweb.asm.signature.SignatureReader -> com.android.tools.r8.internal.kU:
    java.lang.String signatureValue -> a
    1:2:void <init>(java.lang.String):49:50 -> <init>
    1:17:void accept(com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):64:80 -> a
    18:63:void accept(com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):79:124 -> a
    64:159:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):154:249 -> a
    160:227:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):173:240 -> a
    228:228:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):236:236 -> a
    229:229:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):235:235 -> a
    230:230:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):229:229 -> a
    231:241:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):196:206 -> a
    242:242:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):168:168 -> a
com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor -> com.android.tools.r8.internal.lU:
    1:1:void <init>(int):74:74 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode -> com.android.tools.r8.internal.w:
    java.util.List visibleTypeAnnotations -> b
    java.util.List invisibleTypeAnnotations -> c
    int index -> f
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode previousInsn -> d
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode nextInsn -> e
    int opcode -> a
    1:3:void <init>(int):126:128 -> <init>
    void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor) -> a
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map) -> a
    1:1:int getOpcode():137:137 -> a
    2:21:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode cloneAnnotations(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):241:260 -> a
    int getType() -> b
    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.internal.b2:
    java.util.List values -> c
    java.lang.String desc -> b
    1:3:void <init>(java.lang.String):63:65 -> <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):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):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):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):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):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):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):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):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.ClassNode -> com.android.tools.r8.internal.va:
    java.util.List invisibleTypeAnnotations -> f
    java.util.List visibleTypeAnnotations -> e
    java.util.List invisibleAnnotations -> d
    java.util.List visibleAnnotations -> c
    java.util.List permittedSubclasses -> j
    java.util.List nestMembers -> i
    java.util.List innerClasses -> h
    java.util.List attrs -> g
    java.util.List methods -> m
    java.util.List fields -> l
    java.util.List recordComponents -> k
    1:5:void <init>(int):163:167 -> <init>
    void visitEnd() -> a
    void visitNestHost(java.lang.String) -> a
    void visitOuterClass(java.lang.String,java.lang.String,java.lang.String) -> a
    void visitSource(java.lang.String,java.lang.String) -> a
    1:1:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):187:187 -> a
    2:2:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):198:198 -> a
    3:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):216:220 -> a
    8:12:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):228:232 -> a
    13:13:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):239:239 -> a
    14:15:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):255:256 -> a
    16:16:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):274:274 -> a
    17:17:void com.android.tools.r8.org.objectweb.asm.tree.FieldNode.<init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):102:102 -> a
    17:17:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):274 -> a
    18:18:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):275:275 -> a
    19:19:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):286:286 -> a
    20:20:void com.android.tools.r8.org.objectweb.asm.tree.MethodNode.<init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):195:195 -> a
    20:20:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):286 -> a
    21:21:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):287:287 -> a
    1:1:void visitNestMember(java.lang.String):244:244 -> b
    2:2:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):262:262 -> b
    3:3:void com.android.tools.r8.org.objectweb.asm.tree.RecordComponentNode.<init>(java.lang.String,java.lang.String,java.lang.String):79:79 -> b
    3:3:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):262 -> b
    4:4:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):263:263 -> b
    1:1:void visitPermittedSubclass(java.lang.String):249:249 -> c
com.android.tools.r8.org.objectweb.asm.tree.FieldInsnNode -> com.android.tools.r8.internal.Gj:
    java.lang.String owner -> g
    java.lang.String desc -> i
    java.lang.String name -> h
    1:4:void <init>(int,java.lang.String,java.lang.String,java.lang.String):65:68 -> <init>
    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.FieldNode -> com.android.tools.r8.internal.Oj:
    java.util.List visibleTypeAnnotations -> f
    java.util.List invisibleAnnotations -> e
    java.util.List visibleAnnotations -> d
    java.lang.Object value -> c
    java.util.List attrs -> h
    java.util.List invisibleTypeAnnotations -> g
    1:6:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):130:135 -> <init>
    void visitEnd() -> a
    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):144:148 -> a
    6:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):156:160 -> a
    11:11:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):167:167 -> a
com.android.tools.r8.org.objectweb.asm.tree.FrameNode -> com.android.tools.r8.internal.Xk:
    int type -> g
    java.util.List stack -> i
    java.util.List local -> h
    1:1:void <init>():73:73 -> <init>
    2:22:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):97:117 -> <init>
    23:23:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):114:114 -> <init>
    24:24:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):109:109 -> <init>
    25:25:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):106:106 -> <init>
    26:27:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):102:103 -> <init>
    1:19:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):128:146 -> a
    20:20:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):143:143 -> a
    21:21:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):140:140 -> a
    22:22:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):137:137 -> a
    23:23:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):134:134 -> a
    24:24:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):131:131 -> a
    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.internal.Ln:
    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.InnerClassNode -> com.android.tools.r8.internal.Bp:
    1:1:void <init>(java.lang.String,java.lang.String,java.lang.String,int):70:70 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.InsnList -> com.android.tools.r8.internal.Dp:
    int size -> b
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode lastInsn -> d
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode[] cache -> e
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode firstInsn -> c
    1:1:void <init>():38:38 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode getFirst():70:70 -> a
    2:5:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):142:145 -> a
    6:16:void add(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):226:236 -> a
    17:28:void insert(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):314:325 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode getLast():79:79 -> b
    2:5:int indexOf(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):130:133 -> b
    6:17:void insertBefore(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):364:375 -> b
    1:24:void set(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):194:217 -> c
    25:48:void remove(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):412:435 -> c
    49:54:void resetLabels():470:475 -> c
    1:6:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode[] toArray():177:182 -> d
    1:7:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode get(int):93:99 -> h
    8:8:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode get(int):94:94 -> h
    1:1:java.util.ListIterator com.android.tools.r8.org.objectweb.asm.tree.InsnList.iterator(int):167:167 -> iterator
    1:1:java.util.ListIterator com.android.tools.r8.org.objectweb.asm.tree.InsnList.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.internal.Cp:
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode remove -> d
    com.android.tools.r8.org.objectweb.asm.tree.InsnList this$0 -> e
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode nextInsn -> b
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode previousInsn -> c
    1:14:void <init>(com.android.tools.r8.org.objectweb.asm.tree.InsnList,int):489:502 -> <init>
    15:15:void <init>(com.android.tools.r8.org.objectweb.asm.tree.InsnList,int):491:491 -> <init>
    1:9:void add(java.lang.Object):579:587 -> add
    1:1:boolean hasNext():508:508 -> hasNext
    1:1:boolean hasPrevious():540:540 -> hasPrevious
    1:7:java.lang.Object next():513:519 -> next
    8:8:java.lang.Object next():514:514 -> next
    1:7:int nextIndex():557:563 -> nextIndex
    1:7:java.lang.Object previous():545:551 -> previous
    8:8:java.lang.Object previous():546:546 -> previous
    1:7:int previousIndex():568:574 -> previousIndex
    1:10:void remove():525:534 -> remove
    1:9:void set(java.lang.Object):592:600 -> set
com.android.tools.r8.org.objectweb.asm.tree.InsnNode -> com.android.tools.r8.internal.Ep:
    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.internal.at:
    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.internal.qu:
    java.lang.String name -> g
    java.lang.String desc -> h
    com.android.tools.r8.org.objectweb.asm.Handle bsm -> i
    java.lang.Object[] bsmArgs -> j
    1:5:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):70:74 -> <init>
    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.internal.Nv:
    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
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):85:85 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.util.Map):215:215 -> a
    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.internal.oA:
    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
    2:2:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):73:73 -> a
    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.internal.PA:
    java.lang.Object cst -> g
    1:2:void <init>(java.lang.Object):64:65 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):75:76 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):81:81 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.LineNumberNode -> com.android.tools.r8.internal.xB:
    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>
    1:1:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):67:67 -> a
    2:2:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.util.Map):215:215 -> a
    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.internal.oC:
    java.util.List start -> f
    java.util.List index -> h
    java.util.List end -> 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):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.internal.pC:
    int index -> f
    java.lang.String name -> a
    java.lang.String signature -> c
    java.lang.String desc -> b
    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.internal.UC:
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode dflt -> g
    java.util.List labels -> i
    java.util.List keys -> h
    1:4:void <init>(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,int[],com.android.tools.r8.org.objectweb.asm.tree.LabelNode[]):61:64 -> <init>
    1:10:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):74:83 -> a
    11:11:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):88:88 -> a
    12:12:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.util.Map):215:215 -> a
    12:12:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89 -> a
    13:13:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89:89 -> a
    14:16:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(java.util.List,java.util.Map):227:229 -> a
    14:16:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89 -> a
    17:19: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.internal.rE:
    java.lang.String owner -> g
    java.lang.String desc -> i
    java.lang.String name -> h
    boolean itf -> j
    1:5:void <init>(int,java.lang.String,java.lang.String,java.lang.String,boolean):91:95 -> <init>
    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.internal.vE:
    java.util.List attrs -> r
    java.util.List invisibleTypeAnnotations -> q
    com.android.tools.r8.org.objectweb.asm.tree.InsnList instructions -> x
    java.util.List visibleTypeAnnotations -> p
    java.util.List invisibleAnnotations -> o
    int access -> j
    java.lang.String name -> k
    java.lang.String desc -> l
    java.lang.Object annotationDefault -> s
    java.util.List tryCatchBlocks -> y
    int maxLocals -> A
    java.util.List localVariables -> B
    java.util.List[] visibleParameterAnnotations -> u
    int maxStack -> z
    java.util.List[] invisibleParameterAnnotations -> w
    java.util.List invisibleLocalVariableAnnotations -> D
    java.util.List visibleLocalVariableAnnotations -> C
    int invisibleAnnotableParameterCount -> v
    boolean visited -> E
    int visibleAnnotableParameterCount -> t
    java.util.List visibleAnnotations -> n
    java.util.List parameters -> m
    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:26:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):332:332 -> a
    27:33:java.lang.Object[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(java.lang.Object[]):550:556 -> a
    27:33:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):336 -> a
    34:40:java.lang.Object[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(java.lang.Object[]):550:556 -> a
    34:40:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):338 -> a
    41:41:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):338:338 -> a
    42:42:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):332:332 -> a
    43:43:void visitInsn(int):343:343 -> a
    44:44:void visitTypeInsn(int,java.lang.String):358:358 -> a
    45:45:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):364:364 -> a
    46:53:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):374:381 -> a
    54:54:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):390:390 -> a
    55:55:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):397:397 -> a
    56:56:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):402:402 -> a
    57:57:void visitLdcInsn(java.lang.Object):407:407 -> a
    58:58:void visitIincInsn(int,int):412:412 -> a
    59:59:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):418:418 -> a
    60:62:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):542:544 -> a
    60:62:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):418 -> a
    63:63:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):418:418 -> a
    64:64:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):423:423 -> a
    65:67:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):542:544 -> a
    65:67:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):423 -> a
    68:68:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):423:423 -> a
    69:69:void visitMultiANewArrayInsn(java.lang.String,int):428:428 -> a
    70:70: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
    71:71:int com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.getOpcode():137:137 -> a
    71:71:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):436 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    72:72:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.getPrevious():154:154 -> a
    72:72:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):437 -> a
    73:79: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
    80:82: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
    83:86: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
    87:87: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:497 -> a
    88:91:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):542:542 -> a
    88:91: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
    92:93:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):543:544 -> a
    92:93: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
    94:94: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
    94:94: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
    95:99: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
    100:102:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):660:662 -> a
    103:103:void com.android.tools.r8.org.objectweb.asm.tree.ParameterNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:66 -> a
    103:103:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):662 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    104:104:void com.android.tools.r8.org.objectweb.asm.tree.ParameterNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:66 -> a
    104:104:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):662 -> a
    105:128:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):666:689 -> a
    129:138:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):688:697 -> a
    139:189:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):696:746 -> a
    190:190:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.updateIndex(int):89:89 -> a
    190:190:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):746 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    191:197:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.updateIndex(int):90:96 -> a
    191:197:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):746 -> a
    198:206:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):747:755 -> a
    207:207:void com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
    207:207:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):755 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    208:210:void com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
    208:210:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):755 -> a
    211:224:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):759:772 -> a
    void visitCode() -> b
    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
    void visitEnd() -> c
    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.internal.uE:
    com.android.tools.r8.org.objectweb.asm.tree.MethodNode this$0 -> b
    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.ModuleExportNode -> com.android.tools.r8.internal.gF:
    1:1:void <init>(java.lang.String,int,java.util.List):64:64 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.ModuleNode -> com.android.tools.r8.internal.hF:
    java.util.List packages -> b
    java.util.List uses -> f
    java.util.List opens -> e
    java.util.List exports -> d
    java.util.List requires -> c
    java.util.List provides -> g
    1:1:void <init>(java.lang.String,int,java.lang.String):87:87 -> <init>
    void visitEnd() -> a
    void visitMainClass(java.lang.String) -> a
    1:4:void visitRequire(java.lang.String,int,java.lang.String):148:151 -> a
    5:8:void visitExport(java.lang.String,int,java.lang.String[]):156:159 -> a
    9:12:void visitProvide(java.lang.String,java.lang.String[]):180:183 -> a
    1:4:void visitPackage(java.lang.String):140:143 -> b
    5:8:void visitOpen(java.lang.String,int,java.lang.String[]):164:167 -> b
    1:4:void visitUse(java.lang.String):172:175 -> c
com.android.tools.r8.org.objectweb.asm.tree.ModuleOpenNode -> com.android.tools.r8.internal.iF:
    1:1:void <init>(java.lang.String,int,java.util.List):64:64 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.ModuleProvideNode -> com.android.tools.r8.internal.jF:
    1:1:void <init>(java.lang.String,java.util.List):53:53 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.ModuleRequireNode -> com.android.tools.r8.internal.kF:
    1:1:void <init>(java.lang.String,int,java.lang.String):59:59 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.MultiANewArrayInsnNode -> com.android.tools.r8.internal.vF:
    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.internal.jL:
    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.RecordComponentNode -> com.android.tools.r8.internal.NP:
    java.util.List visibleAnnotations -> b
    java.util.List attrs -> f
    java.util.List invisibleTypeAnnotations -> e
    java.util.List visibleTypeAnnotations -> d
    java.util.List invisibleAnnotations -> c
    1:1:void <init>(int,java.lang.String,java.lang.String,java.lang.String):96:96 -> <init>
    void visitEnd() -> a
    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):108:112 -> a
    6:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):120:124 -> a
    11:11:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):131:131 -> a
com.android.tools.r8.org.objectweb.asm.tree.TableSwitchInsnNode -> com.android.tools.r8.internal.PX:
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode dflt -> i
    int max -> h
    java.util.List labels -> j
    int min -> g
    1:5:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,com.android.tools.r8.org.objectweb.asm.tree.LabelNode[]):66:70 -> <init>
    1:6:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):80:85 -> a
    7:7:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:90 -> a
    8:8:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.util.Map):215:215 -> a
    8:8:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90 -> a
    9:9:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:90 -> a
    10:12:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(java.util.List,java.util.Map):227:229 -> a
    10:12:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90 -> a
    13:14: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.internal.SY:
    java.util.List invisibleTypeAnnotations -> f
    java.util.List visibleTypeAnnotations -> e
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> a
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode handler -> c
    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>
    1:3:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):107:107 -> a
    5:9:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):109:113 -> a
    10:19:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):112:121 -> a
    20:20:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):120:120 -> a
com.android.tools.r8.org.objectweb.asm.tree.TypeAnnotationNode -> com.android.tools.r8.internal.OZ:
    int typeRef -> d
    com.android.tools.r8.org.objectweb.asm.TypePath typePath -> e
    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):82:84 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.TypeInsnNode -> com.android.tools.r8.internal.SZ:
    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.internal.T00:
    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.internal.k10:
    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.tree.analysis.Analyzer -> com.android.tools.r8.internal.M1:
    com.android.tools.r8.org.objectweb.asm.tree.InsnList insnList -> i
    int insnListSize -> j
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine[] subroutines -> m
    int[] instructionsToProcess -> o
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter interpreter -> h
    java.util.List[] handlers -> k
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] frames -> l
    boolean[] inInstructionsToProcess -> n
    int numInstructionsToProcess -> p
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):88:89 -> <init>
    1:159:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):0:158 -> a
    160:160:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):461:461 -> a
    160:160:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    161:161:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newFrame(int,int):531:531 -> a
    161:161:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):461 -> a
    161:161:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    162:166:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):463:467 -> a
    162:166:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    167:167:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    167:167:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newParameterValue(boolean,int,com.android.tools.r8.org.objectweb.asm.Type):97 -> a
    167:167:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):467 -> a
    167:167:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    168:176:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):466:474 -> a
    168:176:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    177:177:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    177:177:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newParameterValue(boolean,int,com.android.tools.r8.org.objectweb.asm.Type):97 -> a
    177:177:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):474 -> a
    177:177:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    178:183:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):472:477 -> a
    178:183:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newEmptyValue(int):126 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):477 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    185:190:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):477:482 -> a
    185:190:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newEmptyValue(int):126 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):482 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    192:195:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):482:485 -> a
    192:195:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    196:196:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    196:196:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newReturnTypeValue(com.android.tools.r8.org.objectweb.asm.Type):111 -> a
    196:196:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):485 -> a
    196:196:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    197:197:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):485:485 -> a
    197:197:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    198:277:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):164:243 -> a
    278:309:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):237:268 -> a
    310:405:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):185:280 -> a
    406:406:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newControlFlowExceptionEdge(int,com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode):586:586 -> a
    406:406:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):282 -> a
    407:407:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newFrame(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):541:541 -> a
    407:407:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):283 -> a
    408:409:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):284:285 -> a
    410:410:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    410:410:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newExceptionValue(com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.Type):145 -> a
    410:410:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):285 -> a
    411:421:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):285:295 -> a
    422:422:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1015,"2":1016,"3":1017,"4":1018,"5":1019}}
    1015:1015:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    1016:1016:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    1017:1017:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    1018:1018:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    1019:1019:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    718:718:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):296:296 -> a
    719:719:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    720:720:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1020,"2":1021,"3":1022,"4":1023,"5":1024}}
    1020:1020:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1021:1021:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1022:1022:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1023:1023:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1024:1024:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1012:1012:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):292:292 -> a
    1025:1087:void findSubroutine(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,java.util.List):385:447 -> a
    1088:1088:void findSubroutine(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,java.util.List):391:391 -> a
    1089:1089:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] getFrames():498:498 -> a
    1090:1090:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):605:605 -> a
    1091:1091:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newFrame(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):541:541 -> a
    1091:1091:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):607 -> a
    1092:1110:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):607:625 -> a
    1111:1114:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,boolean[]):653:656 -> a
    1115:1115:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newFrame(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):541:541 -> a
    1115:1115:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,boolean[]):658 -> a
    1116:1127:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,boolean[]):658:669 -> a
com.android.tools.r8.org.objectweb.asm.tree.analysis.AnalyzerException -> com.android.tools.r8.internal.N1:
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode node -> b
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String):52:53 -> <init>
    3:4:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Throwable):65:66 -> <init>
    5:6:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):82:83 -> <init>
    7:7:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99,"4":100,"5":101}}
    97:97:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    98:98:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    99:99:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    100:100:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    101:101:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    90:90:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    91:96:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):82:87 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue -> com.android.tools.r8.internal.G4:
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue FLOAT_VALUE -> d
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue INT_VALUE -> c
    com.android.tools.r8.org.objectweb.asm.Type type -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue UNINITIALIZED_VALUE -> b
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue RETURNADDRESS_VALUE -> h
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue REFERENCE_VALUE -> g
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue DOUBLE_VALUE -> f
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue LONG_VALUE -> e
    1:20:void <clinit>():41:60 -> <clinit>
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.Type):70:71 -> <init>
    1:1:int getSize():85:85 -> a
    1:1:boolean isReference():94:94 -> b
    1:5:boolean equals(java.lang.Object):101:105 -> equals
    1:1:int hashCode():114:114 -> hashCode
    1:8:java.lang.String toString():119:126 -> toString
com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier -> com.android.tools.r8.internal.H4:
    com.android.tools.r8.org.objectweb.asm.Type com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.NULL_TYPE -> h
    1:1:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.<clinit>():56:56 -> <clinit>
    1:1:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.<init>(int):79:79 -> <init>
    1:1:void <init>():50 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> a
    2:108:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):193:299 -> a
    2:108:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    109:110:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):211:212 -> a
    109:110:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    111:112:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):207:208 -> a
    111:112:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    113:113:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):199:199 -> a
    113:113:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    114:114:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    114:114:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):199 -> a
    114:114:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    115:143:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):200:228 -> a
    115:143:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    144:145:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):223:224 -> a
    144:145:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    146:147:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):219:220 -> a
    146:147:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    148:149:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):215:216 -> a
    148:149:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    150:240:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):195:285 -> a
    150:240:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    241:274:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):257:290 -> a
    241:274:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    275:324:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):247:296 -> a
    275:324:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    325:325:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    325:325:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):301 -> a
    325:325:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    326:326:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    326:326:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):303 -> a
    326:326:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    327:327:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):306:306 -> a
    327:327:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    328:328:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.getElementValue(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):436:436 -> a
    328:328:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):307 -> a
    328:328:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    329:392:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):272:335 -> a
    329:392:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    329:392:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    393:393:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):317:317 -> a
    393:393:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    393:393:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    394:394:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):315:315 -> a
    394:394:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    394:394:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    395:408:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):295:308 -> a
    395:408:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    395:408:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    409:444:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):288:323 -> a
    409:444:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    409:444:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    445:445:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):304:304 -> a
    445:445:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    446:446:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):302:302 -> a
    446:446:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    447:447:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> a
    448:472:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):72:96 -> a
    448:472:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    473:473:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):87:87 -> a
    473:473:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    474:478:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):79:83 -> a
    474:478:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    479:507:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):75:103 -> a
    479:507:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    508:529:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):85:106 -> a
    508:529:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    530:530:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):104:104 -> a
    530:530:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    531:531:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):101:101 -> a
    531:531:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    532:532:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):99:99 -> a
    532:532:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    533:533:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):97:97 -> a
    533:533:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    534:534:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):95:95 -> a
    534:534:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    535:594:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):112:171 -> a
    535:594:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    535:594:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    595:613:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):137:155 -> a
    595:613:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    595:613:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    614:625:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):151:162 -> a
    614:625:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    614:625:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    626:626:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):135:135 -> a
    626:626:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    626:626:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    627:627:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):132:132 -> a
    627:627:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    627:627:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    628:628:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):129:129 -> a
    628:628:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    628:628:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    629:629:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):125:125 -> a
    629:629:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    629:629:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    630:630:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):122:122 -> a
    630:630:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    630:630:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    631:686:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):114:169 -> a
    631:686:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    631:686:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    687:687:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):167:167 -> a
    687:687:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    687:687:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    688:688:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):165:165 -> a
    688:688:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    688:688:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    689:701:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):377:389 -> a
    689:701:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    702:702:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    702:702:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):389 -> a
    702:702:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    703:713:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):390:400 -> a
    703:713:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    714:714:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    714:714:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):401 -> a
    714:714:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    715:715:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    715:715:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    716:716:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":725,"2":726,"3":727,"4":728,"5":729}}
    725:725:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    725:725:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    726:726:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    726:726:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    727:727:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    727:727:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    728:728:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    728:728:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    729:729:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    729:729:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    717:717:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    717:717:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    718:724:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):353:359 -> a
    718:724:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):406 -> a
    718:724:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> b
    2:69:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):112:179 -> b
    2:69:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    70:70:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):153:153 -> b
    70:70:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    71:78:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):139:146 -> b
    71:78:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    79:79:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isArrayValue(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):425:425 -> b
    79:79:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):159 -> b
    79:79:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    80:80:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):162:162 -> b
    80:80:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    81:81:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):160:160 -> b
    81:81:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    82:124:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):132:174 -> b
    82:124:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    125:125:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):172:172 -> b
    125:125:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    126:146:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):156:176 -> b
    126:146:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    147:147:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> b
    147:147:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):181 -> b
    147:147:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    148:148:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):184:184 -> b
    148:148:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    149:149:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):182:182 -> b
    149:149:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    150:230:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):184:264 -> b
    231:231:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):208:208 -> b
    232:237:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):198:203 -> b
    238:302:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):193:257 -> b
    303:303:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):255:255 -> b
    304:304:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):251:251 -> b
    305:305:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":615,"2":616,"3":617}}
    615:615:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):249:249 -> b
    616:616:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):249:249 -> b
    617:617:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):249:249 -> b
    554:554:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):249:249 -> b
    555:575:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):227:247 -> b
    576:576:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):243:243 -> b
    577:577:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):237:237 -> b
    578:578:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):235:235 -> b
    579:587:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):233:241 -> b
    588:588:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):239:239 -> b
    589:589:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):231:231 -> b
    590:590:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):229:229 -> b
    591:591:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):225:225 -> b
com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame -> com.android.tools.r8.internal.Vk:
# {"id":"sourceFile","fileName":"Frame.java"}
    int numStack -> d
    int maxStack -> e
    int numLocals -> c
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value returnValue -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value[] values -> b
    1:5:void <init>(int,int):95:99 -> <init>
    6:7:void <init>(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):108:109 -> <init>
    1:9:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame init(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):119:127 -> a
    10:13:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):192:195 -> a
    14:14:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    15:15:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":209,"2":210,"3":211,"4":212,"5":213}}
    209:209:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    210:210:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    211:211:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    212:212:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    213:213:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    208:208:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    214:217:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):207:210 -> a
    218:218:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    219:219:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":428,"2":429,"3":430,"4":431,"5":432}}
    428:428:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    429:429:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    430:430:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    431:431:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    432:432:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    427:427:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    433:433:void clearStack():247:247 -> a
    434:440:void push(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):271:277 -> a
    441:447:void push(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):273:279 -> a
    448:795:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):298:645 -> a
    796:796:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2038,"2":2039,"3":2040}}
    2038:2038:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):645:645 -> a
    2039:2039:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):645:645 -> a
    2040:2040:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):645:645 -> a
    1441:1441:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):645:645 -> a
    1442:1459:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):319:336 -> a
    1460:1460:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    1460:1460:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newEmptyValue(int):126 -> a
    1460:1460:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):337 -> a
    1461:1465:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):337:341 -> a
    1466:1466:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    1466:1466:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newEmptyValue(int):126 -> a
    1466:1466:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):342 -> a
    1467:1756:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):342:631 -> a
    1757:1757:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):627:627 -> a
    1758:1758:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):623:623 -> a
    1759:1759:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):620:620 -> a
    1760:1760:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):615:615 -> a
    1761:1761:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):612:612 -> a
    1762:1772:void com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.executeInvokeInsn(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):674:684 -> a
    1762:1772:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):612 -> a
    1773:1773:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):609:609 -> a
    1774:1784:void com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.executeInvokeInsn(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):674:684 -> a
    1774:1784:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):609 -> a
    1785:1785:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):603:603 -> a
    1786:1786:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):600:600 -> a
    1787:1787:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):597:597 -> a
    1788:1789:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):592:593 -> a
    1790:1792:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):587:589 -> a
    1793:1793:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> a
    1793:1793:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):589 -> a
    1794:1794:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    1794:1794:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):413 -> a
    1794:1794:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1794:1794:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):589 -> a
    1795:1795:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):414:414 -> a
    1795:1795:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1795:1795:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):589 -> a
    1796:1796:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):580:580 -> a
    1797:1797:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):574:574 -> a
    1798:1800:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):567:569 -> a
    1801:1801:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):556:556 -> a
    1802:1802:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):548:548 -> a
    1803:1804:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):530:531 -> a
    1805:1805:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):527:527 -> a
    1806:1808:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):519:521 -> a
    1809:1815:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):466:472 -> a
    1816:1816:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):469:469 -> a
    1817:1838:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):436:457 -> a
    1839:1852:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.executeDupX2(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):652:665 -> a
    1839:1852:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):461 -> a
    1853:1853:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):464:464 -> a
    1854:1877:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):411:434 -> a
    1878:1893:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):394:409 -> a
    1894:1895:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):405:406 -> a
    1896:1897:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):388:389 -> a
    1898:1911:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.executeDupX2(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):652:665 -> a
    1898:1911:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):389 -> a
    1912:1912:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):392:392 -> a
    1913:1920:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):378:385 -> a
    1921:1921:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):381:381 -> a
    1922:1927:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):370:375 -> a
    1928:1928:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):372:372 -> a
    1929:1930:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):365:366 -> a
    1931:1932:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):360:361 -> a
    1933:1936:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):354:357 -> a
    1937:1937:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> a
    1937:1937:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1938:1976:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):322:360 -> a
    1938:1976:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1938:1976:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1977:1978:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):340:341 -> a
    1977:1978:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1977:1978:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1979:1980:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):336:337 -> a
    1979:1980:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1979:1980:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1981:1981:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):328:328 -> a
    1981:1981:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1981:1981:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1982:1982:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    1982:1982:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):328 -> a
    1982:1982:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1982:1982:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1983:2011:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):329:357 -> a
    1983:2011:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1983:2011:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2012:2013:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):352:353 -> a
    2012:2013:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2012:2013:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2014:2015:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):348:349 -> a
    2014:2015:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2014:2015:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2016:2017:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):344:345 -> a
    2016:2017:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2016:2017:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2018:2019:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):324:325 -> a
    2018:2019:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2018:2019:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2020:2020:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    2020:2020:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):362 -> a
    2020:2020:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2020:2020:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2021:2021:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):365:365 -> a
    2021:2021:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2021:2021:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2022:2022:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    2022:2022:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):367 -> a
    2022:2022:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2022:2022:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2023:2023:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):368:368 -> a
    2023:2023:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2023:2023:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2024:2024:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):366:366 -> a
    2024:2024:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2024:2024:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2025:2025:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):363:363 -> a
    2025:2025:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2025:2025:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2026:2026:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):642:642 -> a
    2027:2031:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):634:638 -> a
    2041:2046:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):699:704 -> a
    2047:2047:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):50:50 -> a
    2047:2047:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):704 -> a
    2048:2049:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):372:373 -> a
    2048:2049:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):50 -> a
    2048:2049:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):704 -> a
    2050:2051:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):705:706 -> a
    2052:2052:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):700:700 -> a
    2053:2055:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,boolean[]):726:728 -> a
    1:1:void setReturn(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):160:160 -> b
    2:2:int getLocals():170:170 -> b
    3:3:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getStack(int):231:231 -> b
    1:1:int getStackSize():220:220 -> c
    1:4:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value pop():257:260 -> d
    5:5:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value pop():258:258 -> d
    1:1:java.lang.String toString():742:742 -> toString
    2:2:int com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.getLocals():170:170 -> toString
    2:2:java.lang.String toString():743 -> toString
    3:5:java.lang.String toString():744:746 -> toString
    6:6:int com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.getStackSize():220:220 -> toString
    6:6:java.lang.String toString():747 -> toString
    7:9:java.lang.String toString():748:750 -> toString
com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter -> com.android.tools.r8.internal.cu:
    1:1:void <init>(int):61:61 -> <init>
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value) -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value) -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List) -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode) -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value) -> b
com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine -> com.android.tools.r8.internal.gX:
    java.util.List callers -> c
    boolean[] localsUsed -> b
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> a
    1:5:void <init>(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,int,com.android.tools.r8.org.objectweb.asm.tree.JumpInsnNode):61:65 -> <init>
    6:9:void <init>(com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):73:76 -> <init>
    1:11:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):89:99 -> a
com.android.tools.r8.org.objectweb.asm.tree.analysis.Value -> com.android.tools.r8.internal.Y00:
# {"id":"sourceFile","fileName":"Value.java"}
com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter -> com.android.tools.r8.internal.m9:
    boolean useNamedValue -> b
    boolean visitEndCalled -> c
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,boolean):55:56 -> <init>
    1:1:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    1:1:void visit(java.lang.String,java.lang.Object):61 -> a
    2:3:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkName(java.lang.String):125:126 -> a
    2:3:void visit(java.lang.String,java.lang.Object):62 -> a
    4:27:void visit(java.lang.String,java.lang.Object):63:86 -> a
    28:28:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    28:28:void visit(java.lang.String,java.lang.Object):61 -> a
    29:29:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    29:29:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):103 -> a
    30:31:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkName(java.lang.String):125:126 -> a
    30:31:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):104 -> a
    32:33:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):106:107 -> a
    34:34:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    34:34:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):107 -> a
    35:35:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    35:35:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):103 -> a
    36:36:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    36:36:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):112 -> a
    37:38:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkName(java.lang.String):125:126 -> a
    37:38:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):113 -> a
    39:39:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):114:114 -> a
    40:40:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    40:40:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):112 -> a
    41:41:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    41:41:void visitEnd():119 -> a
    42:43:void visitEnd():120:121 -> a
    44:44:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    44:44:void visitEnd():119 -> a
    45:45:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    45:45:void visitEnum(java.lang.String,java.lang.String,java.lang.String):91 -> a
    46:47:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkName(java.lang.String):125:126 -> a
    46:47:void visitEnum(java.lang.String,java.lang.String,java.lang.String):92 -> a
    48:52:void visitEnum(java.lang.String,java.lang.String,java.lang.String):94:98 -> a
    53:53:void visitEnum(java.lang.String,java.lang.String,java.lang.String):96:96 -> a
    54:54:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    54:54:void visitEnum(java.lang.String,java.lang.String,java.lang.String):91 -> a
com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter -> com.android.tools.r8.internal.r9:
    boolean visitNestHostCalled -> i
    java.lang.String nestMemberPackageName -> j
    boolean visitEndCalled -> k
    boolean visitCalled -> e
    boolean visitModuleCalled -> f
    int version -> d
    boolean visitSourceCalled -> g
    boolean visitOuterClassCalled -> h
    java.util.Map labelInsnIndices -> l
    boolean checkDataFlow -> c
    1:3:void <init>(int,com.android.tools.r8.org.objectweb.asm.ClassVisitor,boolean):196:198 -> <init>
    1:36:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):213:248 -> a
    37:37:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    37:37:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):612 -> a
    37:37:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    38:38:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):693:693 -> a
    38:38:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    38:38:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    39:41:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):717:719 -> a
    39:41:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    39:41:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    39:41:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    42:42:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    42:42:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719 -> a
    42:42:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    42:42:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    42:42:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    43:44:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719:720 -> a
    43:44:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    43:44:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    43:44:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    45:45:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    45:45:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):722 -> a
    45:45:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    45:45:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    45:45:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    46:46:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):723:723 -> a
    46:46:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    46:46:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    46:46:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    47:47:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    47:47:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):695 -> a
    47:47:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    47:47:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    48:50:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):717:719 -> a
    48:50:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    48:50:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    48:50:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    51:51:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    51:51:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719 -> a
    51:51:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    51:51:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    51:51:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    52:53:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719:720 -> a
    52:53:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    52:53:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    52:53:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    54:54:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    54:54:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):722 -> a
    54:54:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    54:54:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    54:54:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    55:55:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):723:723 -> a
    55:55:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    55:55:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    55:55:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    56:56:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):615:615 -> a
    56:56:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    57:57:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    57:57:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):616 -> a
    57:57:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    58:61:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):617:620 -> a
    58:61:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    62:68:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):253:259 -> a
    69:69:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":380,"2":381,"3":382,"4":383,"5":384}}
    380:380:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    381:381:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    382:382:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    383:383:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    384:384:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    328:333:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:264 -> a
    334:334:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):232:232 -> a
    335:335:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):214:214 -> a
    385:390:void visitSource(java.lang.String,java.lang.String):269:274 -> a
    391:391:void visitSource(java.lang.String,java.lang.String):271:271 -> a
    392:402:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):279:289 -> a
    403:403:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):281:281 -> a
    404:413:void visitNestHost(java.lang.String):295:304 -> a
    414:414:void visitNestHost(java.lang.String):301:301 -> a
    415:415:void visitNestHost(java.lang.String):298:298 -> a
    416:427:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):334:345 -> a
    428:428:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):340:340 -> a
    429:429:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):336:336 -> a
    430:456:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):351:377 -> a
    457:471:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):400:414 -> a
    472:472:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> a
    472:472:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):414 -> a
    473:475:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):415:417 -> a
    476:481:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkConstant(java.lang.Object):1144:1149 -> a
    476:481:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):420 -> a
    482:482:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):422:422 -> a
    483:484:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):432:433 -> a
    485:488:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):569:572 -> a
    485:488:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    489:489:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1015,"2":1016,"3":1017,"4":1018,"5":1019}}
    1015:1015:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1015:1015:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    1016:1016:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1016:1016:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    1017:1017:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1017:1017:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    1018:1018:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1018:1018:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    1019:1019:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1019:1019:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    490:490:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    490:490:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    491:494:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):450:453 -> a
    495:495:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    495:495:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):640 -> a
    495:495:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    496:496:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):693:693 -> a
    496:496:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    496:496:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    497:499:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):717:719 -> a
    497:499:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    497:499:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    497:499:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    500:500:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    500:500:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719 -> a
    500:500:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    500:500:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    500:500:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    501:502:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719:720 -> a
    501:502:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    501:502:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    501:502:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    503:503:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    503:503:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):722 -> a
    503:503:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    503:503:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    503:503:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    504:504:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):723:723 -> a
    504:504:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    504:504:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    504:504:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    505:505:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    505:505:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):695 -> a
    505:505:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    505:505:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    506:508:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):717:719 -> a
    506:508:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    506:508:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    506:508:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    509:509:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    509:509:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719 -> a
    509:509:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    509:509:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    509:509:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    510:511:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719:720 -> a
    510:511:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    510:511:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    510:511:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    512:512:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    512:512:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):722 -> a
    512:512:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    512:512:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    512:512:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    513:513:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):723:723 -> a
    513:513:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    513:513:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    513:513:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    514:515:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):643:644 -> a
    514:515:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    516:516:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    516:516:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):644 -> a
    516:516:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    517:517:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):644:644 -> a
    517:517:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    518:518:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    518:518:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):866 -> a
    518:518:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):645 -> a
    518:518:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    519:519:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):877:877 -> a
    519:519:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):645 -> a
    519:519:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    520:520:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):647:647 -> a
    520:520:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    521:521:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    521:521:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):648 -> a
    521:521:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    522:522:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    522:522:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):866 -> a
    522:522:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):651 -> a
    522:522:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    523:523:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):877:877 -> a
    523:523:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):651 -> a
    523:523:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    524:524:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    524:524:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):653 -> a
    524:524:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    525:525:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    525:525:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):655 -> a
    525:525:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    526:526:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):656:656 -> a
    526:526:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    527:529:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeVariableSignature(java.lang.String,int):845:847 -> a
    527:529:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):658 -> a
    527:529:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    530:531:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):661:662 -> a
    530:531:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    532:533:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):458:459 -> a
    534:534:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1020,"2":1021,"3":1022,"4":1023,"5":1024}}
    1020:1020:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    1021:1021:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    1022:1022:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    1023:1023:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    1024:1024:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    993:1014:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:480 -> a
    1025:1027:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):486:488 -> a
    1028:1028:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    1028:1028:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):488 -> a
    1029:1034:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):494:499 -> a
    1035:1035:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1542,"2":1543,"3":1544}}
    1542:1542:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):499:499 -> a
    1543:1543:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):499:499 -> a
    1544:1544:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):499:499 -> a
    1535:1540:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):500:505 -> a
    1541:1541:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    1541:1541:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):505 -> a
    1545:1549:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):510:514 -> a
    1550:1552:void visitEnd():519:521 -> a
    1553:1558:void checkAccess(int,int):550:555 -> a
    1559:1559:void checkAccess(int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3224,"2":3225,"3":3226,"4":3227,"5":3228}}
    3224:3224:void checkAccess(int,int):555:555 -> a
    3225:3225:void checkAccess(int,int):555:555 -> a
    3226:3226:void checkAccess(int,int):555:555 -> a
    3227:3227:void checkAccess(int,int):555:555 -> a
    3228:3228:void checkAccess(int,int):555:555 -> a
    2114:2114:void checkAccess(int,int):555:555 -> a
    2115:2115:void checkAccess(int,int):551:551 -> a
    2116:2116:void checkAccess(int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3229,"2":3230,"3":3231,"4":3232,"5":3233}}
    3229:3229:void checkAccess(int,int):551:551 -> a
    3230:3230:void checkAccess(int,int):551:551 -> a
    3231:3231:void checkAccess(int,int):551:551 -> a
    3232:3232:void checkAccess(int,int):551:551 -> a
    3233:3233:void checkAccess(int,int):551:551 -> a
    2667:2667:void checkAccess(int,int):551:551 -> a
    2668:2668:void checkAccess(int,int):547:547 -> a
    2669:2669:void checkAccess(int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3234,"2":3235,"3":3236,"4":3237,"5":3238}}
    3234:3234:void checkAccess(int,int):547:547 -> a
    3235:3235:void checkAccess(int,int):547:547 -> a
    3236:3236:void checkAccess(int,int):547:547 -> a
    3237:3237:void checkAccess(int,int):547:547 -> a
    3238:3238:void checkAccess(int,int):547:547 -> a
    3216:3216:void checkAccess(int,int):547:547 -> a
    3239:3245:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):587:593 -> a
    3246:3247:int checkClassTypeSignature(java.lang.String,int):771:772 -> a
    3248:3248:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3248:3248:int checkClassTypeSignature(java.lang.String,int):773 -> a
    3249:3249:int checkClassTypeSignature(java.lang.String,int):774:774 -> a
    3250:3250:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3250:3250:int checkClassTypeSignature(java.lang.String,int):776 -> a
    3251:3251:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):800:800 -> a
    3251:3251:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3252:3252:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3252:3252:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):824 -> a
    3252:3252:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):801 -> a
    3252:3252:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3253:3253:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):830:830 -> a
    3253:3253:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):801 -> a
    3253:3253:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3254:3254:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3254:3254:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):802 -> a
    3254:3254:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3255:3255:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3255:3255:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):824 -> a
    3255:3255:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):803 -> a
    3255:3255:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3256:3256:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):830:830 -> a
    3256:3256:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):803 -> a
    3256:3256:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3257:3257:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3257:3257:int checkClassTypeSignature(java.lang.String,int):779 -> a
    3258:3258:int checkClassTypeSignature(java.lang.String,int):780:780 -> a
    3259:3259:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3259:3259:int checkClassTypeSignature(java.lang.String,int):781 -> a
    3260:3260:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):800:800 -> a
    3260:3260:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3261:3261:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3261:3261:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):824 -> a
    3261:3261:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):801 -> a
    3261:3261:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3262:3262:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):830:830 -> a
    3262:3262:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):801 -> a
    3262:3262:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3263:3263:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3263:3263:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):802 -> a
    3263:3263:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3264:3264:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3264:3264:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):824 -> a
    3264:3264:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):803 -> a
    3264:3264:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3265:3265:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):830:830 -> a
    3265:3265:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):803 -> a
    3265:3265:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3266:3266:int checkClassTypeSignature(java.lang.String,int):785:785 -> a
    3267:3267:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3267:3267:int checkChar(char,java.lang.String,int):908 -> a
    3268:3268:int checkChar(char,java.lang.String,int):911:911 -> a
    3269:3269:void checkTypeRef(int):967:967 -> a
    3270:3270:void checkTypeRef(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4239,"2":4240,"3":4241}}
    4239:4239:void checkTypeRef(int):967:967 -> a
    4240:4240:void checkTypeRef(int):967:967 -> a
    4241:4241:void checkTypeRef(int):967:967 -> a
    4238:4238:void checkTypeRef(int):968:968 -> a
    4242:4242:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1092:1092 -> a
    4243:4243:void com.android.tools.r8.org.objectweb.asm.util.Textifier.<init>():115:115 -> a
    4243:4243:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1092 -> a
    4244:4244:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1093:1093 -> a
    4245:4245:void com.android.tools.r8.org.objectweb.asm.util.TraceMethodVisitor.<init>(com.android.tools.r8.org.objectweb.asm.util.Printer):55:55 -> a
    4245:4245:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1093 -> a
    4246:4268:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1095:1117 -> a
    4269:4276:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1116:1123 -> a
    1:3:void visitNestMember(java.lang.String):309:311 -> b
    4:8:java.lang.String com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.packageName(java.lang.String):979:983 -> b
    4:8:void visitNestMember(java.lang.String):315 -> b
    9:15:void visitNestMember(java.lang.String):316:322 -> b
    16:16:void visitNestMember(java.lang.String):319:319 -> b
    17:17:void visitNestMember(java.lang.String):312:312 -> b
    18:19:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):383:384 -> b
    20:20:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> b
    20:20:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):384 -> b
    21:26:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):385:390 -> b
    27:31:void checkState():530:534 -> b
    32:32:void checkState():531:531 -> b
    33:33:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> b
    33:33:int checkReferenceTypeSignature(java.lang.String,int):743 -> b
    34:36:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeVariableSignature(java.lang.String,int):845:847 -> b
    34:36:int checkReferenceTypeSignature(java.lang.String,int):749 -> b
    37:37:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> b
    37:37:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):866 -> b
    37:37:int checkReferenceTypeSignature(java.lang.String,int):747 -> b
    38:38:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):877:877 -> b
    38:38:int checkReferenceTypeSignature(java.lang.String,int):747 -> b
    39:39:int checkReferenceTypeSignature(java.lang.String,int):745:745 -> b
    1:3:void visitPermittedSubclass(java.lang.String):327:329 -> c
    4:8:int checkSignatureIdentifier(java.lang.String,int):890:894 -> c
    1:3:void checkFieldSignature(java.lang.String):675:677 -> d
    1:13:java.lang.String getUnqualifiedName(java.lang.String):1127:1139 -> e
com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter -> com.android.tools.r8.internal.s9:
    boolean visitEndCalled -> c
    1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):70:70 -> <init>
    1:1:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():113:113 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):75 -> a
    2:3:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):77:78 -> a
    4:4:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):78 -> a
    5:5:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():114:114 -> a
    5:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):75 -> a
    6:6:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():113:113 -> a
    6:6:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):98 -> a
    7:7:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):102:102 -> a
    8:8:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():114:114 -> a
    8:8:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):98 -> a
    9:9:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():113:113 -> a
    9:9:void visitEnd():107 -> a
    10:11:void visitEnd():108:109 -> a
    12:12:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():114:114 -> a
    12:12:void visitEnd():107 -> a
    13:13:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():113:113 -> a
    13:13:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):84 -> a
    14:22:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):85:93 -> a
    23:23:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    23:23:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):93 -> a
    24:24:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):87:87 -> a
    25:25:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":115,"2":116,"3":117}}
    115:115:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):87:87 -> a
    116:116:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):87:87 -> a
    117:117:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):87:87 -> a
    113:113:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):88:88 -> a
    114:114:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled() -> a
    114:114:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):84 -> a
com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter -> com.android.tools.r8.internal.v9:
    boolean visitCodeCalled -> n
    java.util.Map labelInsnIndices -> r
    int visibleAnnotableParameterCount -> l
    boolean visitMaxCalled -> o
    int invisibleAnnotableParameterCount -> m
    boolean visitEndCalled -> p
    int version -> j
    java.util.Set referencedLabels -> s
    int access -> k
    java.util.List handlers -> w
    int numCompressedFrames -> v
    int lastFrameInsnIndex -> t
    int numExpandedFrames -> u
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method[] OPCODE_METHODS -> x
    int insnCount -> q
    1:1:void <clinit>():83:83 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,java.util.Map):391:391 -> <init>
    2:65:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,java.util.Map):331:394 -> <init>
    66:98:void <init>(int,int,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.MethodVisitor,java.util.Map):446:478 -> <init>
    1:3:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):493:495 -> a
    4:4:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):495 -> a
    5:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():519:520 -> a
    7:13:void visitAnnotableParameterCount(int,boolean):525:531 -> a
    14:25:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):537:548 -> a
    26:26:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    26:26:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):548 -> a
    27:31:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):553:557 -> a
    32:32:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):555:555 -> a
    33:63:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):576:606 -> a
    64:64:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":736,"2":737,"3":738,"4":739,"5":740}}
    736:736:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    737:737:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    738:738:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    739:739:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    740:740:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    670:704:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:640 -> a
    705:705:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):614:614 -> a
    706:706:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):610:610 -> a
    707:707:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):577:577 -> a
    741:745:void visitInsn(int):645:649 -> a
    746:751:void visitTypeInsn(int,java.lang.String):689:694 -> a
    752:752:void visitTypeInsn(int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1450,"2":1451,"3":1452,"4":1453,"5":1454}}
    1450:1450:void visitTypeInsn(int,java.lang.String):694:694 -> a
    1451:1451:void visitTypeInsn(int,java.lang.String):694:694 -> a
    1452:1452:void visitTypeInsn(int,java.lang.String):694:694 -> a
    1453:1453:void visitTypeInsn(int,java.lang.String):694:694 -> a
    1454:1454:void visitTypeInsn(int,java.lang.String):694:694 -> a
    1446:1449:void visitTypeInsn(int,java.lang.String):694:697 -> a
    1455:1459:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):703:707 -> a
    1460:1460:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> a
    1460:1460:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):707 -> a
    1461:1463:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):708:710 -> a
    1464:1490:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):720:746 -> a
    1491:1497:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):755:761 -> a
    1498:1498:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2266,"2":2267,"3":2268}}
    2266:2266:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):761:761 -> a
    2267:2267:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):761:761 -> a
    2268:2268:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):761:761 -> a
    2259:2265:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):761:767 -> a
    2269:2275:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):772:778 -> a
    2276:2283:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):783:790 -> a
    2284:2284:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):787:787 -> a
    2285:2289:void visitLdcInsn(java.lang.Object):795:799 -> a
    2290:2295:void visitIincInsn(int,int):804:809 -> a
    2296:2296:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkSignedShort(int,java.lang.String):1121:1121 -> a
    2296:2296:void visitIincInsn(int,int):807 -> a
    2297:2308:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):815:826 -> a
    2309:2309:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3149,"2":3150,"3":3151,"4":3152,"5":3153}}
    3149:3149:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    3150:3150:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    3151:3151:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    3152:3152:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    3153:3153:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    3135:3139:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:830 -> a
    3140:3140:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):823:823 -> a
    3141:3141:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):818:818 -> a
    3154:3161:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):835:842 -> a
    3162:3162:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4013,"2":4014,"3":4015,"4":4016,"5":4017}}
    4013:4013:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    4014:4014:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    4015:4015:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    4016:4016:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    4017:4017:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    4004:4009:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:847 -> a
    4010:4010:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):839:839 -> a
    4018:4035:void visitMultiANewArrayInsn(java.lang.String,int):852:869 -> a
    4036:4036:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    4037:4037:void visitMultiANewArrayInsn(java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6629,"2":6630,"3":6631,"4":6632,"5":6633}}
    6629:6629:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    6630:6630:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    6631:6631:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    6632:6632:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    6633:6633:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    4901:4901:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    4902:4902:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    4903:4903:void visitMultiANewArrayInsn(java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6634,"2":6635,"3":6636,"4":6637,"5":6638}}
    6634:6634:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    6635:6635:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    6636:6636:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    6637:6637:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    6638:6638:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    5763:5763:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    5764:5764:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    5765:5765:void visitMultiANewArrayInsn(java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6639,"2":6640,"3":6641,"4":6642,"5":6643}}
    6639:6639:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    6640:6640:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    6641:6641:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    6642:6642:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    6643:6643:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    6621:6621:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    6644:6656:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):875:887 -> a
    6657:6657:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7551,"2":7552,"3":7553}}
    7551:7551:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):887:887 -> a
    7552:7552:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):887:887 -> a
    7553:7553:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):887:887 -> a
    7544:7549:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):887:892 -> a
    7550:7550:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    7550:7550:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):892 -> a
    7554:7569: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):898:913 -> a
    7570:7570: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):906:906 -> a
    7571:7573: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):939:941 -> a
    7574:7574:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> a
    7574:7574: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):941 -> a
    7575:7588: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):942:955 -> a
    7589:7589: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):952:952 -> a
    7590:7594: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):967:971 -> a
    7595:7595: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8591,"2":8592,"3":8593}}
    8591:8591: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):971:971 -> a
    8592:8592: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):971:971 -> a
    8593:8593: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):971:971 -> a
    8566:8589: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):971:994 -> a
    8590:8590: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):980:980 -> a
    8594:8595:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1096:1097 -> a
    8596:8596:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9694,"2":9695,"3":9696,"4":9697,"5":9698}}
    9694:9694:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    9695:9695:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    9696:9696:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    9697:9697:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    9698:9698:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    9693:9693:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    9699:9705:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1233:1239 -> a
    9706:9717:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1238:1249 -> a
    9718:9722:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1246:1250 -> a
    9723:9723:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    9724:9724:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":10959,"2":10960,"3":10961,"4":10962,"5":10963,"6":10964}}
    10959:10959:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    10960:10960:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    10961:10961:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    10962:10962:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    10963:10963:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    10964:10964:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    10958:10958:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    10965:10969:void checkInternalName(int,java.lang.String,java.lang.String):1297:1301 -> a
    10970:10976:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1319:1325 -> a
    10970:10976:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    10977:10977:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    10978:10978:void checkInternalName(int,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":12277,"2":12278,"3":12279,"4":12280,"5":12281,"6":12282}}
    12277:12277:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    12278:12278:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    12279:12279:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    12280:12280:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    12281:12281:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    12282:12282:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    12276:12276:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    12283:12324:int checkDescriptor(int,java.lang.String,int,boolean):1355:1396 -> a
    12325:12325:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":19334,"2":19335,"3":19336,"4":19337,"5":19338}}
    19334:19334:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    19335:19335:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    19336:19336:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    19337:19337:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    19338:19338:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    13721:13721:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    13722:13728:int checkDescriptor(int,java.lang.String,int,boolean):1376:1382 -> a
    13729:13729:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":19339,"2":19340,"3":19341,"4":19342,"5":19343}}
    19339:19339:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    19340:19340:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    19341:19341:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    19342:19342:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    19343:19343:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    15111:15111:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    15112:15112:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    15113:15113:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":19344,"2":19345,"3":19346,"4":19347,"5":19348}}
    19344:19344:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    19345:19345:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    19346:19346:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    19347:19347:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    19348:19348:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    16476:16503:int checkDescriptor(int,java.lang.String,int,boolean):1363:1390 -> a
    16504:16510:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1319:1325 -> a
    16504:16510:int checkDescriptor(int,java.lang.String,int,boolean):1390 -> a
    16511:16511:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    16512:16512:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":19377,"2":19378,"3":19379,"4":19380,"5":19381}}
    19377:19377:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    19378:19378:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    19379:19379:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    19380:19380:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    19381:19381:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    17904:17904:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    17905:17905:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    17906:17906:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":19382,"2":19383,"3":19384,"4":19385,"5":19386}}
    19382:19382:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    19383:19383:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    19384:19384:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    19385:19385:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    19386:19386:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    19293:19293:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    19294:19294:int checkDescriptor(int,java.lang.String,int,boolean):1356:1356 -> a
    19387:19388:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1440:1441 -> a
    19389:19389:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22273,"2":22274,"3":22275,"4":22276,"5":22277,"6":22278}}
    22273:22273:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    22274:22274:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    22275:22275:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    22276:22276:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    22277:22277:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    22278:22278:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    20830:20830:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    20831:20831:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    20832:20832:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22279,"2":22280,"3":22281,"4":22282,"5":22283,"6":22284}}
    22279:22279:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    22280:22280:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    22281:22281:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    22282:22282:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    22283:22283:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    22284:22284:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    22270:22270:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    1:1:void visitParameter(java.lang.String,int):484:484 -> b
    2:2:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> b
    2:2:void visitParameter(java.lang.String,int):484 -> b
    3:5:void visitParameter(java.lang.String,int):486:488 -> b
    6:10:void visitCode():562:566 -> b
    11:11:void visitCode():563:563 -> b
    12:24:void visitIntInsn(int,int):654:666 -> b
    25:25:void visitIntInsn(int,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":716,"2":717,"3":718,"4":719,"5":720}}
    716:716:void visitIntInsn(int,int):666:666 -> b
    717:717:void visitIntInsn(int,int):666:666 -> b
    718:718:void visitIntInsn(int,int):666:666 -> b
    719:719:void visitIntInsn(int,int):666:666 -> b
    720:720:void visitIntInsn(int,int):666:666 -> b
    691:696:void visitIntInsn(int,int):666:671 -> b
    697:697:void visitIntInsn(int,int):662:662 -> b
    698:698:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkSignedShort(int,java.lang.String):1121:1121 -> b
    698:698:void visitIntInsn(int,int):662 -> b
    699:714:void visitIntInsn(int,int):659:674 -> b
    715:715:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkSignedByte(int,java.lang.String):1109:1109 -> b
    715:715:void visitIntInsn(int,int):659 -> b
    721:730:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):919:928 -> b
    731:731:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> b
    731:731:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):928 -> b
    732:732:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    733:733:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1657,"2":1658,"3":1659}}
    1657:1657:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    1658:1658:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    1659:1659:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    1656:1656:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    1660:1664:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1000:1004 -> b
    1665:1679:void checkFrameValue(java.lang.Object):1071:1085 -> b
    1680:1685:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1264:1269 -> b
    1686:1697:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1268:1279 -> b
    1698:1702:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1276:1280 -> b
    1703:1703:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    1704:1704:void checkMethodIdentifier(int,java.lang.String,java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2970,"2":2971,"3":2972,"4":2973,"5":2974,"6":2975}}
    2970:2970:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    2971:2971:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    2972:2972:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    2973:2973:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    2974:2974:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    2975:2975:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    2969:2969:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    2976:2978:void checkDescriptor(int,java.lang.String,boolean):1338:1340 -> b
    2979:2979:void checkDescriptor(int,java.lang.String,boolean):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4320,"2":4321,"3":4322,"4":4323,"5":4324}}
    4320:4320:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> b
    4321:4321:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> b
    4322:4322:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> b
    4323:4323:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> b
    4324:4324:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> b
    4319:4319:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> b
    1:9:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):501:509 -> c
    10:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":526,"2":527,"3":528}}
    526:526:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):509:509 -> c
    527:527:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):509:509 -> c
    528:528:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):509:509 -> c
    519:524:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):509:514 -> c
    525:525:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> c
    525:525:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):514 -> c
    529:544:void visitMaxs(int,int):1009:1024 -> c
    545:553:void visitMaxs(int,int):1021:1029 -> c
    554:556:void visitEnd():1034:1036 -> c
    557:585:void checkLdcConstant(java.lang.Object):1159:1187 -> c
    586:586:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    587:587:void checkLdcConstant(java.lang.Object):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1800,"2":1801,"3":1802,"4":1803,"5":1804}}
    1800:1800:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    1801:1801:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    1802:1802:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    1803:1803:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    1804:1804:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    1764:1764:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    1765:1792:void checkLdcConstant(java.lang.Object):1172:1199 -> c
    1793:1793:void checkLdcConstant(java.lang.Object):1191:1191 -> c
    1794:1799:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkConstant(java.lang.Object):1144:1149 -> c
    1794:1799:void checkLdcConstant(java.lang.Object):1202 -> c
    1805:1818:void checkMethodDescriptor(int,java.lang.String):1407:1420 -> c
    1819:1819:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> c
    1820:1820:void checkMethodDescriptor(int,java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6092,"2":6093,"3":6094,"4":6095,"5":6096}}
    6092:6092:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> c
    6093:6093:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> c
    6094:6094:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> c
    6095:6095:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> c
    6096:6096:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> c
    3237:3244:void checkMethodDescriptor(int,java.lang.String):1417:1424 -> c
    3245:3245:void checkMethodDescriptor(int,java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6103,"2":6104,"3":6105,"4":6106,"5":6107}}
    6103:6103:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> c
    6104:6104:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> c
    6105:6105:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> c
    6106:6106:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> c
    6107:6107:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> c
    4669:4669:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> c
    4670:4670:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> c
    4671:4671:void checkMethodDescriptor(int,java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6108,"2":6109,"3":6110,"4":6111,"5":6112}}
    6108:6108:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> c
    6109:6109:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> c
    6110:6110:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> c
    6111:6111:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> c
    6112:6112:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> c
    6082:6082:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> c
    6083:6083:void checkMethodDescriptor(int,java.lang.String):1408:1408 -> c
    1:6:void visitVarInsn(int,int):679:684 -> d
    7:8:void checkVisitCodeCalled():1045:1046 -> d
    9:9:void checkUnsignedShort(int,java.lang.String):1133:1133 -> d
    1:2:void checkVisitEndNotCalled():1060:1061 -> e
    1:2:void checkVisitMaxsNotCalled():1053:1054 -> f
com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$1 -> com.android.tools.r8.internal.t9:
    com.android.tools.r8.org.objectweb.asm.MethodVisitor val$methodVisitor -> F
    1:1:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.org.objectweb.asm.MethodVisitor):448:448 -> <init>
    1:15:void visitEnd():451:465 -> c
    16:20:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$1.throwError(com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.lang.Exception):470:474 -> c
    16:20:void visitEnd():462 -> c
    21:22:void visitEnd():455:456 -> c
    23:27:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$1.throwError(com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.lang.Exception):470:474 -> c
    23:27:void visitEnd():460 -> c
com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method -> com.android.tools.r8.internal.u9:
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_INT_INSN -> c
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_VAR_INSN -> d
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_TYPE_INSN -> e
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_FIELD_INSN -> f
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_METHOD_INSN -> g
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_JUMP_INSN -> h
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_INSN -> b
    1:7:void <clinit>():73:79 -> <clinit>
    1:1:void <init>(java.lang.String,int):72:72 -> <init>
com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter -> com.android.tools.r8.internal.x9:
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet requiredModules -> c
    boolean visitEndCalled -> i
    int classVersion -> h
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet usedServices -> f
    boolean isOpen -> b
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet providedServices -> g
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet exportedPackages -> d
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet openedPackages -> e
    1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor,boolean):92:92 -> <init>
    2:51:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor,boolean):44:93 -> <init>
    1:2:void visitMainClass(java.lang.String):99:100 -> a
    3:15:void visitRequire(java.lang.String,int,java.lang.String):111:123 -> a
    16:16:void visitRequire(java.lang.String,int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":145,"2":146,"3":147,"4":148,"5":149,"6":150}}
    145:145:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    146:146:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    147:147:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    148:148:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    149:149:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    150:150:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    139:144:void visitRequire(java.lang.String,int,java.lang.String):123:128 -> a
    151:160:void visitExport(java.lang.String,int,java.lang.String[]):133:142 -> a
    161:170:void visitProvide(java.lang.String,java.lang.String[]):172:181 -> a
    171:171:void visitProvide(java.lang.String,java.lang.String[]):176:176 -> a
    172:174:void visitEnd():186:188 -> a
    1:2:void visitPackage(java.lang.String):105:106 -> b
    3:15:void visitOpen(java.lang.String,int,java.lang.String[]):147:159 -> b
    16:16:void visitOpen(java.lang.String,int,java.lang.String[]):149:149 -> b
    17:18:void checkVisitEndNotCalled():192:193 -> b
    1:4:void visitUse(java.lang.String):164:167 -> c
com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet -> com.android.tools.r8.internal.w9:
    java.util.HashSet names -> b
    java.lang.String type -> a
    1:3:void <init>(java.lang.String):202:204 -> <init>
    1:2:void checkNameNotAlreadyDeclared(java.lang.String):208:209 -> a
com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter -> com.android.tools.r8.internal.A9:
    boolean visitEndCalled -> b
    1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):74:74 -> <init>
    1:1:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():117:117 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):79 -> a
    2:3:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):81:82 -> a
    4:4:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):82 -> a
    5:5:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():118:118 -> a
    5:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):79 -> a
    6:6:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():117:117 -> a
    6:6:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):102 -> a
    7:7:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):106:106 -> a
    8:8:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():118:118 -> a
    8:8:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):102 -> a
    9:9:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():117:117 -> a
    9:9:void visitEnd():111 -> a
    10:11:void visitEnd():112:113 -> a
    12:12:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():118:118 -> a
    12:12:void visitEnd():111 -> a
    13:13:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():117:117 -> a
    13:13:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):88 -> a
    14:22:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):89:97 -> a
    23:23:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    23:23:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):97 -> a
    24:24:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):91:91 -> a
    25:25:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":119,"2":120,"3":121}}
    119:119:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):91:91 -> a
    120:120:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):91:91 -> a
    121:121:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):91:91 -> a
    117:117:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):92:92 -> a
    118:118:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled() -> a
    118:118:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):88 -> a
com.android.tools.r8.org.objectweb.asm.util.Printer -> com.android.tools.r8.internal.xM:
    java.util.List text -> c
    java.lang.StringBuilder stringBuilder -> b
    java.lang.String[] TYPES -> e
    java.lang.String[] OPCODES -> d
    int api -> a
    1:208:void <clinit>():54:261 -> <clinit>
    1:4:void <init>(int):325:328 -> <init>
    void visit(java.lang.String,java.lang.Object) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitAnnotation(java.lang.String,java.lang.String) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitAnnotationDefault() -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitArray(java.lang.String) -> a
    void visitEnum(java.lang.String,java.lang.String,java.lang.String) -> a
    void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer 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) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitMethodAnnotation(java.lang.String,boolean) -> a
    void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitParameterAnnotation(int,java.lang.String,boolean) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> a
    1:23:void appendString(java.lang.StringBuilder,java.lang.String):1241:1263 -> a
    24:37:void appendString(java.lang.StringBuilder,java.lang.String):1253:1266 -> a
com.android.tools.r8.org.objectweb.asm.util.Textifier -> com.android.tools.r8.internal.QX:
    java.lang.String tab2 -> g
    java.lang.String tab -> f
    java.lang.String ltab -> i
    java.lang.String tab3 -> h
    int numAnnotationValues -> k
    java.util.Map labelNames -> j
    java.util.List FRAME_TYPES -> l
    1:2:void <clinit>():84:85 -> <clinit>
    1:1:void <init>(int):129:129 -> <init>
    2:11:void <init>(int):88:97 -> <init>
    1:3:void visit(java.lang.String,java.lang.Object):557:559 -> a
    4:4:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitString(java.lang.String):667:667 -> a
    4:4:void visit(java.lang.String,java.lang.Object):559 -> a
    5:6:void visit(java.lang.String,java.lang.Object):560:561 -> a
    7:7:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitType(com.android.tools.r8.org.objectweb.asm.Type):671:671 -> a
    7:7:void visit(java.lang.String,java.lang.Object):561 -> a
    8:9:void visit(java.lang.String,java.lang.Object):562:563 -> a
    10:10:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitByte(byte):659:659 -> a
    10:10:void visit(java.lang.String,java.lang.Object):563 -> a
    11:12:void visit(java.lang.String,java.lang.Object):564:565 -> a
    13:13:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitBoolean(boolean):663:663 -> a
    13:13:void visit(java.lang.String,java.lang.Object):565 -> a
    14:15:void visit(java.lang.String,java.lang.Object):566:567 -> a
    16:16:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitShort(short):655:655 -> a
    16:16:void visit(java.lang.String,java.lang.Object):567 -> a
    17:18:void visit(java.lang.String,java.lang.Object):568:569 -> a
    19:19:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitChar(char):651:651 -> a
    19:19:void visit(java.lang.String,java.lang.Object):569 -> a
    20:21:void visit(java.lang.String,java.lang.Object):570:571 -> a
    22:22:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInt(int):635:635 -> a
    22:22:void visit(java.lang.String,java.lang.Object):571 -> a
    23:24:void visit(java.lang.String,java.lang.Object):572:573 -> a
    25:25:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitFloat(float):643:643 -> a
    25:25:void visit(java.lang.String,java.lang.Object):573 -> a
    26:27:void visit(java.lang.String,java.lang.Object):574:575 -> a
    28:28:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLong(long):639:639 -> a
    28:28:void visit(java.lang.String,java.lang.Object):575 -> a
    29:30:void visit(java.lang.String,java.lang.Object):576:577 -> a
    31:31:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitDouble(double):647:647 -> a
    31:31:void visit(java.lang.String,java.lang.Object):577 -> a
    32:38:void visit(java.lang.String,java.lang.Object):578:584 -> a
    39:39:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitByte(byte):659:659 -> a
    39:39:void visit(java.lang.String,java.lang.Object):584 -> a
    40:44:void visit(java.lang.String,java.lang.Object):586:590 -> a
    45:45:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitBoolean(boolean):663:663 -> a
    45:45:void visit(java.lang.String,java.lang.Object):590 -> a
    46:50:void visit(java.lang.String,java.lang.Object):592:596 -> a
    51:51:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitShort(short):655:655 -> a
    51:51:void visit(java.lang.String,java.lang.Object):596 -> a
    52:56:void visit(java.lang.String,java.lang.Object):598:602 -> a
    57:57:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitChar(char):651:651 -> a
    57:57:void visit(java.lang.String,java.lang.Object):602 -> a
    58:62:void visit(java.lang.String,java.lang.Object):604:608 -> a
    63:63:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInt(int):635:635 -> a
    63:63:void visit(java.lang.String,java.lang.Object):608 -> a
    64:68:void visit(java.lang.String,java.lang.Object):610:614 -> a
    69:69:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLong(long):639:639 -> a
    69:69:void visit(java.lang.String,java.lang.Object):614 -> a
    70:74:void visit(java.lang.String,java.lang.Object):616:620 -> a
    75:75:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitFloat(float):643:643 -> a
    75:75:void visit(java.lang.String,java.lang.Object):620 -> a
    76:80:void visit(java.lang.String,java.lang.Object):622:626 -> a
    81:81:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitDouble(double):647:647 -> a
    81:81:void visit(java.lang.String,java.lang.Object):626 -> a
    82:84:void visit(java.lang.String,java.lang.Object):629:631 -> a
    85:88:void visitEnum(java.lang.String,java.lang.String,java.lang.String):676:679 -> a
    89:94:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotation(java.lang.String,java.lang.String):684:689 -> a
    89:94:com.android.tools.r8.org.objectweb.asm.util.Printer visitAnnotation(java.lang.String,java.lang.String):51 -> a
    95:98:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitArray(java.lang.String):694:697 -> a
    95:98:com.android.tools.r8.org.objectweb.asm.util.Printer visitArray(java.lang.String):51 -> a
    99:100:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotationDefault():778:779 -> a
    99:100:com.android.tools.r8.org.objectweb.asm.util.Printer visitAnnotationDefault():51 -> a
    101:112:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameterAnnotation(int,java.lang.String,boolean):806:817 -> a
    101:112:com.android.tools.r8.org.objectweb.asm.util.Printer visitParameterAnnotation(int,java.lang.String,boolean):51 -> a
    113:141:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):837:865 -> a
    142:143:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):861:862 -> a
    144:144:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):858:858 -> a
    145:145:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):855:855 -> a
    146:148:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):850:852 -> a
    149:174:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):843:868 -> a
    175:184:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):925:934 -> a
    185:196:com.android.tools.r8.org.objectweb.asm.util.Printer visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1093:1104 -> a
    197:215:com.android.tools.r8.org.objectweb.asm.util.Printer 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):1142:1160 -> a
    216:221:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotation(java.lang.String,boolean):1201:1206 -> a
    216:221:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMethodAnnotation(java.lang.String,boolean):784 -> a
    216:221:com.android.tools.r8.org.objectweb.asm.util.Printer visitMethodAnnotation(java.lang.String,boolean):51 -> a
    222:222:void appendDescriptor(int,java.lang.String):1335:1335 -> a
    223:223:void appendDescriptor(int,java.lang.String):1332:1332 -> a
    224:227:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1368:1371 -> a
    228:228:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1605,"2":1606,"3":1607}}
    1605:1605:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1373 -> a
    1606:1606:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1373 -> a
    1607:1607:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1373 -> a
    1601:1604:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1376 -> a
    1608:1645:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1385:1422 -> a
    1646:1662:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1402:1418 -> a
    1663:1671:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1406:1414 -> a
    1672:1672:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1399:1399 -> a
    1673:1673:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1396:1396 -> a
    1674:1674:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1393:1393 -> a
    1675:1722:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1390:1437 -> a
    1723:1812:void appendTypeReference(int):1459:1548 -> a
    1813:1815:void appendTypeReference(int):1543:1545 -> a
    1816:1818:void appendTypeReference(int):1538:1540 -> a
    1819:1821:void appendTypeReference(int):1533:1535 -> a
    1822:1824:void appendTypeReference(int):1528:1530 -> a
    1825:1825:void appendTypeReference(int):1525:1525 -> a
    1826:1826:void appendTypeReference(int):1522:1522 -> a
    1827:1827:void appendTypeReference(int):1519:1519 -> a
    1828:1828:void appendTypeReference(int):1516:1516 -> a
    1829:1829:void appendTypeReference(int):1513:1513 -> a
    1830:1830:void appendTypeReference(int):1510:1510 -> a
    1831:1831:void appendTypeReference(int):1507:1507 -> a
    1832:1832:void appendTypeReference(int):1504:1504 -> a
    1833:1833:void appendTypeReference(int):1501:1501 -> a
    1834:1836:void appendTypeReference(int):1496:1498 -> a
    1837:1837:void appendTypeReference(int):1493:1493 -> a
    1838:1838:void appendTypeReference(int):1490:1490 -> a
    1839:1839:void appendTypeReference(int):1487:1487 -> a
    1840:1844:void appendTypeReference(int):1480:1484 -> a
    1845:1849:void appendTypeReference(int):1473:1477 -> a
    1850:1850:void appendTypeReference(int):1470:1470 -> a
    1851:1853:void appendTypeReference(int):1465:1467 -> a
    1854:1854:void appendTypeReference(int):1462:1462 -> a
    1855:1867:void appendFrameTypes(int,java.lang.Object[]):1562:1574 -> a
    1:12:com.android.tools.r8.org.objectweb.asm.util.Textifier visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1222:1233 -> b
    13:13:void maybeAppendComma(int):1449:1449 -> b
    14:14:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.createTextifier():1600:1600 -> b
    14:14:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1586 -> b
    15:15:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1587:1587 -> b
    16:16:java.util.List com.android.tools.r8.org.objectweb.asm.util.Printer.getText():1205:1205 -> b
    16:16:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1587 -> b
    17:19:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1587:1589 -> b
    1:4:void visitAnnotationValue(java.lang.String):706:709 -> c
com.android.tools.r8.org.objectweb.asm.util.TraceAnnotationVisitor -> com.android.tools.r8.internal.wY:
    com.android.tools.r8.org.objectweb.asm.util.Printer printer -> b
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,com.android.tools.r8.org.objectweb.asm.util.Printer):60:61 -> <init>
    1:2:void visit(java.lang.String,java.lang.Object):66:67 -> a
    3:4:void visitEnum(java.lang.String,java.lang.String,java.lang.String):72:73 -> a
    5:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):78:79 -> a
    7:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):84:85 -> a
    9:10:void visitEnd():90:91 -> a
com.android.tools.r8.org.objectweb.asm.util.TraceMethodVisitor -> com.android.tools.r8.internal.xY:
    com.android.tools.r8.org.objectweb.asm.util.Printer p -> j
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.util.Printer):65:66 -> <init>
    1:3:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):77:79 -> a
    4:4:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):92:92 -> a
    5:5:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):1242:1242 -> a
    5:5:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMethodAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):822 -> a
    5:5:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):92 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    6:19:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):1242:1255 -> a
    6:19:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMethodAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):822 -> a
    6:19:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):92 -> a
    20:20:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):93:93 -> a
    21:22:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():98:99 -> a
    23:23:void visitAnnotableParameterCount(int,boolean):104:104 -> a
    24:24:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotableParameterCount(int,boolean):795:795 -> a
    24:24:com.android.tools.r8.org.objectweb.asm.util.Printer com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotableParameterCount(int,boolean):51 -> a
    24:24:void visitAnnotableParameterCount(int,boolean):104 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    25:29:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotableParameterCount(int,boolean):795:799 -> a
    25:29:com.android.tools.r8.org.objectweb.asm.util.Printer com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotableParameterCount(int,boolean):51 -> a
    25:29:void visitAnnotableParameterCount(int,boolean):104 -> a
    30:30:void visitAnnotableParameterCount(int,boolean):105:105 -> a
    31:33:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):111:113 -> a
    34:35:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):129:130 -> a
    36:36:void visitInsn(int):135:135 -> a
    37:37:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInsn(int):873:873 -> a
    37:37:void visitInsn(int):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:40:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInsn(int):873:875 -> a
    38:40:void visitInsn(int):135 -> a
    41:41:void visitInsn(int):136:136 -> a
    42:42:void visitTypeInsn(int,java.lang.String):153:153 -> a
    43:43:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTypeInsn(int,java.lang.String):899:899 -> a
    43:43:void visitTypeInsn(int,java.lang.String):153 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:48:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTypeInsn(int,java.lang.String):899:903 -> a
    44:48:void visitTypeInsn(int,java.lang.String):153 -> a
    49:49:void visitTypeInsn(int,java.lang.String):154:154 -> a
    50:50:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):160:160 -> a
    51:51:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):909:909 -> a
    51:51:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):160 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    52:58:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):909:915 -> a
    52:58:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):160 -> a
    59:59:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):161:161 -> a
    60:60:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):173:173 -> a
    61:61:void com.android.tools.r8.org.objectweb.asm.util.Printer.visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String):965:965 -> a
    61:61:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:73:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):175:186 -> a
    74:74:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196:196 -> a
    75:75:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):943:943 -> a
    75:75:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    76:97:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):943:964 -> a
    76:97:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196 -> a
    98:98:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitType(com.android.tools.r8.org.objectweb.asm.Type):671:671 -> a
    98:98:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):966 -> a
    98:98:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196 -> a
    99:110:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):968:979 -> a
    99:110:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196 -> a
    111:111:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):197:197 -> a
    112:112:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):202:202 -> a
    113:113:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):984:984 -> a
    113:113:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):202 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    114:118:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):984:988 -> a
    114:118:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):202 -> a
    119:119:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):203:203 -> a
    120:120:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):208:208 -> a
    121:121:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLabel(com.android.tools.r8.org.objectweb.asm.Label):993:993 -> a
    121:121:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):208 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    122:126:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLabel(com.android.tools.r8.org.objectweb.asm.Label):993:997 -> a
    122:126:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):208 -> a
    127:127:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):209:209 -> a
    128:128:void visitLdcInsn(java.lang.Object):214:214 -> a
    129:129:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLdcInsn(java.lang.Object):1002:1002 -> a
    129:129:void visitLdcInsn(java.lang.Object):214 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    130:140:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLdcInsn(java.lang.Object):1002:1012 -> a
    130:140:void visitLdcInsn(java.lang.Object):214 -> a
    141:141:void visitLdcInsn(java.lang.Object):215:215 -> a
    142:142:void visitIincInsn(int,int):220:220 -> a
    143:143:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitIincInsn(int,int):1017:1017 -> a
    143:143:void visitIincInsn(int,int):220 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    144:152:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitIincInsn(int,int):1017:1025 -> a
    144:152:void visitIincInsn(int,int):220 -> a
    153:153:void visitIincInsn(int,int):221:221 -> a
    154:154:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):227:227 -> a
    155:155:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):1031:1031 -> a
    155:155:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):227 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    156:166:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):1031:1041 -> a
    156:166:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):227 -> a
    167:167:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):228:228 -> a
    168:168:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):233:233 -> a
    169:169:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):1046:1046 -> a
    169:169:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    170:180:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):1046:1056 -> a
    170:180:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):233 -> a
    181:181:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):234:234 -> a
    182:182:void visitMultiANewArrayInsn(java.lang.String,int):239:239 -> a
    183:183:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMultiANewArrayInsn(java.lang.String,int):1061:1061 -> a
    183:183:void visitMultiANewArrayInsn(java.lang.String,int):239 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    184:188:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMultiANewArrayInsn(java.lang.String,int):1061:1065 -> a
    184:188:void visitMultiANewArrayInsn(java.lang.String,int):239 -> a
    189:189:void visitMultiANewArrayInsn(java.lang.String,int):240:240 -> a
    190:190:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):246:246 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.util.Printer com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1071:1071 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):246 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    192:193:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):247:248 -> a
    194:194: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):254:254 -> a
    195:195:void com.android.tools.r8.org.objectweb.asm.util.Textifier.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):1077:1077 -> a
    195:195: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):254 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    196:206:void com.android.tools.r8.org.objectweb.asm.util.Textifier.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):1077:1087 -> a
    196:206: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):254 -> a
    207:207: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):255:255 -> a
    208:208: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):274:274 -> a
    209:209:void com.android.tools.r8.org.objectweb.asm.util.Textifier.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):1115:1115 -> a
    209:209: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):274 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    210:222:void com.android.tools.r8.org.objectweb.asm.util.Textifier.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):1115:1127 -> a
    210:222: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):274 -> a
    223:235:void com.android.tools.r8.org.objectweb.asm.util.Textifier.appendJavaDeclaration(java.lang.String,java.lang.String):1346:1358 -> a
    223:235:void com.android.tools.r8.org.objectweb.asm.util.Textifier.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):1128 -> a
    223:235: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):274 -> a
    236:236:void com.android.tools.r8.org.objectweb.asm.util.Textifier.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):1130:1130 -> a
    236:236: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):274 -> a
    237:237: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):275:275 -> a
    238:241: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):287:290 -> a
    1:1:void visitParameter(java.lang.String,int):71:71 -> b
    2:2:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameter(java.lang.String,int):769:769 -> b
    2:2:void visitParameter(java.lang.String,int):71 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameter(java.lang.String,int):769:770 -> b
    3:4:void visitParameter(java.lang.String,int):71 -> b
    5:41:void com.android.tools.r8.org.objectweb.asm.util.Textifier.appendAccess(int):1269:1305 -> b
    5:41:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameter(java.lang.String,int):771 -> b
    5:41:void visitParameter(java.lang.String,int):71 -> b
    42:43:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameter(java.lang.String,int):772:773 -> b
    42:43:void visitParameter(java.lang.String,int):71 -> b
    44:44:void visitParameter(java.lang.String,int):72:72 -> b
    45:46:void visitCode():118:119 -> b
    47:47:void visitIntInsn(int,int):141:141 -> b
    48:48:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitIntInsn(int,int):880:880 -> b
    48:48:void visitIntInsn(int,int):141 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:56:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitIntInsn(int,int):880:887 -> b
    49:56:void visitIntInsn(int,int):141 -> b
    57:57:void visitIntInsn(int,int):142:142 -> b
    58:60:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):261:263 -> b
    61:61:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):297:297 -> b
    62:62:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1165:1165 -> b
    62:62:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):297 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    63:67:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1165:1169 -> b
    63:67:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):297 -> b
    68:68:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):298:298 -> b
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):85:85 -> c
    2:2:com.android.tools.r8.org.objectweb.asm.util.Printer com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMethodTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):790:790 -> c
    2:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):85 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):86:87 -> c
    5:5:void visitMaxs(int,int):303:303 -> c
    6:6:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMaxs(int,int):1174:1174 -> c
    6:6:void visitMaxs(int,int):303 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:13:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMaxs(int,int):1174:1180 -> c
    7:13:void visitMaxs(int,int):303 -> c
    14:14:void visitMaxs(int,int):304:304 -> c
    15:16:void visitEnd():309:310 -> c
    1:1:void visitVarInsn(int,int):147:147 -> d
    2:2:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitVarInsn(int,int):892:892 -> d
    2:2:void visitVarInsn(int,int):147 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:5:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitVarInsn(int,int):892:894 -> d
    3:5:void visitVarInsn(int,int):147 -> d
    6:6:void visitVarInsn(int,int):148:148 -> d
com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor -> com.android.tools.r8.internal.AY:
    int arrayStack -> j
    java.lang.String separator -> k
    int argumentStack -> i
    java.lang.StringBuilder declaration -> b
    boolean formalTypeParameterVisited -> e
    boolean interfaceBoundVisited -> f
    boolean parameterTypeVisited -> g
    boolean interfaceVisited -> h
    java.util.Map BASE_TYPES -> l
    boolean isInterface -> a
    java.lang.StringBuilder exceptions -> d
    java.lang.StringBuilder returnType -> c
    1:11:void <clinit>():52:62 -> <clinit>
    1:1:void <init>(int):112:112 -> <init>
    2:12:void <init>(int):104:114 -> <init>
    13:13:void <init>(java.lang.StringBuilder):118:118 -> <init>
    14:30:void <init>(java.lang.StringBuilder):104:120 -> <init>
    1:6:void visitBaseType(char):203:208 -> a
    7:7:void visitBaseType(char):205:205 -> a
    8:19:void visitClassType(java.lang.String):227:238 -> a
    20:25:void endType():335:340 -> a
    1:3:void visitFormalTypeParameter(java.lang.String):125:127 -> b
    4:17:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitTypeArgument(char):266:279 -> b
    18:18:java.lang.String getDeclaration():300:300 -> b
    1:8:void visitInnerClassType(java.lang.String):243:250 -> c
    9:9:java.lang.String getExceptions():318:318 -> c
    1:3:void visitTypeVariable(java.lang.String):213:215 -> d
    4:4:java.lang.String getReturnType():309:309 -> d
    1:1:void startType():331:331 -> e
    1:2:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitArrayType():220:221 -> f
    1:2:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitClassBound():132:133 -> g
    1:5:void visitEnd():285:289 -> h
    1:6:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitExceptionType():193:198 -> i
    1:7:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitInterface():155:161 -> j
    1:3:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitInterfaceBound():139:141 -> k
    1:3:void com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor.endFormals():324:326 -> l
    1:3:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitParameterType():167 -> l
    4:10:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitParameterType():168:174 -> l
    1:3:void com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor.endFormals():324:326 -> m
    1:3:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitReturnType():180 -> m
    4:11:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitReturnType():181:188 -> m
    1:3:void com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor.endFormals():324:326 -> n
    1:3:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitSuperclass():147 -> n
    4:5:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitSuperclass():148:149 -> n
    1:7:void visitTypeArgument():255:261 -> o
com.android.tools.r8.origin.ArchiveEntryOrigin -> com.android.tools.r8.origin.ArchiveEntryOrigin:
    java.lang.String entryName -> f
    1:2:void <init>(java.lang.String,com.android.tools.r8.origin.Origin):18:19 -> <init>
    1:1:java.lang.String getEntryName():28:28 -> getEntryName
    1:1:java.lang.String part():24:24 -> part
com.android.tools.r8.origin.CommandLineOrigin -> com.android.tools.r8.origin.a:
    com.android.tools.r8.origin.CommandLineOrigin INSTANCE -> f
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:1:java.lang.String part():17:17 -> part
com.android.tools.r8.origin.EmbeddedOrigin -> com.android.tools.r8.origin.b:
    com.android.tools.r8.origin.EmbeddedOrigin INSTANCE -> f
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:1:java.lang.String part():17:17 -> part
com.android.tools.r8.origin.Origin -> com.android.tools.r8.origin.Origin:
    com.android.tools.r8.origin.Origin ROOT -> c
    com.android.tools.r8.origin.Origin parent -> b
    com.android.tools.r8.origin.Origin UNKNOWN -> d
    boolean $assertionsDisabled -> e
    1:17:void <clinit>():26:42 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin$1):27:27 -> <init>
    2:3:void <init>():67:68 -> <init>
    4:6:void <init>(com.android.tools.r8.origin.Origin):71:73 -> <init>
    1:2:java.util.List buildParts(int):87:88 -> a
    1:1:int compareTo(java.lang.Object):26:26 -> compareTo
    2:11:int compareTo(com.android.tools.r8.origin.Origin):130:139 -> compareTo
    1:8:boolean equals(java.lang.Object):115:122 -> equals
    1:4:com.android.tools.r8.origin.Origin getFromHierarchy(java.lang.Class):101:104 -> getFromHierarchy
    1:2:int hashCode():145:146 -> hashCode
    1:1:com.android.tools.r8.origin.Origin parent():79:79 -> parent
    1:1:java.util.List parts():83:83 -> parts
    1:1:com.android.tools.r8.origin.Origin root():58:58 -> root
    1:1:java.lang.String toString():153:153 -> toString
    1:1:com.android.tools.r8.origin.Origin unknown():62:62 -> unknown
com.android.tools.r8.origin.Origin$1 -> com.android.tools.r8.origin.c:
    1:1:void <init>():30:30 -> <init>
    1:1:java.util.List buildParts(int):38:38 -> a
    1:1:int compareTo(java.lang.Object):30:30 -> compareTo
    1:1:java.lang.String part():33:33 -> part
com.android.tools.r8.origin.Origin$2 -> com.android.tools.r8.origin.d:
    1:1:void <init>():43:43 -> <init>
    1:2:java.util.List buildParts(int):51:52 -> a
    1:1:int compareTo(java.lang.Object):43:43 -> compareTo
    1:1:java.lang.String part():46:46 -> part
com.android.tools.r8.origin.PathOrigin -> com.android.tools.r8.origin.PathOrigin:
    java.nio.file.Path path -> f
    boolean $assertionsDisabled -> g
    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
    1:1:java.lang.String part():26:26 -> part
com.android.tools.r8.origin.SynthesizedOrigin -> com.android.tools.r8.origin.e:
    java.lang.String reason -> f
    1:2:void <init>(java.lang.String,java.lang.Class):13:14 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24}}
    22:22:java.lang.String part():20:20 -> part
    23:23:java.lang.String part():20:20 -> part
    24:24:java.lang.String part():20:20 -> part
    21:21:java.lang.String part():20:20 -> part
com.android.tools.r8.position.MethodPosition -> com.android.tools.r8.position.MethodPosition:
    com.android.tools.r8.references.MethodReference method -> a
    com.android.tools.r8.position.Position textPosition -> b
    1:1:void <init>(com.android.tools.r8.graph.DexMethod):24:24 -> <init>
    2:2:void <init>(com.android.tools.r8.references.MethodReference):29:29 -> <init>
    3:5:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.position.Position):32:34 -> <init>
    1:1:com.android.tools.r8.position.MethodPosition create(com.android.tools.r8.graph.ProgramMethod):38:38 -> create
    2:6:com.android.tools.r8.position.MethodPosition create(com.android.tools.r8.graph.DexEncodedMethod):42:46 -> create
    7:7:com.android.tools.r8.position.MethodPosition create(com.android.tools.r8.references.MethodReference):50:50 -> create
    8:8:com.android.tools.r8.position.MethodPosition create(com.android.tools.r8.references.MethodReference,com.android.tools.r8.position.Position):54:54 -> create
    1:2:boolean equals(java.lang.Object):104:105 -> equals
    1:1:java.lang.String getDescription():94:94 -> getDescription
    1:1:java.lang.String getHolder():68:68 -> getHolder
    1:1:com.android.tools.r8.references.MethodReference getMethod():59:59 -> getMethod
    1:1:java.lang.String getName():63:63 -> getName
    1:3:java.util.List getParameterTypes():78:80 -> getParameterTypes
    1:1:java.lang.String getReturnType():73:73 -> getReturnType
    1:1:com.android.tools.r8.position.Position getTextPosition():84:84 -> getTextPosition
    1:1:int hashCode():99:99 -> hashCode
    1:1:java.lang.String toString():89:89 -> toString
com.android.tools.r8.position.Position -> com.android.tools.r8.position.Position:
    1:1:void <clinit>():19:19 -> <clinit>
com.android.tools.r8.position.Position$1 -> com.android.tools.r8.position.a:
    1:1:void <init>():19:19 -> <init>
    1:1:java.lang.String getDescription():22:22 -> getDescription
com.android.tools.r8.position.TextPosition -> com.android.tools.r8.position.TextPosition:
    long offset -> a
    int line -> b
    int column -> c
    boolean $assertionsDisabled -> d
    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
    1:1:int getColumn():48:48 -> getColumn
    1:1:java.lang.String getDescription():0:0 -> getDescription
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
    127:127:java.lang.String getDescription():62:62 -> getDescription
    128:128:java.lang.String getDescription():62:62 -> getDescription
    129:129:java.lang.String getDescription():62:62 -> getDescription
    63:63:java.lang.String getDescription():62:62 -> getDescription
    64:64:java.lang.String getDescription():0:0 -> getDescription
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
    127:127:java.lang.String getDescription():62:62 -> getDescription
    128:128:java.lang.String getDescription():62:62 -> getDescription
    129:129:java.lang.String getDescription():62:62 -> getDescription
    126:126:java.lang.String getDescription():62:62 -> getDescription
    1:1:int getLine():40:40 -> getLine
    1:1:long getOffset():52:52 -> getOffset
    1:1:int hashCode():67:67 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:java.lang.String toString():57:57 -> toString
    60:60:java.lang.String toString():57:57 -> toString
    61:61:java.lang.String toString():57:57 -> toString
    58:58:java.lang.String toString():57:57 -> toString
com.android.tools.r8.position.TextRange -> com.android.tools.r8.position.TextRange:
    com.android.tools.r8.position.TextPosition end -> b
    com.android.tools.r8.position.TextPosition start -> a
    1:3:void <init>(com.android.tools.r8.position.TextPosition,com.android.tools.r8.position.TextPosition):14:16 -> <init>
    1:3:boolean equals(java.lang.Object):43:45 -> equals
    1:1:java.lang.String getDescription():57:57 -> getDescription
    1:1:com.android.tools.r8.position.TextPosition getEnd():30:30 -> getEnd
    1:1:com.android.tools.r8.position.TextPosition getStart():23:23 -> getStart
    1:1:int hashCode():35:35 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":54,"2":55,"3":56}}
    54:54:java.lang.String toString():52:52 -> toString
    55:55:java.lang.String toString():52:52 -> toString
    56:56:java.lang.String toString():52:52 -> toString
    53:53: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
    int dimensions -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:5:void <init>(int,com.android.tools.r8.references.TypeReference,java.lang.String):22:26 -> <init>
    1:10:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):30:39 -> a
    11:11:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":51,"2":52,"3":53,"4":54,"5":55}}
    51:51:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    52:52:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    53:53:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    54:54:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    55:55:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    50:50:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    56:59:com.android.tools.r8.references.ArrayReference fromBaseType(com.android.tools.r8.references.TypeReference,int):43:46 -> a
    60:65:java.lang.String com.android.tools.r8.utils.DescriptorUtils.toArrayDescriptor(int,java.lang.String):108:113 -> a
    60:65:com.android.tools.r8.references.ArrayReference fromBaseType(com.android.tools.r8.references.TypeReference,int):46 -> a
    66:66:com.android.tools.r8.references.ArrayReference fromBaseType(com.android.tools.r8.references.TypeReference,int):46:46 -> a
    1:5:boolean equals(java.lang.Object):81:85 -> equals
    1:1:com.android.tools.r8.references.TypeReference getBaseType():58:58 -> getBaseType
    1:1:java.lang.String getDescriptor():73:73 -> getDescriptor
    1:1:int getDimensions():50:50 -> getDimensions
    1:1:com.android.tools.r8.references.TypeReference getMemberType():54:54 -> getMemberType
    1:1:int hashCode():90:90 -> hashCode
com.android.tools.r8.references.ClassReference -> com.android.tools.r8.references.ClassReference:
    java.lang.String descriptor -> a
    1:2:void <init>(java.lang.String):17:18 -> <init>
    1:1:com.android.tools.r8.references.ClassReference fromDescriptor(java.lang.String):22:22 -> a
    1:4:boolean equals(java.lang.Object):49:52 -> equals
    1:1:java.lang.String getBinaryName():26:26 -> getBinaryName
    1:1:java.lang.String getDescriptor():41:41 -> getDescriptor
    1:1:int hashCode():57:57 -> hashCode
    1:1:java.lang.String toString():62:62 -> 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
    1:1:void <clinit>():16:16 -> <clinit>
    1:7:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.references.TypeReference):23:29 -> <init>
    1:7:boolean equals(java.lang.Object):52:58 -> equals
    1:1:java.lang.String getFieldName():37:37 -> getFieldName
    1:1:com.android.tools.r8.references.TypeReference getFieldType():41:41 -> getFieldType
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():33:33 -> getHolderClass
    1:1:int hashCode():63:63 -> hashCode
    1:1:java.lang.String toString():68:68 -> toString
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
    1:1:void <clinit>():20:20 -> <clinit>
    1:7:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):32:38 -> <init>
    1:8:boolean equals(java.lang.Object):65:72 -> equals
    1:1:java.util.List getFormalTypes():50:50 -> getFormalTypes
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():42:42 -> getHolderClass
    1:3:java.lang.String getMethodDescriptor():81:81 -> getMethodDescriptor
    5:5:java.lang.String getMethodDescriptor():83:83 -> getMethodDescriptor
    1:1:java.lang.String getMethodName():46:46 -> getMethodName
    1:1:com.android.tools.r8.references.TypeReference getReturnType():54:54 -> getReturnType
    1:1:int hashCode():77:77 -> hashCode
    1:1:java.lang.String toString():88:88 -> toString
com.android.tools.r8.references.PackageReference -> com.android.tools.r8.references.PackageReference:
    java.lang.String packageName -> a
    1:6:void <init>(java.lang.String):19:24 -> <init>
    7:7:void <init>(java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":35,"2":36,"3":37,"4":38,"5":39,"6":40}}
    35:35:void <init>(java.lang.String):24:24 -> <init>
    36:36:void <init>(java.lang.String):24:24 -> <init>
    37:37:void <init>(java.lang.String):24:24 -> <init>
    38:38:void <init>(java.lang.String):24:24 -> <init>
    39:39:void <init>(java.lang.String):24:24 -> <init>
    40:40:void <init>(java.lang.String):24:24 -> <init>
    31:33:void <init>(java.lang.String):24:26 -> <init>
    34:34:void <init>(java.lang.String):21:21 -> <init>
    1:5:boolean equals(java.lang.Object):38:42 -> equals
    1:1:java.lang.String getPackageName():30:30 -> getPackageName
    1:1:int hashCode():47:47 -> hashCode
com.android.tools.r8.references.PrimitiveReference -> com.android.tools.r8.references.PrimitiveReference:
    com.android.tools.r8.references.PrimitiveReference LONG -> g
    com.android.tools.r8.references.PrimitiveReference FLOAT -> f
    com.android.tools.r8.references.PrimitiveReference DOUBLE -> h
    com.android.tools.r8.references.PrimitiveReference CHAR -> c
    boolean $assertionsDisabled -> i
    com.android.tools.r8.references.PrimitiveReference BYTE -> b
    com.android.tools.r8.references.PrimitiveReference INT -> e
    com.android.tools.r8.references.PrimitiveReference SHORT -> d
    com.android.tools.r8.references.PrimitiveReference BOOL -> a
    1:61:void <clinit>():10:70 -> <clinit>
    1:1:void <init>(com.android.tools.r8.references.PrimitiveReference$1):12:12 -> <init>
    2:2:void <init>():78:78 -> <init>
    1:1:int hashCode():124:124 -> hashCode
com.android.tools.r8.references.PrimitiveReference$1 -> com.android.tools.r8.references.a:
    1:1:void <init>():15:15 -> <init>
    1:1:java.lang.String getDescriptor():18:18 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$2 -> com.android.tools.r8.references.b:
    1:1:void <init>():23:23 -> <init>
    1:1:java.lang.String getDescriptor():26:26 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$3 -> com.android.tools.r8.references.c:
    1:1:void <init>():31:31 -> <init>
    1:1:java.lang.String getDescriptor():34:34 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$4 -> com.android.tools.r8.references.d:
    1:1:void <init>():39:39 -> <init>
    1:1:java.lang.String getDescriptor():42:42 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$5 -> com.android.tools.r8.references.e:
    1:1:void <init>():47:47 -> <init>
    1:1:java.lang.String getDescriptor():50:50 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$6 -> com.android.tools.r8.references.f:
    1:1:void <init>():55:55 -> <init>
    1:1:java.lang.String getDescriptor():58:58 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$7 -> com.android.tools.r8.references.g:
    1:1:void <init>():63:63 -> <init>
    1:1:java.lang.String getDescriptor():66:66 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$8 -> com.android.tools.r8.references.h:
    1:1:void <init>():71:71 -> <init>
    1:1:java.lang.String getDescriptor():74:74 -> getDescriptor
com.android.tools.r8.references.Reference -> com.android.tools.r8.references.Reference:
    1:8:void <clinit>():29:36 -> <clinit>
    1:1:com.android.tools.r8.references.ArrayReference array(com.android.tools.r8.references.TypeReference,int):109:109 -> array
    1:1:com.android.tools.r8.references.ArrayReference arrayFromDescriptor(java.lang.String):104:104 -> arrayFromDescriptor
    1:1:com.android.tools.r8.references.MethodReference classConstructor(com.android.tools.r8.references.ClassReference):183:183 -> classConstructor
    1:1:com.android.tools.r8.references.ClassReference classFromBinaryName(java.lang.String):85:85 -> classFromBinaryName
    1:1:com.android.tools.r8.references.ClassReference classFromClass(java.lang.Class):99:99 -> classFromClass
    1:1:com.android.tools.r8.references.ClassReference classFromDescriptor(java.lang.String):76:76 -> classFromDescriptor
    1:1:com.android.tools.r8.references.ClassReference classFromTypeName(java.lang.String):94:94 -> classFromTypeName
    1:1:com.android.tools.r8.references.FieldReference field(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.references.TypeReference):189:189 -> field
    1:4:com.android.tools.r8.references.FieldReference fieldFromField(java.lang.reflect.Field):194:197 -> fieldFromField
    5:5:com.android.tools.r8.references.TypeReference typeFromClass(java.lang.Class):67:67 -> fieldFromField
    5:5:com.android.tools.r8.references.FieldReference fieldFromField(java.lang.reflect.Field):197 -> fieldFromField
    6:6:com.android.tools.r8.references.FieldReference fieldFromField(java.lang.reflect.Field):197:197 -> fieldFromField
    1:2:com.android.tools.r8.references.MethodReference method(com.android.tools.r8.references.ClassReference,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):118:119 -> method
    1:11:com.android.tools.r8.references.MethodReference methodFromDescriptor(java.lang.String,java.lang.String,java.lang.String):153:163 -> methodFromDescriptor
    12:12:com.android.tools.r8.references.MethodReference methodFromDescriptor(java.lang.String,java.lang.String,java.lang.String):159:159 -> methodFromDescriptor
    13:23:com.android.tools.r8.references.MethodReference methodFromDescriptor(com.android.tools.r8.references.ClassReference,java.lang.String,java.lang.String):169:179 -> methodFromDescriptor
    24:24:com.android.tools.r8.references.MethodReference methodFromDescriptor(com.android.tools.r8.references.ClassReference,java.lang.String,java.lang.String):175:175 -> methodFromDescriptor
    1:6:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):124:129 -> methodFromMethod
    7:7:com.android.tools.r8.references.TypeReference typeFromClass(java.lang.Class):67:67 -> methodFromMethod
    7:7:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):130 -> methodFromMethod
    8:14:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):130:136 -> methodFromMethod
    15:15:com.android.tools.r8.references.TypeReference typeFromClass(java.lang.Class):67:67 -> methodFromMethod
    15:15:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):136 -> methodFromMethod
    16:16:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):132:132 -> methodFromMethod
    17:20:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Constructor):141:144 -> methodFromMethod
    21:21:com.android.tools.r8.references.TypeReference typeFromClass(java.lang.Class):67:67 -> methodFromMethod
    21:21:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Constructor):145 -> methodFromMethod
    22:24:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Constructor):145:147 -> methodFromMethod
    1:1:com.android.tools.r8.references.PackageReference packageFromPackage(java.lang.Package):208:208 -> packageFromPackage
    1:1:com.android.tools.r8.references.PackageReference packageFromString(java.lang.String):203:203 -> packageFromString
    1:20:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):81:100 -> primitiveFromDescriptor
    1:20:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    21:21:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):0:0 -> primitiveFromDescriptor
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47,"4":48,"5":49}}
    45:45:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    45:45:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    46:46:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    46:46:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    47:47:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    47:47:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    48:48:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    48:48:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    49:49:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    49:49:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    22:22:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    22:22:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    23:35:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):84:96 -> primitiveFromDescriptor
    23:35:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    36:42:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):92:98 -> primitiveFromDescriptor
    36:42:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    43:43:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):88:88 -> primitiveFromDescriptor
    43:43:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    44:44:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):86:86 -> primitiveFromDescriptor
    44:44:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    1:1:com.android.tools.r8.references.TypeReference returnTypeFromDescriptor(java.lang.String):43:43 -> returnTypeFromDescriptor
    1:1:com.android.tools.r8.references.TypeReference returnTypeFromTypeName(java.lang.String):47:47 -> returnTypeFromTypeName
    1:7:com.android.tools.r8.references.TypeReference typeFromDescriptor(java.lang.String):51:57 -> typeFromDescriptor
    8:8:com.android.tools.r8.references.TypeReference typeFromDescriptor(java.lang.String):55:55 -> typeFromDescriptor
    9:9:com.android.tools.r8.references.TypeReference typeFromDescriptor(java.lang.String):53:53 -> typeFromDescriptor
    1:1:com.android.tools.r8.references.TypeReference typeFromTypeName(java.lang.String):62:62 -> typeFromTypeName
com.android.tools.r8.references.TypeReference -> com.android.tools.r8.references.TypeReference:
    1:1:java.lang.String getTypeName():64:64 -> getTypeName
com.android.tools.r8.relocator.Relocator -> com.android.tools.r8.relocator.Relocator:
    1:3:void lambda$run$0(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):49:51 -> a
    1:1:void lambda$run$1(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):69:69 -> b
    1:11:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):79:89 -> c
    12:12:void com.android.tools.r8.naming.signature.GenericSignatureRewriter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):31:31 -> c
    12:12:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):89 -> c
    13:25:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):89:101 -> c
    26:26:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> c
    26:26:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):96 -> c
    27:32:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):96:101 -> c
    1:5:void run(com.android.tools.r8.relocator.RelocatorCommand):42:46 -> run
    6:6:void run(com.android.tools.r8.relocator.RelocatorCommand):45:45 -> run
    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
    com.android.tools.r8.graph.DexItemFactory factory -> d
    java.util.Set OPTIONS_WITH_PARAMETER -> i
    java.lang.String USAGE_MESSAGE -> j
    int threadCount -> h
    boolean $assertionsDisabled -> k
    boolean printHelp -> a
    boolean printVersion -> b
    com.android.tools.r8.utils.AndroidApp app -> f
    com.android.tools.r8.utils.Reporter reporter -> c
    1:13:void <clinit>():44:56 -> <clinit>
    14:14:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> <clinit>
    14:14:void <clinit>():55 -> <clinit>
    15:15:void <clinit>():53:53 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ClassFileConsumer,int,com.android.tools.r8.relocator.RelocatorCommand$1):45:45 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.relocator.RelocatorCommand$1):45:45 -> <init>
    3:11:void <init>(boolean,boolean):76:84 -> <init>
    12:20:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ClassFileConsumer,int):93:101 -> <init>
    1:1:java.util.Set access$000():45:45 -> a
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder builder():105:105 -> builder
    2:2:void com.android.tools.r8.relocator.RelocatorCommand$Builder.<init>():183:183 -> builder
    2:2:com.android.tools.r8.relocator.RelocatorCommand$Builder builder():105 -> builder
    3:3:com.android.tools.r8.relocator.RelocatorCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):113:113 -> builder
    4:4:void com.android.tools.r8.relocator.RelocatorCommand$Builder.<init>(com.android.tools.r8.DiagnosticsHandler):187:187 -> builder
    4:4:com.android.tools.r8.relocator.RelocatorCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):113 -> builder
    1:1:com.android.tools.r8.utils.AndroidApp getApp():133:133 -> getApp
    1:1:com.android.tools.r8.ClassFileConsumer getConsumer():125:125 -> getConsumer
    1:1:com.android.tools.r8.graph.DexItemFactory getFactory():121:121 -> getFactory
    1:10:com.android.tools.r8.utils.InternalOptions getInternalOptions():146:155 -> getInternalOptions
    11:11:com.android.tools.r8.shaking.ProguardPathList$Builder com.android.tools.r8.shaking.ProguardPathList$Builder.addFileName(java.lang.String):30:30 -> getInternalOptions
    11:11:com.android.tools.r8.utils.InternalOptions getInternalOptions():155 -> getInternalOptions
    12:19:com.android.tools.r8.utils.InternalOptions getInternalOptions():155:162 -> getInternalOptions
    1:1:java.util.Map getMapping():167:167 -> getMapping
    1:1:com.android.tools.r8.utils.Reporter getReporter():117:117 -> getReporter
    1:1:int getThreadCount():129:129 -> getThreadCount
    1:1:boolean isPrintHelp():137:137 -> isPrintHelp
    1:1:boolean isPrintVersion():141:141 -> isPrintVersion
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):109:109 -> parse
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
    int threadCount -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.Reporter reporter -> b
    1:1:void <clinit>():170:170 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):190:190 -> <init>
    2:18:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):176:192 -> <init>
    1:5:void lambda$addProgramFiles$0(java.util.Collection):247:251 -> a
    6:6:void error(com.android.tools.r8.origin.Origin,java.lang.Throwable):319:319 -> a
    6:6:void lambda$addProgramFiles$0(java.util.Collection):251 -> a
    7:9:void lambda$addProgramFile$1(java.nio.file.Path):263:265 -> a
    10:10:void error(com.android.tools.r8.origin.Origin,java.lang.Throwable):319:319 -> a
    10:10:void lambda$addProgramFile$1(java.nio.file.Path):265 -> a
    11:15:void lambda$build$2(com.android.tools.r8.utils.Box):302:306 -> a
    16:17:void validate():292:293 -> a
    16:17:void lambda$build$2(com.android.tools.r8.utils.Box):307 -> a
    18:22:void lambda$build$2(com.android.tools.r8.utils.Box):308:312 -> a
    23:23:void lambda$build$2(com.android.tools.r8.utils.Box):310:310 -> a
    24:24:void lambda$build$2(com.android.tools.r8.utils.Box):303:303 -> a
    25:34:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):361:370 -> a
    35:35:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2122,"2":2123,"3":2124}}
    2122:2122:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    2123:2123:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    2124:2124:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    405:405:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    406:406:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2125,"2":2126,"3":2127}}
    2125:2125:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    2126:2126:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    2127:2127:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    776:824:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:418 -> a
    825:825:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2175,"2":2176,"3":2177,"4":2178,"5":2179}}
    2175:2175:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    2176:2176:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    2177:2177:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    2178:2178:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    2179:2179:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    1243:1243:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    1244:1249:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):383:388 -> a
    1250:1250:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2180,"2":2181,"3":2182}}
    2180:2180:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):388:388 -> a
    2181:2181:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):388:388 -> a
    2182:2182:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):388:388 -> a
    1640:1640:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):390:390 -> a
    1641:1647:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):388:394 -> a
    1648:1676:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):380:408 -> a
    1677:1677:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2202,"2":2203,"3":2204,"4":2205,"5":2206,"6":2207}}
    2202:2202:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2203:2203:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2204:2204:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2205:2205:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2206:2206:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2207:2207:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2085:2092:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:415 -> a
    2093:2093:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):413:413 -> a
    2094:2121:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):397:424 -> a
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder addPackageMapping(com.android.tools.r8.references.PackageReference,com.android.tools.r8.references.PackageReference):272:272 -> addPackageMapping
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFile(java.nio.file.Path):260:260 -> addProgramFile
    2:4:void guard(java.lang.Runnable):325:327 -> addProgramFile
    2:4:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFile(java.nio.file.Path):260 -> addProgramFile
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFiles(java.nio.file.Path[]):240:240 -> addProgramFiles
    2:2:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFiles(java.util.Collection):245:245 -> addProgramFiles
    3:5:void guard(java.lang.Runnable):325:327 -> addProgramFiles
    3:5:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFiles(java.util.Collection):245 -> addProgramFiles
    1:17:com.android.tools.r8.relocator.RelocatorCommand build():298:314 -> build
    1:1:void error(com.android.tools.r8.Diagnostic):225:225 -> error
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):343:343 -> parse
    2:2:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):357:357 -> parse
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder setConsumer(com.android.tools.r8.ClassFileConsumer):287:287 -> setConsumer
    1:4:com.android.tools.r8.relocator.RelocatorCommand$Builder setOutputPath(java.nio.file.Path):206:209 -> setOutputPath
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder setPrintHelp(boolean):214:214 -> setPrintHelp
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder setPrintVersion(boolean):219:219 -> setPrintVersion
    1:3:com.android.tools.r8.relocator.RelocatorCommand$Builder setThreadCount(int):231:233 -> setThreadCount
com.android.tools.r8.relocator.RelocatorCommandLine -> com.android.tools.r8.relocator.a:
    1:8:void run(java.lang.String[]):31:38 -> a
    9:9:void run(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":51,"2":52,"3":53}}
    51:51:void run(java.lang.String[]):38:38 -> a
    52:52:void run(java.lang.String[]):38:38 -> a
    53:53:void run(java.lang.String[]):38:38 -> a
    47:50:void run(java.lang.String[]):38:41 -> a
com.android.tools.r8.relocator.RelocatorDiagnostic -> com.android.tools.r8.relocator.b:
    java.lang.String message -> b
    1:2:void <init>(java.lang.String):16:17 -> <init>
    1:1:java.lang.String getDiagnosticMessage():32:32 -> getDiagnosticMessage
    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.d:
    java.util.Map typeMappings -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):30:30 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):28:31 -> <init>
    1:57:com.android.tools.r8.naming.NamingLens compute(java.util.Map):37:93 -> a
    58:64:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):66:72 -> a
    65:65:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    65:65:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):78 -> a
    66:67:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):82:83 -> a
    68:68:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):36:36 -> a
    68:68:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    69:69:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":81,"2":82,"3":83}}
    81:81:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):36:36 -> a
    81:81:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    82:82:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):36:36 -> a
    82:82:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    83:83:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):36:36 -> a
    83:83:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    70:70:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":84,"2":85,"3":86,"4":87}}
    84:84:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    84:84:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    85:85:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    85:85:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    86:86:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    86:86:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    87:87:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    87:87:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    71:71:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    71:71:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    72:77:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83:88 -> a
    78:80:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):87:89 -> a
com.android.tools.r8.relocator.SimplePackagesRewritingMapper$RelocatorNamingLens -> com.android.tools.r8.relocator.c:
    java.util.Map typeMappings -> d
    java.util.Map packageMappings -> e
    1:1:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.relocator.SimplePackagesRewritingMapper$1):96:96 -> <init>
    2:4:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory):105:107 -> <init>
    1:1:java.lang.String lookupPackageName(java.lang.String):112:112 -> a
    2:2:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):117:117 -> a
    3:3:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):122:122 -> a
    4:4:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):127:127 -> a
    5:5:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):132:132 -> a
    boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod) -> b
com.android.tools.r8.repackaging.Repackaging -> com.android.tools.r8.internal.lS:
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.repackaging.Repackaging$RepackagingConfiguration repackagingConfiguration -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():60:60 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView):66:70 -> <init>
    1:3:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):76:78 -> a
    4:40:boolean verifyIdentityRepackaging(com.android.tools.r8.graph.AppView):86:122 -> a
    41:41:void com.android.tools.r8.graph.AppView.rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication):734:734 -> a
    41:41:boolean verifyIdentityRepackaging(com.android.tools.r8.graph.AppView):123 -> a
    42:42:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):130:130 -> a
    43:43:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isNone():1239:1239 -> a
    43:43:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):130 -> a
    44:48:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):134:138 -> a
    49:63:void com.android.tools.r8.repackaging.Repackaging.processPackagesInDesiredLocation(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set):202:216 -> a
    49:63:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):139 -> a
    64:66:void com.android.tools.r8.repackaging.Repackaging.processRemainingPackages(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set,java.util.concurrent.ExecutorService):231:233 -> a
    64:66:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):140 -> a
    67:73:java.util.Collection com.android.tools.r8.repackaging.Repackaging.computeClassesToRepackage(com.android.tools.r8.graph.ProgramPackage,java.util.concurrent.ExecutorService):306:312 -> a
    67:73:void com.android.tools.r8.repackaging.Repackaging.processRemainingPackages(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set,java.util.concurrent.ExecutorService):235 -> a
    67:73:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):140 -> a
    74:100:void com.android.tools.r8.repackaging.Repackaging.processRemainingPackages(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set,java.util.concurrent.ExecutorService):236:262 -> a
    74:100:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):140 -> a
    101:101:void com.android.tools.r8.repackaging.Repackaging.processRemainingPackages(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set,java.util.concurrent.ExecutorService):258:258 -> a
    101:101:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):140 -> a
    102:113:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):142:153 -> a
    114:115:com.android.tools.r8.repackaging.RepackagingLens com.android.tools.r8.repackaging.RepackagingLens$Builder.build(com.android.tools.r8.graph.AppView,java.util.Map):105:106 -> a
    114:115:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):153 -> a
    116:116:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):154:154 -> a
    117:117:boolean lambda$run$0(java.util.Map$Entry):142:142 -> a
    118:146:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramPackage,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):272:300 -> a
    147:147:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramPackage,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):298:298 -> a
com.android.tools.r8.repackaging.Repackaging$1 -> com.android.tools.r8.internal.gS:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():87:87 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):87:87 -> <init>
    1:1:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):95:95 -> a
    2:2:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):100:100 -> a
    3:3:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):105:105 -> a
    com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType) -> b
com.android.tools.r8.repackaging.Repackaging$2 -> com.android.tools.r8.internal.hS:
    1:1:void <init>(com.android.tools.r8.graph.AppView):109:109 -> <init>
    boolean isLegitimateToHaveEmptyMappings() -> n
com.android.tools.r8.repackaging.Repackaging$DefaultRepackagingConfiguration -> com.android.tools.r8.internal.iS:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.Minifier$MinificationPackageNamingStrategy packageMinificationStrategy -> e
    com.android.tools.r8.utils.InternalOptions options -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> d
    1:1:void <clinit>():328:328 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView):336:341 -> <init>
    1:5:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):346:350 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isRepackageClasses():1247:1247 -> a
    6:6:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):350 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isMinification():1251:1251 -> a
    7:7:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):352 -> a
    8:14:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):354:360 -> a
    15:20:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):357:362 -> a
    21:21:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isFlattenPackageHierarchy():1243:1243 -> a
    21:21:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):362 -> a
    22:27:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):362:367 -> a
    28:32:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):373:377 -> a
    33:33:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isRepackageClasses():1247:1247 -> a
    33:33:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):377 -> a
    34:34:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):378:378 -> a
    35:35:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isMinification():1251:1251 -> a
    35:35:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):379 -> a
    36:40:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):381:385 -> a
    41:41:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isFlattenPackageHierarchy():1243:1243 -> a
    41:41:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):385 -> a
    42:42:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):385:385 -> a
    43:54:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):423:434 -> a
    55:55:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":500,"2":501,"3":502}}
    500:500:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):434:434 -> a
    501:501:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):434:434 -> a
    502:502:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):434:434 -> a
    491:493:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):436:438 -> a
    494:498:boolean com.android.tools.r8.repackaging.Repackaging$DefaultRepackagingConfiguration.isRepackageTypeUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.BiMap):451:455 -> a
    494:498:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):444 -> a
    499:499:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):445:445 -> a
    1:13:boolean mayHavePinnedPackagePrivateOrProtectedItem(com.android.tools.r8.graph.ProgramPackage):396:408 -> b
com.android.tools.r8.repackaging.Repackaging$RepackagingConfiguration -> com.android.tools.r8.internal.jS:
com.android.tools.r8.repackaging.Repackaging$RepackagingTreeFixer -> com.android.tools.r8.internal.kS:
    com.android.tools.r8.repackaging.RepackagingLens$Builder lensBuilder -> g
    com.android.tools.r8.com.google.common.collect.BiMap mappings -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():158:158 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.repackaging.RepackagingLens$Builder):167:171 -> <init>
    1:1:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):181:181 -> a
    2:2:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):92:92 -> a
    2:2:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):92:92 -> a
    3:3:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):181 -> a
    4:4:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):186:186 -> a
    5:5:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):96:96 -> a
    5:5:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):186 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):96:96 -> a
    6:6:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):186 -> a
    7:7:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):191:191 -> a
    8:8:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):100:100 -> a
    8:8:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):191 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):100:100 -> a
    9:9:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):191 -> a
    1:1:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):176:176 -> b
com.android.tools.r8.repackaging.RepackagingAnnotationTracer -> com.android.tools.r8.internal.mS:
    com.android.tools.r8.repackaging.RepackagingUseRegistry registry -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.repackaging.RepackagingUseRegistry):24:26 -> <init>
    1:1:void trace(com.android.tools.r8.graph.DexAnnotationSet):30:30 -> a
    2:2:void trace(com.android.tools.r8.graph.ParameterAnnotationsList):34:34 -> a
    3:3:void traceAnnotation(com.android.tools.r8.graph.DexAnnotation):38:38 -> a
    4:5:void traceEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):42:43 -> a
    6:6:void traceAnnotationElement(com.android.tools.r8.graph.DexAnnotationElement):47:47 -> a
    7:61:void traceDexValue(com.android.tools.r8.graph.DexValue):51:105 -> a
    62:62:void traceDexValue(com.android.tools.r8.graph.DexValue):65:65 -> a
    63:63:com.android.tools.r8.graph.DexEncodedAnnotation com.android.tools.r8.graph.DexValue$DexValueAnnotation.getValue():1703:1703 -> a
    63:63:void traceDexValue(com.android.tools.r8.graph.DexValue):65 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:80:void traceDexValue(com.android.tools.r8.graph.DexValue):65:81 -> a
    81:105:void traceDexValue(com.android.tools.r8.graph.DexValue):77:101 -> a
    106:106:void traceDexValue(com.android.tools.r8.graph.DexValue):86:86 -> a
    107:107:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    107:107:void traceDexValue(com.android.tools.r8.graph.DexValue):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    108:108:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    108:108:void traceDexValue(com.android.tools.r8.graph.DexValue):87 -> a
    109:111:void traceDexValue(com.android.tools.r8.graph.DexValue):88:90 -> a
    112:112:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    112:112:void traceDexValue(com.android.tools.r8.graph.DexValue):90 -> a
    113:120:void traceDexValue(com.android.tools.r8.graph.DexValue):90:97 -> a
com.android.tools.r8.repackaging.RepackagingConstraintGraph -> com.android.tools.r8.internal.oS:
    com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node libraryBoundaryNode -> e
    com.android.tools.r8.graph.ProgramPackage pkg -> b
    java.util.Map nodes -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set pinnedNodes -> d
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramPackage):47:47 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramPackage):43:51 -> <init>
    1:2:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node createNode(com.android.tools.r8.graph.DexDefinition):76:77 -> a
    3:8:void populateConstraints(java.util.concurrent.ExecutorService):94:99 -> a
    9:9:void com.android.tools.r8.graph.ProgramPackage.forEachClass(java.util.function.Consumer):56:56 -> a
    9:9:void populateConstraints(java.util.concurrent.ExecutorService):99 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:void populateConstraints(java.util.concurrent.ExecutorService):100:100 -> a
    11:41:void registerReferencesFromClass(com.android.tools.r8.graph.DexProgramClass):104:134 -> a
    42:42:void lambda$registerReferencesFromClass$0(com.android.tools.r8.repackaging.RepackagingUseRegistry,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute):129:129 -> a
    43:50:void registerReferencesFromField(com.android.tools.r8.graph.ProgramField):138:145 -> a
    51:63:void registerReferencesFromMethod(com.android.tools.r8.graph.ProgramMethod):149:161 -> a
    64:76:void registerReferencesFromMethod(com.android.tools.r8.graph.ProgramMethod):160:172 -> a
    77:90:java.util.Collection computeClassesToRepackage():177:190 -> a
    1:9:boolean initializeGraph():60:68 -> b
    10:10:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):82:82 -> b
    11:11:boolean com.android.tools.r8.graph.DexDefinition.isNotProgramDefinition(com.android.tools.r8.graph.AppView):141:141 -> b
    11:11:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):82 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:15:boolean com.android.tools.r8.graph.DexDefinition.isNotProgramDefinition(com.android.tools.r8.graph.AppView):142:145 -> b
    12:15:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):82 -> b
    16:22:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):83:89 -> b
com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node -> com.android.tools.r8.internal.nS:
    com.android.tools.r8.graph.DexDefinition definitionForDebugging -> a
    java.util.Set neighbors -> b
    1:1:void <init>(com.android.tools.r8.graph.DexDefinition):201:201 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexDefinition):199:202 -> <init>
    1:2:void addNeighbor(com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node):206:207 -> a
    3:3:java.util.Set getNeighbors():211:211 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":218,"2":219,"3":220}}
    218:218:java.lang.String toString():216:216 -> toString
    219:219:java.lang.String toString():216:216 -> toString
    220:220:java.lang.String toString():216:216 -> toString
    217:217:java.lang.String toString():216:216 -> toString
com.android.tools.r8.repackaging.RepackagingLens -> com.android.tools.r8.internal.qS:
    com.android.tools.r8.com.google.common.collect.BiMap newTypes -> n
    boolean $assertionsDisabled -> p
    java.util.Map packageRenamings -> o
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.repackaging.RepackagingLens$1):23:23 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map):34:36 -> <init>
    1:1:java.lang.String lookupPackageName(java.lang.String):41:41 -> a
    2:3:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):46:47 -> a
    4:12:boolean isSimpleRenaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):53:61 -> a
    13:13:boolean isSimpleTypeRenamingOrEqual(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):70:70 -> a
    14:20:boolean isSimpleTypeRenamingOrEqual(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember):74:80 -> a
    21:21:boolean isSimpleTypeRenamingOrEqual(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember):77:77 -> a
com.android.tools.r8.repackaging.RepackagingLens$Builder -> com.android.tools.r8.internal.pS:
    com.android.tools.r8.com.google.common.collect.BiMap newTypes -> a
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newFieldSignatures -> b
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():83:83 -> <clinit>
    1:6:void <init>():83:88 -> <init>
com.android.tools.r8.repackaging.RepackagingUseRegistry -> com.android.tools.r8.internal.rS:
    com.android.tools.r8.graph.InitClassLens initClassLens -> h
    boolean $assertionsDisabled -> k
    com.android.tools.r8.repackaging.RepackagingConstraintGraph constraintGraph -> g
    com.android.tools.r8.utils.InternalOptions options -> f
    com.android.tools.r8.shaking.AppInfoWithLiveness appInfo -> e
    com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node node -> i
    com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node missingTypeNode -> j
    1:1:void <clinit>():35:35 -> <clinit>
    1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.repackaging.RepackagingConstraintGraph,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node):49:55 -> <init>
    1:6:boolean isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.DexClass):59:64 -> a
    7:7:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult):111:111 -> a
    8:21:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):116:129 -> a
    22:22:boolean com.android.tools.r8.graph.MethodResolutionResult.isClassNotFoundResult():0:0 -> a
    22:22:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):129 -> a
    23:23:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    23:23:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):130 -> a
    24:42:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):131:149 -> a
    43:49:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):72:78 -> a
    43:49:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    50:56:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):77:83 -> a
    50:56:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    57:57:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    57:57:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):84 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    57:57:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    58:58:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    58:58:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):84 -> a
    58:58:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    59:62:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):84:87 -> a
    59:62:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    63:63:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):85:85 -> a
    63:63:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    64:64:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):152:152 -> a
    65:75:void registerTypeAccess(com.android.tools.r8.graph.DexType,java.util.function.Consumer):162:172 -> a
    76:78:void registerClassTypeAccess(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):184:186 -> a
    79:79:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):202:202 -> a
    80:80:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> a
    80:80:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):202 -> a
    81:81:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):222:222 -> a
    82:84:void registerEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):262:264 -> a
    85:92:void registerEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):263:270 -> a
    93:93:void registerInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute):280:280 -> a
    94:94:void registerNestHostAttribute(com.android.tools.r8.graph.NestHostClassAttribute):290:290 -> a
    95:95:void registerNestHostAttribute(com.android.tools.r8.graph.NestHostClassAttribute):289:289 -> a
    96:96:void registerNestMemberClassAttributes(java.util.List):300:300 -> a
    97:97:void lambda$registerNestMemberClassAttributes$5(com.android.tools.r8.graph.NestMemberClassAttribute):303:303 -> a
    98:98:void lambda$registerNestMemberClassAttributes$5(com.android.tools.r8.graph.NestMemberClassAttribute):302:302 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):192:192 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):212:212 -> b
    3:3:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> b
    3:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):212 -> b
    4:4:void lambda$registerEnclosingMethodAttribute$0(com.android.tools.r8.graph.DexClass):265:265 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):227:227 -> c
    2:2:void registerInstanceOf(com.android.tools.r8.graph.DexType):252:252 -> c
    3:3:void lambda$registerInnerClassAttribute$1(com.android.tools.r8.graph.DexClass):281:281 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):207:207 -> d
    2:2:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> d
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):207 -> d
    3:3:void registerNewInstance(com.android.tools.r8.graph.DexType):232:232 -> d
    4:4:void lambda$registerNestHostAttribute$3(com.android.tools.r8.graph.DexClass):291:291 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):237:237 -> e
    2:2:void lambda$registerNestMemberClassAttributes$4(com.android.tools.r8.graph.DexClass):303:303 -> e
    1:1:void registerClassTypeAccess(com.android.tools.r8.graph.DexClass):177:177 -> f
    2:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):217:217 -> f
    3:3:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):217 -> f
    4:4:void registerTypeReference(com.android.tools.r8.graph.DexType):247:247 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):197:197 -> g
    2:2:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> g
    2:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):197 -> g
    3:3:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):242:242 -> g
    4:4:void lambda$registerInnerClassAttribute$2(com.android.tools.r8.graph.DexType):281:281 -> g
    1:4:com.android.tools.r8.graph.ProgramMethod registerMethodReference(com.android.tools.r8.graph.DexMethod):99:102 -> h
    5:5:void registerTypeAccess(com.android.tools.r8.graph.DexType):158:158 -> h
    1:1:void registerFieldAccess(com.android.tools.r8.graph.DexField):95:95 -> i
com.android.tools.r8.retrace.InvalidMappingFileException -> com.android.tools.r8.retrace.InvalidMappingFileException:
    1:1:void <init>(java.lang.Throwable):13:13 -> <init>
    1:1:java.lang.String getMessage():18:18 -> getMessage
com.android.tools.r8.retrace.ProguardMapProducer -> com.android.tools.r8.retrace.ProguardMapProducer:
    1:1:java.io.Reader lambda$fromString$0(java.lang.String):22:22 -> a
    2:2:java.io.Reader lambda$fromPath$1(java.nio.file.Path):26:26 -> a
    1:1:com.android.tools.r8.retrace.ProguardMapProducer fromPath(java.nio.file.Path):26:26 -> fromPath
    1:1:com.android.tools.r8.retrace.ProguardMapProducer fromString(java.lang.String):22:22 -> fromString
com.android.tools.r8.retrace.Retrace -> com.android.tools.r8.retrace.Retrace:
    com.android.tools.r8.retrace.StackTraceElementProxyRetracer proxyRetracer -> b
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> c
    com.android.tools.r8.retrace.StackTraceLineParser stackTraceLineParser -> a
    boolean $assertionsDisabled -> e
    boolean isVerbose -> d
    1:5:void <clinit>():59:63 -> <clinit>
    1:5:void <init>(com.android.tools.r8.retrace.StackTraceLineParser,com.android.tools.r8.retrace.StackTraceElementProxyRetracer,com.android.tools.r8.DiagnosticsHandler,boolean):165:169 -> <init>
    1:42:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):69:110 -> a
    1:42:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    43:49:com.android.tools.r8.retrace.ProguardMapProducer getMappingSupplier(java.lang.String,com.android.tools.r8.DiagnosticsHandler):137:143 -> a
    43:49:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):110 -> a
    43:49:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    50:51:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):110:111 -> a
    50:51:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    52:54:com.android.tools.r8.retrace.ProguardMapProducer getMappingSupplier(java.lang.String,com.android.tools.r8.DiagnosticsHandler):139:139 -> a
    52:54:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):110 -> a
    52:54:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    56:56:com.android.tools.r8.retrace.ProguardMapProducer getMappingSupplier(java.lang.String,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    56:56:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):110 -> a
    56:56:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    57:57:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):114:114 -> a
    57:57:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    58:58:java.util.List getStackTraceFromFile(java.lang.String,com.android.tools.r8.DiagnosticsHandler):149:149 -> a
    58:58:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):114 -> a
    58:58:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    59:60:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):114:115 -> a
    59:60:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    61:62:java.util.List getStackTraceFromFile(java.lang.String,com.android.tools.r8.DiagnosticsHandler):151:152 -> a
    61:62:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):114 -> a
    61:62:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    63:66:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):118:118 -> a
    63:66:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    69:70:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):121:122 -> a
    69:70:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    71:76:java.util.List getStackTraceFromStandardInput(boolean):418:423 -> a
    71:76:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):130 -> a
    71:76:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    77:77:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):130:130 -> a
    77:77:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    78:79:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):385:386 -> a
    80:80:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":878,"2":879,"3":880}}
    878:878:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):386:386 -> a
    879:879:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):386:386 -> a
    880:880:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):386:386 -> a
    466:470:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):386:390 -> a
    471:471:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":884,"2":885,"3":886}}
    884:884:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):390:390 -> a
    885:885:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):390:390 -> a
    886:886:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):390:390 -> a
    861:875:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):390:404 -> a
    876:877:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):126:127 -> a
    876:877:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    887:889:void lambda$retraceStackTrace$0(java.lang.Object,int):183:183 -> a
    891:891:void lambda$retraceStackTrace$0(java.lang.Object,int):185:185 -> a
    892:921:com.android.tools.r8.retrace.RetraceStackTraceContext lambda$retraceStackTrace$2(com.android.tools.r8.retrace.Retrace$RetraceStackTraceElementProxyEquivalence,java.util.List,com.android.tools.r8.retrace.RetraceStackTraceContext,java.lang.Object):195:224 -> a
    922:932:void lambda$retraceStackTrace$1(java.util.Set,com.android.tools.r8.retrace.Retrace$RetraceStackTraceElementProxyEquivalence,com.android.tools.r8.utils.Box,java.util.List,java.util.List,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):206:216 -> a
    933:939:void lambda$retraceFrame$3(java.util.List,java.util.Map,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):242:248 -> a
    940:940:void lambda$retraceFrame$4(java.util.List,java.util.Map,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):252:252 -> a
    941:942:java.lang.Object lambda$retraceLine$5(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):268:269 -> a
    943:960:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):287:304 -> a
    961:961:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):306:306 -> a
    961:961:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):306 -> a
    962:965:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):295:298 -> a
    966:966:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):290:290 -> a
    967:967:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):306:306 -> a
    967:967:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):306 -> a
    968:982:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):306:320 -> a
    983:1013:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):318:348 -> a
    1014:1014:void lambda$runForTesting$6(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):326:326 -> a
    1015:1015:boolean com.android.tools.r8.naming.MapVersion.isUnknown():37:37 -> a
    1015:1015:void lambda$runForTesting$6(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):326 -> a
    1016:1016:void lambda$runForTesting$6(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):328:328 -> a
    1017:1017:void lambda$runForTesting$6(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):327:327 -> a
    1018:1020:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):396:398 -> a
    1021:1021:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):306:306 -> a
    1021:1021:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):400 -> a
    1022:1022:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):396:396 -> a
    1023:1023:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):306:306 -> a
    1023:1023:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):400 -> a
    1024:1025:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):400:401 -> a
    1026:1026:void lambda$main$8(java.lang.String[]):413:413 -> a
    1:1:void main(java.lang.String[]):413:413 -> main
    2:7:void withMainProgramHandler(com.android.tools.r8.retrace.Retrace$MainAction):434:439 -> main
    2:7:void main(java.lang.String[]):413 -> main
    8:8:void withMainProgramHandler(com.android.tools.r8.retrace.Retrace$MainAction):437:437 -> main
    8:8:void main(java.lang.String[]):413 -> main
    1:17:java.util.List retraceFrame(java.lang.Object):236:252 -> retraceFrame
    1:8:java.util.List retraceLine(java.lang.Object):264:271 -> retraceLine
    1:15:java.util.List retraceStackTrace(java.util.List):179:193 -> retraceStackTrace
    16:16:java.util.List retraceStackTrace(java.util.List):191:191 -> retraceStackTrace
    1:2:void run(com.android.tools.r8.retrace.RetraceCommand):281:282 -> run
    3:11:void run(java.lang.String[]):354:362 -> run
    12:12:void run(java.lang.String[]):0:0 -> run
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":398,"2":399,"3":400,"4":401,"5":402}}
    398:398:void run(java.lang.String[]):363:363 -> run
    399:399:void run(java.lang.String[]):363:363 -> run
    400:400:void run(java.lang.String[]):363:363 -> run
    401:401:void run(java.lang.String[]):363:363 -> run
    402:402:void run(java.lang.String[]):363:363 -> run
    375:379:void run(java.lang.String[]):363:367 -> run
    380:397:void run(java.lang.String[]):359:376 -> run
com.android.tools.r8.retrace.Retrace$1 -> com.android.tools.r8.retrace.a:
    1:1:void <init>():372:372 -> <init>
com.android.tools.r8.retrace.Retrace$MainAction -> com.android.tools.r8.retrace.b:
com.android.tools.r8.retrace.Retrace$RetraceDiagnosticsHandler -> com.android.tools.r8.retrace.c:
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> a
    boolean printInfo -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():443:443 -> <clinit>
    1:3:void <init>(com.android.tools.r8.DiagnosticsHandler,boolean):448:450 -> <init>
    1:1:void error(com.android.tools.r8.Diagnostic):456:456 -> error
    1:2:void info(com.android.tools.r8.Diagnostic):466:467 -> info
    1:1:void warning(com.android.tools.r8.Diagnostic):461:461 -> warning
com.android.tools.r8.retrace.Retrace$RetraceStackTraceElementProxyEquivalence -> com.android.tools.r8.retrace.d:
    boolean isVerbose -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():472:472 -> <clinit>
    1:2:void <init>(boolean):478:479 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):472:472 -> a
    2:2:int doHash(java.lang.Object):472:472 -> a
    3:80:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):488:565 -> a
    81:82:boolean compareRetracedTypeReference(com.android.tools.r8.retrace.RetracedTypeReference,com.android.tools.r8.retrace.RetracedTypeReference):591:592 -> a
    81:82:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):566 -> a
    83:94:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):570:581 -> a
    95:96:boolean compareRetracedTypeReference(com.android.tools.r8.retrace.RetracedTypeReference,com.android.tools.r8.retrace.RetracedTypeReference):591:592 -> a
    95:96:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):580 -> a
    97:97:java.lang.String lambda$doEquivalent$0(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):492:492 -> a
    98:100:boolean testNotEqualProperty(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy,java.util.function.Function,java.util.function.Function):605:607 -> a
com.android.tools.r8.retrace.RetraceCommand -> com.android.tools.r8.retrace.RetraceCommand:
    java.util.List stackTrace -> a
    com.android.tools.r8.retrace.RetraceOptions options -> c
    java.util.function.Consumer retracedStackTraceConsumer -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(java.util.List,java.util.function.Consumer,com.android.tools.r8.retrace.RetraceOptions,com.android.tools.r8.retrace.RetraceCommand$1):14:14 -> <init>
    2:8:void <init>(java.util.List,java.util.function.Consumer,com.android.tools.r8.retrace.RetraceOptions):24:30 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):59:59 -> builder
    2:2:com.android.tools.r8.retrace.RetraceCommand$Builder builder():64:64 -> builder
    1:1:com.android.tools.r8.retrace.RetraceOptions getOptions():50:50 -> getOptions
    1:1:java.util.function.Consumer getRetracedStackTraceConsumer():46:46 -> getRetracedStackTraceConsumer
    1:1:java.util.List getStackTrace():42:42 -> getStackTrace
    1:1:boolean printMemory():38:38 -> printMemory
    1:1:boolean printTimes():34:34 -> printTimes
com.android.tools.r8.retrace.RetraceCommand$1 -> com.android.tools.r8.retrace.e:
    1:1:void <init>():64:64 -> <init>
com.android.tools.r8.retrace.RetraceCommand$Builder -> com.android.tools.r8.retrace.RetraceCommand$Builder:
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> b
    com.android.tools.r8.retrace.ProguardMapProducer proguardMapProducer -> c
    java.util.List stackTrace -> e
    java.util.function.Consumer retracedStackTraceConsumer -> f
    boolean verifyMappingFileHash -> g
    boolean isVerbose -> a
    java.lang.String regularExpression -> d
    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.retrace.RetraceCommand$1):68:68 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):78:78 -> <init>
    3:9:void <init>(com.android.tools.r8.DiagnosticsHandler):73:79 -> <init>
    1:20:com.android.tools.r8.retrace.RetraceCommand build():138:157 -> build
    21:21:com.android.tools.r8.retrace.RetraceCommand build():148:148 -> build
    22:22:com.android.tools.r8.retrace.RetraceCommand build():142:142 -> build
    23:23:com.android.tools.r8.retrace.RetraceCommand build():139:139 -> build
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setProguardMapProducer(com.android.tools.r8.retrace.ProguardMapProducer):94:94 -> setProguardMapProducer
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setRegularExpression(java.lang.String):106:106 -> setRegularExpression
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setRetracedStackTraceConsumer(java.util.function.Consumer):133:133 -> setRetracedStackTraceConsumer
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setStackTrace(java.util.List):117:117 -> setStackTrace
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setVerbose(boolean):84:84 -> setVerbose
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setVerifyMappingFileHash(boolean):123:123 -> setVerifyMappingFileHash
com.android.tools.r8.retrace.RetraceFailedException -> com.android.tools.r8.retrace.RetraceFailedException:
    1:1:void <init>():17:17 -> <init>
    2:2:void <init>(java.lang.String,java.lang.Throwable):21:21 -> <init>
com.android.tools.r8.retrace.RetraceHelper -> com.android.tools.r8.retrace.f:
    1:1:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):10:10 -> a
com.android.tools.r8.retrace.RetraceInvalidRewriteFrameDiagnostics -> com.android.tools.r8.retrace.RetraceInvalidRewriteFrameDiagnostics:
    int numberOfFramesToRemove -> b
    java.lang.String method -> c
    1:3:void <init>(int,java.lang.String):18:20 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceInvalidRewriteFrameDiagnostics create(int,java.lang.String):44:44 -> create
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":38,"2":39,"3":40}}
    38:38:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    39:39:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    40:40:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    36:36:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    37:37:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":38,"2":39,"3":40}}
    38:38:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    39:39:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    40:40:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():25:25 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():30:30 -> getPosition
com.android.tools.r8.retrace.RetraceInvalidStackTraceLineDiagnostics -> com.android.tools.r8.retrace.RetraceInvalidStackTraceLineDiagnostics:
    int lineNumber -> b
    java.lang.String message -> c
    1:3:void <init>(int,java.lang.String):21:23 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceInvalidStackTraceLineDiagnostics createNull(int):42:42 -> createNull
    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.retrace.RetraceOptions -> com.android.tools.r8.retrace.RetraceOptions:
    com.android.tools.r8.retrace.ProguardMapProducer proguardMapProducer -> e
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> d
    boolean $assertionsDisabled -> f
    boolean isVerbose -> a
    java.lang.String regularExpression -> c
    boolean verifyMappingFileHash -> b
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.retrace.ProguardMapProducer,boolean,boolean,com.android.tools.r8.retrace.RetraceOptions$1):17:17 -> <init>
    2:10:void <init>(java.lang.String,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.retrace.ProguardMapProducer,boolean,boolean):30:38 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder builder():63:63 -> builder
    2:2:com.android.tools.r8.retrace.RetraceOptions$Builder builder(com.android.tools.r8.DiagnosticsHandler):68:68 -> builder
    1:1:java.lang.String defaultRegularExpression():72:72 -> defaultRegularExpression
    1:1:com.android.tools.r8.DiagnosticsHandler getDiagnosticsHandler():54:54 -> getDiagnosticsHandler
    1:1:com.android.tools.r8.retrace.ProguardMapProducer getProguardMapProducer():58:58 -> getProguardMapProducer
    1:1:java.lang.String getRegularExpression():50:50 -> getRegularExpression
    1:1:boolean isVerbose():42:42 -> isVerbose
    1:1:boolean isVerifyMappingFileHash():46:46 -> isVerifyMappingFileHash
com.android.tools.r8.retrace.RetraceOptions$1 -> com.android.tools.r8.retrace.g:
    1:1:void <init>():63:63 -> <init>
com.android.tools.r8.retrace.RetraceOptions$Builder -> com.android.tools.r8.retrace.RetraceOptions$Builder:
    com.android.tools.r8.retrace.ProguardMapProducer proguardMapProducer -> d
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> c
    boolean isVerbose -> a
    boolean verifyMappingFileHash -> b
    java.lang.String regularExpression -> e
    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler):84:84 -> <init>
    2:5:void <init>(com.android.tools.r8.DiagnosticsHandler):82:85 -> <init>
    1:10:com.android.tools.r8.retrace.RetraceOptions build():123:132 -> build
    11:11:com.android.tools.r8.retrace.RetraceOptions build():130:130 -> build
    12:12:com.android.tools.r8.retrace.RetraceOptions build():127:127 -> build
    13:13:com.android.tools.r8.retrace.RetraceOptions build():124:124 -> build
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder setProguardMapProducer(com.android.tools.r8.retrace.ProguardMapProducer):106:106 -> setProguardMapProducer
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder setRegularExpression(java.lang.String):118:118 -> setRegularExpression
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder setVerbose(boolean):90:90 -> setVerbose
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder setVerifyMappingFileHash(boolean):96:96 -> setVerifyMappingFileHash
com.android.tools.r8.retrace.RetraceResult -> com.android.tools.r8.retrace.RetraceResult:
    1:1:java.util.stream.Stream flatMap(java.util.function.Function):38:38 -> flatMap
    1:1:void forEach(java.util.function.Consumer):33:33 -> forEach
    1:1:boolean isAmbiguous():28:28 -> isAmbiguous
com.android.tools.r8.retrace.RetraceStackTraceContext -> com.android.tools.r8.retrace.RetraceStackTraceContext:
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.builder():69:69 -> empty
    1:1:com.android.tools.r8.retrace.RetraceStackTraceContext empty():14 -> empty
    2:2:com.android.tools.r8.retrace.RetraceStackTraceContext empty():14:14 -> empty
com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult -> com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult:
    1:1:void forEach(java.util.function.Consumer):19:19 -> forEach
com.android.tools.r8.retrace.RetraceUnknownMapVersionDiagnostic -> com.android.tools.r8.retrace.RetraceUnknownMapVersionDiagnostic:
    java.lang.String versionName -> b
    1:2:void <init>(java.lang.String):18:19 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceUnknownMapVersionDiagnostic create(java.lang.String):40:40 -> create
    1:4:java.lang.String getDiagnosticMessage():34:34 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():24:24 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():29:29 -> getPosition
com.android.tools.r8.retrace.Retracer -> com.android.tools.r8.retrace.Retracer:
    1:1:com.android.tools.r8.retrace.Retracer createDefault(com.android.tools.r8.retrace.ProguardMapProducer,com.android.tools.r8.DiagnosticsHandler):75:75 -> createDefault
    1:1:com.android.tools.r8.retrace.Retracer createExperimental(com.android.tools.r8.retrace.ProguardMapProducer,com.android.tools.r8.DiagnosticsHandler):80:80 -> createExperimental
com.android.tools.r8.retrace.StackTraceElementProxy -> com.android.tools.r8.retrace.StackTraceElementProxy:
    1:1:void <init>():11:11 -> <init>
com.android.tools.r8.retrace.StackTraceElementProxyRetracer -> com.android.tools.r8.retrace.StackTraceElementProxyRetracer:
    1:1:com.android.tools.r8.retrace.StackTraceElementProxyRetracer createDefault(com.android.tools.r8.retrace.Retracer):17:17 -> createDefault
com.android.tools.r8.retrace.StackTraceLineParser -> com.android.tools.r8.retrace.StackTraceLineParser:
    1:1:com.android.tools.r8.retrace.StackTraceLineParser createRegularExpressionParser(java.lang.String):18:18 -> createRegularExpressionParser
com.android.tools.r8.retrace.StringRetrace -> com.android.tools.r8.retrace.StringRetrace:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():24:24 -> <clinit>
    1:1:void <init>(com.android.tools.r8.retrace.StackTraceLineParser,com.android.tools.r8.retrace.StackTraceElementProxyRetracer,com.android.tools.r8.DiagnosticsHandler,boolean):32:32 -> <init>
    1:9:void lambda$retrace$0(java.util.List,java.util.List,int):85:93 -> a
    10:15:int com.android.tools.r8.utils.StringUtils.firstNonWhitespaceCharacter(java.lang.String):331:336 -> a
    10:15:void lambda$retrace$0(java.util.List,java.util.List,int):93 -> a
    16:21:void lambda$retrace$0(java.util.List,java.util.List,int):93:98 -> a
    22:27:void lambda$retrace$0(java.util.List,java.util.List,int):95:100 -> a
    28:33:void joinAmbiguousLines(java.util.List,java.util.function.Consumer):122:127 -> a
    34:38:void lambda$joinAmbiguousLines$2(java.util.Set,java.util.List,java.util.function.Consumer,java.util.List,int):130:134 -> a
    39:43:void lambda$joinAmbiguousLines$1(boolean,java.util.function.Consumer,java.lang.String):137:141 -> a
    44:49:void lambda$joinAmbiguousLines$1(boolean,java.util.function.Consumer,java.lang.String):138:143 -> a
    1:4:com.android.tools.r8.retrace.StringRetrace create(com.android.tools.r8.retrace.RetraceOptions):43:46 -> create
    5:5:com.android.tools.r8.retrace.StringRetrace create(com.android.tools.r8.retrace.RetraceOptions):42:42 -> create
    6:8:com.android.tools.r8.retrace.StringRetrace create(com.android.tools.r8.retrace.Retracer,com.android.tools.r8.DiagnosticsHandler,java.lang.String,boolean):64:66 -> create
    1:4:java.util.List retrace(java.util.List):79:82 -> retrace
    5:6:java.util.List retrace(java.lang.String):115:116 -> retrace
com.android.tools.r8.retrace.internal.Definition -> com.android.tools.r8.internal.Ue:
# {"id":"sourceFile","fileName":"Definition.java"}
com.android.tools.r8.retrace.internal.DirectClassNameMapperProguardMapProducer -> com.android.tools.r8.internal.gh:
    com.android.tools.r8.naming.ClassNameMapper getClassNameMapper() -> a
    1:1:java.io.Reader get():11:11 -> get
    2:2:java.io.BufferedReader get():17:17 -> get
com.android.tools.r8.retrace.internal.FieldDefinition -> com.android.tools.r8.internal.Ej:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference) -> a
com.android.tools.r8.retrace.internal.FieldDefinition$BaseFieldDefinition -> com.android.tools.r8.internal.Cj:
    com.android.tools.r8.references.ClassReference classReference -> a
    java.lang.String name -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.retrace.internal.FieldDefinition$1):25:25 -> <init>
    2:4:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String):29:31 -> <init>
    1:1:com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference):46:46 -> a
    2:2:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> a
    2:2:com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference):46 -> a
    1:5:boolean equals(java.lang.Object):54:58 -> equals
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():41:41 -> getHolderClass
    1:1:java.lang.String getName():36:36 -> getName
    1:1:int hashCode():63:63 -> hashCode
com.android.tools.r8.retrace.internal.FieldDefinition$FullFieldDefinition -> com.android.tools.r8.internal.Dj:
    com.android.tools.r8.references.FieldReference fieldReference -> a
    1:1:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.retrace.internal.FieldDefinition$1):67:67 -> <init>
    2:3:void <init>(com.android.tools.r8.references.FieldReference):71:72 -> <init>
    1:2:com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference):87:88 -> a
    3:3:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.FieldReference):20:20 -> a
    3:3:com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference):87 -> a
    1:5:boolean equals(java.lang.Object):96:100 -> equals
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():82:82 -> getHolderClass
    1:1:java.lang.String getName():77:77 -> getName
    1:1:int hashCode():105:105 -> hashCode
com.android.tools.r8.retrace.internal.MethodDefinition -> com.android.tools.r8.internal.qE:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.retrace.internal.MethodDefinition$FullMethodDefinition asFullMethodDefinition() -> a
    com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference) -> a
com.android.tools.r8.retrace.internal.MethodDefinition$BaseMethodDefinition -> com.android.tools.r8.internal.oE:
    com.android.tools.r8.references.ClassReference classReference -> a
    java.lang.String name -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.retrace.internal.MethodDefinition$1):33:33 -> <init>
    2:4:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String):38:40 -> <init>
    1:1:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):55:55 -> a
    2:2:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> a
    2:2:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):55 -> a
    1:5:boolean equals(java.lang.Object):63:67 -> equals
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():45:45 -> getHolderClass
    1:1:java.lang.String getName():50:50 -> getName
    1:1:int hashCode():72:72 -> hashCode
com.android.tools.r8.retrace.internal.MethodDefinition$FullMethodDefinition -> com.android.tools.r8.internal.pE:
    com.android.tools.r8.references.MethodReference methodReference -> a
    1:1:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.MethodDefinition$1):76:76 -> <init>
    2:3:void <init>(com.android.tools.r8.references.MethodReference):80:81 -> <init>
    com.android.tools.r8.retrace.internal.MethodDefinition$FullMethodDefinition asFullMethodDefinition() -> a
    1:6:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):106:111 -> a
    7:7:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):107:107 -> a
    8:8:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> a
    8:8:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):106 -> a
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():115:115 -> b
    1:5:boolean equals(java.lang.Object):123:127 -> equals
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():86:86 -> getHolderClass
    1:1:java.lang.String getName():91:91 -> getName
    1:1:int hashCode():132:132 -> hashCode
com.android.tools.r8.retrace.internal.RetraceAbortException -> com.android.tools.r8.internal.FS:
    1:1:void <init>():7:7 -> <init>
com.android.tools.r8.retrace.internal.RetraceClassResultImpl -> com.android.tools.r8.internal.IS:
    com.android.tools.r8.references.ClassReference obfuscatedReference -> a
    com.android.tools.r8.retrace.internal.RetracerImpl retracer -> c
    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:4:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.retrace.internal.RetracerImpl):37:40 -> <init>
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper access$100(com.android.tools.r8.retrace.internal.RetraceClassResultImpl):30:30 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceClassResultImpl create(com.android.tools.r8.references.ClassReference,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.retrace.internal.RetracerImpl):45:45 -> a
    3:3:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(java.lang.String):50:50 -> a
    4:4:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> a
    4:4:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(java.lang.String):50 -> a
    5:5:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(java.lang.String):50:50 -> a
    6:6:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(com.android.tools.r8.retrace.internal.FieldDefinition):73:73 -> a
    7:8:java.util.List lambda$lookupField$0(com.android.tools.r8.naming.ClassNamingForNameMapper,java.lang.String):76:77 -> a
    9:9:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(com.android.tools.r8.retrace.internal.MethodDefinition):86:86 -> a
    10:10:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):102:102 -> a
    11:16:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():165:170 -> a
    11:16:java.util.stream.Stream com.android.tools.r8.retrace.internal.RetraceClassResultImpl.internalStream():161 -> a
    11:16:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):103 -> a
    17:17:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():167:167 -> a
    17:17:java.util.stream.Stream com.android.tools.r8.retrace.internal.RetraceClassResultImpl.internalStream():161 -> a
    17:17:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):103 -> a
    18:18:java.util.stream.Stream com.android.tools.r8.retrace.internal.RetraceClassResultImpl.internalStream():161:161 -> a
    18:18:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):103 -> a
    19:32:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):103:116 -> a
    33:41:void lambda$lookup$2(java.util.function.BiFunction,com.android.tools.r8.retrace.internal.Definition,java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):106:114 -> a
    42:42:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):122:122 -> a
    43:43:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> a
    43:43:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):122 -> a
    44:44:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):141:141 -> a
    44:44:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):122 -> a
    45:49:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):132:136 -> a
    50:50:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> a
    50:50:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):135 -> a
    51:51:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):141:141 -> a
    51:51:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):132 -> a
    52:52:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):141:141 -> a
    52:52:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl access$300(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):30 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:53:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):141:141 -> a
    53:53:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl access$300(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):30 -> a
    54:54:com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl lookupThrownException(com.android.tools.r8.retrace.RetraceStackTraceContext):146:146 -> a
    1:1:com.android.tools.r8.retrace.internal.RetracerImpl access$200(com.android.tools.r8.retrace.internal.RetraceClassResultImpl):30:30 -> b
    2:2:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(java.lang.String):61:61 -> b
    3:3:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> b
    3:3:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(java.lang.String):61 -> b
    4:4:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(java.lang.String):61:61 -> b
    5:9:java.util.List lambda$lookupMethod$1(com.android.tools.r8.naming.ClassNamingForNameMapper,java.lang.String):89:93 -> b
    1:1:boolean isEmpty():152:152 -> isEmpty
    1:1:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String):30:30 -> lookupField
    2:3:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):55:56 -> lookupField
    2:3:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):30 -> lookupField
    4:4:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.FieldReference):20:20 -> lookupField
    4:4:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):56 -> lookupField
    4:4:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):30 -> lookupField
    5:5:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):55:55 -> lookupField
    5:5:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):30 -> lookupField
    1:1:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):30:30 -> lookupFrame
    2:2:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):30:30 -> lookupFrame
    1:1:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):30:30 -> lookupMethod
    2:4:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):67:69 -> lookupMethod
    2:4:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):30 -> lookupMethod
    5:5:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> lookupMethod
    5:5:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):68 -> lookupMethod
    5:5:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):30 -> lookupMethod
    6:6:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):67:67 -> lookupMethod
    6:6:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):30 -> lookupMethod
    1:1:com.android.tools.r8.retrace.RetraceThrownExceptionResult lookupThrownException(com.android.tools.r8.retrace.RetraceStackTraceContext):30:30 -> lookupThrownException
    1:6:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():165:170 -> stream
    1:6:java.util.stream.Stream stream():157 -> stream
    7:7:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():167:167 -> stream
    7:7:java.util.stream.Stream stream():157 -> stream
    8:8:java.util.stream.Stream stream():157:157 -> stream
com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor -> com.android.tools.r8.internal.GS:
    java.lang.Object create(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,java.lang.Object,com.android.tools.r8.retrace.internal.RetracerImpl) -> a
com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl -> com.android.tools.r8.internal.HS:
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl classResult -> a
    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> c
    com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl classReference -> b
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$1):182:182 -> <init>
    2:5:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl,com.android.tools.r8.naming.ClassNamingForNameMapper):191:194 -> <init>
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper access$400(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):182:182 -> a
    2:2:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl getRetracedClass():199:199 -> a
    3:3:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(com.android.tools.r8.retrace.internal.FieldDefinition):239:239 -> a
    4:14:java.lang.Object com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):273:283 -> a
    4:14:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(com.android.tools.r8.retrace.internal.FieldDefinition):239 -> a
    15:15:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(com.android.tools.r8.retrace.internal.FieldDefinition):239:239 -> a
    16:17:java.util.List lambda$lookupField$0(com.android.tools.r8.naming.ClassNamingForNameMapper,java.lang.String):242:243 -> a
    18:18:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(com.android.tools.r8.retrace.internal.MethodDefinition):257:257 -> a
    19:29:java.lang.Object com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):273:283 -> a
    19:29:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(com.android.tools.r8.retrace.internal.MethodDefinition):257 -> a
    30:30:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(com.android.tools.r8.retrace.internal.MethodDefinition):257:257 -> a
    1:5:java.util.List lambda$lookupMethod$1(com.android.tools.r8.naming.ClassNamingForNameMapper,java.lang.String):260:264 -> b
    1:1:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.getParentResult():218:218 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():182 -> getParentResult
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.getRetracedClass():199:199 -> getRetracedClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getRetracedClass():182 -> getRetracedClass
    1:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():205:207 -> getSourceFile
    4:4:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isFileNameInformation():0:0 -> getSourceFile
    4:4:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():207 -> getSourceFile
    5:10:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():208:213 -> getSourceFile
    11:11:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.getRetracedClass():199:199 -> getSourceFile
    11:11:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():213 -> getSourceFile
    12:12:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():213:213 -> getSourceFile
    1:3:com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult getUnknownJsonMappingInformation():318:318 -> getUnknownJsonMappingInformation
    1:3:boolean isCompilerSynthesized():223:225 -> isCompilerSynthesized
    1:1:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupField(java.lang.String):235:235 -> lookupField
    1:1:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String):182 -> lookupField
    2:2:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> lookupField
    2:2:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupField(java.lang.String):235 -> lookupField
    2:2:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String):182 -> lookupField
    3:3:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupField(java.lang.String):235:235 -> lookupField
    3:3:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String):182 -> lookupField
    1:1:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> lookupFrame
    1:1:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):313 -> lookupFrame
    2:2:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):324:324 -> lookupFrame
    2:2:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):313 -> lookupFrame
    3:6:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):289:292 -> lookupFrame
    3:6:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):182 -> lookupFrame
    7:7:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> lookupFrame
    7:7:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):292 -> lookupFrame
    7:7:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):182 -> lookupFrame
    8:8:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):324:324 -> lookupFrame
    8:8:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):289 -> lookupFrame
    8:8:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):182 -> lookupFrame
    9:14:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):302:307 -> lookupFrame
    15:15:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):306:306 -> lookupFrame
    16:16:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> lookupFrame
    16:16:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):305 -> lookupFrame
    17:17:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):324:324 -> lookupFrame
    17:17:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):302 -> lookupFrame
    1:1:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupMethod(java.lang.String):253:253 -> lookupMethod
    1:1:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):182 -> lookupMethod
    2:2:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> lookupMethod
    2:2:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupMethod(java.lang.String):253 -> lookupMethod
    2:2:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):182 -> lookupMethod
    3:3:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupMethod(java.lang.String):253:253 -> lookupMethod
    3:3:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):182 -> lookupMethod
com.android.tools.r8.retrace.internal.RetraceFieldResultImpl -> com.android.tools.r8.internal.KS:
    java.util.List memberNamings -> a
    com.android.tools.r8.retrace.internal.FieldDefinition fieldDefinition -> b
    com.android.tools.r8.retrace.Retracer retracer -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():21:21 -> <clinit>
    1:7:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,com.android.tools.r8.retrace.internal.FieldDefinition,com.android.tools.r8.retrace.Retracer):32:38 -> <init>
    1:10:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):46:55 -> a
    11:11:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):54:54 -> a
    12:12:com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl.create(com.android.tools.r8.retrace.internal.FieldDefinition):129:129 -> a
    12:12:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):53 -> a
    13:13:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):53:53 -> a
    14:23:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):49:58 -> a
    24:30:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):61:67 -> a
    31:31:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):66:66 -> a
    32:32:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):65:65 -> a
    33:47:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):64:78 -> a
    48:48:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):73:73 -> a
    49:49:com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl.create(com.android.tools.r8.references.FieldReference):125:125 -> a
    49:49:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):72 -> a
    50:50:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):72:72 -> a
    1:8:boolean isAmbiguous():85:92 -> isAmbiguous
    1:1:boolean isEmpty():97:97 -> isEmpty
    1:2:java.util.stream.Stream stream():43:44 -> stream
com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl -> com.android.tools.r8.internal.JS:
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl classElement -> c
    com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl fieldReference -> a
    com.android.tools.r8.retrace.internal.RetraceFieldResultImpl retraceFieldResult -> b
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceFieldResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl,com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$1):100:100 -> <init>
    2:5:void <init>(com.android.tools.r8.retrace.internal.RetraceFieldResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl):109:112 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl.getClassElement():137:137 -> getClassElement
    1:1:com.android.tools.r8.retrace.RetraceClassElement getClassElement():100 -> getClassElement
    1:1:com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl.getField():127:127 -> getField
    1:1:com.android.tools.r8.retrace.RetracedFieldReference getField():100 -> getField
    1:1:com.android.tools.r8.retrace.RetraceFieldResult com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl.getParentResult():132:132 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():100 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():142:142 -> getSourceFile
    1:1:boolean isCompilerSynthesized():117:117 -> isCompilerSynthesized
    1:1:boolean isUnknown():122:122 -> isUnknown
com.android.tools.r8.retrace.internal.RetraceFrameResultImpl -> com.android.tools.r8.internal.NS:
    com.android.tools.r8.retrace.internal.MethodDefinition methodDefinition -> a
    com.android.tools.r8.utils.OptionalBool isAmbiguousCache -> f
    com.android.tools.r8.retrace.internal.RetracerImpl retracer -> d
    java.util.List mappedRanges -> c
    boolean $assertionsDisabled -> g
    com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl context -> e
    java.util.OptionalInt obfuscatedPosition -> b
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracerImpl,com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl):51:51 -> <init>
    2:16:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracerImpl,com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl):43:57 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl access$200(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl):34:34 -> a
    2:2:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl access$500(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl,com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):34:34 -> a
    3:34:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):104:135 -> a
    35:41:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):107:113 -> a
    42:42:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):112:112 -> a
    43:43:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111:111 -> a
    44:44:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):173:173 -> a
    44:44:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111 -> a
    45:45:boolean com.android.tools.r8.retrace.internal.MethodDefinition.isFullMethodDefinition():0:0 -> a
    45:45:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):173 -> a
    45:45:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111 -> a
    46:46:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):175:175 -> a
    46:46:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111 -> a
    47:50:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):174:177 -> a
    47:50:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111 -> a
    51:51:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):114:114 -> a
    52:52:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):107:107 -> a
    53:53:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145:145 -> a
    54:54:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):90:90 -> a
    54:54:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145 -> a
    55:58:int com.android.tools.r8.naming.Range.span():53:56 -> a
    55:58:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):90 -> a
    55:58:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145 -> a
    59:59:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):95:95 -> a
    59:59:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145 -> a
    60:63:int com.android.tools.r8.naming.Range.span():53:56 -> a
    60:63:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):96 -> a
    60:63:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145 -> a
    64:66:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):151:153 -> a
    67:88:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):152:173 -> a
    89:91:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):146:148 -> a
    92:95:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.elementFromMappedRanges(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):181:184 -> a
    92:95:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):147 -> a
    96:101:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.elementFromMappedRanges(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):183:188 -> a
    96:101:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):147 -> a
    102:102:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):146:146 -> a
    103:103:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame lambda$separateAmbiguousOriginalPositions$1(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):148:148 -> a
    104:110:void lambda$separateAmbiguousOriginalPositions$3(java.util.List,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,int):161:167 -> a
    111:111:void lambda$separateAmbiguousOriginalPositions$2(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.List):169:169 -> a
    112:115:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.elementFromMappedRanges(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):181:184 -> a
    112:115:void lambda$separateAmbiguousOriginalPositions$4(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List):175 -> a
    116:121:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.elementFromMappedRanges(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):183:188 -> a
    116:121:void lambda$separateAmbiguousOriginalPositions$4(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List):175 -> a
    122:122:void lambda$separateAmbiguousOriginalPositions$4(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List):175:175 -> a
    123:126:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):198:201 -> a
    127:130:int com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange.getFirstLineNumberOfOriginalRange():512:515 -> a
    127:130:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):202 -> a
    131:131:java.util.OptionalInt com.android.tools.r8.utils.OptionalUtils.orElse(java.util.OptionalInt,int):13:13 -> a
    131:131:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):205 -> a
    132:140:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):204:212 -> a
    141:141:boolean com.android.tools.r8.naming.Range.contains(int):31:31 -> a
    141:141:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):212 -> a
    142:142:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):215:215 -> a
    143:143:java.util.OptionalInt com.android.tools.r8.utils.OptionalUtils.orElseGet(java.util.OptionalInt,java.util.function.Supplier):17:17 -> a
    143:143:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):217 -> a
    144:144:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):215:215 -> a
    145:145:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):213:213 -> a
    146:146:java.lang.Integer lambda$getRetracedMethod$5(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):219:219 -> a
    1:1:com.android.tools.r8.retrace.internal.RetracerImpl access$300(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl):34:34 -> b
    1:9:boolean isAmbiguous():62:70 -> isAmbiguous
    10:10:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):90:90 -> isAmbiguous
    10:10:boolean isAmbiguous():71 -> isAmbiguous
    11:14:int com.android.tools.r8.naming.Range.span():53:56 -> isAmbiguous
    11:14:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):90 -> isAmbiguous
    11:14:boolean isAmbiguous():71 -> isAmbiguous
    15:15:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):95:95 -> isAmbiguous
    15:15:boolean isAmbiguous():71 -> isAmbiguous
    16:19:int com.android.tools.r8.naming.Range.span():53:56 -> isAmbiguous
    16:19:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):96 -> isAmbiguous
    16:19:boolean isAmbiguous():71 -> isAmbiguous
    20:34:boolean isAmbiguous():72:86 -> isAmbiguous
    1:1:boolean isEmpty():224:224 -> isEmpty
    1:2:java.util.stream.Stream stream():101:102 -> stream
com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl -> com.android.tools.r8.internal.LS:
    com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl methodReference -> a
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl classElement -> c
    com.android.tools.r8.retrace.internal.RetraceFrameResultImpl retraceFrameResult -> b
    java.util.List mappedRanges -> d
    java.util.OptionalInt obfuscatedPosition -> e
    com.android.tools.r8.retrace.internal.RetracerImpl retracer -> f
    1:7:void <init>(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl,java.util.List,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracerImpl):242:248 -> <init>
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange lambda$forEachRewritten$0(java.lang.Object):315:315 -> a
    1:1:void forEach(java.util.function.Consumer):290:290 -> forEach
    2:2:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEach
    2:2:void forEach(java.util.function.Consumer):295 -> forEach
    3:5:void forEach(java.util.function.Consumer):295:297 -> forEach
    6:6:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEach
    6:6:void forEach(java.util.function.Consumer):291 -> forEach
    7:7:void forEach(java.util.function.Consumer):291:291 -> forEach
    1:6:void forEachRewritten(java.util.function.Consumer):310:315 -> forEachRewritten
    7:7:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):33:33 -> forEachRewritten
    7:7:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    8:8:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation.builder():27:27 -> forEachRewritten
    8:8:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):37 -> forEachRewritten
    8:8:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    9:12:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):38:41 -> forEachRewritten
    9:12:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    13:14:boolean com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.evaluateConditions(java.util.List):60:61 -> forEachRewritten
    13:14:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):41 -> forEachRewritten
    13:14:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    15:21:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):42:48 -> forEachRewritten
    15:21:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    22:22:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):34:34 -> forEachRewritten
    22:22:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    23:27:void forEachRewritten(java.util.function.Consumer):317:321 -> forEachRewritten
    28:28:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEachRewritten
    28:28:void forEachRewritten(java.util.function.Consumer):324 -> forEachRewritten
    29:29:void forEachRewritten(java.util.function.Consumer):324:324 -> forEachRewritten
    30:30:void forEachRewritten(java.util.function.Consumer):323:323 -> forEachRewritten
    31:31:void forEachRewritten(java.util.function.Consumer):322:322 -> forEachRewritten
    32:32:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEachRewritten
    32:32:void forEachRewritten(java.util.function.Consumer):327 -> forEachRewritten
    33:36:void forEachRewritten(java.util.function.Consumer):328:331 -> forEachRewritten
    37:40:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.isOuterMostFrameCompilerSynthesized():252:255 -> forEachRewritten
    37:40:void forEachRewritten(java.util.function.Consumer):337 -> forEachRewritten
    41:41:void forEachRewritten(java.util.function.Consumer):338:338 -> forEachRewritten
    1:1:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getClassElement():285:285 -> getClassElement
    1:1:com.android.tools.r8.retrace.RetraceClassElement getClassElement():227 -> getClassElement
    1:6:java.util.List getOuterFrames():357:362 -> getOuterFrames
    7:8:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getMethodReferenceFromMappedRange(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):371:372 -> getOuterFrames
    7:8:java.util.List getOuterFrames():362 -> getOuterFrames
    9:12:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getMethodReferenceFromMappedRange(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):370:373 -> getOuterFrames
    9:12:java.util.List getOuterFrames():362 -> getOuterFrames
    13:13:java.util.List getOuterFrames():362:362 -> getOuterFrames
    1:1:com.android.tools.r8.retrace.RetraceFrameResult com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getParentResult():270:270 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():227 -> getParentResult
    1:4:com.android.tools.r8.retrace.RetraceStackTraceContext getRetraceStackTraceContext():379:382 -> getRetraceStackTraceContext
    5:5:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.builder():69:69 -> getRetraceStackTraceContext
    5:5:com.android.tools.r8.retrace.RetraceStackTraceContext getRetraceStackTraceContext():385 -> getRetraceStackTraceContext
    6:6:com.android.tools.r8.retrace.RetraceStackTraceContext getRetraceStackTraceContext():385:385 -> getRetraceStackTraceContext
    7:7:com.android.tools.r8.retrace.RetraceStackTraceContext getRetraceStackTraceContext():383:383 -> getRetraceStackTraceContext
    1:1:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile(com.android.tools.r8.retrace.RetracedClassMemberReference):352:352 -> getSourceFile
    2:2:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile(com.android.tools.r8.retrace.RetracedClassMemberReference):351:351 -> getSourceFile
    1:1:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> getTopFrame
    1:1:com.android.tools.r8.retrace.RetracedMethodReference getTopFrame():227 -> getTopFrame
    1:1:boolean isCompilerSynthesized():265:265 -> isCompilerSynthesized
    2:5:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.isOuterMostFrameCompilerSynthesized():252:255 -> isCompilerSynthesized
    2:5:boolean isCompilerSynthesized():265 -> isCompilerSynthesized
    1:1:boolean isUnknown():275:275 -> isUnknown
    1:3:java.util.stream.Stream stream():303:305 -> stream
    1:3:java.util.stream.Stream streamRewritten(com.android.tools.r8.retrace.RetraceStackTraceContext):344:346 -> streamRewritten
com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame -> com.android.tools.r8.internal.MS:
    com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange mappedRange -> a
    java.util.OptionalInt position -> b
    1:3:void <init>(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):394:396 -> <init>
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange access$000(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):389:389 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):406:406 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    3:6:int com.android.tools.r8.naming.Range.span():53:56 -> a
    3:6:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):406 -> a
    3:6:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    7:7:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):408:408 -> a
    7:7:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    8:8:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):407:407 -> a
    8:8:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    9:9:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):412:412 -> a
    9:9:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):404 -> a
    9:9:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    10:10:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):412:412 -> a
    10:10:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$600(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):389 -> a
    1:1:java.util.OptionalInt access$100(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):389:389 -> b
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.getMappedRange():400:400 -> c
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange access$400(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):389 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.retrace.internal.RetraceMethodResultImpl -> com.android.tools.r8.internal.PS:
    com.android.tools.r8.retrace.internal.MethodDefinition methodDefinition -> a
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl classResult -> b
    com.android.tools.r8.retrace.internal.RetracerImpl retracer -> d
    java.util.List mappedRanges -> c
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():27:27 -> <clinit>
    1:7:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,com.android.tools.r8.retrace.internal.MethodDefinition,com.android.tools.r8.retrace.internal.RetracerImpl):38:44 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracerImpl access$000(com.android.tools.r8.retrace.internal.RetraceMethodResultImpl):27:27 -> a
    2:23:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):75:96 -> a
    24:40:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):95:111 -> a
    41:41:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):108:108 -> a
    42:53:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):106:117 -> a
    54:54:boolean lambda$narrowByPosition$0(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):96:96 -> a
    55:71:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):131:147 -> a
    72:77:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):146:151 -> a
    78:78:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.references.MethodReference):182:182 -> a
    78:78:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):151 -> a
    79:79:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):151:151 -> a
    80:85:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):149:154 -> a
    86:92:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):134:140 -> a
    93:93:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):139:139 -> a
    94:94:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138:138 -> a
    95:95:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):173:173 -> a
    95:95:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138 -> a
    96:96:boolean com.android.tools.r8.retrace.internal.MethodDefinition.isFullMethodDefinition():0:0 -> a
    96:96:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):173 -> a
    96:96:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138 -> a
    97:97:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):175:175 -> a
    97:97:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138 -> a
    98:101:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):174:177 -> a
    98:101:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138 -> a
    102:102:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138:138 -> a
    103:103:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):134:134 -> a
    1:12:boolean isAmbiguous():49:60 -> isAmbiguous
    1:1:boolean isEmpty():69:69 -> isEmpty
    1:1:com.android.tools.r8.retrace.RetraceFrameResult narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):27:27 -> narrowByPosition
    1:2:java.util.stream.Stream stream():128:129 -> stream
com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$ElementImpl -> com.android.tools.r8.internal.OS:
    com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl methodReference -> a
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl classElement -> c
    com.android.tools.r8.retrace.internal.RetraceMethodResultImpl retraceMethodResult -> b
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceMethodResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl,com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$1):158:158 -> <init>
    2:5:void <init>(com.android.tools.r8.retrace.internal.RetraceMethodResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl):167:170 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$ElementImpl.getClassElement():195:195 -> getClassElement
    1:1:com.android.tools.r8.retrace.RetraceClassElement getClassElement():158 -> getClassElement
    1:1:com.android.tools.r8.retrace.RetraceMethodResult com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$ElementImpl.getParentResult():190:190 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():158 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetracedMethodReference getRetracedMethod():185:185 -> getRetracedMethod
    1:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():200:200 -> getSourceFile
    1:1:boolean isCompilerSynthesized():175:175 -> isCompilerSynthesized
    1:1:boolean isUnknown():180:180 -> isUnknown
com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl -> com.android.tools.r8.internal.RS:
    com.android.tools.r8.references.ClassReference thrownException -> a
    java.util.OptionalInt rewritePosition -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$1):16:16 -> <init>
    2:4:void <init>(com.android.tools.r8.references.ClassReference,java.util.OptionalInt):22:24 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.builder():69:69 -> a
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder buildFromThis():73 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder buildFromThis():73:73 -> a
    1:1:int getRewritePosition():56:56 -> b
    1:1:com.android.tools.r8.references.ClassReference getThrownException():28:28 -> c
    1:1:boolean hasRewritePosition():52:52 -> d
com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder -> com.android.tools.r8.internal.QS:
    com.android.tools.r8.references.ClassReference thrownException -> a
    java.util.OptionalInt rewritePosition -> b
    1:1:void <init>():81:81 -> <init>
    2:2:void <init>():79:79 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder setThrownException(com.android.tools.r8.references.ClassReference):84:84 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder setRewritePosition(java.util.OptionalInt):89:89 -> a
    3:3:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl build():99:99 -> a
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder clearRewritePosition():94:94 -> b
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder create():103:103 -> c
com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation -> com.android.tools.r8.internal.TS:
    com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation EMPTY -> b
    int removeInnerFramesCount -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$1):7:7 -> <init>
    2:3:void <init>(int):14:15 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation empty():23:23 -> a
    1:1:int getRemoveInnerFramesCount():19:19 -> b
com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder -> com.android.tools.r8.internal.SS:
    int removeInnerFramesCount -> a
    1:1:void <init>():30:30 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder incrementRemoveInnerFramesCount(int):36:36 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation build():50:50 -> a
com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl -> com.android.tools.r8.internal.VS:
    java.util.stream.Stream resultStream -> a
    java.util.function.Supplier resultContext -> b
    1:1:void <init>(java.util.stream.Stream,java.util.function.Supplier,com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$1):14:14 -> <init>
    2:4:void <init>(java.util.stream.Stream,java.util.function.Supplier):22:24 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder builder():38:38 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder builder():38 -> a
    3:3:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder builder():38:38 -> a
    4:4:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultContext(java.util.function.Supplier):55:55 -> a
    4:4:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder builder():38 -> a
    1:1:com.android.tools.r8.retrace.RetraceStackTraceContext getResultContext():34:34 -> getResultContext
    1:1:java.util.stream.Stream stream():29:29 -> stream
com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder -> com.android.tools.r8.internal.US:
    java.util.stream.Stream resultStream -> a
    java.util.function.Supplier resultContext -> b
    1:1:void <init>():46:46 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl build():60:60 -> a
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder create():64:64 -> b
com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl -> com.android.tools.r8.internal.XS:
    com.android.tools.r8.references.ClassReference obfuscatedReference -> a
    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> b
    1:4:void <init>(com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl,com.android.tools.r8.references.ClassReference,com.android.tools.r8.naming.ClassNamingForNameMapper):26:29 -> <init>
    1:1:boolean isEmpty():39:39 -> isEmpty
    1:6:com.android.tools.r8.retrace.RetraceThrownExceptionElement com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl.createElement():43:48 -> stream
    1:6:java.util.stream.Stream stream():34 -> stream
    7:7:com.android.tools.r8.retrace.RetraceThrownExceptionElement com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl.createElement():45:45 -> stream
    7:7:java.util.stream.Stream stream():34 -> stream
    8:8:java.util.stream.Stream stream():34:34 -> stream
com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl -> com.android.tools.r8.internal.WS:
    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> c
    com.android.tools.r8.references.ClassReference thrownException -> d
    com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl classReference -> b
    com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl thrownExceptionResult -> a
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl,com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.references.ClassReference,com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$1):53:53 -> <init>
    2:6:void <init>(com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl,com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.references.ClassReference):64:68 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.builder():69:69 -> getContext
    1:1:com.android.tools.r8.retrace.RetraceStackTraceContext getContext():102 -> getContext
    2:2:com.android.tools.r8.retrace.RetraceStackTraceContext getContext():102:102 -> getContext
    1:1:com.android.tools.r8.retrace.RetraceThrownExceptionResult com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl.getParentResult():78:78 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():53 -> getParentResult
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl.getRetracedClass():73:73 -> getRetracedClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getRetracedClass():53 -> getRetracedClass
    1:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():84:86 -> getSourceFile
    4:4:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isFileNameInformation():0:0 -> getSourceFile
    4:4:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():86 -> getSourceFile
    5:10:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():87:92 -> getSourceFile
    11:11:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl.getRetracedClass():73:73 -> getSourceFile
    11:11:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():92 -> getSourceFile
    12:12:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():92:92 -> getSourceFile
com.android.tools.r8.retrace.internal.RetraceTypeResultImpl -> com.android.tools.r8.internal.ZS:
    com.android.tools.r8.retrace.Retracer retracer -> b
    com.android.tools.r8.references.TypeReference obfuscatedType -> a
    1:3:void <init>(com.android.tools.r8.references.TypeReference,com.android.tools.r8.retrace.Retracer):19:21 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceTypeResultImpl create(com.android.tools.r8.references.TypeReference,com.android.tools.r8.retrace.Retracer):25:25 -> a
    2:3:com.android.tools.r8.retrace.RetraceTypeResult$Element lambda$stream$0(int,com.android.tools.r8.retrace.RetraceTypeResult$Element):39:40 -> a
    4:4:com.android.tools.r8.retrace.RetraceTypeResult$Element lambda$stream$1(com.android.tools.r8.retrace.RetraceClassElement):43:43 -> a
    1:1:com.android.tools.r8.retrace.internal.RetraceTypeResultImpl com.android.tools.r8.retrace.internal.RetraceTypeResultImpl.forEach(java.util.function.Consumer):53:53 -> forEach
    1:1:com.android.tools.r8.retrace.RetraceTypeResult forEach(java.util.function.Consumer):14 -> forEach
    1:13:java.util.stream.Stream stream():31:43 -> stream
    14:14:java.util.stream.Stream stream():32:32 -> stream
com.android.tools.r8.retrace.internal.RetraceTypeResultImpl$ElementImpl -> com.android.tools.r8.internal.YS:
    com.android.tools.r8.retrace.RetracedTypeReference retracedType -> a
    1:2:void <init>(com.android.tools.r8.retrace.RetracedTypeReference):61:62 -> <init>
    1:1:com.android.tools.r8.retrace.RetracedTypeReference getType():67:67 -> getType
com.android.tools.r8.retrace.internal.RetraceUnknownJsonMappingInformationResultImpl -> com.android.tools.r8.internal.aT:
    java.util.List elements -> a
    1:2:void <init>(java.util.List):21:22 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceUnknownMappingInformationElement lambda$stream$0(com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation):30:30 -> a
    2:9:com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult build(java.util.List):36:43 -> a
    10:10:void lambda$build$1(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):39:39 -> a
    11:11:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isUnknownJsonMappingInformation():0:0 -> a
    11:11:void lambda$build$1(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):39 -> a
    12:12:void lambda$build$1(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):40:40 -> a
    1:2:java.util.stream.Stream stream():27:28 -> stream
com.android.tools.r8.retrace.internal.RetraceUnknownMappingInformationElementImpl -> com.android.tools.r8.internal.bT:
    com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation mappingInformation -> b
    com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult result -> a
    1:3:void <init>(com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult,com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation):19:21 -> <init>
    1:1:java.lang.String getIdentifier():26:26 -> getIdentifier
    1:1:java.lang.String getPayLoad():31:31 -> getPayLoad
    1:1:com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult getRetraceResultContext():36:36 -> getRetraceResultContext
com.android.tools.r8.retrace.internal.RetraceUtils -> com.android.tools.r8.internal.cT:
    java.util.Set KEEP_SOURCEFILE_NAMES -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():31:33 -> <clinit>
    4:5:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Object[]):195:196 -> <clinit>
    4:5:void <clinit>():33 -> <clinit>
    6:6:void <clinit>():33:33 -> <clinit>
    1:1:boolean hasPredictableSourceFileName(java.lang.String,java.lang.String):64:64 -> a
    2:8:java.lang.String com.android.tools.r8.retrace.internal.RetraceUtils.getOuterClassSimpleName(java.lang.String):69:75 -> a
    2:8:boolean hasPredictableSourceFileName(java.lang.String,java.lang.String):64 -> a
    9:10:boolean hasPredictableSourceFileName(java.lang.String,java.lang.String):64:65 -> a
    11:17:com.android.tools.r8.retrace.RetracedSourceFile getSourceFileOrLookup(com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassElement,com.android.tools.r8.retrace.Retracer):80:86 -> a
    18:18:void lambda$getSourceFileOrLookup$0(com.android.tools.r8.utils.Box,com.android.tools.r8.retrace.RetraceClassElement):85:85 -> a
    19:19:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):91:91 -> a
    20:20:java.lang.String com.android.tools.r8.com.google.common.io.Files.getFileExtension(java.lang.String):803:803 -> a
    20:20:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):94 -> a
    21:21:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    21:21:java.lang.String com.android.tools.r8.com.google.common.io.Files.getFileExtension(java.lang.String):803 -> a
    21:21:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):94 -> a
    22:24:java.lang.String com.android.tools.r8.com.google.common.io.Files.getFileExtension(java.lang.String):804:806 -> a
    22:24:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):94 -> a
    25:31:java.lang.String com.android.tools.r8.retrace.internal.RetraceUtils.getOuterClassSimpleName(java.lang.String):69:75 -> a
    25:31:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):95 -> a
    32:32:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):96:96 -> a
    33:33:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":231,"3":232}}
    231:231:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):97:97 -> a
    232:232:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):97:97 -> a
    131:133:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):98:100 -> a
    134:134:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":237,"2":238,"3":239,"4":240,"5":241,"6":242}}
    237:237:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    238:238:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    239:239:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    240:240:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    241:241:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    242:242:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    243:247:com.android.tools.r8.references.MethodReference methodReferenceFromMappedRange(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.references.ClassReference):107:111 -> a
    248:259:com.android.tools.r8.references.MethodReference methodReferenceFromMappedRange(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.references.ClassReference):110:121 -> a
    260:260:com.android.tools.r8.references.MethodReference methodReferenceFromMappedRange(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.references.ClassReference):119:119 -> a
    261:261:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127:127 -> a
    262:263:int com.android.tools.r8.retrace.internal.RetraceUtils.firstFromIndex(java.lang.String,int,java.util.function.Predicate):135:136 -> a
    262:263:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127 -> a
    264:264:boolean com.android.tools.r8.com.google.common.base.Predicate.test(java.lang.Object):79:79 -> a
    264:264:int com.android.tools.r8.retrace.internal.RetraceUtils.firstFromIndex(java.lang.String,int,java.util.function.Predicate):136 -> a
    264:264:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127 -> a
    265:265:int com.android.tools.r8.retrace.internal.RetraceUtils.firstFromIndex(java.lang.String,int,java.util.function.Predicate):140:140 -> a
    265:265:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127 -> a
com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl -> com.android.tools.r8.internal.dT:
    com.android.tools.r8.references.ClassReference classReference -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():10:10 -> <clinit>
    1:3:void <init>(com.android.tools.r8.references.ClassReference):14:16 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl create(com.android.tools.r8.references.ClassReference):20:20 -> a
    1:4:boolean equals(java.lang.Object):48:51 -> equals
    1:1:java.lang.String getBinaryName():30:30 -> getBinaryName
    1:1:com.android.tools.r8.references.ClassReference getClassReference():40:40 -> getClassReference
    1:1:com.android.tools.r8.retrace.internal.RetracedTypeReferenceImpl com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl.getRetracedType():35:35 -> getRetracedType
    1:1:com.android.tools.r8.retrace.RetracedTypeReference getRetracedType():10 -> getRetracedType
    1:1:java.lang.String getTypeName():25:25 -> getTypeName
    1:1:int hashCode():56:56 -> hashCode
com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl -> com.android.tools.r8.internal.gT:
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1):12:12 -> <init>
    2:2:void <init>():14:14 -> <init>
    1:1:boolean isKnown():23:23 -> isKnown
com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$KnownRetracedFieldReferenceImpl -> com.android.tools.r8.internal.eT:
    com.android.tools.r8.references.FieldReference fieldReference -> b
    1:1:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1):31:31 -> <init>
    2:3:void <init>(com.android.tools.r8.references.FieldReference):36:37 -> <init>
    1:5:boolean equals(java.lang.Object):75:79 -> equals
    1:1:java.lang.String getFieldName():57:57 -> getFieldName
    1:1:com.android.tools.r8.references.FieldReference getFieldReference():67:67 -> getFieldReference
    1:1:com.android.tools.r8.references.TypeReference getFieldType():62:62 -> getFieldType
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$KnownRetracedFieldReferenceImpl.getHolderClass():52:52 -> getHolderClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():31 -> getHolderClass
    1:1:int hashCode():84:84 -> hashCode
com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$UnknownRetracedFieldReferenceImpl -> com.android.tools.r8.internal.fT:
    com.android.tools.r8.retrace.internal.FieldDefinition fieldDefinition -> b
    1:1:void <init>(com.android.tools.r8.retrace.internal.FieldDefinition,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1):88:88 -> <init>
    2:3:void <init>(com.android.tools.r8.retrace.internal.FieldDefinition):92:93 -> <init>
    1:5:boolean equals(java.lang.Object):111:115 -> equals
    1:1:java.lang.String getFieldName():103:103 -> getFieldName
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$UnknownRetracedFieldReferenceImpl.getHolderClass():98:98 -> getHolderClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():88 -> getHolderClass
    1:1:int hashCode():120:120 -> hashCode
com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl -> com.android.tools.r8.internal.jT:
    java.util.Comparator comparator -> c
    int $r8$clinit -> d
    java.util.OptionalInt position -> b
    1:7:void <clinit>():19:25 -> <clinit>
    8:19:void <clinit>():24:35 -> <clinit>
    20:20:void <clinit>():34:34 -> <clinit>
    21:21:void <clinit>():32:32 -> <clinit>
    22:22:void <clinit>() -> <clinit>
    1:1:void <init>(java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$1):17:17 -> <init>
    2:3:void <init>(java.util.OptionalInt):39:40 -> <init>
    com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl asKnown() -> a
    1:1:java.lang.String lambda$static$0(com.android.tools.r8.retrace.RetracedMethodReference$KnownRetracedMethodReference):30:30 -> a
    2:2:int compareTo(com.android.tools.r8.retrace.RetracedMethodReference):70:70 -> a
    3:3:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl create(com.android.tools.r8.references.MethodReference,java.util.OptionalInt):186:186 -> a
    1:1:int com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl.compareTo(java.lang.Object):73:73 -> compareTo
    1:1:int getOriginalPositionOrDefault(int):50:50 -> getOriginalPositionOrDefault
    1:1:boolean hasPosition():45:45 -> hasPosition
    1:1:boolean isKnown():60:60 -> isKnown
com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl -> com.android.tools.r8.internal.hT:
    com.android.tools.r8.references.MethodReference methodReference -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():73:73 -> <clinit>
    1:1:void <init>(com.android.tools.r8.references.MethodReference,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$1):73:73 -> <init>
    2:4:void <init>(com.android.tools.r8.references.MethodReference,java.util.OptionalInt):80:82 -> <init>
    com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl asKnown() -> a
    1:5:boolean equals(java.lang.Object):131:135 -> equals
    1:1:java.util.List getFormalTypes():118:118 -> getFormalTypes
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl.getHolderClass():102:102 -> getHolderClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():73 -> getHolderClass
    1:1:java.lang.String getMethodName():107:107 -> getMethodName
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():123:123 -> getMethodReference
    1:2:com.android.tools.r8.references.TypeReference getReturnType():112:113 -> getReturnType
    1:1:int hashCode():140:140 -> hashCode
    1:1:boolean isVoid():92:92 -> isVoid
com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$UnknownRetracedMethodReferenceImpl -> com.android.tools.r8.internal.iT:
    com.android.tools.r8.retrace.internal.MethodDefinition methodDefinition -> e
    1:1:void <init>(com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$1):144:144 -> <init>
    2:3:void <init>(com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt):150:151 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$UnknownRetracedMethodReferenceImpl.getHolderClass():156:156 -> getHolderClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():144 -> getHolderClass
    1:1:java.lang.String getMethodName():161:161 -> getMethodName
com.android.tools.r8.retrace.internal.RetracedSingleFrameImpl -> com.android.tools.r8.internal.kT:
    com.android.tools.r8.retrace.RetracedMethodReference methodReference -> b
    com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl frameElement -> a
    int index -> c
    1:4:void <init>(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl,com.android.tools.r8.retrace.RetracedMethodReference,int):19:22 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracedSingleFrameImpl create(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl,com.android.tools.r8.retrace.RetracedMethodReference,int):42:42 -> a
    1:1:int getIndex():32:32 -> getIndex
    1:1:com.android.tools.r8.retrace.RetracedMethodReference getMethodReference():27:27 -> getMethodReference
    1:1:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():37:37 -> getSourceFile
    2:2:com.android.tools.r8.retrace.RetracedMethodReference com.android.tools.r8.retrace.internal.RetracedSingleFrameImpl.getMethodReference():27:27 -> getSourceFile
    2:2:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():37 -> getSourceFile
    3:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():37:37 -> getSourceFile
com.android.tools.r8.retrace.internal.RetracedSourceFileImpl -> com.android.tools.r8.internal.lT:
    com.android.tools.r8.references.ClassReference classReference -> a
    java.lang.String filename -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():10:10 -> <clinit>
    1:4:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String):15:18 -> <init>
    1:1:java.lang.String com.android.tools.r8.retrace.internal.RetracedSourceFileImpl.getSourceFile():28:28 -> getOrInferSourceFile
    1:1:java.lang.String getOrInferSourceFile():33 -> getOrInferSourceFile
    2:2:java.lang.String getOrInferSourceFile():36:36 -> getOrInferSourceFile
    1:1:java.lang.String getSourceFile():28:28 -> getSourceFile
    1:1:boolean hasRetraceResult():23:23 -> hasRetraceResult
com.android.tools.r8.retrace.internal.RetracedTypeReferenceImpl -> com.android.tools.r8.internal.mT:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.references.TypeReference typeReference -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:2:void <init>(com.android.tools.r8.references.TypeReference):16:17 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracedTypeReferenceImpl create(com.android.tools.r8.references.TypeReference):21:21 -> a
    2:2:com.android.tools.r8.retrace.RetracedTypeReference createVoid():25:25 -> a
    1:4:boolean equals(java.lang.Object):54:57 -> equals
    1:2:java.lang.String getTypeName():40:41 -> getTypeName
    1:1:com.android.tools.r8.references.TypeReference getTypeReference():46:46 -> getTypeReference
    1:1:int hashCode():62:62 -> hashCode
    1:1:boolean isVoid():30:30 -> isVoid
    1:1:com.android.tools.r8.references.TypeReference toArray(int):35:35 -> toArray
com.android.tools.r8.retrace.internal.RetracerImpl -> com.android.tools.r8.internal.nT:
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> b
    com.android.tools.r8.naming.ClassNameMapper classNameMapper -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():24:24 -> <clinit>
    1:4:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.DiagnosticsHandler):29:32 -> <init>
    1:9:com.android.tools.r8.retrace.internal.RetracerImpl create(com.android.tools.r8.retrace.ProguardMapProducer,com.android.tools.r8.DiagnosticsHandler,boolean):39:47 -> a
    10:17:com.android.tools.r8.retrace.internal.RetracerImpl create(com.android.tools.r8.retrace.ProguardMapProducer,com.android.tools.r8.DiagnosticsHandler,boolean):46:53 -> a
    18:18:com.android.tools.r8.DiagnosticsHandler getDiagnosticsHandler():58:58 -> a
    1:1:java.util.Set getMapVersions():110:110 -> b
    1:3:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceClass
    1:3:com.android.tools.r8.retrace.RetraceClassResult retraceClass(com.android.tools.r8.references.ClassReference):24 -> retraceClass
    1:1:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceField(com.android.tools.r8.references.FieldReference):90:90 -> retraceField
    1:1:com.android.tools.r8.retrace.RetraceFieldResult retraceField(com.android.tools.r8.references.FieldReference):24 -> retraceField
    2:4:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceField
    2:4:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceField(com.android.tools.r8.references.FieldReference):90 -> retraceField
    2:4:com.android.tools.r8.retrace.RetraceFieldResult retraceField(com.android.tools.r8.references.FieldReference):24 -> retraceField
    5:5:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceField(com.android.tools.r8.references.FieldReference):90:90 -> retraceField
    5:5:com.android.tools.r8.retrace.RetraceFieldResult retraceField(com.android.tools.r8.references.FieldReference):24 -> retraceField
    1:1:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):79:79 -> retraceFrame
    2:4:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceFrame
    2:4:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):79 -> retraceFrame
    5:7:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):83:85 -> retraceFrame
    8:8:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):80:80 -> retraceFrame
    9:11:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceFrame
    9:11:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.ClassReference,java.lang.String):73 -> retraceFrame
    12:12:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.ClassReference,java.lang.String):73:73 -> retraceFrame
    1:1:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceMethod(com.android.tools.r8.references.MethodReference):63:63 -> retraceMethod
    1:1:com.android.tools.r8.retrace.RetraceMethodResult retraceMethod(com.android.tools.r8.references.MethodReference):24 -> retraceMethod
    2:4:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceMethod
    2:4:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceMethod(com.android.tools.r8.references.MethodReference):63 -> retraceMethod
    2:4:com.android.tools.r8.retrace.RetraceMethodResult retraceMethod(com.android.tools.r8.references.MethodReference):24 -> retraceMethod
    5:5:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceMethod(com.android.tools.r8.references.MethodReference):64:64 -> retraceMethod
    5:5:com.android.tools.r8.retrace.RetraceMethodResult retraceMethod(com.android.tools.r8.references.MethodReference):24 -> retraceMethod
    1:3:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceThrownException
    1:3:com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceThrownException(com.android.tools.r8.references.ClassReference):106 -> retraceThrownException
    1:3:com.android.tools.r8.retrace.RetraceThrownExceptionResult retraceThrownException(com.android.tools.r8.references.ClassReference):24 -> retraceThrownException
    4:4:com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceThrownException(com.android.tools.r8.references.ClassReference):106:106 -> retraceThrownException
    4:4:com.android.tools.r8.retrace.RetraceThrownExceptionResult retraceThrownException(com.android.tools.r8.references.ClassReference):24 -> retraceThrownException
    1:1:com.android.tools.r8.retrace.internal.RetraceTypeResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceType(com.android.tools.r8.references.TypeReference):101:101 -> retraceType
    1:1:com.android.tools.r8.retrace.RetraceTypeResult retraceType(com.android.tools.r8.references.TypeReference):24 -> retraceType
com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl -> com.android.tools.r8.internal.rV:
    com.android.tools.r8.retrace.Retracer retracer -> a
    1:2:void <init>(com.android.tools.r8.retrace.Retracer):45:46 -> <init>
    1:4:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceClassOrType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.RetraceClassResult):81:84 -> a
    5:5:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    5:5:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceClassOrType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.RetraceClassResult):82 -> a
    6:6:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceClassOrType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.RetraceClassResult):93:93 -> a
    7:8:java.util.stream.Stream lambda$retraceClassOrType$1(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):88:89 -> a
    9:17:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenThrownExceptionElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceThrownExceptionElement):101:109 -> a
    18:18:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenThrownExceptionElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceThrownExceptionElement):107:107 -> a
    19:24:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenThrownExceptionElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceThrownExceptionElement):106:111 -> a
    25:27:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):119:121 -> a
    28:28:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultContext(java.util.function.Supplier):55:55 -> a
    28:28:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):121 -> a
    29:30:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):124:125 -> a
    31:31:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    31:31:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):123 -> a
    32:32:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):170:170 -> a
    33:36:java.util.stream.Stream lambda$retraceMethod$6(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.utils.Box,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):130:133 -> a
    37:63:java.util.stream.Stream lambda$retraceMethod$6(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.utils.Box,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):128:154 -> a
    64:69:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$3(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassElement):139:144 -> a
    70:76:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$3(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassElement):143:149 -> a
    77:77:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$3(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassElement):147:147 -> a
    78:83:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$3(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassElement):146:151 -> a
    84:84:void lambda$retraceMethod$2(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):145:145 -> a
    85:88:java.util.stream.Stream lambda$retraceMethod$5(com.android.tools.r8.utils.Box,com.android.tools.r8.retrace.RetraceStackTraceContext,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement):156:159 -> a
    89:99:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFrameElement(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):180:190 -> a
    100:107:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFrameElement(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):189:196 -> a
    108:108:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFrameElement(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):195:195 -> a
    109:112:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFrameElement(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):194:197 -> a
    113:113:void lambda$buildProxyForRewrittenFrameElement$7(com.android.tools.r8.retrace.RetracedMethodReference,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):192:192 -> a
    114:114:com.android.tools.r8.retrace.RetracedSourceFile lambda$buildProxyForRewrittenFrameElement$8(com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedMethodReference):196:196 -> a
    115:118:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceField(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult):205:208 -> a
    119:119:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    119:119:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceField(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult):206 -> a
    120:120:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceField(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult):218:218 -> a
    121:123:java.util.stream.Stream lambda$retraceField$10(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):211:213 -> a
    124:131:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFieldElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFieldResult,com.android.tools.r8.retrace.RetraceFieldElement):227:234 -> a
    132:132:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFieldElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFieldResult,com.android.tools.r8.retrace.RetraceFieldElement):233:233 -> a
    133:136:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFieldElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFieldResult,com.android.tools.r8.retrace.RetraceFieldElement):232:235 -> a
    137:137:java.util.function.Consumer setSourceFileOnProxy(java.util.function.Supplier,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassResult):242:242 -> a
    138:147:void lambda$setSourceFileOnProxy$11(java.util.function.Supplier,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):243:252 -> a
    148:148:void lambda$setSourceFileOnProxy$11(java.util.function.Supplier,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):251:251 -> a
    149:149:void lambda$setSourceFileOnProxy$11(java.util.function.Supplier,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):248:248 -> a
    150:159:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):258:267 -> a
    160:160:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    160:160:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):265 -> a
    161:169:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):271:279 -> a
    170:170:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    170:170:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):277 -> a
    171:171:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):288:288 -> a
    172:172:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceFieldOrReturnType$12(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):270:270 -> a
    173:173:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl.buildProxyForRewrittenReturnType(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetracedTypeReference,boolean):296:296 -> a
    173:173:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceFieldOrReturnType$12(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):269 -> a
    174:175:java.util.stream.Stream lambda$retraceFieldOrReturnType$14(java.util.List,com.android.tools.r8.retrace.RetraceTypeResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):281:282 -> a
    176:177:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceFieldOrReturnType$13(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceTypeResult,com.android.tools.r8.retrace.RetraceTypeResult$Element):286:287 -> a
    178:178:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl.buildProxyForRewrittenReturnType(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetracedTypeReference,boolean):296:296 -> a
    178:178:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceFieldOrReturnType$13(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceTypeResult,com.android.tools.r8.retrace.RetraceTypeResult$Element):284 -> a
    179:179:com.android.tools.r8.retrace.RetraceTypeResult lambda$retracedMethodArguments$15(java.lang.String):306:306 -> a
    180:181:java.util.List lambda$retracedMethodArguments$18(java.util.List,com.android.tools.r8.retrace.RetraceTypeResult):315:316 -> a
    182:182:void lambda$retracedMethodArguments$17(java.util.List,java.util.List,com.android.tools.r8.retrace.RetraceTypeResult$Element):318:318 -> a
    183:185:void lambda$retracedMethodArguments$16(com.android.tools.r8.retrace.RetraceTypeResult$Element,java.util.List,java.util.List):320:322 -> a
    186:187:java.util.stream.Stream lambda$retracedMethodArguments$20(java.util.List,boolean,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):333:334 -> a
    188:191:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retracedMethodArguments$19(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,boolean,java.util.List):337:340 -> a
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceClassOrType$0(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceThrownExceptionElement):91:91 -> b
    2:2:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$4(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):161:161 -> b
    3:3:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceField$9(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFieldResult,com.android.tools.r8.retrace.RetraceFieldElement):215:215 -> b
    4:34:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retracedMethodArguments(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):301:331 -> b
    35:35:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> b
    35:35:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retracedMethodArguments(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):329 -> b
    36:36:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retracedMethodArguments(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):341:341 -> b
    1:2:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):53:54 -> retrace
    3:3:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> retrace
    3:3:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):54 -> retrace
    4:4:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):54:54 -> retrace
    5:5:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultContext(java.util.function.Supplier):55:55 -> retrace
    5:5:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):55 -> retrace
    6:21:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):56:71 -> retrace
com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl -> com.android.tools.r8.internal.qV:
    boolean $assertionsDisabled -> m
    java.lang.String sourceFile -> h
    boolean isAmbiguous -> j
    com.android.tools.r8.retrace.RetraceStackTraceContext context -> l
    boolean isTopFrame -> k
    com.android.tools.r8.retrace.RetracedClassReference retracedClass -> c
    int lineNumber -> i
    com.android.tools.r8.retrace.RetracedFieldReference retracedField -> e
    java.util.List methodArguments -> g
    com.android.tools.r8.retrace.RetracedTypeReference fieldOrReturnType -> f
    com.android.tools.r8.retrace.RetracedMethodReference retracedMethod -> d
    com.android.tools.r8.retrace.StackTraceElementProxy originalItem -> b
    1:1:void <clinit>():344:344 -> <clinit>
    1:1:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetracedMethodReference,com.android.tools.r8.retrace.RetracedFieldReference,com.android.tools.r8.retrace.RetracedTypeReference,java.util.List,java.lang.String,int,boolean,boolean,com.android.tools.r8.retrace.RetraceStackTraceContext,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$1):344:344 -> <init>
    2:14:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetracedMethodReference,com.android.tools.r8.retrace.RetracedFieldReference,com.android.tools.r8.retrace.RetracedTypeReference,java.util.List,java.lang.String,int,boolean,boolean,com.android.tools.r8.retrace.RetraceStackTraceContext):370:382 -> <init>
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.create(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):468:468 -> a
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl access$000(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):344 -> a
    2:12:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder builder():473:483 -> a
    1:1:int compareTo(java.lang.Object):344:344 -> compareTo
    2:6:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):502:506 -> compareTo
    2:6:int compareTo(java.lang.Object):344 -> compareTo
    7:7:com.android.tools.r8.retrace.RetracedClassReference com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.getRetracedClass():437:437 -> compareTo
    7:7:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):508 -> compareTo
    7:7:int compareTo(java.lang.Object):344 -> compareTo
    8:17:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):508:517 -> compareTo
    8:17:int compareTo(java.lang.Object):344 -> compareTo
    18:18:com.android.tools.r8.retrace.RetracedMethodReference com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.getRetracedMethod():442:442 -> compareTo
    18:18:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):518 -> compareTo
    18:18:int compareTo(java.lang.Object):344 -> compareTo
    19:28:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):518:527 -> compareTo
    19:28:int compareTo(java.lang.Object):344 -> compareTo
    29:29:java.lang.String com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.getSourceFile():462:462 -> compareTo
    29:29:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):528 -> compareTo
    29:29:int compareTo(java.lang.Object):344 -> compareTo
    30:40:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):528:538 -> compareTo
    30:40:int compareTo(java.lang.Object):344 -> compareTo
    1:1:com.android.tools.r8.retrace.RetraceStackTraceContext getContext():494:494 -> getContext
    1:1:int getLineNumber():489:489 -> getLineNumber
    1:1:com.android.tools.r8.retrace.StackTraceElementProxy getOriginalItem():432:432 -> getOriginalItem
    1:1:com.android.tools.r8.retrace.RetracedClassReference getRetracedClass():437:437 -> getRetracedClass
    1:1:com.android.tools.r8.retrace.RetracedFieldReference getRetracedField():447:447 -> getRetracedField
    1:1:com.android.tools.r8.retrace.RetracedTypeReference getRetracedFieldOrReturnType():452:452 -> getRetracedFieldOrReturnType
    1:1:com.android.tools.r8.retrace.RetracedMethodReference getRetracedMethod():442:442 -> getRetracedMethod
    1:1:java.util.List getRetracedMethodArguments():457:457 -> getRetracedMethodArguments
    1:1:java.lang.String getSourceFile():462:462 -> getSourceFile
    1:1:boolean hasLineNumber():417:417 -> hasLineNumber
    1:1:boolean hasRetracedClass():397:397 -> hasRetracedClass
    1:1:boolean hasRetracedField():407:407 -> hasRetracedField
    1:1:boolean hasRetracedFieldOrReturnType():422:422 -> hasRetracedFieldOrReturnType
    1:1:boolean hasRetracedMethod():402:402 -> hasRetracedMethod
    1:1:boolean hasRetracedMethodArguments():427:427 -> hasRetracedMethodArguments
    1:1:boolean hasSourceFile():412:412 -> hasSourceFile
    1:1:boolean isAmbiguous():387:387 -> isAmbiguous
    1:1:boolean isTopFrame():392:392 -> isTopFrame
com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder -> com.android.tools.r8.internal.pV:
    java.lang.String sourceFile -> g
    com.android.tools.r8.retrace.RetracedMethodReference methodContext -> c
    java.util.List methodArguments -> f
    boolean isAmbiguous -> i
    boolean isTopFrame -> j
    int lineNumber -> h
    com.android.tools.r8.retrace.RetraceStackTraceContext context -> k
    com.android.tools.r8.retrace.RetracedClassReference classContext -> b
    com.android.tools.r8.retrace.RetracedTypeReference fieldOrReturnType -> e
    com.android.tools.r8.retrace.RetracedFieldReference retracedField -> d
    com.android.tools.r8.retrace.StackTraceElementProxy originalElement -> a
    1:1:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$1):543:543 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy):557:557 -> <init>
    3:9:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy):552:558 -> <init>
    1:1:com.android.tools.r8.retrace.RetracedMethodReference access$1302(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedMethodReference):543:543 -> a
    2:2:com.android.tools.r8.retrace.RetracedFieldReference access$1402(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedFieldReference):543:543 -> a
    3:3:java.util.List access$1602(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.util.List):543:543 -> a
    4:4:java.lang.String access$1702(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.lang.String):543:543 -> a
    5:5:int access$1802(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,int):543:543 -> a
    6:6:boolean access$1902(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543:543 -> a
    7:7:com.android.tools.r8.retrace.RetraceStackTraceContext access$2102(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetraceStackTraceContext):543:543 -> a
    8:8:com.android.tools.r8.retrace.StackTraceElementProxy access$2400(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):543:543 -> a
    9:9:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedClass(com.android.tools.r8.retrace.RetracedClassReference):562:562 -> a
    9:9:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$100(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedClassReference):543 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedFieldOrReturnType(com.android.tools.r8.retrace.RetracedTypeReference):577:577 -> a
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$1000(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedTypeReference):543 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.apply(java.util.function.Consumer):612:612 -> a
    11:11:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$500(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.util.function.Consumer):543 -> a
    12:12:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.applyIf(boolean,java.util.function.Consumer):618:618 -> a
    12:12:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$800(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean,java.util.function.Consumer):543 -> a
    1:1:com.android.tools.r8.retrace.RetracedClassReference access$1202(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedClassReference):543:543 -> b
    2:2:com.android.tools.r8.retrace.RetracedTypeReference access$1502(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedTypeReference):543:543 -> b
    3:3:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedMethod(com.android.tools.r8.retrace.RetracedMethodReference):567:567 -> b
    3:3:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$700(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedMethodReference):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedField(com.android.tools.r8.retrace.RetracedFieldReference):572:572 -> b
    4:4:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$900(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedFieldReference):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedMethodArguments(java.util.List):582:582 -> b
    5:5:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$2300(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.util.List):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setSourceFile(java.lang.String):587:587 -> b
    6:6:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$2500(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.lang.String):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setLineNumber(int):592:592 -> b
    7:7:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$2600(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,int):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.joinAmbiguous(boolean):597:597 -> b
    8:8:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$200(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setContext(com.android.tools.r8.retrace.RetraceStackTraceContext):607:607 -> b
    9:9:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$400(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetraceStackTraceContext):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.build():624:624 -> b
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl access$600(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:14:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.build():625:628 -> b
    11:14:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl access$600(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):543 -> b
    1:1:boolean access$2002(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543:543 -> c
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setTopFrame(boolean):602:602 -> d
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$300(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy -> com.android.tools.r8.internal.wV:
    java.util.List orderedIndices -> b
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldOrReturnType -> h
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodArguments -> i
    boolean $assertionsDisabled -> j
    java.lang.String line -> a
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex className -> c
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodName -> d
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex sourceFile -> e
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex lineNumber -> f
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldName -> g
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(java.lang.String,java.util.List,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1):23:23 -> <init>
    2:11:void <init>(java.lang.String,java.util.List,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex):45:54 -> <init>
    1:1:java.lang.String lineNumberAsString():158:158 -> a
    2:3:java.lang.String getEntryInLine(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex):162:163 -> a
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasClassName():63:63 -> getClassReference
    1:1:com.android.tools.r8.references.ClassReference getClassReference():98 -> getClassReference
    2:2:com.android.tools.r8.references.ClassReference getClassReference():98:98 -> getClassReference
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasFieldName():83:83 -> getFieldName
    1:1:java.lang.String getFieldName():129 -> getFieldName
    2:2:java.lang.String getFieldName():129:129 -> getFieldName
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasFieldOrReturnType():88:88 -> getFieldOrReturnType
    1:1:java.lang.String getFieldOrReturnType():134 -> getFieldOrReturnType
    2:2:java.lang.String getFieldOrReturnType():134:134 -> getFieldOrReturnType
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasLineNumber():78:78 -> getLineNumber
    1:1:int getLineNumber():113 -> getLineNumber
    2:6:int getLineNumber():117:121 -> getLineNumber
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasMethodArguments():93:93 -> getMethodArguments
    1:1:java.lang.String getMethodArguments():139 -> getMethodArguments
    2:2:java.lang.String getMethodArguments():139:139 -> getMethodArguments
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasMethodName():68:68 -> getMethodName
    1:1:java.lang.String getMethodName():103 -> getMethodName
    2:2:java.lang.String getMethodName():103:103 -> getMethodName
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasSourceFile():73:73 -> getSourceFile
    1:1:java.lang.String getSourceFile():108 -> getSourceFile
    2:2:java.lang.String getSourceFile():108:108 -> getSourceFile
    1:1:boolean hasClassName():63:63 -> hasClassName
    1:1:boolean hasFieldName():83:83 -> hasFieldName
    1:1:boolean hasFieldOrReturnType():88:88 -> hasFieldOrReturnType
    1:1:boolean hasLineNumber():78:78 -> hasLineNumber
    1:1:boolean hasMethodArguments():93:93 -> hasMethodArguments
    1:1:boolean hasMethodName():68:68 -> hasMethodName
    1:1:boolean hasSourceFile():73:73 -> hasSourceFile
    1:9:java.lang.String com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.toRetracedItem(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,boolean):146:154 -> toRetracedItem
    1:9:java.lang.Object toRetracedItem(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,boolean):23 -> toRetracedItem
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType -> com.android.tools.r8.internal.sV:
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType TYPENAME -> c
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType BINARY -> b
    1:2:void <clinit>():167:168 -> <clinit>
    1:1:void <init>(java.lang.String,int):166:166 -> <init>
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex -> com.android.tools.r8.internal.tV:
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex NO_INDEX -> e
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType classNameType -> d
    1:1:void <clinit>():367:367 -> <clinit>
    1:1:void <init>(int,int,com.android.tools.r8.utils.TriFunction,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1):365:365 -> <init>
    2:3:void <init>(int,int,com.android.tools.r8.utils.TriFunction,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType):382:383 -> <init>
    1:4:com.android.tools.r8.references.ClassReference getReference(java.lang.String):387:390 -> a
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder -> com.android.tools.r8.internal.uV:
    java.util.List orderedIndices -> b
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldOrReturnType -> h
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodArguments -> i
    int lastSeenStartIndex -> j
    boolean $assertionsDisabled -> k
    java.lang.String line -> a
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex className -> c
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodName -> d
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex sourceFile -> e
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex lineNumber -> f
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldName -> g
    1:1:void <clinit>():171:171 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1):171:171 -> <init>
    2:2:void <init>(java.lang.String):184:184 -> <init>
    3:14:void <init>(java.lang.String):174:185 -> <init>
    1:5:java.lang.String lambda$registerClassName$0(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType,com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):196:200 -> a
    6:20:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerLineNumber(int,int,boolean):236:250 -> a
    21:27:java.lang.String lambda$registerLineNumber$3(boolean,com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):242:248 -> a
    28:44:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerFieldName(int,int):255:271 -> a
    45:54:java.lang.String lambda$registerFieldName$4(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):260:269 -> a
    55:55:java.lang.String lambda$registerFieldName$4(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):265:265 -> a
    56:59:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy build():311:314 -> a
    60:63:void com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder.ensureLineIndexIncreases(int):327:330 -> a
    60:63:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerClassName(int,int,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType):190 -> a
    64:76:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerClassName(int,int,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType):191:203 -> a
    77:77:void com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder.ensureLineIndexIncreases(int):328:328 -> a
    77:77:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerClassName(int,int,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType):190 -> a
    1:13:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerFieldOrReturnType(int,int):277:289 -> b
    14:19:java.lang.String lambda$registerFieldOrReturnType$5(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):282:287 -> b
    1:12:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerMethodArguments(int,int):295:306 -> c
    13:17:java.lang.String lambda$registerMethodArguments$6(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):300:304 -> c
    18:18:java.lang.String lambda$registerMethodArguments$6(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):303:303 -> c
    1:12:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerMethodName(int,int):208:219 -> d
    13:17:java.lang.String lambda$registerMethodName$1(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):213:217 -> d
    18:18:java.lang.String lambda$registerMethodName$1(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):216:216 -> d
    19:42:java.lang.String com.android.tools.r8.retrace.internal.RetraceUtils.methodDescriptionFromRetraceMethod(com.android.tools.r8.retrace.RetracedMethodReference,boolean,boolean):37:60 -> d
    19:42:java.lang.String lambda$registerMethodName$1(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):216 -> d
    43:43:java.lang.String com.android.tools.r8.retrace.internal.RetraceUtils.methodDescriptionFromRetraceMethod(com.android.tools.r8.retrace.RetracedMethodReference,boolean,boolean) -> d
    43:43:java.lang.String lambda$registerMethodName$1(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):216 -> d
    1:7:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerSourceFile(int,int):224:230 -> e
    8:8:java.lang.String lambda$registerSourceFile$2(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):229:229 -> e
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex -> com.android.tools.r8.internal.vV:
    com.android.tools.r8.utils.TriFunction retracedString -> c
    int endIndex -> b
    int startIndex -> a
    1:1:void <init>(int,int,com.android.tools.r8.utils.TriFunction,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1):334:334 -> <init>
    2:5:void <init>(int,int,com.android.tools.r8.utils.TriFunction):354:357 -> <init>
    1:1:com.android.tools.r8.utils.TriFunction access$100(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex):334:334 -> a
    2:2:boolean hasIndex():361:361 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser -> com.android.tools.r8.internal.KV:
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$LineNumberGroup lineNumberGroup -> g
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldOrReturnTypeGroup fieldOrReturnTypeGroup -> h
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodNameGroup methodNameGroup -> j
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$TypeNameGroup typeNameGroup -> d
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldNameGroup fieldNameGroup -> k
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$BinaryNameGroup binaryNameGroup -> e
    java.util.List handlers -> c
    boolean $assertionsDisabled -> l
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileLineNumberGroup sourceFileLineNumberGroup -> b
    java.util.regex.Pattern compiledPattern -> a
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileGroup sourceFileGroup -> f
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodArgumentsGroup methodArgumentsGroup -> i
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(java.lang.String):49:49 -> <init>
    2:26:void <init>(java.lang.String):30:54 -> <init>
    1:4:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):84:87 -> a
    5:5:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):148:148 -> a
    5:5:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    6:6:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):144:144 -> a
    6:6:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    7:7:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):138:138 -> a
    7:7:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    8:14:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):134:140 -> a
    8:14:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    15:15:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):136:136 -> a
    15:15:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    16:32:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):130:146 -> a
    16:32:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    33:33:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):142:142 -> a
    33:33:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    34:34:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):132:132 -> a
    34:34:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    35:36:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):88:89 -> a
    37:37:boolean com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup.isSynthetic():0:0 -> a
    37:37:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):89 -> a
    38:38:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):92:92 -> a
    39:39:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):91:91 -> a
    40:40:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":153,"2":154,"3":155}}
    153:153:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):94:94 -> a
    154:154:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):94:94 -> a
    155:155:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):94:94 -> a
    134:151:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):94:111 -> a
    152:152:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):110:110 -> a
    1:1:com.android.tools.r8.retrace.StackTraceElementProxy parse(java.lang.Object):16:16 -> parse
    2:2:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.builder(java.lang.String):58:58 -> parse
    2:2:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.parse(java.lang.String):60 -> parse
    2:2:com.android.tools.r8.retrace.StackTraceElementProxy parse(java.lang.Object):16 -> parse
    3:15:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.parse(java.lang.String):61:73 -> parse
    3:15:com.android.tools.r8.retrace.StackTraceElementProxy parse(java.lang.Object):16 -> parse
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$BinaryNameGroup -> com.android.tools.r8.internal.xV:
    1:1:void <init>():222:222 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):222:222 -> <init>
    1:1:java.lang.String subExpression():226:226 -> a
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType getClassNameType():231:231 -> b
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup -> com.android.tools.r8.internal.zV:
    1:1:void <init>():179:179 -> <init>
    1:1:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):185:185 -> a
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType getClassNameType() -> b
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup$1 -> com.android.tools.r8.internal.yV:
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup this$0 -> b
    java.lang.String val$captureGroup -> a
    1:1:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup,java.lang.String):185:185 -> <init>
    boolean isClassHandler() -> a
    1:10:boolean matchHandler(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):188:197 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldNameGroup -> com.android.tools.r8.internal.AV:
    1:1:void <init>():255:255 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):255:255 -> <init>
    1:1:java.lang.String subExpression():259:259 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):264:264 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):265:269 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldOrReturnTypeGroup -> com.android.tools.r8.internal.BV:
    1:1:void <init>():339:339 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):339:339 -> <init>
    1:1:java.lang.String subExpression():343:343 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):348:348 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):349:353 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$LineNumberGroup -> com.android.tools.r8.internal.CV:
    1:1:void <init>():298:298 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):298:298 -> <init>
    1:1:java.lang.String subExpression():302:302 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):307:307 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):308:312 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodArgumentsGroup -> com.android.tools.r8.internal.DV:
    1:1:void <init>():359:359 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):359:359 -> <init>
    1:1:java.lang.String subExpression():363:363 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):368:368 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):369:373 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodNameGroup -> com.android.tools.r8.internal.EV:
    1:1:void <init>():235:235 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):235:235 -> <init>
    1:1:java.lang.String subExpression():239:239 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):244:244 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):245:249 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup -> com.android.tools.r8.internal.FV:
    1:1:void <init>():161:161 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):161:161 -> <init>
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String) -> a
    java.lang.String subExpression() -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler -> com.android.tools.r8.internal.GV:
    boolean isClassHandler() -> a
    boolean matchHandler(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher) -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileGroup -> com.android.tools.r8.internal.HV:
    1:1:void <init>():275:275 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):275:275 -> <init>
    1:1:java.lang.String subExpression():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":284,"2":285,"3":286,"4":287,"5":288,"6":289}}
    284:284:java.lang.String subExpression():281:281 -> a
    285:285:java.lang.String subExpression():281:281 -> a
    286:286:java.lang.String subExpression():281:281 -> a
    287:287:java.lang.String subExpression():281:281 -> a
    288:288:java.lang.String subExpression():281:281 -> a
    289:289:java.lang.String subExpression():281:281 -> a
    283:283:java.lang.String subExpression():282:282 -> a
    290:290:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):287:287 -> a
    291:295:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):288:292 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileLineNumberGroup -> com.android.tools.r8.internal.IV:
    1:1:void <init>():318:318 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):318:318 -> <init>
    1:1:java.lang.String subExpression():322:322 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):327:327 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$TypeNameGroup -> com.android.tools.r8.internal.JV:
    1:1:void <init>():209:209 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):209:209 -> <init>
    1:1:java.lang.String subExpression():213:213 -> a
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType getClassNameType():218:218 -> b
com.android.tools.r8.shaking.AbstractMethodRemover -> com.android.tools.r8.shaking.a:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.ScopedDexMethodSet scope -> c
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    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:2:void run():38:39 -> a
    3:7:void processClass(com.android.tools.r8.graph.DexType):43:47 -> a
    8:13:java.util.List com.android.tools.r8.utils.IterableUtils.ensureUnmodifiableList(java.lang.Iterable):57:62 -> a
    8:13:void processClass(com.android.tools.r8.graph.DexType):47 -> a
    14:21:void processClass(com.android.tools.r8.graph.DexType):47:54 -> a
    22:26:com.android.tools.r8.graph.DexEncodedMethod[] processMethods(java.util.List):63:67 -> a
    27:39:boolean isNonAbstractPinnedOrWideningVisibility(com.android.tools.r8.graph.DexEncodedMethod):71:83 -> a
com.android.tools.r8.shaking.AnnotationFixer -> com.android.tools.r8.internal.a2:
    com.android.tools.r8.graph.GraphLens lens -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():26:26 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.GraphLens):30:31 -> <init>
    1:4:void run(java.lang.Iterable):35:38 -> a
    5:5:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):43:43 -> a
    6:6:com.android.tools.r8.graph.DexAnnotation lambda$processMethod$0(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):44:44 -> a
    7:7:void processField(com.android.tools.r8.graph.DexEncodedField):48:48 -> a
    8:8:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.DexAnnotation):52:52 -> a
    9:10:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):56:57 -> a
    11:13:com.android.tools.r8.graph.DexAnnotationElement rewriteAnnotationElement(com.android.tools.r8.graph.DexAnnotationElement):63:65 -> a
    14:14:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):71:71 -> a
    15:15:boolean com.android.tools.r8.graph.DexValue.isDexValueArray():0:0 -> a
    15:15:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):71 -> a
    16:20:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):72:76 -> a
    21:21:boolean com.android.tools.r8.graph.DexValue.isDexValueAnnotation():0:0 -> a
    21:21:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):78 -> a
    22:22:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):79:79 -> a
    23:23:com.android.tools.r8.graph.DexEncodedAnnotation com.android.tools.r8.graph.DexValue$DexValueAnnotation.getValue():1703:1703 -> a
    23:23:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):80 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:28:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):80:84 -> a
    29:29:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> a
    29:29:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):90 -> a
    29:29:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    30:34:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):91:95 -> a
    30:34:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    35:35:boolean com.android.tools.r8.graph.DexValue.isDexValueEnum():0:0 -> a
    35:35:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):97 -> a
    35:35:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    36:37:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):98:99 -> a
    36:37:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    38:38:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    38:38:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):99 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    39:39:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):101:101 -> a
    39:39:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    40:40:boolean com.android.tools.r8.graph.DexValue.isDexValueField():0:0 -> a
    40:40:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):103 -> a
    40:40:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    41:41:boolean com.android.tools.r8.graph.DexValue.isDexValueMethod():0:0 -> a
    41:41:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):105 -> a
    41:41:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    42:42:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    42:42:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):107 -> a
    42:42:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    43:43:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> a
    43:43:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):109 -> a
    43:43:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    44:48:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):111:115 -> a
    44:48:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    49:49:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":69,"2":70,"3":71}}
    69:69:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):115:115 -> a
    69:69:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    70:70:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    70:70:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):115 -> a
    70:70:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    71:71:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    71:71:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):115 -> a
    71:71:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    50:54:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):117:121 -> a
    50:54:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    55:55:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):110:110 -> a
    55:55:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    56:56:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):108:108 -> a
    56:56:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    57:57:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):106:106 -> a
    57:57:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    58:58:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):104:104 -> a
    58:58:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
com.android.tools.r8.shaking.AnnotationMatchResult -> com.android.tools.r8.shaking.e:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.shaking.AnnotationMatchResult$ConcreteAnnotationMatchResult asConcreteAnnotationMatchResult() -> a
com.android.tools.r8.shaking.AnnotationMatchResult$AnnotationsIgnoredMatchResult -> com.android.tools.r8.shaking.b:
    com.android.tools.r8.shaking.AnnotationMatchResult$AnnotationsIgnoredMatchResult INSTANCE -> a
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    1:1:com.android.tools.r8.shaking.AnnotationMatchResult$AnnotationsIgnoredMatchResult getInstance():31:31 -> b
com.android.tools.r8.shaking.AnnotationMatchResult$ConcreteAnnotationMatchResult -> com.android.tools.r8.shaking.c:
    java.util.List matchedAnnotations -> a
    1:2:void <init>(java.util.List):39:40 -> <init>
    com.android.tools.r8.shaking.AnnotationMatchResult$ConcreteAnnotationMatchResult asConcreteAnnotationMatchResult() -> a
    1:1:java.util.List getMatchedAnnotations():44:44 -> b
com.android.tools.r8.shaking.AnnotationMatchResult$MatchedAnnotation -> com.android.tools.r8.shaking.d:
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind annotatedKind -> c
    com.android.tools.r8.graph.DexAnnotation annotation -> b
    com.android.tools.r8.graph.ProgramDefinition annotatedItem -> a
    1:4:void <init>(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):65:68 -> <init>
    1:1:com.android.tools.r8.graph.ProgramDefinition getAnnotatedItem():72:72 -> a
    1:1:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind getAnnotatedKind():80:80 -> b
    1:1:com.android.tools.r8.graph.DexAnnotation getAnnotation():76:76 -> c
    1:3:boolean equals(java.lang.Object):88:90 -> equals
    1:1:int hashCode():99:99 -> hashCode
com.android.tools.r8.shaking.AnnotationRemover -> com.android.tools.r8.shaking.g:
    com.android.tools.r8.shaking.ProguardKeepAttributes keep -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.Enqueuer$Mode mode -> b
    java.util.Set annotationsToRetain -> d
    com.android.tools.r8.utils.InternalOptions options -> c
    java.util.Set removedClasses -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set,com.android.tools.r8.shaking.AnnotationRemover$1):34:34 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set):47:53 -> <init>
    1:1:com.android.tools.r8.shaking.AnnotationRemover$Builder builder(com.android.tools.r8.shaking.Enqueuer$Mode):57:57 -> a
    2:15:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):75:88 -> a
    16:16:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> a
    16:16:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):88 -> a
    17:22:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):92:97 -> a
    23:25:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):96:98 -> a
    26:26:boolean com.android.tools.r8.graph.DexAnnotation.isThrowingAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):314:314 -> a
    26:26:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):98 -> a
    27:27:boolean com.android.tools.r8.graph.DexAnnotation.isSourceDebugExtension(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):335:335 -> a
    27:27:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):101 -> a
    28:30:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):102:104 -> a
    31:35:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):103:107 -> a
    36:36:boolean com.android.tools.r8.graph.DexAnnotation.isParameterNameAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):340:340 -> a
    36:36:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):108 -> a
    37:37:boolean com.android.tools.r8.graph.DexAnnotation.isAnnotationDefaultAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):325:325 -> a
    37:37:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):111 -> a
    38:38:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):158:158 -> a
    39:40:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):122:123 -> a
    41:41:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    41:41:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):123 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    42:42:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):123 -> a
    43:43:boolean com.android.tools.r8.graph.DexAnnotation.isJavaLangRetentionAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):330:330 -> a
    43:43:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):124 -> a
    44:44:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):128:128 -> a
    45:45:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> a
    45:45:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):128 -> a
    46:60:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):129:143 -> a
    61:61:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    61:61:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):143 -> a
    62:62:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):146:146 -> a
    63:63:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> a
    63:63:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):146 -> a
    64:68:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):147:151 -> a
    69:69:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173:173 -> a
    70:70:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):144:144 -> a
    70:70:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:74:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):144:147 -> a
    71:74:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    76:76:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):149:149 -> a
    76:76:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:78:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):149:150 -> a
    77:78:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    79:79:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    79:79:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):150 -> a
    79:79:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    80:83:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):150:153 -> a
    80:83:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    84:84:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    84:84:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):153 -> a
    84:84:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    85:93:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):153:161 -> a
    85:93:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    94:94:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    94:94:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):161 -> a
    94:94:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    95:95:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):161:161 -> a
    95:95:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    96:97:void run(java.util.concurrent.ExecutorService):178:179 -> a
    98:106:void run(com.android.tools.r8.graph.DexProgramClass):183:191 -> a
    107:109:void lambda$run$1(java.util.Set,com.android.tools.r8.graph.ProgramMember):193:195 -> a
    110:110:void com.android.tools.r8.graph.ProgramMember.clearKotlinInfo():31:31 -> a
    110:110:void lambda$run$1(java.util.Set,com.android.tools.r8.graph.ProgramMember):196 -> a
    111:111:void lambda$verifyNoKeptKotlinMembersForClassesWithNoKotlinInfo$2(com.android.tools.r8.graph.ProgramMember):206:206 -> a
    112:112:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):218:218 -> a
    112:112:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    113:113:com.android.tools.r8.shaking.KeepMemberInfo com.android.tools.r8.shaking.KeepInfoCollection.getMemberInfo(com.android.tools.r8.graph.ProgramMember):101:101 -> a
    113:113:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):218 -> a
    113:113:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    114:115:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):219:220 -> a
    114:115:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    116:116:void com.android.tools.r8.graph.ProgramMember.clearGenericSignature():27:27 -> a
    116:116:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):221 -> a
    116:116:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    117:117:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):223:223 -> a
    117:117:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    118:118:boolean com.android.tools.r8.shaking.KeepMemberInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):30:30 -> a
    118:118:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):224 -> a
    118:118:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    119:119:void com.android.tools.r8.graph.ProgramMember.clearKotlinInfo():31:31 -> a
    119:119:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):225 -> a
    119:119:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    120:120:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):228:228 -> a
    120:120:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    121:121:boolean com.android.tools.r8.shaking.KeepMemberInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):30:30 -> a
    121:121:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):229 -> a
    121:121:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    122:122:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):230:230 -> a
    122:122:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    123:125:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):245:247 -> a
    126:126:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":385,"2":386,"3":387}}
    385:385:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):250:250 -> a
    386:386:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    386:386:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):250 -> a
    387:387:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    387:387:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):250 -> a
    377:383:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):251:257 -> a
    384:384:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):256:256 -> a
    388:388:com.android.tools.r8.graph.DexAnnotationElement lambda$rewriteEncodedAnnotation$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement):253:253 -> a
    389:389:boolean lambda$rewriteAnnotationElement$4(com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexEncodedMethod):273:273 -> a
    390:392:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):278:280 -> a
    393:393:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    393:393:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):280 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    394:394:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    394:394:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):280 -> a
    395:408:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):281:294 -> a
    409:409:com.android.tools.r8.graph.DexAnnotation lambda$removeAnnotations$5(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):285:285 -> a
    410:410:com.android.tools.r8.graph.DexAnnotation lambda$removeAnnotations$7(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):295:295 -> a
    411:411:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):300:300 -> a
    412:412:boolean com.android.tools.r8.graph.DexAnnotation.isAnnotationDefaultAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):325:325 -> a
    412:412:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):300 -> a
    413:413:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):303:303 -> a
    414:414:boolean com.android.tools.r8.graph.DexAnnotation.isJavaLangRetentionAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):330:330 -> a
    414:414:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):303 -> a
    415:423:boolean shouldRetainRetentionAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):319:327 -> a
    415:423:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):304 -> a
    424:424:boolean com.android.tools.r8.graph.DexValue.isDexValueEnum():0:0 -> a
    424:424:boolean shouldRetainRetentionAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):327 -> a
    424:424:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):304 -> a
    425:426:boolean shouldRetainRetentionAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):328:329 -> a
    425:426:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):304 -> a
    427:427:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):306:306 -> a
    428:439:void stripAttributes(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo):340:351 -> a
    440:440:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342:342 -> a
    441:441:boolean com.android.tools.r8.shaking.KeepInfo.isEnclosingMethodAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute,com.android.tools.r8.graph.AppView):179:179 -> a
    441:441:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342 -> a
    442:442:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():633:633 -> a
    442:442:boolean com.android.tools.r8.shaking.KeepInfo.isEnclosingMethodAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute,com.android.tools.r8.graph.AppView):182 -> a
    442:442:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342 -> a
    443:443:boolean com.android.tools.r8.shaking.KeepInfo.isEnclosingMethodAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute,com.android.tools.r8.graph.AppView):185:185 -> a
    443:443:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342 -> a
    444:444:boolean lambda$stripAttributes$9(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute):348:348 -> a
    445:452:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):359:366 -> a
    453:453:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    453:453:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366 -> a
    454:454:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    454:454:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    454:454:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366 -> a
    455:455:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    455:455:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366 -> a
    456:457:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366:367 -> a
    458:458:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute):198:198 -> a
    458:458:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):367 -> a
    459:459:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():633:633 -> a
    459:459:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute):201 -> a
    459:459:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):367 -> a
    460:460:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute):206:206 -> a
    460:460:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):367 -> a
    461:465:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):368:372 -> a
    466:466:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    466:466:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372 -> a
    467:467:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    467:467:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    467:467:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372 -> a
    468:468:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    468:468:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372 -> a
    469:475:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372:378 -> a
    476:476:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    476:476:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378 -> a
    477:477:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    477:477:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    477:477:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378 -> a
    478:478:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    478:478:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378 -> a
    479:486:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378:385 -> a
    487:487:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    487:487:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385 -> a
    488:488:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    488:488:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    488:488:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385 -> a
    489:489:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    489:489:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385 -> a
    490:494:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385:389 -> a
    495:495:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    495:495:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389 -> a
    496:496:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    496:496:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    496:496:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389 -> a
    497:497:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    497:497:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389 -> a
    498:499:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389:390 -> a
    500:502:void clearAnnotations(com.android.tools.r8.graph.AppView):395:397 -> a
    1:1:boolean filterAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):63:63 -> b
    1:1:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):237 -> b
    2:3:boolean isAnnotationTypeLive(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.AppView):168:169 -> b
    2:3:boolean isAnnotationTypeLive(com.android.tools.r8.graph.DexAnnotation):163 -> b
    2:3:boolean filterAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):65 -> b
    2:3:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):237 -> b
    4:4:boolean filterAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):64:64 -> b
    4:4:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):237 -> b
    5:5:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):239:239 -> b
    6:8:boolean verifyNoKeptKotlinMembersForClassesWithNoKotlinInfo():202:204 -> b
    9:19:com.android.tools.r8.graph.DexAnnotationElement rewriteAnnotationElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement):263:273 -> b
    20:20:com.android.tools.r8.graph.DexAnnotation lambda$removeAnnotations$6(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):289:289 -> b
com.android.tools.r8.shaking.AnnotationRemover$Builder -> com.android.tools.r8.shaking.f:
    com.android.tools.r8.shaking.Enqueuer$Mode mode -> b
    java.util.Set annotationsToRetain -> a
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer$Mode):411:411 -> <init>
    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer$Mode):407:412 -> <init>
    1:1:boolean isRetainedForFinalTreeShaking(com.android.tools.r8.graph.DexAnnotation):416:416 -> a
    2:2:com.android.tools.r8.shaking.AnnotationRemover build(com.android.tools.r8.graph.AppView,java.util.Set):425:425 -> a
    1:1:void retainAnnotation(com.android.tools.r8.graph.DexAnnotation):420:420 -> b
com.android.tools.r8.shaking.AppInfoWithLiveness -> com.android.tools.r8.shaking.h:
    com.android.tools.r8.cf.CfVersion largestInputCfVersion -> S
    java.util.Map noSideEffects -> y
    com.android.tools.r8.shaking.SingleTargetLookupCache singleTargetLookupCache -> R
    java.util.Set alwaysInline -> A
    com.android.tools.r8.graph.FieldAccessInfoCollectionImpl fieldAccessInfoCollection -> s
    boolean $assertionsDisabled -> T
    java.util.Set noClassMerging -> H
    java.util.Set noVerticalClassMerging -> J
    java.util.Set reprocess -> D
    com.android.tools.r8.graph.MethodAccessInfoCollection methodAccessInfoCollection -> t
    java.util.Set failedFieldResolutionTargets -> o
    java.util.Set prunedTypes -> P
    java.util.Set virtualMethodsTargetedByInvokeDirect -> q
    java.util.Map initClassReferences -> L
    java.util.Set deadProtoTypes -> k
    java.util.Set targetedMethods -> m
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> F
    java.util.Set neverPropagateValue -> N
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap identifierNameStrings -> O
    java.util.Map switchMaps -> Q
    java.util.Map assumedValues -> z
    java.util.Set neverInlineDueToSingleCaller -> B
    java.util.Map callSites -> v
    java.util.Map mayHaveSideEffects -> x
    java.util.Set neverClassInline -> G
    java.util.Set noHorizontalClassMerging -> I
    java.util.Set whyAreYouNotInlining -> C
    java.util.Set neverReprocess -> E
    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl objectAllocationInfoCollection -> u
    java.util.Set bootstrapMethods -> p
    java.util.Set liveMethods -> r
    java.util.Set lockCandidates -> K
    java.util.Set liveTypes -> l
    java.util.Set recordFieldValuesReferences -> M
    java.util.Set failedMethodResolutionTargets -> n
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> w
    1:1:void <clinit>():87:87 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,com.android.tools.r8.shaking.MissingClasses,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.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.Map,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,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,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,java.util.Set,java.util.Map,java.util.Set):238:238 -> <init>
    2:470:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,com.android.tools.r8.shaking.MissingClasses,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.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.Map,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,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,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,java.util.Set,java.util.Map,java.util.Set):197:665 -> <init>
    471:504:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,com.android.tools.r8.shaking.MissingClasses,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.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.Map,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,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,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,java.util.Set,java.util.Map,java.util.Set):239:272 -> <init>
    505:508:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):606:609 -> <init>
    509:509:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):605:605 -> <init>
    510:978:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):197:665 -> <init>
    979:1013:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):610:644 -> <init>
    1:2:java.util.Set getPrunedTypes():1283:1284 -> A
    1:1:java.util.Set getReprocessMethods():789:789 -> B
    1:1:java.util.Set getVirtualMethodsTargetedByInvokeDirect():740:740 -> C
    1:1:boolean hasNoAlwaysInlineMethods():748:748 -> D
    1:1:boolean hasNoWhyAreYouNotInliningMethods():780:780 -> E
    1:1:com.android.tools.r8.shaking.AppInfoWithLivenessModifier modifier():648:648 -> F
    1:3:boolean verify():518:520 -> G
    4:4:boolean verify():519:519 -> G
    1:2:boolean verifyNoIteratingOverPrunedClasses():1583:1584 -> H
    1:1:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):87:87 -> a
    2:2:com.android.tools.r8.graph.AppInfo rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):87:87 -> a
    3:5:java.util.Set pruneMembers(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):385:387 -> a
    6:6:java.util.Set pruneMembers(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):386:386 -> a
    7:17:void lambda$pruneMembers$1(com.android.tools.r8.graph.PrunedItems,java.util.Set):389:399 -> a
    18:21:java.util.Set pruneItems(java.util.Set,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):417:420 -> a
    22:22:java.util.Set pruneItems(java.util.Set,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):419:419 -> a
    23:26:void lambda$pruneItems$2(java.util.Set,java.util.Set):422:425 -> a
    27:29:java.util.Map pruneMapFromMembers(java.util.Map,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):446:448 -> a
    30:30:java.util.Map pruneMapFromMembers(java.util.Map,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):447:447 -> a
    31:42:void lambda$pruneMapFromMembers$4(com.android.tools.r8.graph.PrunedItems,java.util.Map):450:461 -> a
    43:45:boolean lambda$pruneMapFromMembers$3(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember):456:458 -> a
    46:48:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap pruneMapFromMembers(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):474:476 -> a
    49:49:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap pruneMapFromMembers(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):475:475 -> a
    50:61:void lambda$pruneMapFromMembers$6(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):478:489 -> a
    62:62:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    62:62:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):668 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    63:63:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    63:63:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):668 -> a
    64:65:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):671:672 -> a
    66:77:void computeLargestCfVersion():678:678 -> a
    66:77:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):672 -> a
    87:87:void computeLargestCfVersion():688:688 -> a
    87:87:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):672 -> a
    88:88:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):674:674 -> a
    89:91:java.util.Map pruneMap(java.util.Map,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):502:504 -> a
    92:92:java.util.Map pruneMap(java.util.Map,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):503:503 -> a
    93:96:void lambda$pruneMap$7(java.util.Map,java.util.Set):506:509 -> a
    97:100:com.android.tools.r8.shaking.KeepInfoCollection extendPinnedItems(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Collection):568:571 -> a
    101:101:com.android.tools.r8.shaking.KeepInfoCollection extendPinnedItems(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Collection):569:569 -> a
    102:103:void lambda$extendPinnedItems$8(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):573:574 -> a
    104:104:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    104:104:void lambda$extendPinnedItems$8(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):574 -> a
    105:124:void lambda$extendPinnedItems$8(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):576:595 -> a
    125:125:boolean isBootstrapMethod(com.android.tools.r8.graph.ProgramMethod):736:736 -> a
    126:126:boolean isBootstrapMethod(com.android.tools.r8.graph.DexMethod):732:732 -> a
    126:126:boolean isBootstrapMethod(com.android.tools.r8.graph.ProgramMethod):736 -> a
    127:142:void forEachReachableInterface(java.util.function.Consumer,java.lang.Iterable):798:813 -> a
    143:176:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):832:865 -> a
    177:177:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):835:835 -> a
    178:178:void removeFromSingleTargetLookupCache(com.android.tools.r8.graph.DexClass):914:914 -> a
    179:180:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):949:950 -> a
    181:181:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():891:891 -> a
    181:181:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):951 -> a
    182:182:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    182:182:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):951 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    183:186:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):952:955 -> a
    187:187:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1067:1067 -> a
    187:187:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):959 -> a
    188:188:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    188:188:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1068 -> a
    188:188:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):959 -> a
    189:189:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    189:189:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1068 -> a
    189:189:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):959 -> a
    190:191:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):981:982 -> a
    192:192:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1179,"2":1180,"3":1181}}
    1179:1179:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):982:982 -> a
    1180:1180:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):982:982 -> a
    1181:1181:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):982:982 -> a
    1174:1178:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):982:986 -> a
    1182:1183:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndMember):1039:1040 -> a
    1184:1184:boolean isClassInliningAllowed(com.android.tools.r8.graph.DexProgramClass):1089:1089 -> a
    1185:1185:boolean isMinificationAllowed(com.android.tools.r8.graph.DexReference):1093:1093 -> a
    1186:1186:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():618:618 -> a
    1186:1186:boolean isMinificationAllowed(com.android.tools.r8.graph.DexReference):1093 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1187:1188:boolean isMinificationAllowed(com.android.tools.r8.graph.DexReference):1093:1094 -> a
    1189:1189:boolean isAccessModificationAllowed(com.android.tools.r8.graph.ProgramDefinition):1098:1098 -> a
    1190:1191:boolean isAccessModificationAllowed(com.android.tools.r8.graph.DexReference):1102:1103 -> a
    1190:1191:boolean isAccessModificationAllowed(com.android.tools.r8.graph.ProgramDefinition):1098 -> a
    1192:1202:boolean isRepackagingAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):1107:1117 -> a
    1203:1207:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.DexProgramClass.traverseProgramMembers(java.util.function.Function):332:336 -> a
    1203:1207:boolean isRepackagingAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):1118 -> a
    1208:1208:boolean isRepackagingAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):1125:1125 -> a
    1209:1212:com.android.tools.r8.utils.TraversalContinuation lambda$isRepackagingAllowed$10(com.android.tools.r8.graph.ProgramMember):1120:1123 -> a
    1213:1214:boolean isPinned(com.android.tools.r8.graph.DexDefinition):1134:1135 -> a
    1215:1216:boolean isPinned(com.android.tools.r8.graph.DexClassAndMember):1139:1140 -> a
    1217:1217:void lambda$prunedCopyFrom$11(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder):1176:1176 -> a
    1218:1218:void lambda$prunedCopyFrom$12(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):1177:1177 -> a
    1219:1227:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1194:1202 -> a
    1228:1275:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1197:1244 -> a
    1276:1278:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap com.android.tools.r8.graph.GraphLens.rewriteReferenceKeys(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):692:694 -> a
    1276:1278:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1245 -> a
    1279:1279:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.GraphLens.rewriteReference(com.android.tools.r8.graph.DexReference):640:640 -> a
    1279:1279:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap com.android.tools.r8.graph.GraphLens.rewriteReferenceKeys(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):694 -> a
    1279:1279:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1245 -> a
    1280:1280:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap com.android.tools.r8.graph.GraphLens.rewriteReferenceKeys(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):694:694 -> a
    1280:1280:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1245 -> a
    1281:1287:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1245:1251 -> a
    1288:1288:com.android.tools.r8.shaking.ProguardMemberRule lambda$rewrittenWithLens$14(com.android.tools.r8.graph.DexReference,java.util.List):1226:1226 -> a
    1289:1289:com.android.tools.r8.shaking.ProguardMemberRule lambda$rewrittenWithLens$15(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexMember,java.util.List):1230:1230 -> a
    1290:1290:java.util.Map rewriteInitClassReferences(com.android.tools.r8.graph.GraphLens):1255:1255 -> a
    1291:1291:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1259:1259 -> a
    1292:1292:boolean com.android.tools.r8.utils.Visibility.isPrivate():20:20 -> a
    1292:1292:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1259 -> a
    1293:1294:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1259:1260 -> a
    1295:1295:boolean com.android.tools.r8.utils.Visibility.isPrivate():20:20 -> a
    1295:1295:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1260 -> a
    1296:1297:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1260:1261 -> a
    1298:1298:boolean com.android.tools.r8.utils.Visibility.isPublic():28:28 -> a
    1298:1298:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1261 -> a
    1299:1299:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1262:1262 -> a
    1300:1300:boolean com.android.tools.r8.utils.Visibility.isProtected():24:24 -> a
    1300:1300:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1265 -> a
    1301:1301:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1269:1269 -> a
    1302:1307: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):1292:1297 -> a
    1302:1307: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):1318 -> a
    1308:1309: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):1335:1336 -> a
    1308:1309: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):1299 -> a
    1308:1309: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):1318 -> a
    1310:1310:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    1310:1310: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):1307 -> a
    1310:1310: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):1318 -> a
    1311:1311: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):1307:1307 -> a
    1311:1311: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):1318 -> a
    1312:1312:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexEncodedMethod.toMethodDefinitionOrNull(com.android.tools.r8.graph.DexClassAndMethod):256:256 -> a
    1312:1312: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):1307 -> a
    1312:1312: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):1318 -> a
    1313:1313: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):1305:1305 -> a
    1313:1313: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):1318 -> a
    1314:1315: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):1335:1336 -> a
    1314:1315: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):1301 -> a
    1314:1315: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):1318 -> a
    1316:1316: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):1303:1303 -> a
    1316:1316: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):1318 -> a
    1317:1317: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):1318:1318 -> a
    1318:1319:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):1324:1325 -> a
    1320:1351: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):1347:1378 -> a
    1352:1352:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    1352:1352: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):1378 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1353:1353:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    1353:1353: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):1378 -> a
    1354:1355: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):1379:1380 -> a
    1356:1359: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.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1444:1447 -> a
    1356:1359: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):1385 -> a
    1360:1360:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    1360:1360: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.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1449 -> a
    1360:1360: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):1385 -> a
    1361:1361:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1157:1157 -> a
    1361:1361: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.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1450 -> a
    1361:1361: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):1385 -> a
    1362:1362: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.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1451:1451 -> a
    1362:1362: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):1385 -> a
    1363:1363:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    1363:1363: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.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1451 -> a
    1363:1363: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):1385 -> a
    1364:1368: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.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1452:1456 -> a
    1364:1368: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):1385 -> a
    1369:1383: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.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1454:1468 -> a
    1369:1383: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):1385 -> a
    1384:1396: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):1390:1402 -> a
    1397:1417: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):1401:1421 -> a
    1418:1428: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):1420:1430 -> a
    1429:1431:com.android.tools.r8.shaking.AppInfoWithLiveness withSwitchMaps(java.util.Map):1475:1477 -> a
    1432:1432:void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):1495:1495 -> a
    1433:1434:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1505:1506 -> a
    1435:1437:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):918:920 -> a
    1435:1437:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1514 -> a
    1435:1437:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1507 -> a
    1438:1438:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    1438:1438:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):922 -> a
    1438:1438:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1514 -> a
    1438:1438:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1507 -> a
    1439:1439:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):922:922 -> a
    1439:1439:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1514 -> a
    1439:1439:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1507 -> a
    1440:1440:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1514:1514 -> a
    1440:1440:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1507 -> a
    1441:1441:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1508:1508 -> a
    1442:1449:boolean mayHaveFinalizeMethodDirectlyOrIndirectly(com.android.tools.r8.ir.analysis.type.ClassTypeElement):1536:1543 -> a
    1450:1450:boolean lambda$mayHaveFinalizeMethodDirectlyOrIndirectly$19(com.android.tools.r8.graph.DexType,java.lang.Boolean):1541:1541 -> a
    1451:1451:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$21(com.android.tools.r8.ir.desugar.LambdaDescriptor):1566:1566 -> a
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):87:87 -> b
    2:2:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):87:87 -> b
    3:5:boolean lambda$pruneMapFromMembers$5(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember):484:486 -> b
    6:6:boolean isNeverInlineDueToSingleCallerMethod(com.android.tools.r8.graph.ProgramMethod):752:752 -> b
    7:7:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):931:931 -> b
    8:10:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):918:920 -> b
    8:10:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):932 -> b
    11:11:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    11:11:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):922 -> b
    11:11:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):932 -> b
    12:12:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):922:922 -> b
    12:12:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):932 -> b
    13:13:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):932:932 -> b
    14:16:boolean isFieldWritten(com.android.tools.r8.graph.DexEncodedField):963:965 -> b
    17:18:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):991:992 -> b
    19:19:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1017,"2":1018,"3":1019}}
    1017:1017:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):992:992 -> b
    1018:1018:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):992:992 -> b
    1019:1019:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):992:992 -> b
    1011:1011:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):992:992 -> b
    1012:1012:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():891:891 -> b
    1012:1012:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):993 -> b
    1013:1013:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):993:993 -> b
    1014:1014:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> b
    1014:1014:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):993 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1015:1016:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):995:996 -> b
    1020:1023:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1016:1019 -> b
    1024:1024:boolean com.android.tools.r8.graph.DexEncodedMethod.isOrWillBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):475:475 -> b
    1024:1024:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1019 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1025:1025:boolean com.android.tools.r8.graph.DexEncodedMethod.isOrWillBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):475:475 -> b
    1025:1025:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1019 -> b
    1026:1027:boolean isPinned(com.android.tools.r8.graph.DexReference):1129:1130 -> b
    1028:1028:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> b
    1028:1028:boolean isPinned(com.android.tools.r8.graph.DexReference):1130 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1029:1029:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> b
    1029:1029:boolean isPinned(com.android.tools.r8.graph.DexReference):1130 -> b
    1030:1030:void lambda$prunedCopyFrom$13(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):1179:1179 -> b
    1031:1031:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1189:1189 -> b
    1032:1036:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):278:282 -> b
    1032:1036:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1189 -> b
    1037:1037:java.util.Collection com.android.tools.r8.utils.CollectionUtils.addAll(java.util.Collection,java.util.Collection):17:17 -> b
    1037:1037:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):282 -> b
    1037:1037:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1189 -> b
    1038:1038:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):282:282 -> b
    1038:1038:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1189 -> b
    1039:1039:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):276:276 -> b
    1039:1039:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1189 -> b
    1040:1040:com.android.tools.r8.shaking.ProguardMemberRule lambda$rewrittenWithLens$16(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexMember,java.util.List):1233:1233 -> b
    1041:1041:void forEachReferencedClasspathClass(java.util.function.Consumer):1487:1487 -> b
    1042:1046:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1518:1522 -> b
    1047:1047:boolean com.android.tools.r8.graph.DexEncodedMethod.isProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):365:365 -> b
    1047:1047:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1523 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1048:1050:boolean com.android.tools.r8.graph.DexEncodedMethod.isProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):365:367 -> b
    1048:1050:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1523 -> b
    1051:1055:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1523:1527 -> b
    1:3:boolean lambda$pruneMembers$0(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember):394:396 -> c
    4:9:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):526:531 -> c
    10:11:boolean isNeverReprocessMethod(com.android.tools.r8.graph.ProgramMethod):784:785 -> c
    12:12:void mutateObjectAllocationInfoCollection(java.util.function.Consumer):910:910 -> c
    13:14:boolean isInstantiatedIndirectly(com.android.tools.r8.graph.DexProgramClass):926:927 -> c
    15:16:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):969:970 -> c
    17:17:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():891:891 -> c
    17:17:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):971 -> c
    18:18:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> c
    18:18:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):971 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):972:972 -> c
    20:20:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1067:1067 -> c
    20:20:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):977 -> c
    21:21:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> c
    21:21:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1068 -> c
    21:21:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):977 -> c
    22:22:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> c
    22:22:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1068 -> c
    22:22:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):977 -> c
    23:38:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1167:1182 -> c
    39:43:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):322:326 -> c
    39:43:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    44:44:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):369:369 -> c
    44:44:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):327 -> c
    44:44:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    45:45:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):327:327 -> c
    45:45:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    46:46:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    46:46:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):328 -> c
    46:46:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    47:47:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):328:328 -> c
    47:47:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    48:48:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    48:48:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):329 -> c
    48:48:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    49:49:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):329:329 -> c
    49:49:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    50:50:java.util.Set pruneFields(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):377:377 -> c
    50:50:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):330 -> c
    50:50:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    51:51:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):330:330 -> c
    51:51:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    52:52:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    52:52:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):331 -> c
    52:52:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    53:53:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):331:331 -> c
    53:53:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    54:54:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    54:54:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):332 -> c
    54:54:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    55:55:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):332:332 -> c
    55:55:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    56:56:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    56:56:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):334 -> c
    56:56:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    57:65:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):334:342 -> c
    57:65:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    66:66:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    66:66:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):343 -> c
    66:66:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    67:67:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):343:343 -> c
    67:67:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    68:68:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    68:68:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):344 -> c
    68:68:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    69:69:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):344:344 -> c
    69:69:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    70:70:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    70:70:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):345 -> c
    70:70:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    71:71:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):345:345 -> c
    71:71:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    72:72:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    72:72:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):346 -> c
    72:72:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    73:73:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):346:346 -> c
    73:73:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    74:74:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):412:412 -> c
    74:74:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):347 -> c
    74:74:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    75:75:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):347:347 -> c
    75:75:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    76:76:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):369:369 -> c
    76:76:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):349 -> c
    76:76:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    77:77:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):349:349 -> c
    77:77:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    78:78:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):369:369 -> c
    78:78:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):350 -> c
    78:78:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    79:79:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):350:350 -> c
    79:79:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    80:80:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):369:369 -> c
    80:80:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):351 -> c
    80:80:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    81:81:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):351:351 -> c
    81:81:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    82:82:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):369:369 -> c
    82:82:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):352 -> c
    82:82:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    83:88:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):352:357 -> c
    83:88:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    89:89:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):369:369 -> c
    89:89:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):359 -> c
    89:89:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    90:90:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):359:359 -> c
    90:90:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    91:91:java.util.Map pruneMapFromClasses(java.util.Map,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):438:438 -> c
    91:91:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):360 -> c
    91:91:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    92:92:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):360:360 -> c
    92:92:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    93:93:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):321:321 -> c
    93:93:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1182 -> c
    94:94:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1184:1184 -> c
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getSwitchMap(com.android.tools.r8.graph.DexField):885:886 -> d
    3:4:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1004:1005 -> d
    5:5:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1020,"2":1021,"3":1022}}
    1020:1020:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1005:1005 -> d
    1021:1021:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1005:1005 -> d
    1022:1022:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1005:1005 -> d
    1010:1011:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1005:1006 -> d
    1012:1012:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():891:891 -> d
    1012:1012:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1009 -> d
    1013:1013:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1009:1009 -> d
    1014:1014:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> d
    1014:1014:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1009 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1015:1019:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1010:1014 -> d
    1023:1024:boolean isInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):1072:1073 -> d
    1:6:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):653:658 -> e
    7:7:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> e
    7:7:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):658 -> e
    8:8:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isVivifiedType(com.android.tools.r8.graph.DexType):133:133 -> e
    8:8:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):660 -> e
    9:9:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):654:654 -> e
    10:10:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":665,"2":666,"3":667,"4":668,"5":669}}
    665:665:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):654:654 -> e
    666:666:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):654:654 -> e
    667:667:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):654:654 -> e
    668:668:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):654:654 -> e
    669:669:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):654:654 -> e
    664:664:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):654:654 -> e
    670:670:boolean isLiveProgramClass(com.android.tools.r8.graph.DexProgramClass):692:692 -> e
    671:671:boolean isAlwaysInlineMethod(com.android.tools.r8.graph.DexMethod):744:744 -> e
    672:673:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):936:937 -> e
    674:674:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():891:891 -> e
    674:674:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):938 -> e
    675:675:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> e
    675:675:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):938 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    676:676:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):940:940 -> e
    677:677:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1157:1157 -> e
    677:677:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):945 -> e
    678:678:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):945:945 -> e
    679:679:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):122:122 -> e
    679:679:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):945 -> e
    680:680:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramField():60:60 -> e
    680:680:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):124 -> e
    680:680:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):945 -> e
    681:682:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):126:127 -> e
    681:682:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):945 -> e
    683:683:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):945:945 -> e
    684:688:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexField):1044:1048 -> e
    1:1:boolean isFailedResolutionTarget(com.android.tools.r8.graph.DexMethod):720:720 -> f
    2:3:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1023:1024 -> f
    4:4:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1032,"2":1033,"3":1034}}
    1032:1032:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1024:1024 -> f
    1033:1033:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1024:1024 -> f
    1034:1034:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1024:1024 -> f
    1028:1031:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1024:1027 -> f
    1035:1045:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$20(com.android.tools.r8.graph.DexProgramClass):1552:1562 -> f
    1:1:boolean isLiveMethod(com.android.tools.r8.graph.DexMethod):712:712 -> g
    2:2:void lambda$verifyNoIteratingOverPrunedClasses$22(com.android.tools.r8.graph.DexProgramClass):1586:1586 -> g
    1:1:boolean isTargetedMethod(com.android.tools.r8.graph.DexMethod):716:716 -> h
    2:6:boolean hasPinnedInstanceInitializer(com.android.tools.r8.graph.DexType):1144:1148 -> h
    1:1:boolean isWhyAreYouNotInliningMethod(com.android.tools.r8.graph.DexMethod):776:776 -> i
    2:2:boolean isLockCandidate(com.android.tools.r8.graph.DexType):877:877 -> i
    3:3:boolean hasLiveness():1078:1078 -> i
    1:5:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1055:1059 -> j
    6:6:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1157:1157 -> j
    6:6:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1060 -> j
    7:7:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1060:1060 -> j
    8:8:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):109:109 -> j
    8:8:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1060 -> j
    9:9:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramMethod():55:55 -> j
    9:9:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):111 -> j
    9:9:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1060 -> j
    10:11:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):113:114 -> j
    10:11:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1060 -> j
    12:12:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1060:1060 -> j
    13:13:boolean isNoHorizontalClassMergingOfType(com.android.tools.r8.graph.DexType):1574:1574 -> j
    1:1:boolean isNoVerticalClassMergingOfType(com.android.tools.r8.graph.DexType):1579:1579 -> k
    1:8:boolean isNonProgramTypeOrLiveProgramType(com.android.tools.r8.graph.DexType):701:708 -> l
    boolean lambda$lookupSingleVirtualTarget$18(com.android.tools.r8.graph.DexType) -> m
    1:22:boolean mayHaveFinalizer(com.android.tools.r8.graph.DexType):1548:1569 -> n
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():1084:1084 -> o
    2:3:boolean wasPruned(com.android.tools.r8.graph.DexType):1278:1279 -> o
    1:1:com.android.tools.r8.graph.SubtypingInfo computeSubtypingInfo():1531:1531 -> r
    1:1:java.util.Set getDeadProtoTypes():881:881 -> s
    1:1:java.util.Set getFailedFieldResolutionTargets():728:728 -> t
    1:1:java.util.Set getFailedMethodResolutionTargets():724:724 -> u
    1:1:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():891:891 -> v
    1:1:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1157:1157 -> w
    1:1:com.android.tools.r8.graph.MethodAccessInfoCollection getMethodAccessInfoCollection():900:900 -> x
    1:1:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl getMutableFieldAccessInfoCollection():895:895 -> y
    1:1:com.android.tools.r8.graph.ObjectAllocationInfoCollection getObjectAllocationInfoCollection():905:905 -> z
com.android.tools.r8.shaking.AppInfoWithLivenessModifier -> com.android.tools.r8.shaking.i:
    java.util.Set noLongerInstantiatedClasses -> a
    java.util.Set noLongerWrittenFields -> b
    1:1:void <init>():20:20 -> <init>
    2:3:void <init>():17:18 -> <init>
    1:1:boolean isEmpty():23:23 -> a
    2:2:void removeInstantiatedType(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
    3:3:void removeWrittenField(com.android.tools.r8.graph.DexField):31:31 -> a
    4:10:void modify(com.android.tools.r8.shaking.AppInfoWithLiveness):36:42 -> a
    11:11:void clear():54:54 -> a
    11:11:void modify(com.android.tools.r8.shaking.AppInfoWithLiveness):50 -> a
    12:12:void lambda$modify$0(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder):38:38 -> a
    13:15:void lambda$modify$1(com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.DexField):44:46 -> a
com.android.tools.r8.shaking.ClassInitFieldSynthesizer -> com.android.tools.r8.internal.O9:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexField clinitField -> b
    com.android.tools.r8.graph.InitClassLens$Builder lensBuilder -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):29:29 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):27:31 -> <init>
    1:3:void run(java.util.concurrent.ExecutorService):35:35 -> a
    5:5:void run(java.util.concurrent.ExecutorService):37:37 -> a
    6:15:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):41:50 -> a
    16:16:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    16:16:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):98 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    17:17:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    17:17:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):98 -> a
    17:17:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    18:26:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):101:109 -> a
    18:26:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    27:27:boolean com.android.tools.r8.graph.DexEncodedField.isPackagePrivate():217:217 -> a
    27:27:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):105 -> a
    27:27:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    28:28:boolean com.android.tools.r8.graph.DexEncodedField.isProtected():221:221 -> a
    28:28:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):105 -> a
    28:28:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    29:29:boolean com.android.tools.r8.graph.DexEncodedField.isProtected():221:221 -> a
    29:29:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):103 -> a
    29:29:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    30:38:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):59:67 -> a
    39:39:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    39:39:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):71 -> a
    40:50:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):77:87 -> a
    51:60:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):84:93 -> a
com.android.tools.r8.shaking.ClassInitFieldSynthesizer$1 -> com.android.tools.r8.internal.N9:
    int[] $SwitchMap$com$android$tools$r8$utils$Visibility -> a
    1:1:void <clinit>():101:101 -> <clinit>
com.android.tools.r8.shaking.ClassInlineRule -> com.android.tools.r8.shaking.k:
    com.android.tools.r8.shaking.ClassInlineRule$Type type -> r
    int $r8$clinit -> s
    1:15:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ClassInlineRule$Type):73:87 -> <init>
    1:7:java.lang.String typeString():110:116 -> C
    8:8:java.lang.String typeString():0:0 -> C
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":126,"2":127,"3":128}}
    126:126:java.lang.String typeString():116:116 -> C
    127:127:java.lang.String typeString():116:116 -> C
    128:128:java.lang.String typeString():116:116 -> C
    124:124:java.lang.String typeString():116:116 -> C
    125:125:java.lang.String typeString():112:112 -> C
    1:1:com.android.tools.r8.shaking.ClassInlineRule$Type getType():95:95 -> D
    com.android.tools.r8.shaking.ClassInlineRule asClassInlineRule() -> q
com.android.tools.r8.shaking.ClassInlineRule$Builder -> com.android.tools.r8.shaking.j:
    com.android.tools.r8.shaking.ClassInlineRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.ClassInlineRule$1):18:18 -> <init>
    2:2:void <init>():21:21 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ClassInlineRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.da:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.shaking.CollectingGraphConsumer -> com.android.tools.r8.internal.Tb:
    java.util.Map target2sources -> b
    com.android.tools.r8.experimental.graphinfo.GraphConsumer subConsumer -> a
    1:1:void <init>(com.android.tools.r8.experimental.graphinfo.GraphConsumer):23:23 -> <init>
    2:5:void <init>(com.android.tools.r8.experimental.graphinfo.GraphConsumer):21:24 -> <init>
    1:1:java.util.Set getTargets():39:39 -> a
    2:2:java.util.Map getSourcesTargeting(com.android.tools.r8.experimental.graphinfo.GraphNode):43:43 -> a
    1:6:void acceptEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo):29:34 -> acceptEdge
    1:1:java.util.Map lambda$acceptEdge$0(com.android.tools.r8.experimental.graphinfo.GraphNode):30:30 -> b
    1:1:java.util.Set lambda$acceptEdge$1(com.android.tools.r8.experimental.graphinfo.GraphNode):31:31 -> c
com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry -> com.android.tools.r8.shaking.l:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> f
    com.android.tools.r8.graph.AppView appView -> e
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> g
    com.android.tools.r8.androidapi.ComputedApiLevel maxApiReferenceLevel -> h
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.androidapi.AndroidApiLevelCompute):39:43 -> <init>
    1:2:void registerRecordFieldValues(com.android.tools.r8.graph.DexField[]):61:62 -> a
    3:4:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):73:74 -> a
    5:6:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):97:98 -> a
    7:7:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):159:159 -> a
    8:8:void registerCheckCast(com.android.tools.r8.graph.DexType,boolean):164:164 -> a
    9:10:void registerExceptionGuard(com.android.tools.r8.graph.DexType):184:185 -> a
    11:12:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):190:191 -> a
    13:15:void registerCallSite(com.android.tools.r8.graph.DexCallSite):196:198 -> a
    16:16:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):210:210 -> a
    16:16:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    17:17:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    17:17:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):211 -> a
    17:17:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    18:18:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):211:211 -> a
    18:18:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    19:19:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    19:19:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):212 -> a
    19:19:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    20:22:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):212:214 -> a
    20:22:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    23:23:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    23:23:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):214 -> a
    23:23:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    24:27:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):214:217 -> a
    24:27:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    28:29:void registerInstanceFieldReadFromRecordMethodHandle(com.android.tools.r8.graph.DexField):108:109 -> a
    28:29:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):218 -> a
    28:29:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    30:32:void registerCallSite(com.android.tools.r8.graph.DexCallSite):201:203 -> a
    33:36:void setMaxApiReferenceLevel(com.android.tools.r8.graph.DexReference):224:227 -> a
    37:37:void setMaxApiReferenceLevel(com.android.tools.r8.graph.DexReference):226:226 -> a
    38:38:void setMaxApiReferenceLevel(com.android.tools.r8.graph.DexReference):225:225 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):56:56 -> b
    2:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):85:86 -> b
    4:5:void registerInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField):103:104 -> b
    1:2:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):114:115 -> c
    3:3:void registerInstanceOf(com.android.tools.r8.graph.DexType):179:179 -> c
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):79:80 -> d
    3:4:void registerInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):120:121 -> d
    5:6:void registerNewInstance(com.android.tools.r8.graph.DexType):126:127 -> d
    1:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):132:133 -> e
    3:3:void registerSafeCheckCast(com.android.tools.r8.graph.DexType):169:169 -> e
    1:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):91:92 -> f
    3:4:void registerStaticFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField):138:139 -> f
    5:5:void registerTypeReference(com.android.tools.r8.graph.DexType):174:174 -> f
    6:6:com.android.tools.r8.androidapi.ComputedApiLevel getMaxApiReferenceLevel():231:231 -> f
    1:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):67:68 -> g
    3:4:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):144:145 -> g
    1:2:void registerStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):150:151 -> h
com.android.tools.r8.shaking.DefaultTreePrunerConfiguration -> com.android.tools.r8.internal.Te:
    com.android.tools.r8.shaking.DefaultTreePrunerConfiguration INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    1:1:com.android.tools.r8.shaking.DefaultTreePrunerConfiguration getInstance():17:17 -> a
    2:2:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):22:22 -> a
com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction -> com.android.tools.r8.shaking.m:
    java.util.function.Consumer action -> c
    com.android.tools.r8.graph.ProgramMethod singleTarget -> b
    com.android.tools.r8.graph.ProgramMethod methodToKeep -> a
    1:1:void com.android.tools.r8.shaking.DelayedRootSetActionItem.<init>():11:11 -> <init>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):27 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):28:30 -> <init>
    1:1:java.util.function.Consumer getAction():42:42 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getMethodToKeep():34:34 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod getSingleTarget():38:38 -> c
com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection -> com.android.tools.r8.internal.We:
    java.util.Map dependentMinimumKeepInfo -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():29:29 -> <clinit>
    1:2:void <init>():33:34 -> <init>
    1:1:void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.utils.TriConsumer):46:46 -> a
    2:2:void lambda$forEach$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):48:48 -> a
    3:3:void lambda$forEach$0(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):51:51 -> a
    4:4:void lambda$forEach$1(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):53:53 -> a
    5:5:void lambda$forEach$2(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):55:55 -> a
    6:8:com.android.tools.r8.shaking.MinimumKeepInfoCollection getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent):63:63 -> a
    9:9:com.android.tools.r8.shaking.KeepInfo$Joiner getOrCreateUnconditionalMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference):78:78 -> a
    10:11:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:70 -> a
    10:11:com.android.tools.r8.shaking.KeepInfo$Joiner getOrCreateUnconditionalMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference):78 -> a
    12:12:com.android.tools.r8.shaking.MinimumKeepInfoCollection getOrDefault(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):83:83 -> a
    13:13:void merge(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):92:92 -> a
    14:14:void com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):38:38 -> a
    14:14:void merge(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):92 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):38:38 -> a
    15:15:void merge(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):92 -> a
    16:16:void lambda$merge$4(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):94:94 -> a
    17:17:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):98:98 -> a
    18:25:boolean lambda$pruneDeadItems$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):102:109 -> a
    26:26:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> a
    26:26:boolean lambda$pruneDeadItems$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):109 -> a
    27:36:boolean lambda$pruneDeadItems$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):109:118 -> a
    37:37:com.android.tools.r8.shaking.KeepClassInfo$Joiner lambda$remove$6(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.MinimumKeepInfoCollection):127:127 -> a
    38:38:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127:127 -> a
    39:39:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.get(com.android.tools.r8.shaking.EnqueuerEvent):59:59 -> a
    39:39:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):140 -> a
    39:39:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127 -> a
    40:42:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):144:146 -> a
    40:42:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127 -> a
    43:43:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127:127 -> a
    44:44:com.android.tools.r8.shaking.KeepFieldInfo$Joiner lambda$remove$7(com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.MinimumKeepInfoCollection):131:131 -> a
    45:45:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131:131 -> a
    46:46:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.get(com.android.tools.r8.shaking.EnqueuerEvent):59:59 -> a
    46:46:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):140 -> a
    46:46:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131 -> a
    47:49:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):144:146 -> a
    47:49:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131 -> a
    50:50:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131:131 -> a
    51:51:com.android.tools.r8.shaking.KeepMethodInfo$Joiner lambda$remove$8(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.MinimumKeepInfoCollection):135:135 -> a
    52:52:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135:135 -> a
    53:53:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.get(com.android.tools.r8.shaking.EnqueuerEvent):59:59 -> a
    53:53:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):140 -> a
    53:53:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135 -> a
    54:56:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):144:146 -> a
    54:56:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135 -> a
    57:57:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135:135 -> a
    58:60:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):152:154 -> a
    61:61:void com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):38:38 -> a
    61:61:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):154 -> a
    62:63:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):156:157 -> a
    64:64:boolean com.android.tools.r8.shaking.EnqueuerEvent.isNoSuchEvent():0:0 -> a
    64:64:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):157 -> a
    65:66:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):159:160 -> a
    1:1:com.android.tools.r8.shaking.MinimumKeepInfoCollection remove(com.android.tools.r8.shaking.EnqueuerEvent):123:123 -> b
com.android.tools.r8.shaking.DexStringCache -> com.android.tools.r8.shaking.n:
    java.util.concurrent.ConcurrentHashMap stringCache -> a
    1:2:void <init>():9:10 -> <init>
    1:1:java.lang.String lookupString(com.android.tools.r8.graph.DexString):13:13 -> a
com.android.tools.r8.shaking.DiscardedChecker -> com.android.tools.r8.internal.jh:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    java.util.List failed -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.DiscardedChecker$1):18:18 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):25:25 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView):23:27 -> <init>
    1:1:com.android.tools.r8.shaking.DiscardedChecker create(com.android.tools.r8.graph.AppView):31:31 -> a
    2:10:java.util.List run(java.lang.Iterable,java.util.concurrent.ExecutorService):54:62 -> a
    11:11:int lambda$run$0(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):60:60 -> a
    12:13:void checkClassAndMembers(com.android.tools.r8.graph.DexProgramClass):72:73 -> a
    14:18:boolean check(com.android.tools.r8.graph.ProgramDefinition):79:83 -> a
    1:2:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):38:39 -> b
    3:3:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> b
    3:3:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):40 -> b
    4:4:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> b
    4:4:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):40 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):41:41 -> b
    6:6:boolean isCheckDiscardedEnabled(com.android.tools.r8.graph.ProgramDefinition):66:66 -> b
com.android.tools.r8.shaking.DiscardedChecker$1 -> com.android.tools.r8.internal.ih:
    com.android.tools.r8.shaking.MinimumKeepInfoCollection val$unconditionalKeepInfo -> e
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MinimumKeepInfoCollection):41:41 -> <init>
    1:3:boolean isCheckDiscardedEnabled(com.android.tools.r8.graph.ProgramDefinition):45:45 -> b
com.android.tools.r8.shaking.Enqueuer -> com.android.tools.r8.shaking.t:
    com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason indirectlyInitializedInterfaces -> D
    java.util.Map initClassReferences -> a0
    java.util.Map deferredAnnotations -> c0
    java.util.Set lockCandidates -> Z
    com.android.tools.r8.shaking.EnqueuerUseRegistryFactory useRegistryFactory -> o
    com.android.tools.r8.utils.collections.ProgramMethodSet pendingCodeDesugaring -> i0
    com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason liveTypes -> z
    java.util.Set interfacesTransitionedToInstantiated -> A
    com.android.tools.r8.utils.collections.ProgramMethodMap pendingMethodMoveInverse -> k0
    com.android.tools.r8.shaking.AnnotationRemover$Builder annotationRemoverBuilder -> p
    java.util.Map superInvokeDependencies -> w
    java.util.Set exceptionGuardAnalyses -> g
    com.android.tools.r8.utils.InternalOptions options -> m
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> l
    java.util.Set initialPrunedTypes -> J
    java.util.Set analyses -> c
    java.util.Map syntheticInterfaceMethodBridges -> m0
    com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder methodAccessInfoCollection -> s
    com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet liveFields -> S
    java.util.Set referencedNonProgramTypes -> F
    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder objectAllocationInfoCollection -> t
    com.android.tools.r8.utils.collections.ProgramMethodSet pendingReflectiveUses -> V
    com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet targetedMethods -> M
    java.util.Map activeIfRules -> e0
    com.android.tools.r8.shaking.RootSetUtils$RootSet rootSet -> n
    java.util.Set failedMethodResolutionTargets -> N
    com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection keepInfo -> X
    com.android.tools.r8.shaking.MissingClasses$Builder missingClassesBuilder -> H
    java.util.Map reachableVirtualTargets -> W
    java.util.Map reachableInstanceFields -> x
    java.util.Set deadProtoTypeCandidates -> G
    java.util.Set checkCastAnalyses -> h
    java.util.Set fieldAccessAnalyses -> d
    java.util.Set failedFieldResolutionTargets -> O
    boolean $assertionsDisabled -> n0
    boolean forceProguardCompatibility -> a
    java.util.Set noClassMerging -> K
    com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason initializedClasses -> B
    java.util.Map synthesizingContexts -> y
    com.android.tools.r8.utils.collections.ProgramMethodSet pendingMethodMove -> j0
    java.util.Map callSites -> u
    com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder proguardCompatibilityActionsBuilder -> U
    com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection dependentMinimumKeepInfo -> Y
    java.util.concurrent.ExecutorService executorService -> k
    java.util.Set invokeAnalyses -> e
    java.util.Set bootstrapMethods -> P
    java.util.Set recordFieldValuesReferences -> b0
    java.util.Map unusedInterfaceTypes -> L
    java.util.Map deferredParameterAnnotations -> d0
    com.android.tools.r8.shaking.EnqueuerWorklist workList -> T
    java.util.Map scopedMethodsForLiveTypes -> f0
    com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection desugaring -> h0
    com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason directlyInitializedInterfaces -> C
    com.android.tools.r8.ir.desugar.itf.InterfaceProcessor interfaceProcessor -> l0
    com.android.tools.r8.shaking.GraphReporter graphReporter -> g0
    java.util.Set identifierNameStrings -> v
    com.android.tools.r8.graph.AppView appView -> j
    com.android.tools.r8.graph.FieldAccessInfoCollectionImpl fieldAccessInfoCollection -> r
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> i
    java.util.Set initialDeadProtoTypes -> I
    com.android.tools.r8.shaking.Enqueuer$Mode mode -> b
    java.util.Set liveNonProgramTypes -> E
    java.util.Set instanceOfAnalyses -> f
    com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> q
    java.util.Set virtualMethodsTargetedByInvokeDirect -> Q
    com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet liveMethods -> R
    1:1:void <clinit>():193:193 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):460:460 -> <init>
    2:3953:void <init>(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):239:4190 -> <init>
    3954:4000:void <init>(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):461:507 -> <init>
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    1:1:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4742 -> a
    2:7:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4743:4748 -> a
    8:8:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    8:8:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4748 -> a
    9:17:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4753:4761 -> a
    18:18:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    18:18:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4765 -> a
    19:19:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4766:4766 -> a
    20:20:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    20:20:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4767 -> a
    21:36:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4768:4783 -> a
    37:37:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    37:37:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4784 -> a
    38:38:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4785:4785 -> a
    39:39:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    39:39:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4785 -> a
    40:44:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4794:4798 -> a
    45:45:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> a
    45:45:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2953 -> a
    46:48:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2956:2958 -> a
    49:49:boolean com.android.tools.r8.shaking.EnqueuerEvent.isLiveClassEvent():0:0 -> a
    49:49:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2962 -> a
    50:50:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2963:2963 -> a
    51:51:boolean com.android.tools.r8.shaking.EnqueuerEvent.isInstantiatedClassEvent():0:0 -> a
    51:51:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2965 -> a
    52:52:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2966:2966 -> a
    53:54:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):98:99 -> a
    53:54:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2966 -> a
    55:55:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2969:2969 -> a
    com.android.tools.r8.shaking.KeepReason lambda$keepClassAndAllMembers$54(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness) -> a
    com.android.tools.r8.graph.DexApplication lambda$postProcessingDesugaring$110(com.android.tools.r8.graph.DexApplication) -> a
    56:56:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    56:56:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    57:57:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    58:58:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder access$1000(com.android.tools.r8.shaking.Enqueuer):193:193 -> a
    59:59:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):193:193 -> a
    60:63:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2809:2812 -> a
    60:63:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):193 -> a
    64:64:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    64:64:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2813 -> a
    64:64:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):193 -> a
    65:65:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2817:2817 -> a
    65:65:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):193 -> a
    66:66:void access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):193:193 -> a
    67:68:void recordFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):650:651 -> a
    67:68:void access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):193 -> a
    69:69:com.android.tools.r8.graph.DexProgramClass access$1700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):193:193 -> a
    70:70:com.android.tools.r8.graph.DexProgramClass getProgramHolderOrNull(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):781:781 -> a
    70:70:com.android.tools.r8.graph.DexProgramClass access$1700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):193 -> a
    71:71:void access$1900(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):193:193 -> a
    72:72:void access$2100(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):193:193 -> a
    73:73:void access$2200(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDerivedContext):193:193 -> a
    74:74:void access$2300(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):193:193 -> a
    75:75:void access$2400(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):193:193 -> a
    76:76:void access$2700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):193:193 -> a
    77:77:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    77:77:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1244 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    78:78:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    78:78:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1244 -> a
    79:81:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1244:1246 -> a
    82:82:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.methodHandleReferencedIn(com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    82:82:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1248 -> a
    83:83:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    83:83:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1249 -> a
    84:88:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1250:1254 -> a
    89:89:void lambda$new$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):487:487 -> a
    90:90:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> a
    90:90:void lambda$new$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):487 -> a
    91:91:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory lambda$createUseRegistryFactory$1(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):525:525 -> a
    92:92:com.android.tools.r8.shaking.Enqueuer registerFieldAccessAnalysis(com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):540:540 -> a
    93:93:com.android.tools.r8.shaking.Enqueuer registerInvokeAnalysis(com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):545:545 -> a
    94:94:com.android.tools.r8.shaking.Enqueuer registerCheckCastAnalysis(com.android.tools.r8.graph.analysis.EnqueuerCheckCastAnalysis):555:555 -> a
    95:95:void setAnnotationRemoverBuilder(com.android.tools.r8.shaking.AnnotationRemover$Builder):565:565 -> a
    96:96:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):579:579 -> a
    97:97:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):586:586 -> a
    97:97:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):581 -> a
    98:98:boolean addLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):590:590 -> a
    99:102:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):623:626 -> a
    103:108:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:684 -> a
    103:108:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> a
    103:108:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):630 -> a
    109:109:void recordMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDerivedContext):634:634 -> a
    110:113:void recordMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):642:645 -> a
    114:114:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):663:663 -> a
    115:120:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:684 -> a
    115:120:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> a
    115:120:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):663 -> a
    121:121:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:679 -> a
    121:121:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> a
    121:121:com.android.tools.r8.graph.DexClass access$2500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):193 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    122:127:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:684 -> a
    122:127:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> a
    122:127:com.android.tools.r8.graph.DexClass access$2500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):193 -> a
    128:133:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,boolean):718:723 -> a
    134:138:void handleLibraryTypeInheritingFromProgramType(com.android.tools.r8.graph.DexLibraryClass):796:800 -> a
    134:138:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,boolean):723 -> a
    139:163:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,boolean):725:749 -> a
    164:164:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,boolean):747:747 -> a
    165:166:void lambda$processNewLiveNonProgramType$2(java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndField):728:729 -> a
    167:167:void lambda$processNewLiveNonProgramType$2(java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndField):727:727 -> a
    168:170:void lambda$processNewLiveNonProgramType$3(java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndMethod):734:736 -> a
    171:177:void lambda$processNewLiveNonProgramType$3(java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndMethod):735:741 -> a
    178:188:void addNonProgramClassToWorklist(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryDefinition,java.util.function.Consumer,java.util.function.BiConsumer):760:770 -> a
    189:189:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):865:865 -> a
    190:190:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    190:190:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):866 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    191:191:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    191:191:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):866 -> a
    192:196:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):867:871 -> a
    197:197:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    197:197:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    197:197:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):872 -> a
    198:202:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):873:877 -> a
    203:207:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):875:879 -> a
    208:208:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):848:848 -> a
    208:208:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):879 -> a
    209:209:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isExternalizable(com.android.tools.r8.graph.DexType):440:440 -> a
    209:209:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):848 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    209:209:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):879 -> a
    210:210:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isExternalizable(com.android.tools.r8.graph.DexType):440:440 -> a
    210:210:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):848 -> a
    210:210:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):879 -> a
    211:213:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):880:882 -> a
    214:214:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    214:214:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    214:214:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):881 -> a
    215:215:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    215:215:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):881 -> a
    216:218:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):890:892 -> a
    216:218:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    219:219:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    219:219:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    219:219:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    220:220:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895:895 -> a
    220:220:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    221:221:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):894:894 -> a
    221:221:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    222:222:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:892 -> a
    222:222:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    223:225:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):902:904 -> a
    223:225:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    226:226:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    226:226:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):907 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    226:226:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    227:227:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):907:907 -> a
    227:227:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    228:228:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):906:906 -> a
    228:228:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    229:229:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):904:904 -> a
    229:229:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    230:233:boolean registerMethodWithTargetAndContext(java.util.function.BiPredicate,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):946:949 -> a
    234:234:boolean registerFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):955:955 -> a
    234:234:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1482 -> a
    235:235:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1486:1486 -> a
    236:236:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> a
    236:236:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1487 -> a
    237:237:boolean registerFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):963:963 -> a
    237:237:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1544 -> a
    238:238:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1548:1548 -> a
    239:239:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> a
    239:239:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1549 -> a
    240:241:boolean registerReflectiveFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):971:972 -> a
    242:273:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,boolean):978:1009 -> a
    274:274:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015:1015 -> a
    275:275:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    275:275:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    276:276:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    276:276:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
    277:277:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015:1015 -> a
    278:281:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):281:284 -> a
    278:281:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
    282:282:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> a
    282:282:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    282:282:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
    283:283:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):908:908 -> a
    283:283:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
    283:283:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
    284:285:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1016:1017 -> a
    286:286:com.android.tools.r8.graph.DexProgramClass getProgramHolderOrNull(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):781:781 -> a
    286:286:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1017 -> a
    287:291:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1019:1023 -> a
    292:292:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    292:292:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1025 -> a
    293:294:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1025:1026 -> a
    295:295:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    295:295:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    296:296:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1027:1027 -> a
    297:297:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    297:297:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1028 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    298:298:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    298:298:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1028 -> a
    299:299:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029:1029 -> a
    300:300:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.methodHandleReferencedIn(com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    300:300:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1075 -> a
    300:300:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029 -> a
    301:305:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1075:1079 -> a
    301:305:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029 -> a
    306:306:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    306:306:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    306:306:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1077 -> a
    306:306:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029 -> a
    307:307:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    307:307:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1077 -> a
    307:307:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029 -> a
    308:308:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1036:1036 -> a
    309:309:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2522:2522 -> a
    309:309:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    310:313:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2529:2532 -> a
    310:313:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    310:313:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    314:314:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":384,"2":385,"3":386}}
    384:384:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2532:2532 -> a
    384:384:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    384:384:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    385:385:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2532:2532 -> a
    385:385:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    385:385:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    386:386:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2532:2532 -> a
    386:386:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    386:386:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    315:315:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":388,"2":389,"3":390,"4":391}}
    388:388:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2534:2534 -> a
    388:388:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    388:388:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    389:389:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2534:2534 -> a
    389:389:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    389:389:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    390:390:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2534:2534 -> a
    390:390:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    390:390:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    391:391:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2534:2534 -> a
    391:391:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    391:391:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    316:321:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2535:2540 -> a
    316:321:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    316:321:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    322:322:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":397,"2":398,"3":399}}
    397:397:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2540:2540 -> a
    397:397:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    397:397:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    398:398:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2540:2540 -> a
    398:398:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    398:398:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    399:399:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2540:2540 -> a
    399:399:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    399:399:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    323:323:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":403,"2":404,"3":405,"4":406}}
    403:403:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2544:2544 -> a
    403:403:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    403:403:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    404:404:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2544:2544 -> a
    404:404:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    404:404:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    405:405:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2544:2544 -> a
    405:405:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    405:405:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    406:406:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2544:2544 -> a
    406:406:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    406:406:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    324:325:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2546:2547 -> a
    324:325:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    324:325:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    326:326:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2524:2524 -> a
    326:326:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    327:327:com.android.tools.r8.shaking.InstantiatedObject com.android.tools.r8.shaking.InstantiatedObject.of(com.android.tools.r8.ir.desugar.LambdaDescriptor):17:17 -> a
    327:327:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2554 -> a
    327:327:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1039 -> a
    328:328:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2554:2554 -> a
    328:328:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1039 -> a
    329:329:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2553:2553 -> a
    329:329:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1039 -> a
    330:357:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1040:1067 -> a
    358:358:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    358:358:void traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1325 -> a
    358:358:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1055 -> a
    359:359:void traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1325:1325 -> a
    359:359:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1055 -> a
    360:360:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    360:360:void traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1304 -> a
    360:360:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1061 -> a
    361:361:void traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1304:1304 -> a
    361:361:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1061 -> a
    362:362:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064:1064 -> a
    363:363:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443:1443 -> a
    363:363:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    364:364:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    364:364:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1444 -> a
    364:364:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    365:365:void 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):1452:1452 -> a
    365:365:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443 -> a
    365:365:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    366:366:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    366:366:void 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):1454 -> a
    366:366:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443 -> a
    366:366:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    367:370:void 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):1454:1457 -> a
    367:370:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443 -> a
    367:370:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    371:371:void 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):1455:1455 -> a
    371:371:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443 -> a
    371:371:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    372:372:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    372:372:void traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1401 -> a
    372:372:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1058 -> a
    373:373:void traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1401:1401 -> a
    373:373:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1058 -> a
    374:374:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    374:374:void traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1346 -> a
    374:374:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1052 -> a
    375:375:void traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1346:1346 -> a
    375:375:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1052 -> a
    376:376:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.methodHandleReferencedIn(com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    376:376:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1075 -> a
    376:376:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1070 -> a
    377:381:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1075:1079 -> a
    377:381:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1070 -> a
    382:382:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    382:382:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    382:382:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1077 -> a
    382:382:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1070 -> a
    383:383:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    383:383:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1077 -> a
    383:383:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1070 -> a
    407:407:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$traceCallSite$6(com.android.tools.r8.graph.DexCallSite):1040:1040 -> a
    408:408:void lambda$traceCallSite$7(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):1041:1041 -> a
    409:409:void lambda$traceCheckCast$8(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerCheckCastAnalysis):1084:1084 -> a
    410:414:void handleLockCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1108:1112 -> a
    410:414:void traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator,boolean):1098 -> a
    415:415:void traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator,boolean):1099:1099 -> a
    416:428:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1128:1140 -> a
    429:429:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    429:429:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1141 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    430:430:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1634:1634 -> a
    430:430:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1141 -> a
    431:438:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1141:1148 -> a
    439:439:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1133:1133 -> a
    440:440:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    440:440:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1133 -> a
    441:441:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1134:1134 -> a
    442:442:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    442:442:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1134 -> a
    443:443:com.android.tools.r8.shaking.KeepReason lambda$internalTraceConstClassOrCheckCast$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):1165:1165 -> a
    444:444:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1262:1262 -> a
    444:444:void internalTraceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):1155 -> a
    445:453:void internalTraceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):1156:1164 -> a
    454:454:void lambda$traceInvokeDirect$14(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1280:1280 -> a
    455:457:boolean registerDeferredActionForDeadProtoBuilder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action):1292:1294 -> a
    458:458:java.lang.Boolean lambda$registerDeferredActionForDeadProtoBuilder$16(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):1296:1296 -> a
    459:459:boolean lambda$registerDeferredActionForDeadProtoBuilder$15(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.Action):1297:1297 -> a
    460:465:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1309:1314 -> a
    466:466:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    466:466:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1314 -> a
    467:498:void handleInvokeOfDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2272:2303 -> a
    467:498:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1316 -> a
    499:499:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1317:1317 -> a
    500:500:void lambda$traceInvokeDirect$17(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1317:1317 -> a
    501:513:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1489:1501 -> a
    514:514:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1500:1500 -> a
    515:515:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2042,"2":2043,"3":2044}}
    2042:2042:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1500:1500 -> a
    2043:2043:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1500:1500 -> a
    2044:2044:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1500:1500 -> a
    2018:2031:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1503:1516 -> a
    2032:2032:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2032:2032:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1516 -> a
    2033:2035:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1519:1521 -> a
    2036:2038:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> a
    2036:2038:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1521 -> a
    2039:2039:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1524:1524 -> a
    2040:2040:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    2040:2040:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1525 -> a
    2041:2041:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1524:1524 -> a
    2045:2045:void lambda$traceInstanceFieldRead$23(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1491:1491 -> a
    2046:2058:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1551:1563 -> a
    2059:2059:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1562:1562 -> a
    2060:2060:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3644,"2":3645,"3":3646}}
    3644:3644:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1562:1562 -> a
    3645:3645:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1562:1562 -> a
    3646:3646:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1562:1562 -> a
    3625:3634:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1565:1574 -> a
    3635:3635:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    3635:3635:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1574 -> a
    3636:3638:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1577:1579 -> a
    3639:3641:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> a
    3639:3641:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1579 -> a
    3642:3642:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    3642:3642:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1582 -> a
    3643:3643:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1583:1583 -> a
    3647:3647:java.lang.Boolean lambda$traceStaticFieldRead$30(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1639:1639 -> a
    3648:3648:void lambda$traceStaticFieldRead$32(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1663:1663 -> a
    3649:3661:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):1788:1800 -> a
    3662:3666:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1825:1829 -> a
    3667:3667:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isFinalMainDexTracing():220:220 -> a
    3667:3667:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829 -> a
    3668:3671:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829:1829 -> a
    3672:3672:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5656,"2":5657,"3":5658}}
    5656:5656:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829:1829 -> a
    5657:5657:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829:1829 -> a
    5658:5658:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829:1829 -> a
    5504:5506:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1832:1834 -> a
    5507:5507:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap.isUnboxedEnum(com.android.tools.r8.graph.DexProgramClass):28:28 -> a
    5507:5507:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1834 -> a
    5508:5518:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1834:1844 -> a
    5519:5525:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1843:1849 -> a
    5526:5562:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1848:1884 -> a
    5563:5563:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    5563:5563:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1884 -> a
    5564:5564:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1887:1887 -> a
    5565:5565:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reachableFromLiveType(com.android.tools.r8.graph.DexType):46:46 -> a
    5565:5565:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1887 -> a
    5566:5575:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1889:1898 -> a
    5576:5579:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):805:808 -> a
    5576:5579:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5580:5580:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5659,"2":5660,"3":5661}}
    5659:5659:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):808:808 -> a
    5659:5659:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5660:5660:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):808:808 -> a
    5660:5660:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5661:5661:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):808:808 -> a
    5661:5661:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5581:5583:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):811:813 -> a
    5581:5583:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5584:5596:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):808:820 -> a
    5584:5596:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5597:5597:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5673,"2":5674,"3":5675}}
    5673:5673:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):820:820 -> a
    5673:5673:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5674:5674:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):820:820 -> a
    5674:5674:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5675:5675:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):820:820 -> a
    5675:5675:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5598:5600:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):823:825 -> a
    5598:5600:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5601:5601:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):820:820 -> a
    5601:5601:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5602:5605:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2809:2812 -> a
    5602:5605:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1906 -> a
    5606:5606:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    5606:5606:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2813 -> a
    5606:5606:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1906 -> a
    5607:5607:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2817:2817 -> a
    5607:5607:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1906 -> a
    5608:5610:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1923:1925 -> a
    5611:5611:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844:844 -> a
    5611:5611:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1925 -> a
    5612:5612:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5612:5612:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5612:5612:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1925 -> a
    5613:5613:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5613:5613:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
    5613:5613:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1925 -> a
    5614:5614:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912:912 -> a
    5614:5614:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5615:5615:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844:844 -> a
    5615:5615:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912 -> a
    5615:5615:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5616:5616:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5616:5616:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5616:5616:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912 -> a
    5616:5616:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5617:5617:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5617:5617:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
    5617:5617:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912 -> a
    5617:5617:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5618:5621:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912:915 -> a
    5618:5621:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5622:5622:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844:844 -> a
    5622:5622:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):915 -> a
    5622:5622:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5623:5623:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5623:5623:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5623:5623:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):915 -> a
    5623:5623:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5624:5624:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5624:5624:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
    5624:5624:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):915 -> a
    5624:5624:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5625:5625:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):916:916 -> a
    5625:5625:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5626:5626:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    5626:5626:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    5626:5626:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):922 -> a
    5626:5626:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5627:5630:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):923:926 -> a
    5627:5630:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5631:5631:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    5631:5631:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    5631:5631:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):924 -> a
    5631:5631:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5632:5632:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    5632:5632:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):924 -> a
    5632:5632:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5633:5634:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1930:1931 -> a
    5635:5635:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> a
    5635:5635:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1933 -> a
    5636:5636:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    5636:5636:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> a
    5636:5636:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1933 -> a
    5637:5637:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> a
    5637:5637:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    5637:5637:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1933 -> a
    5638:5639:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> a
    5638:5639:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> a
    5638:5639:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    5638:5639:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1933 -> a
    5640:5640:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    5640:5640:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1936 -> a
    5641:5647:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1937:1943 -> a
    5648:5648:java.util.Set com.android.tools.r8.shaking.RootSetUtils$RootSetBase.getDependentKeepClassCompatRule(com.android.tools.r8.graph.DexType):1674:1674 -> a
    5648:5648:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1943 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5649:5649:java.util.Set com.android.tools.r8.shaking.RootSetUtils$RootSetBase.getDependentKeepClassCompatRule(com.android.tools.r8.graph.DexType):1674:1674 -> a
    5649:5649:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1943 -> a
    5650:5654:void compatEnqueueHolderIfDependentNonStaticMember(com.android.tools.r8.graph.DexProgramClass,java.util.Set):932:936 -> a
    5650:5654:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1942 -> a
    5655:5655:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1945:1945 -> a
    5676:5676:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$markTypeAsLive$40(com.android.tools.r8.graph.ProgramDefinition):1939:1939 -> a
    5677:5677:void lambda$markTypeAsLive$41(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):1945:1945 -> a
    5678:5681:void processDeferredAnnotations(com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.function.Function):1953:1956 -> a
    5682:5684:void processDeferredAnnotations(com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.function.Function):1955:1957 -> a
    5685:5685:boolean lambda$processDeferredAnnotations$42(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):1956:1956 -> a
    5686:5686:void lambda$processDeferredAnnotations$44(java.util.function.Function,com.android.tools.r8.graph.DexAnnotation,java.util.List):1959:1959 -> a
    5687:5687:void lambda$processDeferredAnnotations$43(com.android.tools.r8.graph.DexAnnotation,java.util.function.Function,com.android.tools.r8.graph.ProgramDefinition):1962:1962 -> a
    5688:5688:void lambda$processDeferredAnnotations$43(com.android.tools.r8.graph.DexAnnotation,java.util.function.Function,com.android.tools.r8.graph.ProgramDefinition):1961:1961 -> a
    5689:5692:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1967:1970 -> a
    5693:5695:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1969:1971 -> a
    5696:5696:void com.android.tools.r8.graph.MethodCollection.forEachVirtualMethod(java.util.function.Consumer):126:126 -> a
    5696:5696:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1971 -> a
    5697:5697:void com.android.tools.r8.graph.MethodCollection.forEachVirtualMethod(java.util.function.Consumer):126:126 -> a
    5697:5697:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1971 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5698:5698:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.KeepReason):1976:1976 -> a
    5699:5701:boolean lambda$ensureMethodsContinueToWidenAccess$46(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1978:1980 -> a
    5702:5702:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.methodDefinedInInterfaces(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):507:507 -> a
    5702:5702:boolean lambda$ensureMethodsContinueToWidenAccess$46(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1980 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5706:5707:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.methodDefinedInInterfaces(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):511:512 -> a
    5706:5707:boolean lambda$ensureMethodsContinueToWidenAccess$46(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1980 -> a
    5708:5708:void lambda$ensureMethodsContinueToWidenAccess$47(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramMethod):1981:1981 -> a
    5709:5743:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1986:2020 -> a
    5744:5744:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    5744:5744:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):2022 -> a
    5745:5745:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):2023:2023 -> a
    5746:5746:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    5746:5746:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):2026 -> a
    5747:5747:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):2024:2024 -> a
    5748:5748:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    5748:5748:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1994 -> a
    5749:5752:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2061:2064 -> a
    5753:5758:boolean shouldKeepAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind,boolean):2094:2099 -> a
    5753:5758:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2065 -> a
    5759:5759:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2069:2069 -> a
    5760:5760:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> a
    5760:5760:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2069 -> a
    5761:5778:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2069:2086 -> a
    5779:5779:java.util.List lambda$processAnnotation$50(com.android.tools.r8.graph.DexAnnotation):2073:2073 -> a
    5780:5781:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition):2105:2106 -> a
    5782:5782:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> a
    5782:5782:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition):2106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5783:5783:void lambda$resolveField$51(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):2109:2109 -> a
    5784:5785:void recordFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):650:651 -> a
    5784:5785:void lambda$resolveField$51(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):2108 -> a
    5786:5786:void lambda$resolveField$52(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):2112:2112 -> a
    5787:5788:void recordFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):650:651 -> a
    5787:5788:void lambda$resolveField$52(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):2113 -> a
    5789:5792:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason,boolean):2135:2138 -> a
    5793:5798:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason,boolean):2137:2142 -> a
    5799:5803:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason,boolean):2141:2145 -> a
    5804:5835:void handleInvokeOfDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2272:2303 -> a
    5804:5835:void markNonStaticDirectMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2267 -> a
    5836:5849:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2308:2321 -> a
    5850:5850:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reachableFromLiveType(com.android.tools.r8.graph.DexType):46:46 -> a
    5850:5850:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2321 -> a
    5851:5861:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2322:2332 -> a
    5862:5862:boolean com.android.tools.r8.errors.dontwarn.DontWarnConfiguration.matches(com.android.tools.r8.graph.Definition):27:27 -> a
    5862:5862:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2332 -> a
    5863:5864:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2337:2338 -> a
    5865:5865:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8214,"2":8215,"3":8216}}
    8214:8214:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2338:2338 -> a
    8215:8215:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2338:2338 -> a
    8216:8216:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2338:2338 -> a
    8203:8213:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2338:2348 -> a
    8217:8219:void lambda$ensureFromLibraryOrThrow$53(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):2326:2328 -> a
    8220:8222:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2360:2362 -> a
    8223:8223:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354:2354 -> a
    8223:8223:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2363 -> a
    8224:8224:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():618:618 -> a
    8224:8224:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8224:8224:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2363 -> a
    8225:8225:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2355:2355 -> a
    8225:8225:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2363 -> a
    8226:8226:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2364:2364 -> a
    8227:8227:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    8227:8227:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2364 -> a
    8228:8228:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2370:2370 -> a
    8229:8229:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2366:2366 -> a
    8230:8230:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354:2354 -> a
    8230:8230:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2367 -> a
    8231:8231:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():618:618 -> a
    8231:8231:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8231:8231:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2367 -> a
    8232:8232:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2355:2355 -> a
    8232:8232:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2367 -> a
    8233:8233:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2368:2368 -> a
    8234:8234:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2372:2372 -> a
    8235:8235:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354:2354 -> a
    8235:8235:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2373 -> a
    8236:8236:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():618:618 -> a
    8236:8236:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8236:8236:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2373 -> a
    8237:8237:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2355:2355 -> a
    8237:8237:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2373 -> a
    8238:8238:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2374:2374 -> a
    8239:8241:void recordFoundClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2379:2381 -> a
    8242:8244:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> a
    8242:8244:void recordFoundClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2381 -> a
    8245:8245:void recordFoundClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2384:2384 -> a
    8246:8246:void lambda$recordNonProgramClass$57(com.android.tools.r8.graph.ProgramDerivedContext,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryDefinition):2394:2394 -> a
    8247:8247:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> a
    8247:8247:void ignoreMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2411 -> a
    8247:8247:void access$2600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):193 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    8248:8248:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> a
    8248:8248:void ignoreMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2411 -> a
    8248:8248:void access$2600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):193 -> a
    8249:8249:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> a
    8249:8249:void ignoreMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2411 -> a
    8250:8250:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> a
    8250:8250:void ignoreMissingClasspathOrLibraryClass(com.android.tools.r8.graph.DexType):2415 -> a
    8250:8250:void ignoreMissingClasspathOrLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryDefinition):2420 -> a
    8251:8251: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):2460:2460 -> a
    8252:8252:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8252:8252: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):2460 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8253:8253:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8253:8253: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):2460 -> a
    8254:8260: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):2460:2466 -> a
    8261:8262: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):2496:2497 -> a
    8261:8262: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):2470 -> a
    8263:8264: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):2474:2475 -> a
    8265:8265:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    8265:8265: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):2475 -> a
    8266:8268: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):2478:2480 -> a
    8269:8269:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8269:8269:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2558 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8269:8269: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):2483 -> a
    8270:8270:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8270:8270:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2558 -> a
    8270:8270: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):2483 -> a
    8271:8272:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2558:2559 -> a
    8271:8272: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):2483 -> a
    8273:8273:com.android.tools.r8.shaking.InstantiatedObject com.android.tools.r8.shaking.InstantiatedObject.of(com.android.tools.r8.graph.DexProgramClass):13:13 -> a
    8273:8273:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2561 -> a
    8273:8273: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):2483 -> a
    8274:8274:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2561:2561 -> a
    8274:8274: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):2483 -> a
    8275:8275:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2560:2560 -> a
    8275:8275: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):2483 -> a
    8276:8279:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2745:2748 -> a
    8276:8279: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):2485 -> a
    8280:8280:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reachableFromLiveType(com.android.tools.r8.graph.DexType):46:46 -> a
    8280:8280:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2748 -> a
    8280:8280: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):2485 -> a
    8281:8286:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2749:2754 -> a
    8281:8286: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):2485 -> a
    8287:8287:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2758:2758 -> a
    8287:8287: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):2487 -> a
    8288:8288:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8288:8288:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2758 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8288:8288: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):2487 -> a
    8289:8289:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8289:8289:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2758 -> a
    8289:8289: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):2487 -> a
    8290:8292:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2758:2760 -> a
    8290:8292: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):2487 -> a
    8293:8293:void lambda$processNewlyInstantiatedClass$58(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2468:2468 -> a
    8294:8294:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2502:2502 -> a
    8295:8295:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8295:8295:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2502 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8296:8296:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8296:8296:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2502 -> a
    8297:8301:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2502:2506 -> a
    8302:8303:void transitionDependentItemsForInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):2764:2765 -> a
    8302:8303:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2507 -> a
    8304:8312:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2573:2581 -> a
    8313:8327:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2657:2671 -> a
    8313:8327:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8328:8328:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2668:2668 -> a
    8328:8328:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8329:8329:boolean com.android.tools.r8.shaking.InstantiatedObject.isClass():0:0 -> a
    8329:8329:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2678 -> a
    8329:8329:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8330:8332:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2678:2680 -> a
    8330:8332:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8333:8337:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2679:2683 -> a
    8333:8337:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8338:8344:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2682:2688 -> a
    8338:8344:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8345:8345:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2685:2685 -> a
    8345:8345:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8346:8349:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2585:2588 -> a
    8350:8350:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2599:2599 -> a
    8351:8351:boolean com.android.tools.r8.shaking.InstantiatedObject.isLambda():0:0 -> a
    8351:8351:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2599 -> a
    8352:8354:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2599:2599 -> a
    8355:8355:java.util.Map getReachableVirtualTargets(com.android.tools.r8.graph.DexProgramClass):2594:2594 -> a
    8355:8355:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2601 -> a
    8356:8357:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2601:2602 -> a
    8358:8372:void lambda$markProgramMethodOverridesAsLive$65(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey,com.android.tools.r8.utils.collections.ProgramMethodSet):2604:2618 -> a
    8373:8383:void lambda$markProgramMethodOverridesAsLive$64(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.List):2620:2630 -> a
    8384:8384:void com.android.tools.r8.graph.LookupResult.forEach(java.util.function.Consumer):33:33 -> a
    8384:8384:void lambda$markProgramMethodOverridesAsLive$64(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.List):2630 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8385:8385:void lambda$markProgramMethodOverridesAsLive$64(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.List):2638:2638 -> a
    8386:8387:void lambda$markProgramMethodOverridesAsLive$59(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):2625:2626 -> a
    8388:8388:boolean lambda$markProgramMethodOverridesAsLive$60(com.android.tools.r8.graph.DexDefinition):2629:2629 -> a
    8389:8389:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> a
    8389:8389:boolean lambda$markProgramMethodOverridesAsLive$60(com.android.tools.r8.graph.DexDefinition):2629 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8390:8390:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> a
    8390:8390:boolean lambda$markProgramMethodOverridesAsLive$60(com.android.tools.r8.graph.DexDefinition):2629 -> a
    8391:8391:void lambda$markProgramMethodOverridesAsLive$62(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.LookupTarget):2632:2632 -> a
    8392:8394:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markProgramMethodOverridesAsLive$61(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):2635:2635 -> a
    8395:8399:void lambda$markProgramMethodOverridesAsLive$63(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2641:2645 -> a
    8400:8400:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> a
    8400:8400:void lambda$markProgramMethodOverridesAsLive$63(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2647 -> a
    8401:8401:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> a
    8401:8401:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> a
    8401:8401:void lambda$markProgramMethodOverridesAsLive$63(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2647 -> a
    8402:8402:void lambda$markProgramMethodOverridesAsLive$63(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2645:2645 -> a
    8403:8403:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2697:2697 -> a
    8404:8419:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4270:4285 -> a
    8404:8419:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8420:8428:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexProgramClass):4321:4329 -> a
    8420:8428:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4291 -> a
    8420:8428:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8429:8443:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4292:4306 -> a
    8429:8443:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8444:8452:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexProgramClass):4321:4329 -> a
    8444:8452:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4310 -> a
    8444:8452:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8453:8455:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4310:4312 -> a
    8453:8455:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8456:8456:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2704:2704 -> a
    8457:8457:boolean com.android.tools.r8.shaking.InstantiatedObject.isClass():0:0 -> a
    8457:8457:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2709 -> a
    8458:8458:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2712:2712 -> a
    8459:8459:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2711:2711 -> a
    8460:8460:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markLibraryOrClasspathOverrideLive$66(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod):2707:2707 -> a
    8461:8472:void markOverridesAsLibraryMethodOverrides(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):2718:2729 -> a
    8473:8475:void lambda$markOverridesAsLibraryMethodOverrides$67(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexType):2731:2733 -> a
    8476:8482:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2829:2835 -> a
    8483:8483:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878:2878 -> a
    8483:8483:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8484:8484:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    8484:8484:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878 -> a
    8484:8484:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8485:8485:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2879:2879 -> a
    8485:8485:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8486:8486:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> a
    8486:8486:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8486:8486:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8487:8487:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    8487:8487:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> a
    8487:8487:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8487:8487:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8488:8488:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> a
    8488:8488:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    8488:8488:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8488:8488:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8489:8490:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> a
    8489:8490:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> a
    8489:8490:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    8489:8490:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8489:8490:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8491:8494:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2837:2840 -> a
    8495:8495:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878:2878 -> a
    8495:8495:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8496:8496:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    8496:8496:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878 -> a
    8496:8496:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8497:8497:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2879:2879 -> a
    8497:8497:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8498:8498:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> a
    8498:8498:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8498:8498:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8499:8499:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    8499:8499:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> a
    8499:8499:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8499:8499:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8500:8500:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> a
    8500:8500:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    8500:8500:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8500:8500:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8501:8502:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> a
    8501:8502:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> a
    8501:8502:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    8501:8502:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8501:8502:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8503:8506:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2845:2848 -> a
    8507:8507:void lambda$markFieldAsLive$68(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2848:2848 -> a
    8508:8508:void lambda$markFieldAsReachable$70(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2874:2874 -> a
    8509:8510:void traceFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):2887:2888 -> a
    8509:8510:void lambda$traceInstanceFieldRead$25(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1529 -> a
    8511:8511:void lambda$traceInstanceFieldRead$25(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1530:1530 -> a
    8512:8512:boolean isFieldLive(com.android.tools.r8.graph.DexEncodedField):2927:2927 -> a
    8513:8514:boolean isFieldWrittenInMethodSatisfying(com.android.tools.r8.graph.ProgramField,java.util.function.Predicate):2937:2938 -> a
    8515:8515:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2981:2981 -> a
    8516:8516:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985:2985 -> a
    8516:8516:void lambda$desugar$98(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3673 -> a
    8517:8517:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2981:2981 -> a
    8517:8517:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985 -> a
    8517:8517:void lambda$desugar$98(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3673 -> a
    8518:8518:void lambda$desugar$98(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3676:3676 -> a
    8519:8520:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2997:2998 -> a
    8521:8521:boolean isTypeLive(com.android.tools.r8.graph.DexProgramClass):3003:3003 -> a
    8521:8521:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2998 -> a
    8522:8523:boolean isNonProgramTypeLive(com.android.tools.r8.graph.DexClass):3007:3008 -> a
    8522:8523:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2999 -> a
    8524:8534:boolean isReachable(com.android.tools.r8.graph.Definition):3012:3022 -> a
    8535:8535:boolean isFieldLive(com.android.tools.r8.graph.ProgramField):2923:2923 -> a
    8535:8535:boolean isReachable(com.android.tools.r8.graph.Definition):3023 -> a
    8536:8536:boolean isFieldReferenced(com.android.tools.r8.graph.ProgramField):2919:2919 -> a
    8536:8536:boolean isReachable(com.android.tools.r8.graph.Definition):3023 -> a
    8537:8538:boolean isReachable(com.android.tools.r8.graph.Definition):3025:3026 -> a
    8539:8539:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985:2985 -> a
    8539:8539:boolean isReachable(com.android.tools.r8.graph.Definition):3027 -> a
    8540:8540:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2981:2981 -> a
    8540:8540:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985 -> a
    8540:8540:boolean isReachable(com.android.tools.r8.graph.Definition):3027 -> a
    8541:8541:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2993:2993 -> a
    8541:8541:boolean isReachable(com.android.tools.r8.graph.Definition):3027 -> a
    8542:8542:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2989:2989 -> a
    8542:8542:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2993 -> a
    8542:8542:boolean isReachable(com.android.tools.r8.graph.Definition):3027 -> a
    8543:8543:boolean isReachable(com.android.tools.r8.graph.Definition):3031:3031 -> a
    8544:8545:boolean isNonProgramTypeLive(com.android.tools.r8.graph.DexClass):3007:3008 -> a
    8544:8545:boolean isReachable(com.android.tools.r8.graph.Definition):3031 -> a
    8546:8546:void forAllLiveClasses(java.util.function.Consumer):3035:3035 -> a
    8547:8571:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3040:3064 -> a
    8572:8572:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.ProgramMethod.getContextClass():135:135 -> a
    8572:8572:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3072 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8573:8573:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3075:3075 -> a
    8574:8574:java.util.Map getReachableVirtualTargets(com.android.tools.r8.graph.DexProgramClass):2594:2594 -> a
    8574:8574:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3077 -> a
    8575:8583:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3077:3085 -> a
    8584:8584:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    8584:8584:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3085 -> a
    8585:8600:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3090:3105 -> a
    8601:8601:void com.android.tools.r8.graph.LookupResult.forEach(java.util.function.Consumer):33:33 -> a
    8601:8601:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8602:8602:void lambda$markVirtualMethodAsReachable$73(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):3109:3109 -> a
    8603:8603:void lambda$markVirtualMethodAsReachable$76(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.LookupTarget):3114:3114 -> a
    8604:8606:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markVirtualMethodAsReachable$75(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):3117:3117 -> a
    8607:8610:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget,java.util.function.Function):3123:3126 -> a
    8611:8611:void lambda$markVirtualDispatchTargetAsLive$79(com.android.tools.r8.graph.LookupTarget,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3126:3126 -> a
    8612:8614:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.DexClassAndMethod,java.util.function.Function):3131:3133 -> a
    8612:8614:void lambda$markVirtualDispatchTargetAsLive$77(java.util.function.Function,com.android.tools.r8.graph.DexClassAndMethod):3124 -> a
    8615:8618:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupLambdaTarget,java.util.function.Function):3139:3142 -> a
    8615:8618:void lambda$markVirtualDispatchTargetAsLive$78(java.util.function.Function,com.android.tools.r8.graph.LookupLambdaTarget):3125 -> a
    8619:8619:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupLambdaTarget,java.util.function.Function):3141:3141 -> a
    8619:8619:void lambda$markVirtualDispatchTargetAsLive$78(java.util.function.Function,com.android.tools.r8.graph.LookupLambdaTarget):3125 -> a
    8620:8621:void markFailedMethodResolutionTargets(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):3151:3152 -> a
    8622:8625:void lambda$markFailedMethodResolutionTargets$80(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.DexEncodedMethod):3154:3157 -> a
    8626:8626:void lambda$markSuperMethodAsReachable$82(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3208:3208 -> a
    8627:8627:void lambda$markSuperMethodAsReachable$82(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3207:3207 -> a
    8628:8628:void lambda$traceMainDex$84(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexEncodedMethod):3249:3249 -> a
    8629:8635:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3261:3267 -> a
    8636:8636:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> a
    8636:8636:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3267 -> a
    8637:8639:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3271:3273 -> a
    8640:8640:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> a
    8640:8640:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3273 -> a
    8641:8641:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3275:3275 -> a
    8642:8642:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> a
    8642:8642:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3275 -> a
    8643:8663:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3278:3298 -> a
    8664:8667:void finalizeLibraryMethodOverrideInformation():3745:3748 -> a
    8664:8667:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3299 -> a
    8668:8669:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3300:3301 -> a
    8670:8672:boolean verifyKeptGraph():3755:3757 -> a
    8670:8672:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3301 -> a
    8673:8678:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3302:3307 -> a
    8679:8679:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isWhyAreYouKeeping():232:232 -> a
    8679:8679:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3307 -> a
    8680:8680:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3312:3312 -> a
    8681:8681:void lambda$traceApplication$87(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3300:3300 -> a
    8682:8683:void includeMinimumKeepInfo(com.android.tools.r8.shaking.RootSetUtils$RootSetBase):3317:3318 -> a
    8684:8688:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3326:3330 -> a
    8689:8689:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3353:3353 -> a
    8689:8689:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8690:8690:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8690:8690:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8690:8690:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8691:8691:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8691:8691:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> a
    8691:8691:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8692:8692:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3355:3355 -> a
    8692:8692:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8693:8694:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):858:859 -> a
    8693:8694:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8693:8694:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8695:8695:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8695:8695:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8695:8695:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8695:8695:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8696:8696:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860:860 -> a
    8696:8696:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8696:8696:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8697:8697:void lambda$applyMinimumKeepInfo$88(com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3330:3330 -> a
    8698:8701:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3339:3342 -> a
    8702:8702:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8702:8702:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3343 -> a
    8703:8703:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8703:8703:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3343 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8704:8704:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3344:3344 -> a
    8705:8705:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> a
    8705:8705:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3344 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8706:8706:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    8706:8706:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8706:8706:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3344 -> a
    8707:8707:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3353:3353 -> a
    8707:8707:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8708:8708:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8708:8708:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8708:8708:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8709:8709:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8709:8709:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> a
    8709:8709:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8710:8710:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3355:3355 -> a
    8710:8710:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8711:8712:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):858:859 -> a
    8711:8712:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8711:8712:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8713:8713:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8713:8713:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8713:8713:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8713:8713:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8714:8714:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860:860 -> a
    8714:8714:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8714:8714:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8715:8719:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3377:3381 -> a
    8720:8720:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3400:3400 -> a
    8720:8720:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8721:8721:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8721:8721:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8721:8721:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8722:8722:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8722:8722:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> a
    8722:8722:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8723:8723:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3402:3402 -> a
    8723:8723:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8724:8726:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):890:892 -> a
    8724:8726:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8724:8726:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8727:8727:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8727:8727:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8727:8727:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8727:8727:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8728:8728:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895:895 -> a
    8728:8728:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8728:8728:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8729:8729:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):894:894 -> a
    8729:8729:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8729:8729:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8730:8730:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:892 -> a
    8730:8730:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8730:8730:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8731:8731:void lambda$applyMinimumKeepInfo$90(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3381:3381 -> a
    8732:8735:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3388:3391 -> a
    8736:8736:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8736:8736:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3392 -> a
    8737:8737:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8737:8737:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3392 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8738:8738:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3393:3393 -> a
    8739:8739:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> a
    8739:8739:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3393 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8740:8740:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    8740:8740:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8740:8740:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3393 -> a
    8741:8741:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3400:3400 -> a
    8741:8741:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8742:8742:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8742:8742:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8742:8742:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8743:8743:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8743:8743:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> a
    8743:8743:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8744:8744:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3402:3402 -> a
    8744:8744:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8745:8747:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):890:892 -> a
    8745:8747:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8745:8747:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8748:8748:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8748:8748:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8748:8748:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8748:8748:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8749:8749:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895:895 -> a
    8749:8749:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8749:8749:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8750:8750:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):894:894 -> a
    8750:8750:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8750:8750:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8751:8751:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:892 -> a
    8751:8751:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8751:8751:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8752:8757:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramMethod):3422:3427 -> a
    8758:8758:void lambda$applyMinimumKeepInfo$92(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3426:3426 -> a
    8759:8762:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3440:3443 -> a
    8763:8763:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8763:8763:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3444 -> a
    8764:8764:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8764:8764:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3444 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8765:8765:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3445:3445 -> a
    8766:8766:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> a
    8766:8766:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3445 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8767:8767:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    8767:8767:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8767:8767:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3445 -> a
    8768:8774:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3441:3447 -> a
    8775:8775:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3454:3454 -> a
    8776:8776:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8776:8776:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3455 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8777:8777:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8777:8777:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3455 -> a
    8778:8778:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3456:3456 -> a
    8779:8781:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):902:904 -> a
    8779:8781:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> a
    8782:8782:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8782:8782:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):907 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8782:8782:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> a
    8783:8783:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):907:907 -> a
    8783:8783:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> a
    8784:8784:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):906:906 -> a
    8784:8784:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> a
    8785:8785:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):904:904 -> a
    8785:8785:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> a
    8786:8786:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3459:3459 -> a
    8787:8787:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8787:8787:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3460 -> a
    8788:8789:void enqueueHolderWithDependentInstanceConstructor(com.android.tools.r8.graph.ProgramMethod,java.util.Set):2036:2037 -> a
    8788:8789:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3460 -> a
    8790:8793:void applyMinimumKeepInfoDependentOn(com.android.tools.r8.shaking.EnqueuerEvent):3483:3486 -> a
    8794:8794:void lambda$applyMinimumKeepInfoDependentOn$94(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3489:3489 -> a
    8795:8795:void lambda$applyMinimumKeepInfoDependentOn$95(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3491:3491 -> a
    8796:8796:void lambda$applyMinimumKeepInfoDependentOn$96(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3493:3493 -> a
    8797:8810:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3652:3665 -> a
    8811:8811:com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer.createForR8(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):74:74 -> a
    8811:8811:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3666 -> a
    8812:8832:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3681:3701 -> a
    8833:8833:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985:2985 -> a
    8833:8833:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3703 -> a
    8834:8834:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2981:2981 -> a
    8834:8834:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985 -> a
    8834:8834:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3703 -> a
    8835:8843:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3704:3712 -> a
    8844:8844:void lambda$desugar$99(com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):3684:3684 -> a
    8845:8845:void lambda$desugar$100(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):3691:3691 -> a
    8846:8848:void recordLambdaSynthesizingContext(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):3716:3718 -> a
    8849:8851:void recordConstantDynamicSynthesizingContext(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):3723:3725 -> a
    8852:8929:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3765:3842 -> a
    8930:8932:java.util.Set toDescriptorSet(java.util.Set):3986:3988 -> a
    8930:8932:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3842 -> a
    8933:8938:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3842:3847 -> a
    8939:8941:java.util.Set toDescriptorSet(java.util.Set):3986:3988 -> a
    8939:8941:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3847 -> a
    8942:8956:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3847:3861 -> a
    8957:8962:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap joinIdentifierNameStrings(java.util.Set,java.util.Set):3995:4000 -> a
    8957:8962:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3868 -> a
    8963:8972:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3869:3878 -> a
    8973:8973:void lambda$createEnqueuerResult$101(java.util.Set,com.android.tools.r8.graph.DexProgramClass):3768:3768 -> a
    8974:8974:boolean lambda$createEnqueuerResult$102(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):3774:3774 -> a
    8975:8975:void lambda$createEnqueuerResult$103(com.android.tools.r8.graph.ClasspathOrLibraryClass):3798:3798 -> a
    8976:8980:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,boolean,java.util.function.BiConsumer):701:705 -> a
    8976:8980:void lambda$createEnqueuerResult$103(com.android.tools.r8.graph.ClasspathOrLibraryClass):3798 -> a
    8981:8981:void amendKeepInfoWithCompanionMethods():3888:3888 -> a
    8982:8983:void forEachCompanionMethod(java.util.function.BiConsumer):3882:3883 -> a
    8982:8983:void amendKeepInfoWithCompanionMethods():3888 -> a
    8984:8986:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3890:3892 -> a
    8987:8987:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):109:109 -> a
    8987:8987:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3892 -> a
    8988:8988:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramMethod():55:55 -> a
    8988:8988:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):111 -> a
    8988:8988:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3892 -> a
    8989:8990:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):113:114 -> a
    8989:8990:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3892 -> a
    8991:8994:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3892:3895 -> a
    8995:8995:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    8995:8995:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3895 -> a
    8996:8996:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    8996:8996:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3895 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8997:9000:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3896:3899 -> a
    9001:9001:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3898:3898 -> a
    9002:9012:java.util.Set amendWithCompanionMethods(java.util.Set):3904:3914 -> a
    9013:9014:void lambda$amendWithCompanionMethods$106(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3910:3911 -> a
    9015:9023:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3932:3940 -> a
    9024:9024:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16917,"2":16918,"3":16919,"4":16920,"5":16921}}
    16917:16917:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    16918:16918:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    16919:16919:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    16920:16920:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    16921:16921:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    12964:12967:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3943 -> a
    12968:12968:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16924,"2":16925,"3":16926,"4":16927,"5":16928}}
    16924:16924:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16925:16925:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16926:16926:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16927:16927:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16928:16928:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16911:16916:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3948 -> a
    16929:16929:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4006:4006 -> a
    16930:16932:long getNumberOfLiveItems():4153:4155 -> a
    16930:16932:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4009 -> a
    16933:16933:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4010:4010 -> a
    16934:16934:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16934:16934:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4010 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16935:16935:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16935:16935:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4010 -> a
    16936:16936:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4011:4011 -> a
    16937:16937:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():338:338 -> a
    16937:16937:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4011 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16938:16938:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():338:338 -> a
    16938:16938:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4011 -> a
    16939:16939:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4012:4012 -> a
    16940:16942:long getNumberOfLiveItems():4153:4155 -> a
    16940:16942:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4016 -> a
    16943:16951:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4020:4028 -> a
    16952:16952:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer):2094:2094 -> a
    16952:16952:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4029 -> a
    16953:16962:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4030:4039 -> a
    16963:16965:long getNumberOfLiveItems():4153:4155 -> a
    16963:16965:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4039 -> a
    16966:16967:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4039:4040 -> a
    16968:16968:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16968:16968:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4040 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16969:16969:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16969:16969:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4040 -> a
    16970:16974:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4047:4051 -> a
    16975:16975:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16975:16975:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4051 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16976:16976:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16976:16976:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4051 -> a
    16977:16978:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4057:4058 -> a
    16979:16979:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16979:16979:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4058 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16980:16980:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16980:16980:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4058 -> a
    16981:16997:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4063:4079 -> a
    16998:16998:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16998:16998:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4079 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16999:16999:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16999:16999:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4079 -> a
    17000:17015:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4087:4102 -> a
    17016:17016:java.util.Set lambda$trace$107(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):4025:4025 -> a
    17017:17017:void lambda$trace$108(com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4057:4057 -> a
    17018:17018:void lambda$postProcessingDesugaring$109(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4117:4117 -> a
    17019:17019:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    17019:17019:void lambda$postProcessingDesugaring$109(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17020:17023:void lambda$postProcessingDesugaring$109(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4121:4124 -> a
    17024:17024:void com.android.tools.r8.shaking.MissingClasses$Builder.addNewMissingClassWithDesugarDiagnostic(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,com.android.tools.r8.errors.DesugarDiagnostic):93:93 -> a
    17024:17024:void lambda$postProcessingDesugaring$109(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4117 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17025:17031:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet):4163:4169 -> a
    17032:17034:void lambda$addConsequentRootSet$111(com.android.tools.r8.graph.DexType,java.util.Set):4171:4173 -> a
    17035:17039:void compatEnqueueHolderIfDependentNonStaticMember(com.android.tools.r8.graph.DexProgramClass,java.util.Set):932:936 -> a
    17035:17039:void lambda$addConsequentRootSet$111(com.android.tools.r8.graph.DexType,java.util.Set):4174 -> a
    17040:17047:void identifySyntheticInterfaceMethodBridges(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction):4195:4202 -> a
    17048:17051:void identifySyntheticInterfaceMethodBridges(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction):4201:4204 -> a
    17052:17052:void identifySyntheticInterfaceMethodBridges(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction):4203:4203 -> a
    17053:17060:void retainAnnotationForFinalTreeShaking(java.util.List):4223:4230 -> a
    17061:17061:void retainAnnotationForFinalTreeShaking(java.util.List):4227:4227 -> a
    17062:17065:void markFieldAsKept(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):4262:4265 -> a
    17066:17072:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4337:4343 -> a
    17073:17073:com.android.tools.r8.shaking.Enqueuer$Mode getMode():515:515 -> a
    17073:17073:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4397 -> a
    17073:17073:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17074:17074:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4397:4397 -> a
    17074:17074:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17075:17075:boolean addToPendingDesugaring(com.android.tools.r8.graph.ProgramMethod):3627:3627 -> a
    17075:17075:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4398 -> a
    17075:17075:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17076:17078:boolean mustMoveToInterfaceCompanionMethod(com.android.tools.r8.graph.ProgramMethod):3621:3623 -> a
    17076:17078:boolean addToPendingDesugaring(com.android.tools.r8.graph.ProgramMethod):3628 -> a
    17076:17078:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4398 -> a
    17076:17078:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17079:17094:boolean addToPendingDesugaring(com.android.tools.r8.graph.ProgramMethod):3630:3645 -> a
    17079:17094:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4398 -> a
    17079:17094:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17095:17095:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4403:4403 -> a
    17095:17095:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17096:17100:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4348:4352 -> a
    17101:17101:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    17101:17101:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4352 -> a
    17102:17102:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> a
    17102:17102:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4354 -> a
    17103:17103:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4354:4354 -> a
    17104:17104:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> a
    17104:17104:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4355 -> a
    17105:17110:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4355:4360 -> a
    17111:17111:void lambda$markMethodAsLive$112(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4360:4360 -> a
    17112:17112:void lambda$markMethodAsTargeted$113(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4380:4380 -> a
    17113:17113:void lambda$traceMethodDefinitionExcludingCode$114(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexAnnotation):4390:4390 -> a
    17114:17114:void lambda$traceCode$115(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4411:4411 -> a
    17115:17115:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4437:4437 -> a
    17116:17131:boolean addCompatInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):4461:4476 -> a
    17116:17131:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4439 -> a
    17132:17132:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4443:4443 -> a
    17133:17133:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    17133:17133:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4444 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17134:17134:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    17134:17134:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4444 -> a
    17135:17139:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4445:4449 -> a
    17140:17140:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    17140:17140:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    17140:17140:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4450 -> a
    17141:17145:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4451:4455 -> a
    17146:17146:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4452:4452 -> a
    17147:17153:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4494:4500 -> a
    17154:17161:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4604:4611 -> a
    17154:17161:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17162:17164:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4610:4612 -> a
    17162:17164:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17165:17165:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17165:17165:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4618 -> a
    17165:17165:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17166:17166:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4622:4622 -> a
    17166:17166:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17167:17167:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17167:17167:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4624 -> a
    17167:17167:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17168:17168:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4427:4427 -> a
    17168:17168:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4625 -> a
    17168:17168:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17169:17169:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    17169:17169:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    17169:17169:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4428 -> a
    17169:17169:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4625 -> a
    17169:17169:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17170:17172:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4429:4431 -> a
    17170:17172:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4625 -> a
    17170:17172:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17173:17173:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4430:4430 -> a
    17173:17173:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4625 -> a
    17173:17173:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17174:17177:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4626:4629 -> a
    17174:17177:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17178:17178:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17178:17178:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17178:17178:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4628 -> a
    17178:17178:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17179:17179:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17179:17179:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4628 -> a
    17179:17179:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17180:17180:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4504:4504 -> a
    17181:17202:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4636:4657 -> a
    17181:17202:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17203:17205:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4656:4658 -> a
    17203:17205:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17206:17206:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17206:17206:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4664 -> a
    17206:17206:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17207:17208:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4668:4669 -> a
    17207:17208:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17209:17209:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    17209:17209:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4669 -> a
    17209:17209:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17210:17258:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4674:4722 -> a
    17210:17258:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17259:17259:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17259:17259:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4727 -> a
    17259:17259:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17260:17260:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4427:4427 -> a
    17260:17260:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4728 -> a
    17260:17260:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17261:17261:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    17261:17261:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    17261:17261:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4428 -> a
    17261:17261:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4728 -> a
    17261:17261:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17262:17264:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4429:4431 -> a
    17262:17264:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4728 -> a
    17262:17264:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17265:17265:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4430:4430 -> a
    17265:17265:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4728 -> a
    17265:17265:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17266:17269:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4729:4732 -> a
    17266:17269:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17270:17270:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17270:17270:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17270:17270:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4731 -> a
    17270:17270:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17271:17271:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17271:17271:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4731 -> a
    17271:17271:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17272:17272:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4508:4508 -> a
    17273:17276:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4809:4812 -> a
    17273:17276:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4509 -> a
    17277:17277:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> a
    17277:17277:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4813 -> a
    17277:17277:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4509 -> a
    17278:17278:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> a
    17278:17278:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> a
    17278:17278:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4813 -> a
    17278:17278:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4509 -> a
    17279:17279:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4813:4813 -> a
    17279:17279:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4509 -> a
    17280:17284:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4512:4516 -> a
    17285:17285:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2206:2206 -> a
    17285:17285:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4516 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17286:17286:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2206:2206 -> a
    17286:17286:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4516 -> a
    17287:17293:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4819:4825 -> a
    17287:17293:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17294:17294:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    17294:17294:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4825 -> a
    17294:17294:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17295:17299:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4826:4830 -> a
    17295:17299:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17300:17300:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":17389,"2":17390,"3":17391}}
    17389:17389:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4830:4830 -> a
    17389:17389:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17390:17390:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4830:4830 -> a
    17390:17390:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17391:17391:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4830:4830 -> a
    17391:17391:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17301:17301:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":17394,"2":17395,"3":17396}}
    17394:17394:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4833:4833 -> a
    17394:17394:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17395:17395:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4833:4833 -> a
    17395:17395:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17396:17396:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4833:4833 -> a
    17396:17396:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17302:17304:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4835:4837 -> a
    17302:17304:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17305:17305:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4830:4830 -> a
    17305:17305:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17306:17306:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17306:17306:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4842 -> a
    17306:17306:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17307:17307:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4842:4842 -> a
    17307:17307:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17308:17308:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17308:17308:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4844 -> a
    17308:17308:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17309:17310:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4845:4846 -> a
    17309:17310:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17311:17320:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4520:4529 -> a
    17321:17321:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    17321:17321:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4529 -> a
    17322:17326:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4530:4534 -> a
    17327:17327:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17327:17327:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4534 -> a
    17328:17328:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17328:17328:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4538 -> a
    17329:17329:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4538:4538 -> a
    17330:17330:boolean com.android.tools.r8.graph.DexClass.canBeInstantiatedByNewInstance():660:660 -> a
    17330:17330:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4539 -> a
    17331:17331:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    17331:17331:boolean com.android.tools.r8.graph.DexClass.canBeInstantiatedByNewInstance():660 -> a
    17331:17331:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4539 -> a
    17332:17332:boolean com.android.tools.r8.graph.DexClass.canBeInstantiatedByNewInstance():660:660 -> a
    17332:17332:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4539 -> a
    17333:17346:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4539:4552 -> a
    17347:17347:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17347:17347:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4552 -> a
    17348:17361:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4556:4569 -> a
    17362:17362:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17362:17362:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4570 -> a
    17363:17368:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4569:4574 -> a
    17369:17369:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17369:17369:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4576 -> a
    17370:17375:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4576:4581 -> a
    17376:17376:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17376:17376:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4582 -> a
    17377:17377:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4586:4586 -> a
    17378:17378:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17378:17378:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4590 -> a
    17379:17386:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4591:4598 -> a
    17387:17387:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17387:17387:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17387:17387:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4597 -> a
    17388:17388:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17388:17388:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4597 -> a
    17397:17397:void lambda$handleReflectiveBehavior$118(com.android.tools.r8.shaking.KeepFieldInfo$Joiner):4575:4575 -> a
    17398:17398:void lambda$handleJavaLangReflectProxyNewProxyInstance$119(com.android.tools.r8.shaking.KeepClassInfo$Joiner):4779:4779 -> a
    17399:17401:void lambda$handleJavaLangReflectProxyNewProxyInstance$121(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramMethod):4787:4789 -> a
    17402:17402:void lambda$handleJavaLangReflectProxyNewProxyInstance$120(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):4788:4788 -> a
    17403:17413:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4853:4863 -> a
    17414:17414:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4427:4427 -> a
    17414:17414:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4868 -> a
    17415:17415:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    17415:17415:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    17415:17415:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4428 -> a
    17415:17415:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4868 -> a
    17416:17418:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4429:4431 -> a
    17416:17418:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4868 -> a
    17419:17419:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4430:4430 -> a
    17419:17419:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4868 -> a
    17420:17423:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4870:4873 -> a
    17424:17424:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17424:17424:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17424:17424:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4872 -> a
    17425:17425:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17425:17425:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4872 -> a
    17426:17429:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4876:4879 -> a
    17430:17430:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4878:4878 -> a
    17431:17431:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.DexEncodedMethod.asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):413:413 -> a
    17431:17431:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4878 -> a
    17432:17432:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4883:4883 -> a
    17433:17433:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17433:17433:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17433:17433:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4882 -> a
    17434:17434:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17434:17434:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4882 -> a
    17435:17444:com.android.tools.r8.utils.collections.DexMethodSignatureSet getServiceMethods(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):4890:4899 -> a
    com.android.tools.r8.graph.DexApplication lambda$synthesize$97(com.android.tools.r8.graph.DexApplication) -> b
    1:1:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.targetedBySuperFrom(com.android.tools.r8.graph.ProgramMethod):79:79 -> b
    1:1:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3189 -> b
    2:10:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3190:3198 -> b
    11:36:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3196:3221 -> b
    37:37:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    37:37:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3220 -> b
    38:41:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3223:3226 -> b
    42:42:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod) -> b
    42:42:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3227 -> b
    43:44:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3227:3228 -> b
    45:45:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> b
    45:45:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3229 -> b
    46:46:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3229:3229 -> b
    47:47:com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection access$1100(com.android.tools.r8.shaking.Enqueuer):193:193 -> b
    48:48:void access$700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):193:193 -> b
    49:49:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo():511:511 -> b
    50:50:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> b
    51:51:com.android.tools.r8.shaking.Enqueuer registerExceptionGuardAnalysis(com.android.tools.r8.graph.analysis.EnqueuerExceptionGuardAnalysis):560:560 -> b
    52:53:void setInitialDeadProtoTypes(java.util.Set):569:570 -> b
    54:54:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):612:612 -> b
    55:55:com.android.tools.r8.shaking.KeepClassInfo getKeepInfo(com.android.tools.r8.graph.DexProgramClass):693:693 -> b
    56:56:com.android.tools.r8.graph.DexClass getClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):786:786 -> b
    57:62:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:684 -> b
    57:62:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> b
    57:62:com.android.tools.r8.graph.DexClass getClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):786 -> b
    63:63:boolean registerFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):955:955 -> b
    63:63:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1602 -> b
    64:64:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1606:1606 -> b
    65:65:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> b
    65:65:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1607 -> b
    66:66:boolean registerReflectiveFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):959:959 -> b
    67:68:void traceCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):1084:1085 -> b
    69:69:void lambda$traceExceptionGuard$13(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerExceptionGuardAnalysis):1271:1271 -> b
    70:75:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1330:1335 -> b
    76:76:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    76:76:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1335 -> b
    77:78:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1337:1338 -> b
    79:79:void lambda$traceInvokeInterface$18(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1338:1338 -> b
    80:80:void lambda$traceNewInstance$22(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1429:1429 -> b
    81:81:void lambda$traceInstanceFieldWrite$26(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1553:1553 -> b
    82:94:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1609:1621 -> b
    95:95:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1620:1620 -> b
    96:96:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1754,"2":1755,"3":1756}}
    1754:1754:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1620:1620 -> b
    1755:1755:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1620:1620 -> b
    1756:1756:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1620:1620 -> b
    1719:1728:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1623:1632 -> b
    1729:1729:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    1729:1729:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1632 -> b
    1730:1735:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1636:1641 -> b
    1736:1742:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1637:1643 -> b
    1743:1743:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):586:586 -> b
    1743:1743:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1643 -> b
    1744:1748:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1647:1651 -> b
    1749:1751:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> b
    1749:1751:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1651 -> b
    1752:1752:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> b
    1752:1752:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2822 -> b
    1752:1752:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1654 -> b
    1753:1753:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2822:2822 -> b
    1753:1753:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1654 -> b
    1757:1757:java.lang.Boolean lambda$traceStaticFieldWrite$35(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1716:1716 -> b
    1758:1758:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$ensureMethodsContinueToWidenAccess$45(com.android.tools.r8.graph.DexType):1970:1970 -> b
    1759:1762:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2121:2124 -> b
    1763:1769:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2123:2129 -> b
    1770:1772:void recordNonProgramClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2389:2391 -> b
    1773:1777:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,boolean,java.util.function.BiConsumer):701:705 -> b
    1773:1777:void recordNonProgramClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2390 -> b
    1778:1778:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2511:2511 -> b
    1779:1779:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    1779:1779:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2511 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1780:1780:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    1780:1780:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2511 -> b
    1781:1786:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2511:2516 -> b
    1787:1788:void transitionDependentItemsForInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):2764:2765 -> b
    1787:1788:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2517 -> b
    1789:1791:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2857:2859 -> b
    1792:1792:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2858:2858 -> b
    1793:1794:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):98:99 -> b
    1793:1794:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2858 -> b
    1795:1801:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2860:2866 -> b
    1802:1802:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878:2878 -> b
    1802:1802:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1803:1803:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> b
    1803:1803:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878 -> b
    1803:1803:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1804:1804:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2879:2879 -> b
    1804:1804:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1805:1805:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> b
    1805:1805:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> b
    1805:1805:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1806:1806:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> b
    1806:1806:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> b
    1806:1806:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> b
    1806:1806:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1807:1807:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> b
    1807:1807:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> b
    1807:1807:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> b
    1807:1807:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1808:1809:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> b
    1808:1809:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> b
    1808:1809:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> b
    1808:1809:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> b
    1808:1809:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1810:1810:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2874:2874 -> b
    1811:1811:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2868:2868 -> b
    1812:1813:void traceFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):2887:2888 -> b
    1812:1813:void lambda$traceInstanceFieldWrite$28(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1587 -> b
    1814:1814:void lambda$traceInstanceFieldWrite$28(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1588:1588 -> b
    1815:1823:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2892:2900 -> b
    1824:1826:boolean verifyMethodIsTargeted(com.android.tools.r8.graph.ProgramMethod):1760:1762 -> b
    1824:1826:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2900 -> b
    1827:1827:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2901:2901 -> b
    1828:1828:boolean isFieldReferenced(com.android.tools.r8.graph.DexEncodedField):2914:2914 -> b
    1829:1829:boolean isFieldLive(com.android.tools.r8.graph.ProgramField):2923:2923 -> b
    1830:1830:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2989:2989 -> b
    1831:1831:boolean lambda$markVirtualMethodAsReachable$74(com.android.tools.r8.graph.DexDefinition):3111:3111 -> b
    1832:1832:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> b
    1832:1832:boolean lambda$markVirtualMethodAsReachable$74(com.android.tools.r8.graph.DexDefinition):3111 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1833:1833:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> b
    1833:1833:boolean lambda$markVirtualMethodAsReachable$74(com.android.tools.r8.graph.DexDefinition):3111 -> b
    1834:1838:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3163:3167 -> b
    1834:1838:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1839:1839:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1856,"2":1857,"3":1858}}
    1856:1856:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3167:3167 -> b
    1856:1856:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1857:1857:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3167:3167 -> b
    1857:1857:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1858:1858:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3167:3167 -> b
    1858:1858:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1840:1840:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3167:3167 -> b
    1840:1840:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1841:1846:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3166:3171 -> b
    1841:1846:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1847:1852:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175:3180 -> b
    1853:1853:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354:2354 -> b
    1853:1853:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3183 -> b
    1854:1854:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():618:618 -> b
    1854:1854:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1854:1854:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3183 -> b
    1855:1855:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2355:2355 -> b
    1855:1855:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3183 -> b
    1859:1859:void lambda$markEnumValuesAsReachable$81(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3182:3182 -> b
    1860:1870:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3238:3248 -> b
    1871:1871:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isInitialMainDexTracing():216:216 -> b
    1871:1871:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3248 -> b
    1872:1875:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3249:3252 -> b
    1876:1876:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isGenerateMainDexList():224:224 -> b
    1876:1876:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3252 -> b
    1877:1881:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3251:3255 -> b
    1882:1882:com.android.tools.r8.shaking.MainDexInfo com.android.tools.r8.shaking.MainDexInfo$Builder.build(com.android.tools.r8.shaking.MainDexInfo):406:406 -> b
    1882:1882:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3256 -> b
    1883:1883:void lambda$traceApplication$85(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3291:3291 -> b
    1884:1884:void lambda$traceApplication$86(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3293:3293 -> b
    1885:1885:void lambda$applyMinimumKeepInfoWhenLive$89(com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3340:3340 -> b
    1886:1886:void lambda$applyMinimumKeepInfoWhenLive$91(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3389:3389 -> b
    1887:1887:void lambda$applyMinimumKeepInfoWhenLiveOrTargeted$93(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3441:3441 -> b
    1888:1893:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3469:3474 -> b
    1894:1894:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> b
    1894:1894:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3474 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1895:1895:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> b
    1895:1895:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1895:1895:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3474 -> b
    1896:1896:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3477:3477 -> b
    1897:1897:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> b
    1897:1897:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3477 -> b
    1898:1898:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3478:3478 -> b
    1899:1901:void recordTwrCloseResourceMethodSynthesizingContext(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3730:3732 -> b
    1902:1906:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod):4485:4489 -> b
    1907:1907:void lambda$handleReflectiveBehavior$117(com.android.tools.r8.shaking.KeepClassInfo$Joiner):4548:4548 -> b
    1:1:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl access$1800(com.android.tools.r8.shaking.Enqueuer):193:193 -> c
    2:2:com.android.tools.r8.shaking.Enqueuer registerInstanceOfAnalysis(com.android.tools.r8.graph.analysis.EnqueuerInstanceOfAnalysis):550:550 -> c
    3:4:void setInitialPrunedTypes(java.util.Set):574:575 -> c
    5:6:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):775:776 -> c
    7:7:boolean registerFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):963:963 -> c
    7:7:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1678 -> c
    8:8:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1682:1682 -> c
    9:9:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> c
    9:9:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1683 -> c
    10:10:boolean registerReflectiveFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):967:967 -> c
    11:11:void lambda$traceInstanceOf$12(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInstanceOfAnalysis):1266:1266 -> c
    12:12:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1271:1271 -> c
    13:13:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1262:1262 -> c
    13:13:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1272 -> c
    14:20:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1276:1282 -> c
    21:21:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> c
    21:21:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1286 -> c
    22:22:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> c
    22:22:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> c
    22:22:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1286 -> c
    23:23:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1286:1286 -> c
    24:25:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1351:1352 -> c
    26:26:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> c
    26:26:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1352 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1626:1626 -> c
    27:27:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1352 -> c
    28:40:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1352:1364 -> c
    41:41:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2206:2206 -> c
    41:41:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1364 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2206:2206 -> c
    42:42:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1364 -> c
    43:53:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1365:1375 -> c
    54:54:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> c
    54:54:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1375 -> c
    55:70:void handleInvokeOfStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2150:2165 -> c
    55:70:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1377 -> c
    71:71:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1378:1378 -> c
    72:72:void lambda$traceInvokeStatic$19(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1378:1378 -> c
    73:73:void lambda$traceStaticFieldRead$29(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1611:1611 -> c
    74:86:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1685:1697 -> c
    87:87:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1696:1696 -> c
    88:88:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1824,"2":1825,"3":1826}}
    1824:1824:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1696:1696 -> c
    1825:1825:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1696:1696 -> c
    1826:1826:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1696:1696 -> c
    1787:1796:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1699:1708 -> c
    1797:1797:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> c
    1797:1797:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1708 -> c
    1798:1805:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1711:1718 -> c
    1806:1812:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1714:1720 -> c
    1813:1813:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):586:586 -> c
    1813:1813:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1720 -> c
    1814:1818:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1725:1729 -> c
    1819:1821:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> c
    1819:1821:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1729 -> c
    1822:1822:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> c
    1822:1822:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2822 -> c
    1822:1822:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1732 -> c
    1823:1823:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2822:2822 -> c
    1823:1823:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1732 -> c
    1827:1831:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):1815:1819 -> c
    1832:1834:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):1818:1820 -> c
    1835:1835:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):1816:1816 -> c
    1836:1836:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$38(com.android.tools.r8.graph.DexType):1819:1819 -> c
    1837:1839:void recordNonProgramClassWithNoMissingReporting(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2400:2402 -> c
    1840:1844:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,boolean,java.util.function.BiConsumer):701:705 -> c
    1840:1844:void recordNonProgramClassWithNoMissingReporting(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2401 -> c
    1845:1851:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2424:2424 -> c
    1852:1852:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4302,"2":4303,"3":4304}}
    4302:4302:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2424:2424 -> c
    4303:4303:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2424:2424 -> c
    4304:4304:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2424:2424 -> c
    1853:1853:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4310,"2":4311,"3":4312,"4":4313}}
    4310:4310:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2430 -> c
    4311:4311:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2430 -> c
    4312:4312:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2430 -> c
    4313:4313:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2430 -> c
    4283:4296:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2443 -> c
    4297:4297:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> c
    4297:4297:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2443 -> c
    4298:4298:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> c
    4298:4298:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> c
    4298:4298:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2443 -> c
    4299:4301:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2444:2446 -> c
    4314:4315:void traceFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):2887:2888 -> c
    4314:4315:void lambda$traceStaticFieldRead$33(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1658 -> c
    4316:4318:void lambda$traceStaticFieldRead$33(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1659:1661 -> c
    4319:4320:boolean isFieldRead(com.android.tools.r8.graph.ProgramField):2931:2932 -> c
    4321:4321:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2993:2993 -> c
    4322:4322:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2989:2989 -> c
    4322:4322:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2993 -> c
    4323:4323:boolean isTypeLive(com.android.tools.r8.graph.DexProgramClass):3003:3003 -> c
    4324:4324:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$markSuperMethodAsReachable$83(com.android.tools.r8.graph.DexEncodedMethod):3224:3224 -> c
    4325:4330:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3364:3369 -> c
    4331:4331:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> c
    4331:4331:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3369 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4332:4332:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> c
    4332:4332:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4332:4332:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3369 -> c
    4333:4333:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3371:3371 -> c
    4334:4334:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> c
    4334:4334:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3371 -> c
    4335:4335:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3353:3353 -> c
    4335:4335:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> c
    4336:4336:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> c
    4336:4336:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4336:4336:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> c
    4337:4337:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> c
    4337:4337:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> c
    4337:4337:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> c
    4338:4338:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3355:3355 -> c
    4338:4338:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> c
    4339:4340:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):858:859 -> c
    4339:4340:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> c
    4339:4340:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> c
    4341:4341:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> c
    4341:4341:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4341:4341:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> c
    4341:4341:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> c
    4342:4342:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860:860 -> c
    4342:4342:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> c
    4342:4342:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> c
    4343:4348:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3409:3414 -> c
    4349:4349:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> c
    4349:4349:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3414 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4350:4350:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> c
    4350:4350:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4350:4350:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3414 -> c
    4351:4351:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3416:3416 -> c
    4352:4352:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> c
    4352:4352:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3416 -> c
    4353:4353:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3400:3400 -> c
    4353:4353:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> c
    4354:4354:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> c
    4354:4354:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4354:4354:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> c
    4355:4355:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> c
    4355:4355:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> c
    4355:4355:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> c
    4356:4356:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3402:3402 -> c
    4356:4356:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> c
    4357:4359:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):890:892 -> c
    4357:4359:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> c
    4357:4359:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> c
    4360:4360:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> c
    4360:4360:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4360:4360:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> c
    4360:4360:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> c
    4361:4361:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895:895 -> c
    4361:4361:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> c
    4361:4361:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> c
    4362:4362:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):894:894 -> c
    4362:4362:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> c
    4362:4362:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> c
    4363:4363:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:892 -> c
    4363:4363:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> c
    4363:4363:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> c
    4364:4370:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3919:3925 -> c
    4371:4382:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3955:3966 -> c
    4371:4382:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3925 -> c
    4383:4383:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2989:2989 -> c
    4383:4383:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3967 -> c
    4383:4383:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3925 -> c
    4384:4384:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3968:3968 -> c
    4384:4384:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3925 -> c
    4385:4387:boolean verifyReferencedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3977:3979 -> c
    4385:4387:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3968 -> c
    4385:4387:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3925 -> c
    4388:4388:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4180:4180 -> c
    4389:4389:com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder com.android.tools.r8.shaking.RootSetUtils$RootSet.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):2037:2037 -> c
    4389:4389:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4180 -> c
    4390:4391:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4181:4182 -> c
    4392:4401:void handleInterfaceMethodSyntheticBridgeAction(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):4210:4219 -> c
    4392:4401:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4183 -> c
    4402:4402:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4187:4187 -> c
    4403:4416:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4237:4250 -> c
    4417:4418:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):98:99 -> c
    4417:4418:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4250 -> c
    4419:4422:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4253:4256 -> c
    1:1:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> d
    1:1:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1321 -> d
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> d
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> d
    2:2:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1321 -> d
    3:3:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1321:1321 -> d
    4:4:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> d
    4:4:com.android.tools.r8.shaking.KeepReason lambda$handleReflectiveBehavior$116(com.android.tools.r8.graph.ProgramMethod):4541 -> d
    5:5:com.android.tools.r8.utils.InternalOptions access$2000(com.android.tools.r8.shaking.Enqueuer):193:193 -> d
    6:10:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory createUseRegistryFactory():523:527 -> d
    11:11:boolean addTargetedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):594:594 -> d
    11:11:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4364 -> d
    12:19:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4369:4376 -> d
    20:21:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):4480:4481 -> d
    20:21:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4377 -> d
    22:22:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness com.android.tools.r8.shaking.GraphReporter.reportCompatKeepMethod(com.android.tools.r8.graph.ProgramMethod):192:192 -> d
    22:22:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):4481 -> d
    22:22:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4377 -> d
    23:23:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):4480:4480 -> d
    23:23:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4377 -> d
    24:24:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4380:4380 -> d
    25:25:void lambda$traceSafeCheckCast$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerCheckCastAnalysis):1089:1089 -> d
    26:37:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1179:1190 -> d
    38:44:com.android.tools.r8.utils.Visibility computeMinimumRequiredVisibilityForInitClassField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1227:1233 -> d
    38:44:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1190 -> d
    45:49:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1189:1193 -> d
    50:50:boolean com.android.tools.r8.utils.Visibility.isPublic():28:28 -> d
    50:50:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1197 -> d
    51:51:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1202:1202 -> d
    52:56:com.android.tools.r8.utils.Visibility computeMinimumRequiredVisibilityForInitClassField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1227:1231 -> d
    52:56:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1202 -> d
    57:57:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1205:1205 -> d
    58:58:boolean com.android.tools.r8.utils.Visibility.isPrivate():20:20 -> d
    58:58:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1205 -> d
    59:62:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1205:1208 -> d
    63:63:boolean com.android.tools.r8.utils.Visibility.isProtected():24:24 -> d
    63:63:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1212 -> d
    64:64:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1217:1217 -> d
    65:65:boolean com.android.tools.r8.utils.Visibility.isPackagePrivate():16:16 -> d
    65:65:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1221 -> d
    66:66:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1221:1221 -> d
    67:67:boolean com.android.tools.r8.utils.Visibility.isPackagePrivate():16:16 -> d
    67:67:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1222 -> d
    68:68:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1222:1222 -> d
    69:69:void lambda$traceInvokeSuper$20(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1393:1393 -> d
    70:77:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1406:1413 -> d
    78:90:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1408:1420 -> d
    91:91:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> d
    91:91:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1420 -> d
    92:93:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1422:1423 -> d
    94:94:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1463:1463 -> d
    95:95:void lambda$traceStaticFieldWrite$34(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1687:1687 -> d
    96:104:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):1772:1780 -> d
    105:105:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> d
    105:105:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):1784 -> d
    106:106:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$39(com.android.tools.r8.graph.DexType):1896:1896 -> d
    107:108:void traceFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):2887:2888 -> d
    107:108:void lambda$traceStaticFieldWrite$37(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1736 -> d
    109:109:void lambda$traceStaticFieldWrite$37(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1737:1737 -> d
    110:114:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2942:2946 -> d
    115:115:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> d
    115:115:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2946 -> d
    116:117:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2948:2949 -> d
    118:121:java.util.Set lambda$createEnqueuerResult$104(com.android.tools.r8.graph.DexProgramClass):3825:3828 -> d
    1:1:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> e
    1:1:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1342 -> e
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> e
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> e
    2:2:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1342 -> e
    3:3:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1342:1342 -> e
    4:4:com.android.tools.r8.shaking.Enqueuer$Mode access$300(com.android.tools.r8.shaking.Enqueuer):193:193 -> e
    5:5:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):608:608 -> e
    6:15:void enqueueAllIfNotShrinking():832:841 -> e
    16:16:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> e
    16:16:void enqueueAllIfNotShrinking():841 -> e
    17:17:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> e
    17:17:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> e
    17:17:void enqueueAllIfNotShrinking():841 -> e
    18:19:void enqueueAllIfNotShrinking():841:842 -> e
    20:21:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):858:859 -> e
    20:21:void enqueueAllIfNotShrinking():846 -> e
    22:22:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> e
    22:22:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:void enqueueAllIfNotShrinking():846 -> e
    23:23:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860:860 -> e
    23:23:void enqueueAllIfNotShrinking():846 -> e
    24:24:void enqueueAllIfNotShrinking():847:847 -> e
    25:25:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> e
    25:25:void enqueueAllIfNotShrinking():847 -> e
    26:26:void enqueueAllIfNotShrinking():849:849 -> e
    27:27:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1266:1266 -> e
    28:28:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1262:1262 -> e
    28:28:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1267 -> e
    29:29:void lambda$traceInvokeVirtual$21(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1423:1423 -> e
    30:30:void traceInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1467:1467 -> e
    31:31:java.util.Map lambda$processAnnotation$49(com.android.tools.r8.graph.DexType):2071:2071 -> e
    32:32:com.android.tools.r8.utils.collections.ProgramFieldSet lambda$markFieldAsReachable$69(com.android.tools.r8.graph.DexProgramClass):2865:2865 -> e
    33:33:void lambda$markDirectStaticOrConstructorMethodAsLive$71(com.android.tools.r8.graph.ProgramMethod):2896:2896 -> e
    34:36:boolean verifyMethodIsTargeted(com.android.tools.r8.graph.ProgramMethod):1760:1762 -> e
    34:36:void lambda$markDirectStaticOrConstructorMethodAsLive$71(com.android.tools.r8.graph.ProgramMethod):2896 -> e
    37:37:void lambda$markDirectStaticOrConstructorMethodAsLive$71(com.android.tools.r8.graph.ProgramMethod):2897:2897 -> e
    38:38:boolean verifyTypeIsLive(com.android.tools.r8.graph.DexProgramClass):1767:1767 -> e
    38:38:void lambda$markDirectStaticOrConstructorMethodAsLive$71(com.android.tools.r8.graph.ProgramMethod):2897 -> e
    39:40:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2907:2908 -> e
    41:41:boolean com.android.tools.r8.shaking.KeepReason.isDueToReflectiveUse():0:0 -> e
    41:41:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2909 -> e
    42:45:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2907:2910 -> e
    1:1:com.android.tools.r8.shaking.GraphReporter access$400(com.android.tools.r8.shaking.Enqueuer):193:193 -> f
    2:2:com.android.tools.r8.shaking.GraphReporter getGraphReporter():519:519 -> f
    3:3:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):598:598 -> f
    4:4:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> f
    4:4:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):600 -> f
    5:7:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):601:603 -> f
    8:12:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,boolean,java.util.function.BiConsumer):701:705 -> f
    8:12:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):602 -> f
    13:21:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1427:1435 -> f
    22:22:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.instantiatedIn(com.android.tools.r8.graph.ProgramMethod):34:34 -> f
    22:22:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1439 -> f
    23:23:void 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):1452:1452 -> f
    23:23:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1435 -> f
    24:24:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> f
    24:24:void 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):1454 -> f
    24:24:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1435 -> f
    25:28:void 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):1454:1457 -> f
    25:28:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1435 -> f
    29:29:void 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):1455:1455 -> f
    29:29:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1435 -> f
    30:30:void traceInstanceFieldReadFromRecordMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1471:1471 -> f
    31:41:com.android.tools.r8.graph.DexMethod getInvokeSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1742:1752 -> f
    31:41:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1384 -> f
    42:47:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1385:1390 -> f
    48:48:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> f
    48:48:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1390 -> f
    49:50:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1392:1393 -> f
    51:51:java.util.Set lambda$markInterfaceTypeAsLiveViaInheritanceClause$48(com.android.tools.r8.graph.DexProgramClass):2017:2017 -> f
    52:52:void lambda$markDirectStaticOrConstructorMethodAsLive$72(com.android.tools.r8.graph.ProgramMethod):2901:2901 -> f
    53:53:boolean verifyTypeIsLive(com.android.tools.r8.graph.DexProgramClass):1767:1767 -> f
    53:53:void lambda$markDirectStaticOrConstructorMethodAsLive$72(com.android.tools.r8.graph.ProgramMethod):2901 -> f
    1:1:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> g
    1:1:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1397 -> g
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> g
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> g
    2:2:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1397 -> g
    3:3:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1397:1397 -> g
    4:4:com.android.tools.r8.shaking.EnqueuerWorklist access$500(com.android.tools.r8.shaking.Enqueuer):193:193 -> g
    5:5:com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection getKeepInfo():689:689 -> g
    6:7:void traceSafeCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1089:1090 -> g
    8:8:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1535:1535 -> g
    9:20:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):2170:2181 -> g
    21:27:boolean markDirectClassInitializerAsLive(com.android.tools.r8.graph.DexProgramClass):2202:2208 -> g
    21:27:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):2185 -> g
    28:31:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):2191:2194 -> g
    32:36:void traceCode(com.android.tools.r8.graph.ProgramMethod):4407:4411 -> g
    1:1:com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet access$600(com.android.tools.r8.shaking.Enqueuer):193:193 -> h
    2:2:com.android.tools.r8.shaking.Enqueuer$Mode getMode():515:515 -> h
    3:3:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1262:1262 -> h
    4:4:void traceInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1539:1539 -> h
    5:20:void markInterfaceInitializedDirectly(com.android.tools.r8.graph.DexProgramClass):2218:2233 -> h
    21:21:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4415:4415 -> h
    21:21:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4384 -> h
    22:22:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> h
    22:22:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4415 -> h
    22:22:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4384 -> h
    23:26:void markParameterAndReturnTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4420:4423 -> h
    23:26:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4416 -> h
    23:26:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4384 -> h
    27:27:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> h
    27:27:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4385 -> h
    28:28:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> h
    28:28:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> h
    28:28:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4385 -> h
    29:29:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> h
    29:29:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> h
    29:29:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4385 -> h
    30:31:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> h
    30:31:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> h
    30:31:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> h
    30:31:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4385 -> h
    32:38:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4387:4393 -> h
    1:1:java.util.Set access$800(com.android.tools.r8.shaking.Enqueuer):193:193 -> i
    2:2:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory getUseRegistryFactory():531:531 -> i
    3:4:void traceRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.ProgramMethod):1173:1174 -> i
    5:5:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1593:1593 -> i
    6:23:boolean markInterfaceInitializedIndirectly(com.android.tools.r8.graph.DexProgramClass):2243:2260 -> i
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy access$900(com.android.tools.r8.shaking.Enqueuer):193:193 -> j
    2:2:void traceStaticFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1597:1597 -> j
    3:36:void transitionDependentItemsForInstantiatedItem(com.android.tools.r8.graph.DexProgramClass):2769:2802 -> j
    37:40:void postProcessingDesugaring():4107:4110 -> j
    41:41:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> j
    41:41:void postProcessingDesugaring():4110 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> j
    42:42:void postProcessingDesugaring():4110 -> j
    43:64:void postProcessingDesugaring():4110:4131 -> j
    65:81:void postProcessingDesugaring():4130:4146 -> j
    82:82:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> j
    82:82:void postProcessingDesugaring():4146 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    83:83:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> j
    83:83:void postProcessingDesugaring():4146 -> j
    84:84:void postProcessingDesugaring():4147:4147 -> j
    85:85:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():338:338 -> j
    85:85:void postProcessingDesugaring():4147 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():338:338 -> j
    86:86:void postProcessingDesugaring():4147 -> j
    87:87:void postProcessingDesugaring():4148:4148 -> j
    1:1:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1669:1669 -> k
    2:9:void synthesize():3597:3604 -> k
    10:15:void synthesizeInterfaceMethodBridges(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3736:3741 -> k
    10:15:void synthesize():3605 -> k
    16:27:void synthesize():3606:3617 -> k
    1:1:void traceStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1673:1673 -> l
com.android.tools.r8.shaking.Enqueuer$AnnotationReferenceMarker -> com.android.tools.r8.shaking.o:
    com.android.tools.r8.shaking.KeepReason reason -> b
    com.android.tools.r8.shaking.Enqueuer this$0 -> c
    com.android.tools.r8.graph.ProgramDefinition context -> a
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer$1):4991:4991 -> <init>
    2:4:void <init>(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):4996:4998 -> <init>
    boolean addCallSite(com.android.tools.r8.graph.DexCallSite) -> a
    boolean addClass(com.android.tools.r8.graph.DexProgramClass) -> a
    boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle) -> a
    boolean addProto(com.android.tools.r8.graph.DexProto) -> a
    boolean addString(com.android.tools.r8.graph.DexString) -> a
    1:16:boolean addMethod(com.android.tools.r8.graph.DexMethod):5044:5059 -> a
    17:17:boolean addType(com.android.tools.r8.graph.DexType):5087:5087 -> a
    1:24:boolean addField(com.android.tools.r8.graph.DexField):5008:5031 -> b
    25:25:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    25:25:boolean addField(com.android.tools.r8.graph.DexField):5031 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:26:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> b
    26:26:boolean addField(com.android.tools.r8.graph.DexField):5031 -> b
    27:32:boolean addField(com.android.tools.r8.graph.DexField):5031:5036 -> b
com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier -> com.android.tools.r8.shaking.p:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> a
    1:2:void <init>(com.android.tools.r8.shaking.Enqueuer):5096:5097 -> <init>
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):5101:5101 -> a
    2:2:void lambda$definitionFor$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):5102:5102 -> a
    3:3:void lambda$definitionFor$1(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):5102:5102 -> a
com.android.tools.r8.shaking.Enqueuer$FieldReadType -> com.android.tools.r8.shaking.q:
    com.android.tools.r8.shaking.Enqueuer$FieldReadType READ_FROM_RECORD_METHOD_HANDLE -> d
    com.android.tools.r8.shaking.Enqueuer$FieldReadType READ -> b
    com.android.tools.r8.shaking.Enqueuer$FieldReadType READ_FROM_METHOD_HANDLE -> c
    1:3:void <clinit>():1475:1477 -> <clinit>
    1:1:void <init>(java.lang.String,int):1474:1474 -> <init>
com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet -> com.android.tools.r8.shaking.r:
    com.android.tools.r8.shaking.Enqueuer this$0 -> c
    java.util.Set fields -> a
    java.util.function.BiConsumer register -> b
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4941:4941 -> <init>
    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4937:4942 -> <init>
    1:1:java.util.Set access$1400(com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet):4935:4935 -> a
    2:5:boolean add(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):4946:4949 -> a
    6:6:boolean contains(com.android.tools.r8.graph.DexEncodedField):4953:4953 -> a
    7:7:boolean contains(com.android.tools.r8.graph.ProgramField):4957:4957 -> a
    8:8:boolean contains(com.android.tools.r8.graph.DexEncodedField):4953:4953 -> a
    8:8:boolean contains(com.android.tools.r8.graph.ProgramField):4957 -> a
com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet -> com.android.tools.r8.shaking.s:
    com.android.tools.r8.shaking.Enqueuer this$0 -> c
    java.util.Set items -> a
    java.util.function.BiConsumer register -> b
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4967:4967 -> <init>
    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4963:4968 -> <init>
    1:1:java.util.Set access$1300(com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet):4961:4961 -> a
    2:5:boolean add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4972:4975 -> a
    6:6:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):4979:4979 -> a
    7:7:boolean contains(com.android.tools.r8.graph.ProgramMethod):4983:4983 -> a
    8:8:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):4979:4979 -> a
    8:8:boolean contains(com.android.tools.r8.graph.ProgramMethod):4983 -> a
    9:9:java.util.Set getItems():4987:4987 -> a
com.android.tools.r8.shaking.Enqueuer$Mode -> com.android.tools.r8.shaking.t$a:
    com.android.tools.r8.shaking.Enqueuer$Mode FINAL_MAIN_DEX_TRACING -> e
    com.android.tools.r8.shaking.Enqueuer$Mode INITIAL_MAIN_DEX_TRACING -> d
    com.android.tools.r8.shaking.Enqueuer$Mode FINAL_TREE_SHAKING -> c
    com.android.tools.r8.shaking.Enqueuer$Mode INITIAL_TREE_SHAKING -> b
    com.android.tools.r8.shaking.Enqueuer$Mode WHY_ARE_YOU_KEEPING -> g
    com.android.tools.r8.shaking.Enqueuer$Mode GENERATE_MAIN_DEX_LIST -> f
    1:6:void <clinit>():196:201 -> <clinit>
    1:1:void <init>(java.lang.String,int):195:195 -> <init>
    1:1:boolean isFinalTreeShaking():212:212 -> a
    1:1:boolean isInitialTreeShaking():208:208 -> b
    1:1:boolean isInitialMainDexTracing():216:216 -> c
    1:1:boolean isMainDexTracing():228 -> c
    2:2:boolean isFinalMainDexTracing():220:220 -> c
    2:2:boolean isMainDexTracing():228 -> c
    3:3:boolean isGenerateMainDexList():224:224 -> c
    3:3:boolean isMainDexTracing():228 -> c
    1:1:boolean isTreeShaking():204:204 -> d
com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey -> com.android.tools.r8.shaking.u:
    boolean isInterface -> b
    com.android.tools.r8.graph.DexMethod method -> a
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.shaking.Enqueuer$1):5106:5106 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexMethod,boolean):5111:5113 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod access$2800(com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey):5106:5106 -> a
    1:1:boolean access$2900(com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey):5106:5106 -> b
    1:5:boolean equals(java.lang.Object):5118:5122 -> equals
    1:1:int hashCode():5127:5127 -> hashCode
com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason -> com.android.tools.r8.shaking.v:
    java.util.Map deferredActions -> b
    java.util.Set items -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():4904:4904 -> <clinit>
    1:4:void <init>():4904:4907 -> <init>
    5:5:void <init>(com.android.tools.r8.shaking.Enqueuer$1):4904:4904 -> <init>
    1:1:java.util.Set access$1200(com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason):4904:4904 -> a
    2:4:boolean add(java.lang.Object,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):4910:4912 -> a
    5:5:boolean contains(java.lang.Object):4919:4919 -> a
    6:7:boolean registerDeferredAction(java.lang.Object,com.android.tools.r8.utils.Action):4923:4924 -> a
    8:8:java.util.Set getItems():4931:4931 -> a
    1:1:java.util.List lambda$registerDeferredAction$0(java.lang.Object):4924:4924 -> b
com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions -> com.android.tools.r8.shaking.w:
    java.util.Map methodProcessingContexts -> b
    java.util.Map liveMethods -> d
    boolean $assertionsDisabled -> i
    java.util.List desugaredMethods -> c
    java.util.List liveMethodsWithKeepActions -> h
    com.android.tools.r8.utils.collections.ProgramMethodMap minimumKeepInfo -> e
    java.util.Map syntheticClasspathClasses -> f
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> a
    java.util.Map injectedInterfaces -> g
    1:1:void <clinit>():3498:3498 -> <clinit>
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):3521:3521 -> <init>
    2:23:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):3501:3522 -> <init>
    1:1:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext lambda$getMethodContext$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):3527:3527 -> a
    2:7:boolean isEmpty():3531:3536 -> a
    8:9:void addLiveClasspathClass(com.android.tools.r8.graph.DexClasspathClass):3541:3542 -> a
    10:12:void addLiveMethod(com.android.tools.r8.graph.ProgramMethod):3546:3548 -> a
    13:15:void injectInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass):3556:3558 -> a
    16:16:java.util.Set lambda$injectInterface$1(com.android.tools.r8.graph.DexProgramClass):3557:3557 -> a
    17:19:void addMinimumKeepInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):3562:3562 -> a
    20:23:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):3567:3570 -> a
    24:24:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness com.android.tools.r8.shaking.GraphReporter.fakeReportShouldNotBeUsed():74:74 -> a
    24:24:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):3570 -> a
    25:43:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):3572:3590 -> a
    44:44:void lambda$enqueueWorkItems$2(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.utils.Pair):3577:3577 -> a
    45:47:void lambda$enqueueWorkItems$3(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,java.util.Set):3586:3586 -> a
    48:48:void lambda$enqueueWorkItems$4(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3592:3592 -> a
    1:1:void addMethodWithDesugaredCodeForTracing(com.android.tools.r8.graph.ProgramMethod):3552:3552 -> b
    1:3:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext getMethodContext(com.android.tools.r8.graph.ProgramMethod):3526:3526 -> c
com.android.tools.r8.shaking.EnqueuerEvent -> com.android.tools.r8.internal.gi:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent asClassEvent() -> a
    com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    boolean isClassEvent() -> b
com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent -> com.android.tools.r8.internal.bi:
    com.android.tools.r8.graph.DexType clazz -> a
    1:2:void <init>(com.android.tools.r8.graph.DexType):82:83 -> <init>
    com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent asClassEvent() -> a
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent.getType():92:92 -> a
    1:1:com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier):88 -> a
    2:2:com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier):88:88 -> a
    boolean isClassEvent() -> b
    1:1:com.android.tools.r8.graph.DexType getType():92:92 -> c
com.android.tools.r8.shaking.EnqueuerEvent$InstantiatedClassEnqueuerEvent -> com.android.tools.r8.internal.ci:
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass):156:156 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexType):160:160 -> <init>
    1:1:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    2:2:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":182,"2":183,"3":184}}
    182:182:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    183:183:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    183:183:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    184:184:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    184:184:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    178:181:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):176:179 -> a
    1:3:boolean equals(java.lang.Object):187:189 -> equals
    1:1:int hashCode():196:196 -> hashCode
com.android.tools.r8.shaking.EnqueuerEvent$LiveClassEnqueuerEvent -> com.android.tools.r8.internal.di:
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass):109:109 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexType):113:113 -> <init>
    1:1:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):128:128 -> a
    2:2:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":135,"2":136,"3":137}}
    135:135:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):128:128 -> a
    136:136:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    136:136:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):128 -> a
    137:137:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    137:137:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):128 -> a
    131:134:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):129:132 -> a
    1:3:boolean equals(java.lang.Object):140:142 -> equals
    1:1:int hashCode():149:149 -> hashCode
com.android.tools.r8.shaking.EnqueuerEvent$NoSuchEnqueuerEvent -> com.android.tools.r8.internal.ei:
    com.android.tools.r8.shaking.EnqueuerEvent$NoSuchEnqueuerEvent INSTANCE -> a
    1:1:void <clinit>():59:59 -> <clinit>
    1:1:void <init>():61:61 -> <init>
    com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.shaking.EnqueuerEvent$NoSuchEnqueuerEvent get():64:64 -> c
com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent -> com.android.tools.r8.internal.fi:
    com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent INSTANCE -> a
    1:1:void <clinit>():202:202 -> <clinit>
    1:1:void <init>():204:204 -> <init>
    com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent get():207:207 -> c
com.android.tools.r8.shaking.EnqueuerFactory -> com.android.tools.r8.shaking.x:
    1:6:com.android.tools.r8.shaking.Enqueuer createForFinalTreeShaking(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,java.util.Set):31:36 -> a
    7:7:void lambda$createForFinalTreeShaking$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):35:35 -> a
    8:8:com.android.tools.r8.shaking.Enqueuer createForInitialMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo):44:44 -> a
    9:9:com.android.tools.r8.shaking.Enqueuer createForFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer):53:53 -> a
    10:10:com.android.tools.r8.shaking.Enqueuer createForWhyAreYouKeeping(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer):71:71 -> a
    1:1:com.android.tools.r8.shaking.Enqueuer createForInitialTreeShaking(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo):22:22 -> b
    2:2:com.android.tools.r8.shaking.Enqueuer createForGenerateMainDexList(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer):62:62 -> b
com.android.tools.r8.shaking.EnqueuerMetadataTraceable -> com.android.tools.r8.internal.ii:
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
com.android.tools.r8.shaking.EnqueuerResult -> com.android.tools.r8.shaking.y:
    com.android.tools.r8.shaking.AppInfoWithLiveness appInfo -> a
    1:2:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness):11:12 -> <init>
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness getAppInfo():16:16 -> a
com.android.tools.r8.shaking.EnqueuerUseRegistryFactory -> com.android.tools.r8.internal.ji:
    com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.androidapi.AndroidApiLevelCompute) -> a
com.android.tools.r8.shaking.EnqueuerWorklist -> com.android.tools.r8.shaking.U:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> a
    java.util.Queue queue -> b
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.Queue,com.android.tools.r8.shaking.EnqueuerWorklist$1):23:23 -> <init>
    2:4:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.Queue):328:330 -> <init>
    boolean enqueueAssertAction(com.android.tools.r8.utils.Action) -> a
    void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness) -> a
    void enqueueMarkFieldAsReachableAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason) -> a
    void enqueueMarkFieldKeptAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness) -> a
    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) -> a
    void enqueueMarkMethodKeptAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason) -> a
    boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason) -> a
    void enqueueMarkReachableDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason) -> a
    void enqueueMarkReachableSuperAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod) -> a
    void enqueueTraceAnnotationAction(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind) -> a
    void enqueueTraceCodeAction(com.android.tools.r8.graph.ProgramMethod) -> a
    void enqueueTraceConstClassAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean) -> a
    void enqueueTraceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.shaking.EnqueuerWorklist createWorklist(com.android.tools.r8.shaking.Enqueuer):325:325 -> a
    2:2:boolean isEmpty():334:334 -> a
    void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness) -> b
    void enqueueTraceInvokeDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod) -> b
    void enqueueTraceNewInstanceAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod) -> b
    com.android.tools.r8.shaking.EnqueuerWorklist nonPushable() -> b
    void enqueueTraceInvokeStaticAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod) -> c
com.android.tools.r8.shaking.EnqueuerWorklist$AssertAction -> com.android.tools.r8.shaking.z:
    com.android.tools.r8.utils.Action assertion -> a
    1:2:void <init>(com.android.tools.r8.utils.Action):32:33 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):38:38 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction -> com.android.tools.r8.internal.ki:
    1:1:void <init>():25:25 -> <init>
    void run(com.android.tools.r8.shaking.Enqueuer) -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkAnnotationInstantiatedAction -> com.android.tools.r8.shaking.A:
    com.android.tools.r8.graph.DexProgramClass target -> a
    com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reason -> b
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):123:125 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):130:130 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkFieldAsReachableAction -> com.android.tools.r8.shaking.B:
    com.android.tools.r8.graph.ProgramField field -> a
    com.android.tools.r8.shaking.KeepReason reason -> c
    com.android.tools.r8.graph.ProgramDefinition context -> b
    1:4:void <init>(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):83:86 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):91:91 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkFieldKeptAction -> com.android.tools.r8.shaking.C:
    com.android.tools.r8.graph.ProgramField field -> a
    com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness witness -> b
    1:3:void <init>(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):184:186 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):191:191 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkInstantiatedAction -> com.android.tools.r8.shaking.D:
    com.android.tools.r8.shaking.InstantiationReason instantiationReason -> c
    com.android.tools.r8.shaking.KeepReason keepReason -> d
    com.android.tools.r8.graph.DexProgramClass target -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    1:5:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):106:110 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):115:115 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkInterfaceInstantiatedAction -> com.android.tools.r8.shaking.E:
    com.android.tools.r8.graph.DexProgramClass target -> a
    com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reason -> b
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):138:140 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):145:145 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkMethodKeptAction -> com.android.tools.r8.shaking.F:
    com.android.tools.r8.shaking.KeepReason reason -> b
    com.android.tools.r8.graph.ProgramMethod target -> a
    1:3:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):169:171 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):176:176 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkMethodLiveAction -> com.android.tools.r8.shaking.G:
    com.android.tools.r8.graph.ProgramDefinition context -> b
    com.android.tools.r8.graph.ProgramMethod method -> a
    1:3:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):154:156 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):161:161 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkReachableDirectAction -> com.android.tools.r8.shaking.H:
    com.android.tools.r8.shaking.KeepReason reason -> c
    com.android.tools.r8.graph.ProgramDefinition context -> b
    com.android.tools.r8.graph.DexMethod target -> a
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):48:51 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):56:56 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkReachableSuperAction -> com.android.tools.r8.shaking.I:
    com.android.tools.r8.graph.ProgramMethod context -> b
    com.android.tools.r8.graph.DexMethod target -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):65:67 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):72:72 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$NonPushableEnqueuerWorklist -> com.android.tools.r8.shaking.J:
    1:1:void <init>(com.android.tools.r8.shaking.EnqueuerWorklist$PushableEnqueuerWorkList,com.android.tools.r8.shaking.EnqueuerWorklist$1):515:515 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.EnqueuerWorklist$PushableEnqueuerWorkList):518:518 -> <init>
    1:1:boolean enqueueAssertAction(com.android.tools.r8.utils.Action):532:532 -> a
    2:2:void enqueueMarkReachableDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):539:539 -> a
    3:3:void enqueueMarkReachableSuperAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):545:545 -> a
    4:4:void enqueueMarkFieldAsReachableAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):552:552 -> a
    5: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):562:562 -> a
    6:6:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):568:568 -> a
    7:10:boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):580:583 -> a
    11:11:void enqueueMarkMethodKeptAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):589:589 -> a
    12:12:void enqueueMarkFieldKeptAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):595:595 -> a
    13:13:void enqueueTraceAnnotationAction(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):601:601 -> a
    14:14:void enqueueTraceCodeAction(com.android.tools.r8.graph.ProgramMethod):607:607 -> a
    15:15:void enqueueTraceConstClassAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):613:613 -> a
    16:16:void enqueueTraceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):633:633 -> a
    com.android.tools.r8.shaking.EnqueuerWorklist nonPushable() -> b
    1:1:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):574:574 -> b
    2:2:void enqueueTraceInvokeDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):618:618 -> b
    3:3:void enqueueTraceNewInstanceAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):628:628 -> b
    1:1:com.android.tools.r8.errors.Unreachable attemptToEnqueue():527:527 -> c
    2:2:void enqueueTraceInvokeStaticAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):623:623 -> c
com.android.tools.r8.shaking.EnqueuerWorklist$PushableEnqueuerWorkList -> com.android.tools.r8.shaking.K:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():390:390 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer):393:393 -> <init>
    1:2:boolean enqueueAssertAction(com.android.tools.r8.utils.Action):403:404 -> a
    3:3:void enqueueMarkReachableDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):412:412 -> a
    4:4:void enqueueMarkReachableSuperAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):417:417 -> a
    5:5:void enqueueMarkFieldAsReachableAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):423:423 -> a
    6:6: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):435:435 -> a
    7:7:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    7:7: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):435 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8:8: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):435 -> a
    9:11: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):435:437 -> a
    12:12:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):442:442 -> a
    13:13:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    13:13:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):442 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    14:14:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):442 -> a
    15:17:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):442:444 -> a
    18:21:boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):457:460 -> a
    22:22:void enqueueMarkMethodKeptAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):469:469 -> a
    23:23:void enqueueMarkFieldKeptAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):474:474 -> a
    24:24:void enqueueTraceAnnotationAction(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):480:480 -> a
    25:25:void enqueueTraceCodeAction(com.android.tools.r8.graph.ProgramMethod):485:485 -> a
    26:26:void enqueueTraceConstClassAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):491:491 -> a
    27:27:void enqueueTraceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):511:511 -> a
    1:1:com.android.tools.r8.shaking.EnqueuerWorklist nonPushable():398:398 -> b
    2:2:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):449:449 -> b
    3:3:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    3:3:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):449 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    4:4:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):449 -> b
    5:7:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):449:451 -> b
    8:8:void enqueueTraceInvokeDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):496:496 -> b
    9:9:void enqueueTraceNewInstanceAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):506:506 -> b
    1:1:void enqueueTraceInvokeStaticAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):501:501 -> c
com.android.tools.r8.shaking.EnqueuerWorklist$TraceAnnotationAction -> com.android.tools.r8.shaking.L:
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind annotatedKind -> c
    com.android.tools.r8.graph.DexAnnotation annotation -> b
    com.android.tools.r8.graph.ProgramDefinition annotatedItem -> a
    1:4:void <init>(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):201:204 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):209:209 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceCodeAction -> com.android.tools.r8.shaking.M:
    com.android.tools.r8.graph.ProgramMethod method -> a
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):216:217 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):222:222 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceConstClassAction -> com.android.tools.r8.shaking.N:
    com.android.tools.r8.graph.DexType type -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    boolean ignoreCompatRules -> c
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):232:235 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):240:240 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceInvokeDirectAction -> com.android.tools.r8.shaking.O:
    com.android.tools.r8.graph.ProgramMethod context -> b
    com.android.tools.r8.graph.DexMethod invokedMethod -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):249:251 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):256:256 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceInvokeStaticAction -> com.android.tools.r8.shaking.P:
    com.android.tools.r8.graph.ProgramMethod context -> b
    com.android.tools.r8.graph.DexMethod invokedMethod -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):265:267 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):272:272 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceMethodDefinitionExcludingCodeAction -> com.android.tools.r8.shaking.Q:
    com.android.tools.r8.graph.ProgramMethod method -> a
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):279:280 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):285:285 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceNewInstanceAction -> com.android.tools.r8.shaking.S:
    com.android.tools.r8.graph.DexType type -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):294:296 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):301:301 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceStaticFieldReadAction -> com.android.tools.r8.shaking.T:
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    1:3:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):310:312 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):317:317 -> a
com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier -> com.android.tools.r8.shaking.X:
    java.util.Map newFieldAccessContexts -> a
    1:1:void <init>(java.util.Map,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$1):17:17 -> <init>
    2:3:void <init>(java.util.Map):60:61 -> <init>
    1:1:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder builder():65:65 -> a
    2:3:void modify(com.android.tools.r8.graph.AppView):69:70 -> a
    4:7:void lambda$modify$0(com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts):72:75 -> a
com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder -> com.android.tools.r8.shaking.V:
    java.util.Map newFieldAccessContexts -> a
    1:1:void <init>():84:84 -> <init>
    2:2:void <init>():81:81 -> <init>
    1:1:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts getFieldAccessContexts(com.android.tools.r8.graph.DexField):87:87 -> a
    2:2:void recordFieldReadInContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):91:91 -> a
    3:3:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier build():108:108 -> a
    1:1:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts lambda$getFieldAccessContexts$0(com.android.tools.r8.graph.DexField):87:87 -> b
    2:2:void recordFieldWrittenInContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):100:100 -> b
    1:1:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder recordFieldReadInUnknownContext(com.android.tools.r8.graph.DexField):95:95 -> c
    1:1:void recordFieldWriteInUnknownContext(com.android.tools.r8.graph.DexField):104:104 -> d
com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts -> com.android.tools.r8.shaking.W:
    com.android.tools.r8.graph.AbstractAccessContexts writesWithContexts -> b
    com.android.tools.r8.graph.AbstractAccessContexts readsWithContexts -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:4:void <init>():19:22 -> <init>
    5:5:void <init>(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$1):19:19 -> <init>
    1:1:com.android.tools.r8.graph.AbstractAccessContexts access$200(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts):19:19 -> a
    2:2:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):25:25 -> a
    3:3:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    3:3:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):25 -> a
    4:7:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):26:29 -> a
    8:8:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    8:8:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):29 -> a
    9:11:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):30:32 -> a
    12:12:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    12:12:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):32 -> a
    13:13:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):32:32 -> a
    14:14:void recordReadInUnknownContext():37:37 -> a
    1:1:com.android.tools.r8.graph.AbstractAccessContexts access$300(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts):19:19 -> b
    2:2:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):41:41 -> b
    3:3:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> b
    3:3:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):41 -> b
    4:7:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):42:45 -> b
    8:8:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> b
    8:8:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):45 -> b
    9:11:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):46:48 -> b
    12:12:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> b
    12:12:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):48 -> b
    13:13:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):48:48 -> b
    14:14:void recordWriteInUnknownContext():53:53 -> b
com.android.tools.r8.shaking.FilteredClassPath -> com.android.tools.r8.internal.mk:
    com.android.tools.r8.origin.Origin origin -> c
    com.android.tools.r8.position.Position position -> d
    java.nio.file.Path path -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList pattern -> b
    1:5:void <init>(java.nio.file.Path,java.util.List,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):27:31 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():47:47 -> a
    2:23:boolean matchAgainstFileName(java.lang.String,int,java.lang.String,int):76:97 -> a
    24:24:boolean com.android.tools.r8.shaking.FilteredClassPath.containsFileSeparator(java.lang.String):71:71 -> a
    24:24:boolean matchAgainstFileName(java.lang.String,int,java.lang.String,int):97 -> a
    25:43:boolean matchAgainstFileName(java.lang.String,int,java.lang.String,int):98:116 -> a
    44:44:boolean com.android.tools.r8.shaking.FilteredClassPath.isUnfiltered():123:123 -> a
    44:44:boolean matchesFile(java.lang.String):55 -> a
    45:47:boolean matchesFile(java.lang.String):59:61 -> a
    1:1:java.nio.file.Path getPath():43:43 -> b
    1:1:com.android.tools.r8.position.Position getPosition():51:51 -> c
    1:1:boolean com.android.tools.r8.shaking.FilteredClassPath.isUnfiltered():123:123 -> toString
    1:1:java.lang.String toString():128 -> toString
    2:16:java.lang.String toString():129:143 -> toString
com.android.tools.r8.shaking.GlobalKeepInfoConfiguration -> com.android.tools.r8.internal.Tl:
com.android.tools.r8.shaking.GraphReporter -> com.android.tools.r8.shaking.Z:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> k
    java.util.Map ruleNodes -> i
    java.util.Map reasonInfo -> j
    com.android.tools.r8.shaking.CollectingGraphConsumer verificationGraphConsumer -> d
    java.util.Map annotationNodes -> e
    java.util.Map classNodes -> f
    java.util.Map methodNodes -> g
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> c
    java.util.Map fieldNodes -> h
    1:1:void <clinit>():46:46 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.experimental.graphinfo.GraphConsumer):61:61 -> <init>
    2:17:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.experimental.graphinfo.GraphConsumer):54:69 -> <init>
    1:21:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):78:98 -> a
    22:22:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":121,"2":122,"3":123}}
    121:121:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    122:122:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    123:123:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    120:120:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    124:126:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass) -> a
    127:128: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):114:115 -> a
    127:128:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):127 -> a
    129:135:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind reportPrecondition(com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode):103:109 -> a
    129:135: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):116 -> a
    129:135:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):127 -> a
    136:136: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):117:117 -> a
    136:136:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):127 -> a
    137:137:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):130:130 -> a
    138:140:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):145:147 -> a
    141:142:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedMethod):135:136 -> a
    141:142:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):148 -> a
    143:149:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind reportPrecondition(com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode):103:109 -> a
    143:149:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedMethod):137 -> a
    143:149:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):148 -> a
    150:150:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedMethod):138:138 -> a
    150:150:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):148 -> a
    151:151:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod) -> a
    152:154:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):166:168 -> a
    155:156:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedField):156:157 -> a
    155:156:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):169 -> a
    157:163:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind reportPrecondition(com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode):103:109 -> a
    157:163:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedField):158 -> a
    157:163:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):169 -> a
    164:164:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedField):159:159 -> a
    164:164:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):169 -> a
    165:165:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):172:172 -> a
    166:166:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):176:176 -> a
    167:167:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    167:167:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):176 -> a
    168:168:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):177:177 -> a
    169:174:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):176:181 -> a
    175:180:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):179:184 -> a
    181:184:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):197:200 -> a
    185:190:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):198:203 -> a
    191:194:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):208:211 -> a
    195:200:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramField):238:243 -> a
    195:200:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):211 -> a
    201:202:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):213:214 -> a
    203:208:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):229:234 -> a
    203:208:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):214 -> a
    209:214:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):220:225 -> a
    215:219:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportReachableMethodAsLive(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):263:267 -> a
    220:225:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportReachableMethodAsLive(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):265:270 -> a
    226:226:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportLibraryMethodAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass):278:278 -> a
    227:227:boolean com.android.tools.r8.shaking.InstantiatedObject.isClass():0:0 -> a
    227:227:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportLibraryMethodAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass):278 -> a
    228:229:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportLibraryMethodAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass):280:281 -> a
    230:235:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportLibraryMethodAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass):279:284 -> a
    236:238: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):310:312 -> a
    239:240:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):344:345 -> a
    241:241:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.KeepReason):417:417 -> a
    241:241:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):348 -> a
    242:242:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):348:348 -> a
    243:243:boolean hasKeptGraphConsumer():340:340 -> a
    243:243:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):349 -> a
    244:247:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):361:364 -> a
    248:252:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason):381:385 -> a
    253:254:boolean isNonProgramClass(com.android.tools.r8.graph.DexType):412:413 -> a
    253:254:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason):385 -> a
    255:257:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason):388:390 -> a
    258:261:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.shaking.KeepReason):394:397 -> a
    262:262:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):401:401 -> a
    263:263:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.KeepReason):417:417 -> a
    263:263:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):402 -> a
    264:264:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):404:404 -> a
    265:265:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo getEdgeInfo(com.android.tools.r8.shaking.KeepReason):434:434 -> a
    265:265:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):405 -> a
    266:268:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):406:408 -> a
    269:269:com.android.tools.r8.experimental.graphinfo.GraphNode getGraphNode(com.android.tools.r8.graph.DexReference):421:421 -> a
    270:270:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    270:270:com.android.tools.r8.experimental.graphinfo.GraphNode getGraphNode(com.android.tools.r8.graph.DexReference):421 -> a
    271:279:com.android.tools.r8.experimental.graphinfo.GraphNode getGraphNode(com.android.tools.r8.graph.DexReference):422:430 -> a
    280:280:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo getEdgeInfo(com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind):438:438 -> a
    281:281:com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode getAnnotationGraphNode(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):448:448 -> a
    282:286:com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode lambda$getAnnotationGraphNode$0(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):453:457 -> a
    287:287:com.android.tools.r8.experimental.graphinfo.ClassGraphNode getClassGraphNode(com.android.tools.r8.graph.DexType):462:462 -> a
    288:288:com.android.tools.r8.experimental.graphinfo.MethodGraphNode getMethodGraphNode(com.android.tools.r8.graph.DexMethod):473:473 -> a
    289:289:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):476:476 -> a
    290:290:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):443:443 -> a
    290:290:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):476 -> a
    291:303:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):477:489 -> a
    304:304:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):483:483 -> a
    305:305:com.android.tools.r8.experimental.graphinfo.FieldGraphNode getFieldGraphNode(com.android.tools.r8.graph.DexField):494:494 -> a
    306:306:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):497:497 -> a
    307:307:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):443:443 -> a
    307:307:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):497 -> a
    308:313:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):498:503 -> a
    314:314:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):500:500 -> a
    315:335:com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode getKeepRuleGraphNode(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase):516:536 -> a
    336:336:com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode lambda$getKeepRuleGraphNode$4(com.android.tools.r8.shaking.ProguardKeepRuleBase,java.util.Set,com.android.tools.r8.shaking.ProguardKeepRuleBase):521:521 -> a
    337:341:com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode lambda$getKeepRuleGraphNode$5(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.shaking.ProguardKeepRuleBase):529:533 -> a
    1:10:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportReachableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):249:258 -> b
    11:11:boolean hasKeptGraphConsumer():340:340 -> b
    11:11:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):369 -> b
    12:13:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):371:372 -> b
    14:14:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.annotatedOn(com.android.tools.r8.graph.DexDefinition):26:26 -> b
    14:14:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):372 -> b
    15:20:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):370:375 -> b
    21:21:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):373:373 -> b
    22:26:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):353:357 -> b
    27:27:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):443:443 -> b
    27:27:com.android.tools.r8.experimental.graphinfo.ClassGraphNode lambda$getClassGraphNode$1(com.android.tools.r8.graph.DexType):465 -> b
    28:30:com.android.tools.r8.experimental.graphinfo.ClassGraphNode lambda$getClassGraphNode$1(com.android.tools.r8.graph.DexType):466:468 -> b
com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness -> com.android.tools.r8.shaking.Y:
    com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness INSTANCE -> a
    1:1:void <clinit>():322:322 -> <clinit>
    1:1:void <init>():324:324 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():330:330 -> a
    2:2:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):335:335 -> a
    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness access$000():320:320 -> b
com.android.tools.r8.shaking.IfRuleClassPartEquivalence -> com.android.tools.r8.shaking.a0:
    1:1:void <init>():11:11 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):11:11 -> a
    2:22:boolean doEquivalent(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.shaking.ProguardIfRule):15:35 -> a
    2:22:boolean doEquivalent(java.lang.Object,java.lang.Object):11 -> a
    23:23:int doHash(java.lang.Object):11:11 -> a
    24:37:int doHash(com.android.tools.r8.shaking.ProguardIfRule):43:56 -> a
    24:37:int doHash(java.lang.Object):11 -> a
    38:40:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):124:126 -> a
    38:40:int doHash(com.android.tools.r8.shaking.ProguardIfRule):56 -> a
    38:40:int doHash(java.lang.Object):11 -> a
    41:45:int com.android.tools.r8.com.google.common.collect.Iterators.size(java.util.Iterator):163:167 -> a
    41:45:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):126 -> a
    41:45:int doHash(com.android.tools.r8.shaking.ProguardIfRule):56 -> a
    41:45:int doHash(java.lang.Object):11 -> a
com.android.tools.r8.shaking.IfRuleEvaluator -> com.android.tools.r8.shaking.b0:
    java.util.concurrent.ExecutorService executorService -> d
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List futures -> e
    com.android.tools.r8.shaking.Enqueuer enqueuer -> c
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    boolean $assertionsDisabled -> h
    java.util.Map ifRules -> f
    com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder rootSetBuilder -> g
    1:1:void <clinit>():42:42 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer,java.util.concurrent.ExecutorService,java.util.Map,com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder):58:58 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer,java.util.concurrent.ExecutorService,java.util.Map,com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder):48:64 -> <init>
    1:19:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():68:86 -> a
    20:28:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():85:93 -> a
    29:29:boolean com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder.satisfyClassType(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):808:808 -> a
    29:29:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):202 -> a
    29:29:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():95 -> a
    30:31:boolean com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder.satisfyAccessFlag(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):812:813 -> a
    30:31:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):205 -> a
    30:31:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():95 -> a
    32:42:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):208:218 -> a
    32:42:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():95 -> a
    43:71:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():99:127 -> a
    72:72:boolean com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder.satisfyClassType(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):808:808 -> a
    72:72:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):202 -> a
    72:72:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():129 -> a
    73:74:boolean com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder.satisfyAccessFlag(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):812:813 -> a
    73:74:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):205 -> a
    73:74:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():129 -> a
    75:85:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):208:218 -> a
    75:85:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():129 -> a
    86:112:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():130:156 -> a
    113:113:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():154:154 -> a
    114:118:void registerClassCapture(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):172:176 -> a
    114:118:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):101 -> a
    119:122:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):102:105 -> a
    123:123:boolean canRemoveSubsequentKeepRule(com.android.tools.r8.shaking.ProguardIfRule):160:160 -> a
    123:123:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):106 -> a
    124:124:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):107:107 -> a
    125:129:void registerClassCapture(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):172:176 -> a
    125:129:void lambda$run$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):132 -> a
    130:133:void lambda$run$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):133:136 -> a
    134:134:boolean canRemoveSubsequentKeepRule(com.android.tools.r8.shaking.ProguardIfRule):160:160 -> a
    134:134:void lambda$run$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):137 -> a
    135:135:void lambda$run$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):138:138 -> a
    136:145:boolean isEffectivelyLive(com.android.tools.r8.graph.DexProgramClass):184:193 -> a
    146:147:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):225:226 -> a
    148:148:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    148:148:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):227 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    149:157:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):227:235 -> a
    158:178:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):233:253 -> a
    179:218:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):251:290 -> a
    219:224:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):289:294 -> a
    225:232:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):293:300 -> a
    233:233:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    233:233:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):306 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    234:234:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):306:306 -> a
    235:235:boolean canRemoveSubsequentKeepRule(com.android.tools.r8.shaking.ProguardIfRule):160:160 -> a
    235:235:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):307 -> a
    236:239:boolean lambda$evaluateIfRuleMembersAndMaterialize$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):255:258 -> a
    240:240:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    240:240:boolean lambda$evaluateIfRuleMembersAndMaterialize$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):258 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    241:241:boolean lambda$evaluateIfRuleMembersAndMaterialize$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):258:258 -> a
    242:242:com.android.tools.r8.graph.DexClassAndField lambda$evaluateIfRuleMembersAndMaterialize$4(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):290:290 -> a
    243:244:boolean lambda$evaluateIfRuleMembersAndMaterialize$6(java.util.Collection,java.util.Collection,com.android.tools.r8.shaking.ProguardMemberRule):302:303 -> a
    245:250:boolean isFieldInlinedByJavaC(com.android.tools.r8.graph.DexEncodedField):316:321 -> a
    245:250:boolean lambda$evaluateIfRuleMembersAndMaterialize$2(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):239 -> a
    251:259:boolean lambda$evaluateIfRuleMembersAndMaterialize$2(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):240:248 -> a
    260:299:void materializeIfRule(com.android.tools.r8.shaking.ProguardIfRule,java.util.Set):325:364 -> a
    1:1:com.android.tools.r8.graph.DexClassAndMethod lambda$evaluateIfRuleMembersAndMaterialize$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):294:294 -> b
com.android.tools.r8.shaking.InlineRule -> com.android.tools.r8.shaking.d0:
    com.android.tools.r8.shaking.InlineRule$Type type -> r
    int $r8$clinit -> s
    1:15:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.InlineRule$Type):75:89 -> <init>
    1:11:java.lang.String typeString():102:112 -> C
    12:12:java.lang.String typeString():0:0 -> C
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131}}
    129:129:java.lang.String typeString():112:112 -> C
    130:130:java.lang.String typeString():112:112 -> C
    131:131:java.lang.String typeString():112:112 -> C
    124:124:java.lang.String typeString():112:112 -> C
    125:125:java.lang.String typeString():110:110 -> C
    126:126:java.lang.String typeString():108:108 -> C
    127:127:java.lang.String typeString():106:106 -> C
    128:128:java.lang.String typeString():104:104 -> C
    1:1:com.android.tools.r8.shaking.InlineRule$Type getType():97:97 -> D
com.android.tools.r8.shaking.InlineRule$Builder -> com.android.tools.r8.shaking.c0:
    com.android.tools.r8.shaking.InlineRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.InlineRule$1):20:20 -> <init>
    2:2:void <init>():23:23 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.InlineRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.mp:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.shaking.InstantiatedObject -> com.android.tools.r8.shaking.g0:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():10:10 -> <clinit>
    1:1:void <init>():10:10 -> <init>
    1:1:boolean isClass():0:0 -> a
    1:1:void apply(java.util.function.Consumer,java.util.function.Consumer):22 -> a
    2:4:void apply(java.util.function.Consumer,java.util.function.Consumer):23:25 -> a
    5:5:boolean isLambda():0:0 -> a
    5:5:void apply(java.util.function.Consumer,java.util.function.Consumer):25 -> a
    6:7:void apply(java.util.function.Consumer,java.util.function.Consumer):25:26 -> a
    com.android.tools.r8.graph.DexProgramClass asClass() -> a
    com.android.tools.r8.ir.desugar.LambdaDescriptor asLambda() -> b
    boolean isClass() -> c
com.android.tools.r8.shaking.InstantiatedObject$InstantiatedClass -> com.android.tools.r8.shaking.e0:
    com.android.tools.r8.graph.DexProgramClass clazz -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():46:46 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass):49:51 -> <init>
    1:1:com.android.tools.r8.graph.DexProgramClass asClass():61:61 -> a
com.android.tools.r8.shaking.InstantiatedObject$InstantiatedLambda -> com.android.tools.r8.shaking.f0:
    com.android.tools.r8.ir.desugar.LambdaDescriptor lambdaDescriptor -> b
    1:2:void <init>(com.android.tools.r8.ir.desugar.LambdaDescriptor):68:69 -> <init>
    1:1:com.android.tools.r8.ir.desugar.LambdaDescriptor asLambda():79:79 -> b
com.android.tools.r8.shaking.InstantiationReason -> com.android.tools.r8.internal.bq:
    com.android.tools.r8.shaking.InstantiationReason NEW_INSTANCE_INSTRUCTION -> d
    com.android.tools.r8.shaking.InstantiationReason REFERENCED_IN_METHOD_HANDLE -> e
    com.android.tools.r8.shaking.InstantiationReason KEEP_RULE -> b
    com.android.tools.r8.shaking.InstantiationReason LAMBDA -> c
    com.android.tools.r8.shaking.InstantiationReason REFLECTION -> f
    1:5:void <clinit>():8:12 -> <clinit>
    1:1:void <init>(java.lang.String,int):7:7 -> <init>
com.android.tools.r8.shaking.KeepClassInfo -> com.android.tools.r8.shaking.j0:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.shaking.KeepClassInfo BOTTOM -> i
    com.android.tools.r8.shaking.KeepClassInfo TOP -> h
    1:7:void <clinit>():15:21 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.KeepClassInfo$Builder,com.android.tools.r8.shaking.KeepClassInfo$1):15:15 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.KeepClassInfo$Builder):36:36 -> <init>
    1:4:boolean isRepackagingAllowed(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):52:55 -> a
    5:9:boolean isKotlinMetadataClassKept(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.InternalOptions,java.util.function.Function,java.util.function.Function):71:75 -> a
    1:1:com.android.tools.r8.shaking.KeepClassInfo access$200():15:15 -> i
    1:1:com.android.tools.r8.shaking.KeepClassInfo access$300():15:15 -> j
    1:1:com.android.tools.r8.shaking.KeepClassInfo bottom():28:28 -> k
    1:1:com.android.tools.r8.shaking.KeepClassInfo$Builder builder():41:41 -> l
    1:1:com.android.tools.r8.shaking.KeepClassInfo top():24:24 -> m
    1:1:boolean isTop():80 -> m
    2:2:boolean isTop():80:80 -> m
    1:1:com.android.tools.r8.shaking.KeepClassInfo$Joiner joiner():45:45 -> n
    2:2:com.android.tools.r8.shaking.KeepClassInfo top():24:24 -> n
    2:2:boolean isTop():80 -> n
    2:2:com.android.tools.r8.shaking.KeepClassInfo$Joiner joiner():45 -> n
    3:3:boolean isTop():80:80 -> n
    3:3:com.android.tools.r8.shaking.KeepClassInfo$Joiner joiner():45 -> n
    4:5:com.android.tools.r8.shaking.KeepClassInfo$Joiner joiner():45:46 -> n
    1:1:com.android.tools.r8.shaking.KeepClassInfo bottom():28:28 -> o
    1:1:com.android.tools.r8.shaking.KeepClassInfo$Joiner newEmptyJoiner():32 -> o
    2:2:com.android.tools.r8.shaking.KeepClassInfo$Joiner newEmptyJoiner():32:32 -> o
    1:1:com.android.tools.r8.shaking.KeepClassInfo top():24:24 -> p
com.android.tools.r8.shaking.KeepClassInfo$Builder -> com.android.tools.r8.shaking.h0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepClassInfo$1):88:88 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.shaking.KeepClassInfo$1):88:88 -> <init>
    3:3:void <init>():91:91 -> <init>
    4:4:void <init>(com.android.tools.r8.shaking.KeepClassInfo):95:95 -> <init>
    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):88:88 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepClassInfo):115:115 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):88 -> b
    1:1:com.android.tools.r8.shaking.KeepClassInfo doBuild():120:120 -> g
    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():88 -> g
    1:1:com.android.tools.r8.shaking.KeepClassInfo getBottomInfo():105:105 -> h
    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():88 -> h
    1:1:com.android.tools.r8.shaking.KeepClassInfo getTopInfo():100:100 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():88 -> i
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
com.android.tools.r8.shaking.KeepClassInfo$Joiner -> com.android.tools.r8.shaking.i0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepClassInfo):127:127 -> <init>
    com.android.tools.r8.shaking.KeepClassInfo$Joiner asClassJoiner() -> a
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):124:124 -> a
    2:2:com.android.tools.r8.shaking.KeepClassInfo$Joiner merge(com.android.tools.r8.shaking.KeepClassInfo$Joiner):138:138 -> a
    2:2:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):124 -> a
    3:3:com.android.tools.r8.shaking.KeepClassInfo$Joiner merge(com.android.tools.r8.shaking.KeepClassInfo$Joiner):138:138 -> a
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> l
com.android.tools.r8.shaking.KeepConstantArgumentRule -> com.android.tools.r8.shaking.l0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.KeepConstantArgumentRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):59:59 -> <init>
    1:1:java.lang.String typeString():81:81 -> C
com.android.tools.r8.shaking.KeepConstantArgumentRule$Builder -> com.android.tools.r8.shaking.k0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepConstantArgumentRule$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    1:11:com.android.tools.r8.shaking.KeepConstantArgumentRule build():28:38 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():14 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.KeepFieldInfo -> com.android.tools.r8.shaking.o0:
    boolean $assertionsDisabled -> k
    com.android.tools.r8.shaking.KeepFieldInfo TOP -> i
    com.android.tools.r8.shaking.KeepFieldInfo BOTTOM -> j
    boolean allowFieldTypeStrengthening -> h
    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:3:void <init>(com.android.tools.r8.shaking.KeepFieldInfo$Builder):30:31 -> <init>
    1:1:com.android.tools.r8.shaking.KeepFieldInfo access$200():7:7 -> i
    1:1:com.android.tools.r8.shaking.KeepFieldInfo access$300():7:7 -> j
    1:1:com.android.tools.r8.shaking.KeepFieldInfo bottom():20:20 -> k
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder builder():38:38 -> l
    1:1:boolean internalIsFieldTypeStrengtheningAllowed():46:46 -> m
    1:1:boolean internalIsFieldTypeStrengtheningAllowed():46:46 -> n
    1:1:boolean isFieldTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):42 -> n
    1:1:com.android.tools.r8.shaking.KeepFieldInfo top():16:16 -> o
    1:1:boolean isTop():56 -> o
    2:2:boolean isTop():56:56 -> o
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Joiner joiner():50:50 -> p
    2:2:com.android.tools.r8.shaking.KeepFieldInfo top():16:16 -> p
    2:2:boolean isTop():56 -> p
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Joiner joiner():50 -> p
    3:3:boolean isTop():56:56 -> p
    3:3:com.android.tools.r8.shaking.KeepFieldInfo$Joiner joiner():50 -> p
    4:5:com.android.tools.r8.shaking.KeepFieldInfo$Joiner joiner():50:51 -> p
    1:1:com.android.tools.r8.shaking.KeepFieldInfo bottom():20:20 -> q
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Joiner newEmptyJoiner():24 -> q
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Joiner newEmptyJoiner():24:24 -> q
    1:1:com.android.tools.r8.shaking.KeepFieldInfo top():16:16 -> r
com.android.tools.r8.shaking.KeepFieldInfo$Builder -> com.android.tools.r8.shaking.m0:
    boolean allowFieldTypeStrengthening -> i
    1:1:void <init>(com.android.tools.r8.shaking.KeepFieldInfo$1):64:64 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.KeepFieldInfo,com.android.tools.r8.shaking.KeepFieldInfo$1):64:64 -> <init>
    3:3:void <init>():69:69 -> <init>
    4:5:void <init>(com.android.tools.r8.shaking.KeepFieldInfo):73:74 -> <init>
    1:1:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):64:64 -> a
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):126:126 -> a
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> a
    3:3:boolean isFieldTypeStrengtheningAllowed():88:88 -> a
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):127 -> a
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> a
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):127:127 -> a
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> a
    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):64:64 -> b
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):126:126 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):121 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> b
    3:3:boolean isFieldTypeStrengtheningAllowed():88:88 -> b
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):127 -> b
    3:3:boolean isEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):121 -> b
    3:3:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> b
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):127:127 -> b
    4:4:boolean isEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):121 -> b
    4:4:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> b
    1:1:com.android.tools.r8.shaking.KeepFieldInfo doBuild():132:132 -> g
    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():64 -> g
    1:1:com.android.tools.r8.shaking.KeepFieldInfo getBottomInfo():111:111 -> h
    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():64 -> h
    1:1:com.android.tools.r8.shaking.KeepFieldInfo getTopInfo():106:106 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():64 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():64:64 -> r
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder setAllowFieldTypeStrengthening(boolean):92:92 -> v
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder disallowFieldTypeStrengthening():101 -> v
    1:1:boolean isFieldTypeStrengtheningAllowed():88:88 -> w
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder makeBottom():84:84 -> x
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder setAllowFieldTypeStrengthening(boolean):92:92 -> x
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder allowFieldTypeStrengthening():97 -> x
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder makeBottom():84 -> x
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder makeTop():79:79 -> y
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder setAllowFieldTypeStrengthening(boolean):92:92 -> y
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder disallowFieldTypeStrengthening():101 -> y
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder makeTop():79 -> y
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
com.android.tools.r8.shaking.KeepFieldInfo$Joiner -> com.android.tools.r8.shaking.n0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepFieldInfo):139:139 -> <init>
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):136:136 -> a
    2:4:com.android.tools.r8.shaking.KeepFieldInfo$Joiner merge(com.android.tools.r8.shaking.KeepFieldInfo$Joiner):155:157 -> a
    5:5:com.android.tools.r8.shaking.KeepFieldInfo$Joiner merge(com.android.tools.r8.shaking.KeepFieldInfo$Joiner):156:156 -> a
    com.android.tools.r8.shaking.KeepFieldInfo$Joiner asFieldJoiner() -> b
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> l
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Joiner disallowFieldTypeStrengthening():143:143 -> o
com.android.tools.r8.shaking.KeepInfo -> com.android.tools.r8.shaking.r0:
    boolean allowShrinking -> e
    boolean checkDiscarded -> f
    boolean requireAccessModificationForRepackaging -> g
    boolean allowAccessModification -> a
    boolean allowAnnotationRemoval -> b
    boolean allowMinification -> c
    boolean allowOptimization -> d
    1:8:void <init>(boolean,boolean,boolean,boolean,boolean,boolean,boolean):34:41 -> <init>
    9:15:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):46:52 -> <init>
    16:16:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):45:45 -> <init>
    boolean isRepackagingAllowed(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration) -> a
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner newEmptyJoinerFor(com.android.tools.r8.graph.DexReference):56:56 -> a
    2:2:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$newEmptyJoinerFor$0(com.android.tools.r8.graph.DexType):57:57 -> a
    3:3:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$newEmptyJoinerFor$1(com.android.tools.r8.graph.DexField):58:58 -> a
    4:4:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$newEmptyJoinerFor$2(com.android.tools.r8.graph.DexMethod):59:59 -> a
    5:5:boolean isMinificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):103:103 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():618:618 -> a
    6:6:boolean isMinificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:boolean internalIsMinificationAllowed():107:107 -> a
    7:7:boolean isMinificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):103 -> a
    8:8:boolean internalIsAccessModificationAllowed():165:165 -> a
    9:9:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):216:216 -> a
    10:10:boolean internalIsAccessModificationAllowed():165:165 -> a
    10:10:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):216 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):216:216 -> a
    12:12:boolean internalIsAnnotationRemovalAllowed():75:75 -> a
    12:12:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):217 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):217:217 -> a
    14:14:boolean internalIsMinificationAllowed():107:107 -> a
    14:14:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):218 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):218:218 -> a
    16:16:boolean internalIsOptimizationAllowed():121:121 -> a
    16:16:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):219 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):219:219 -> a
    18:18:boolean internalIsShrinkingAllowed():135:135 -> a
    18:18:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):220 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):220:220 -> a
    20:20:boolean internalIsCheckDiscardedEnabled():83:83 -> a
    20:20:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):221 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    21:21:boolean com.android.tools.r8.utils.InternalOptions.isAccessModificationEnabled():695:695 -> a
    21:21:boolean isAccessModificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:boolean com.android.tools.r8.utils.InternalOptions.isAccessModificationEnabled():696:696 -> a
    22:22:boolean isAccessModificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160 -> a
    23:23:boolean internalIsAccessModificationAllowed():165:165 -> a
    23:23:boolean isAccessModificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160 -> a
    1:1:boolean isOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):117:117 -> b
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isOptimizationEnabled():623:623 -> b
    2:2:boolean isOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):117 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean internalIsOptimizationAllowed():121:121 -> b
    3:3:boolean isOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):117 -> b
    4:4:boolean internalIsAccessModificationRequiredForRepackaging():148:148 -> b
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():633:633 -> b
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isAnnotationRemovalEnabled():608 -> b
    5:5:boolean isAnnotationRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):71 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    6:6:boolean internalIsAnnotationRemovalAllowed():75:75 -> b
    6:6:boolean isAnnotationRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):71 -> b
    1:1:boolean internalIsAnnotationRemovalAllowed():75:75 -> c
    2:2:boolean isPinned(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):93:93 -> c
    3:3:boolean isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):189:189 -> c
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():633:633 -> c
    4:4:boolean isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192 -> c
    5:5:boolean isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192:192 -> c
    1:1:boolean internalIsCheckDiscardedEnabled():83:83 -> d
    2:2:boolean isShrinkingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):131:131 -> d
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isTreeShakingEnabled():613:613 -> d
    3:3:boolean isShrinkingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):131 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean internalIsShrinkingAllowed():135:135 -> d
    4:4:boolean isShrinkingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):131 -> d
    5:5:boolean isSignatureAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):169:169 -> d
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():633:633 -> d
    6:6:boolean isSignatureAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):172 -> d
    7:7:boolean isSignatureAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):172:172 -> d
    1:1:boolean internalIsMinificationAllowed():107:107 -> e
    1:1:boolean internalIsOptimizationAllowed():121:121 -> f
    1:1:boolean internalIsShrinkingAllowed():135:135 -> g
    1:1:boolean internalIsCheckDiscardedEnabled():83:83 -> h
    1:1:boolean isCheckDiscardedEnabled(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):79 -> h
com.android.tools.r8.shaking.KeepInfo$Builder -> com.android.tools.r8.shaking.p0:
    boolean allowOptimization -> e
    boolean allowShrinking -> f
    boolean checkDiscarded -> g
    com.android.tools.r8.shaking.KeepInfo original -> a
    boolean requireAccessModificationForRepackaging -> h
    boolean allowAccessModification -> b
    boolean allowAnnotationRemoval -> c
    boolean allowMinification -> d
    1:1:void <init>():246:246 -> <init>
    2:11:void <init>(com.android.tools.r8.shaking.KeepInfo):250:259 -> <init>
    1:12:com.android.tools.r8.shaking.KeepInfo build():285:296 -> a
    13:13:boolean isAccessModificationAllowed():315:315 -> a
    13:13:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):300 -> a
    14:14:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):300:300 -> a
    15:15:boolean isAnnotationRemovalAllowed():319:319 -> a
    15:15:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):301 -> a
    16:16:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):301:301 -> a
    17:17:boolean isMinificationAllowed():327:327 -> a
    17:17:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):302 -> a
    18:18:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):302:302 -> a
    19:19:boolean isOptimizationAllowed():331:331 -> a
    19:19:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):303 -> a
    20:20:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):303:303 -> a
    21:21:boolean isShrinkingAllowed():335:335 -> a
    21:21:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):304 -> a
    22:22:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):304:304 -> a
    23:23:boolean isCheckDiscardedEnabled():323:323 -> a
    23:23:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):305 -> a
    24:24:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):305:305 -> a
    25:25:boolean isAccessModificationRequiredForRepackaging():311:311 -> a
    25:25:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):306 -> a
    26:26:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):307:307 -> a
    boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo) -> b
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAccessModification(boolean):405:406 -> b
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowAccessModification():414 -> b
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAnnotationRemoval(boolean):418:419 -> c
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowAnnotationRemoval():427 -> c
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowMinification(boolean):339:340 -> d
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowMinification():348 -> d
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowOptimization(boolean):352:353 -> e
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowOptimization():361 -> e
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowShrinking(boolean):365:366 -> f
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowShrinking():374 -> f
    com.android.tools.r8.shaking.KeepInfo doBuild() -> g
    com.android.tools.r8.shaking.KeepInfo getBottomInfo() -> h
    com.android.tools.r8.shaking.KeepInfo getTopInfo() -> i
    1:1:boolean isAccessModificationAllowed():315:315 -> j
    1:1:boolean isAccessModificationRequiredForRepackaging():311:311 -> k
    1:1:boolean isAnnotationRemovalAllowed():319:319 -> l
    1:1:boolean isCheckDiscardedEnabled():323:323 -> m
    1:1:boolean isMinificationAllowed():327:327 -> n
    1:1:boolean isOptimizationAllowed():331:331 -> o
    1:1:boolean isShrinkingAllowed():335:335 -> p
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAccessModification(boolean):405:406 -> q
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder allowAccessModification():410 -> q
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():274 -> q
    3:4:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAnnotationRemoval(boolean):418:419 -> q
    3:4:com.android.tools.r8.shaking.KeepInfo$Builder allowAnnotationRemoval():423 -> q
    3:4:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():275 -> q
    5:6:com.android.tools.r8.shaking.KeepInfo$Builder setAllowMinification(boolean):339:340 -> q
    5:6:com.android.tools.r8.shaking.KeepInfo$Builder allowMinification():344 -> q
    5:6:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():276 -> q
    7:8:com.android.tools.r8.shaking.KeepInfo$Builder setAllowOptimization(boolean):352:353 -> q
    7:8:com.android.tools.r8.shaking.KeepInfo$Builder allowOptimization():357 -> q
    7:8:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():277 -> q
    9:10:com.android.tools.r8.shaking.KeepInfo$Builder setAllowShrinking(boolean):365:366 -> q
    9:10:com.android.tools.r8.shaking.KeepInfo$Builder allowShrinking():370 -> q
    9:10:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():278 -> q
    11:12:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded(boolean):378:379 -> q
    11:12:com.android.tools.r8.shaking.KeepInfo$Builder unsetCheckDiscarded():387 -> q
    11:12:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():279 -> q
    13:14:com.android.tools.r8.shaking.KeepInfo$Builder setRequireAccessModificationForRepackaging(boolean):392:393 -> q
    13:14:com.android.tools.r8.shaking.KeepInfo$Builder unsetRequireAccessModificationForRepackaging():401 -> q
    13:14:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():280 -> q
    15:15:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():281:281 -> q
    1:5:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():263:267 -> r
    6:7:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded(boolean):378:379 -> r
    6:7:com.android.tools.r8.shaking.KeepInfo$Builder unsetCheckDiscarded():387 -> r
    6:7:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():268 -> r
    8:9:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():269:270 -> r
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setRequireAccessModificationForRepackaging(boolean):392:393 -> s
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder requireAccessModificationForRepackaging():397 -> s
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded(boolean):378:379 -> u
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded():383 -> u
com.android.tools.r8.shaking.KeepInfo$Joiner -> com.android.tools.r8.shaking.q0:
    java.util.Set rules -> b
    boolean $assertionsDisabled -> c
    com.android.tools.r8.shaking.KeepInfo$Builder builder -> a
    1:1:void <clinit>():432:432 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):444:444 -> <init>
    2:5:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):442:445 -> <init>
    com.android.tools.r8.shaking.KeepClassInfo$Joiner asClassJoiner() -> a
    1:3:com.android.tools.r8.shaking.KeepInfo$Joiner applyIf(boolean,java.util.function.Consumer):450:452 -> a
    4:12:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):533:541 -> a
    13:17:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):540:544 -> a
    18:18:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):560:560 -> a
    19:19:boolean isShrinkingAllowed():480:480 -> a
    19:19:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):560 -> a
    20:20:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):560:560 -> a
    21:21:java.util.Set getRules():468:468 -> a
    21:21:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):561 -> a
    22:22:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):561:561 -> a
    com.android.tools.r8.shaking.KeepFieldInfo$Joiner asFieldJoiner() -> b
    com.android.tools.r8.shaking.KeepMethodInfo$Joiner asMethodJoiner() -> c
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowAccessModification():498:499 -> d
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowAnnotationRemoval():503:504 -> e
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowMinification():508:509 -> f
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowOptimization():513:514 -> g
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowShrinking():518:519 -> h
    1:1:boolean isBottom():472:472 -> i
    1:1:boolean isCheckDiscardedEnabled():476:476 -> j
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner requireAccessModificationForRepackaging():528:529 -> k
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> l
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner setCheckDiscarded():523:524 -> m
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner top():488:489 -> n
com.android.tools.r8.shaking.KeepInfoCollection -> com.android.tools.r8.shaking.t0:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():40:40 -> <clinit>
    1:1:void <init>():40:40 -> <init>
    void forEachPinnedField(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions) -> a
    void forEachRuleInstance(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer) -> a
    com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.shaking.KeepInfoCollection mutate(java.util.function.Consumer) -> a
    com.android.tools.r8.shaking.KeepInfoCollection rewrite(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions) -> a
    boolean verifyPinnedTypesAreLive(java.util.Set,com.android.tools.r8.utils.InternalOptions) -> a
    1:1:com.android.tools.r8.shaking.KeepMemberInfo getMemberInfo(com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.graph.DexProgramClass):88:88 -> a
    2:2:boolean com.android.tools.r8.graph.DexDefinition.isDexEncodedField():0:0 -> a
    2:2:com.android.tools.r8.shaking.KeepMemberInfo getMemberInfo(com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.graph.DexProgramClass):88 -> a
    3:6:com.android.tools.r8.shaking.KeepMemberInfo getMemberInfo(com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.graph.DexProgramClass):89:92 -> a
    7:7:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):131:131 -> a
    8:8:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    8:8:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):131 -> a
    9:9:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):132:132 -> a
    10:10:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    10:10:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):132 -> a
    11:11:com.android.tools.r8.shaking.KeepClassInfo keepInfoForNonProgramClass():50:50 -> a
    11:11:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    11:11:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):132 -> a
    12:12:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    12:12:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):132 -> a
    13:14:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):134:135 -> a
    15:15:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):109:109 -> a
    15:15:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):135 -> a
    16:16:com.android.tools.r8.shaking.KeepMethodInfo keepInfoForNonProgramMethod():55:55 -> a
    16:16:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):111 -> a
    16:16:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):135 -> a
    17:18:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):113:114 -> a
    17:18:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):135 -> a
    19:20:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):137:138 -> a
    21:21:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):122:122 -> a
    21:21:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):138 -> a
    22:22:com.android.tools.r8.shaking.KeepFieldInfo keepInfoForNonProgramField():60:60 -> a
    22:22:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):124 -> a
    22:22:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):138 -> a
    23:24:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):126:127 -> a
    23:24:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):138 -> a
    25:25:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):140:140 -> a
    26:30:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):144:148 -> a
    31:31:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    31:31:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):148 -> a
    32:33:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):150:151 -> a
    34:34:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    34:34:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):151 -> a
    35:35:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):153:153 -> a
    void forEachPinnedMethod(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions) -> b
    void forEachPinnedType(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions) -> c
com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection -> com.android.tools.r8.shaking.s0:
    java.util.Map keepClassInfo -> b
    java.util.Map keepMethodInfo -> c
    java.util.Map keepFieldInfo -> d
    boolean $assertionsDisabled -> h
    java.util.Map classRuleInstances -> e
    java.util.Map fieldRuleInstances -> f
    java.util.Map methodRuleInstances -> g
    1:1:void <clinit>():210:210 -> <clinit>
    1:1:void <init>():224:224 -> <init>
    2:8:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map):239:245 -> <init>
    1:1:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    1:1:void joinMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):447 -> a
    2:7:void joinMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):448:453 -> a
    8:10:com.android.tools.r8.shaking.KeepInfo com.android.tools.r8.shaking.KeepInfo$Joiner.join():553:555 -> a
    8:10:void joinMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):454 -> a
    11:13:void joinMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):454:456 -> a
    14:14:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    14:14:void joinField(com.android.tools.r8.graph.ProgramField,java.util.function.Consumer):488 -> a
    15:20:void joinField(com.android.tools.r8.graph.ProgramField,java.util.function.Consumer):489:494 -> a
    21:23:com.android.tools.r8.shaking.KeepInfo com.android.tools.r8.shaking.KeepInfo$Joiner.join():553:555 -> a
    21:23:void joinField(com.android.tools.r8.graph.ProgramField,java.util.function.Consumer):495 -> a
    24:26:void joinField(com.android.tools.r8.graph.ProgramField,java.util.function.Consumer):495:497 -> a
    27:34:void removeKeepInfoForMergedClasses(com.android.tools.r8.graph.PrunedItems):249:256 -> a
    35:94:com.android.tools.r8.shaking.KeepInfoCollection rewrite(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions):275:334 -> a
    95:95:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):278:278 -> a
    96:96:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    96:96:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):278 -> a
    97:101:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):279:283 -> a
    102:102:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):282:282 -> a
    103:109:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):279:285 -> a
    110:110:boolean lambda$rewrite$1(java.lang.Boolean):300:300 -> a
    111:111:com.android.tools.r8.graph.DexType lambda$rewrite$4(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexType):324:324 -> a
    112:112:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    112:112:com.android.tools.r8.graph.DexType lambda$rewrite$4(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexType):324 -> a
    113:116:com.android.tools.r8.graph.DexType lambda$rewrite$4(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexType):325:328 -> a
    117:117:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    117:117:void lambda$rewrite$3(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):310 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    118:121:void lambda$rewrite$3(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):311:311 -> a
    124:125:void lambda$rewrite$3(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):314:315 -> a
    126:131:java.util.Map rewriteRuleInstances(java.util.Map,java.util.function.Function,java.util.function.Supplier):342:342 -> a
    132:132:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    132:132:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):290 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    133:135:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):291:291 -> a
    138:142:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):294:298 -> a
    143:147:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):296:300 -> a
    148:155:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):295:302 -> a
    156:156:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    156:156:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):302 -> a
    157:159:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):301:303 -> a
    160:160:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$rewriteRuleInstances$5(java.util.function.Supplier,java.lang.Object,com.android.tools.r8.shaking.KeepInfo$Joiner,com.android.tools.r8.shaking.KeepInfo$Joiner):348:348 -> a
    161:177:void forEachRuleInstance(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer):357:373 -> a
    178:180:void lambda$forEachRuleInstance$6(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo$Joiner):359:361 -> a
    181:184:void lambda$forEachRuleInstance$7(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):367:370 -> a
    185:188:void lambda$forEachRuleInstance$8(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):376:379 -> a
    189:193:void evaluateMethodRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):403:407 -> a
    194:194:void lambda$evaluateMethodRule$11(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):404:404 -> a
    195:195:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexProgramClass):413:413 -> a
    196:196:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexProgramClass):413:413 -> a
    196:196:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):429 -> a
    197:202:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):430:435 -> a
    203:205:com.android.tools.r8.shaking.KeepInfo com.android.tools.r8.shaking.KeepInfo$Joiner.join():553:555 -> a
    203:205:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):436 -> a
    206:208:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):436:438 -> a
    209:210:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):418:419 -> a
    211:212:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):424:425 -> a
    213:213:void keepMethod(com.android.tools.r8.graph.ProgramMethod):461:461 -> a
    214:214:void keepField(com.android.tools.r8.graph.ProgramField):502:502 -> a
    215:215:com.android.tools.r8.shaking.KeepInfoCollection mutate(java.util.function.Consumer):507:507 -> a
    216:216:boolean verifyPinnedTypesAreLive(java.util.Set,com.android.tools.r8.utils.InternalOptions):513:513 -> a
    217:217:void lambda$verifyPinnedTypesAreLive$12(com.android.tools.r8.utils.InternalOptions,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):515:515 -> a
    218:219:void lambda$forEachPinnedType$13(com.android.tools.r8.utils.InternalOptions,java.util.function.Consumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):524:525 -> a
    220:221:void lambda$forEachPinnedMethod$14(com.android.tools.r8.utils.InternalOptions,java.util.function.Consumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):534:535 -> a
    222:222:void forEachPinnedField(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):542:542 -> a
    223:224:void lambda$forEachPinnedField$15(com.android.tools.r8.utils.InternalOptions,java.util.function.Consumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):544:545 -> a
    1:8:void removeKeepInfoForPrunedItems(com.android.tools.r8.graph.PrunedItems):261:268 -> b
    9:9:void keepClass(com.android.tools.r8.graph.DexProgramClass):443:443 -> b
    10:10:void forEachPinnedMethod(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):532:532 -> b
    1:1:void forEachPinnedType(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):522:522 -> c
com.android.tools.r8.shaking.KeepMemberInfo -> com.android.tools.r8.shaking.u0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):15:15 -> <init>
    1:3:boolean isRepackagingAllowed(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):21:23 -> a
com.android.tools.r8.shaking.KeepMethodInfo -> com.android.tools.r8.shaking.x0:
    boolean allowParameterReordering -> m
    boolean allowParameterTypeStrengthening -> n
    boolean allowReturnTypeStrengthening -> o
    boolean allowUnusedArgumentOptimization -> p
    boolean allowClosedWorldReasoning -> i
    boolean allowConstantArgumentOptimization -> j
    boolean allowInlining -> k
    boolean allowMethodStaticizing -> l
    boolean allowUnusedReturnValueOptimization -> q
    boolean $assertionsDisabled -> t
    com.android.tools.r8.shaking.KeepMethodInfo TOP -> r
    com.android.tools.r8.shaking.KeepMethodInfo BOTTOM -> s
    boolean allowClassInlining -> h
    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:12:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$Builder):39:49 -> <init>
    1:1:boolean isClassInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):71:71 -> e
    2:2:boolean internalIsClassInliningAllowed():75:75 -> e
    2:2:boolean isClassInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):71 -> e
    3:3:boolean isClosedWorldReasoningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):79:79 -> e
    4:4:boolean internalIsClosedWorldReasoningAllowed():83:83 -> e
    4:4:boolean isClosedWorldReasoningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):79 -> e
    1:1:boolean isConstantArgumentOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):87:87 -> f
    2:2:boolean internalIsConstantArgumentOptimizationAllowed():91:91 -> f
    2:2:boolean isConstantArgumentOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):87 -> f
    1:1:boolean isInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):95:95 -> g
    2:2:boolean internalIsInliningAllowed():99:99 -> g
    2:2:boolean isInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):95 -> g
    1:3:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):103:105 -> h
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isMethodStaticizingEnabled():701:701 -> h
    4:4:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):106 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isMethodStaticizingEnabled():701:701 -> h
    5:5:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):106 -> h
    6:6:boolean internalIsMethodStaticizingAllowed():111:111 -> h
    6:6:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):107 -> h
    1:1:com.android.tools.r8.shaking.KeepMethodInfo access$200():7:7 -> i
    2:4:boolean isParameterTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):126:128 -> i
    5:5:boolean internalIsParameterTypeStrengtheningAllowed():133:133 -> i
    5:5:boolean isParameterTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):129 -> i
    1:1:com.android.tools.r8.shaking.KeepMethodInfo access$300():7:7 -> j
    2:4:boolean isReturnTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):137:139 -> j
    5:5:boolean internalIsReturnTypeStrengtheningAllowed():144:144 -> j
    5:5:boolean isReturnTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):140 -> j
    1:1:com.android.tools.r8.shaking.KeepMethodInfo bottom():20:20 -> k
    2:4:boolean isUnusedArgumentOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):148:150 -> k
    5:5:boolean internalIsUnusedArgumentOptimizationAllowed():155:155 -> k
    5:5:boolean isUnusedArgumentOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):151 -> k
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder builder():56:56 -> l
    2:4:boolean isUnusedReturnValueOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):159:161 -> l
    5:5:boolean internalIsUnusedReturnValueOptimizationAllowed():166:166 -> l
    5:5:boolean isUnusedReturnValueOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):162 -> l
    1:1:boolean internalIsClassInliningAllowed():75:75 -> m
    1:1:boolean internalIsClosedWorldReasoningAllowed():83:83 -> n
    1:1:boolean internalIsConstantArgumentOptimizationAllowed():91:91 -> o
    1:1:boolean internalIsInliningAllowed():99:99 -> p
    1:1:boolean internalIsMethodStaticizingAllowed():111:111 -> q
    1:1:boolean internalIsParameterReorderingAllowed():122:122 -> r
    1:1:boolean internalIsParameterTypeStrengtheningAllowed():133:133 -> s
    1:1:boolean internalIsReturnTypeStrengtheningAllowed():144:144 -> t
    1:1:boolean internalIsUnusedArgumentOptimizationAllowed():155:155 -> u
    1:1:boolean internalIsUnusedReturnValueOptimizationAllowed():166:166 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> w
    1:1:boolean isTop():176 -> w
    2:2:boolean isTop():176:176 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():170:170 -> x
    2:2:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> x
    2:2:boolean isTop():176 -> x
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():170 -> x
    3:3:boolean isTop():176:176 -> x
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():170 -> x
    4:5:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():170:171 -> x
    1:1:com.android.tools.r8.shaking.KeepMethodInfo bottom():20:20 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner newEmptyJoiner():24 -> y
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Joiner newEmptyJoiner():24:24 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> z
com.android.tools.r8.shaking.KeepMethodInfo$Builder -> com.android.tools.r8.shaking.v0:
    boolean allowMethodStaticizing -> m
    boolean allowParameterReordering -> n
    boolean allowParameterTypeStrengthening -> o
    boolean allowReturnTypeStrengthening -> p
    boolean allowClassInlining -> i
    boolean allowClosedWorldReasoning -> j
    boolean allowConstantArgumentOptimization -> k
    boolean allowInlining -> l
    boolean allowUnusedArgumentOptimization -> q
    boolean allowUnusedReturnValueOptimization -> r
    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$1):184:184 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.KeepMethodInfo,com.android.tools.r8.shaking.KeepMethodInfo$1):184:184 -> <init>
    3:3:void <init>():198:198 -> <init>
    4:15:void <init>(com.android.tools.r8.shaking.KeepMethodInfo):202:213 -> <init>
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterReordering(boolean):318:318 -> A
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterReordering():327 -> A
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterTypeStrengthening(boolean):337:337 -> B
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterTypeStrengthening():346 -> B
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowReturnTypeStrengthening(boolean):356:356 -> C
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowReturnTypeStrengthening():365 -> C
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedArgumentOptimization(boolean):375:375 -> D
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowUnusedArgumentOptimization():384 -> D
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedReturnValueOptimization(boolean):395:395 -> E
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowUnusedReturnValueOptimization():404 -> E
    1:1:boolean isClassInliningAllowed():219:219 -> F
    1:1:boolean isClosedWorldReasoningAllowed():238:238 -> G
    1:1:boolean isConstantArgumentOptimizationAllowed():257:257 -> H
    1:1:boolean isInliningAllowed():276:276 -> I
    1:1:boolean isMethodStaticizingAllowed():295:295 -> J
    1:1:boolean isParameterReorderingAllowed():314:314 -> K
    1:1:boolean isParameterTypeStrengtheningAllowed():333:333 -> L
    1:1:boolean isReturnTypeStrengtheningAllowed():352:352 -> M
    1:1:boolean isUnusedArgumentOptimizationAllowed():371:371 -> N
    1:1:boolean isUnusedReturnValueOptimizationAllowed():390:390 -> O
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():468:468 -> P
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClassInlining(boolean):223:223 -> P
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowClassInlining():228 -> P
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():469 -> P
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClosedWorldReasoning(boolean):242:242 -> P
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowClosedWorldReasoning():247 -> P
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():470 -> P
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowConstantArgumentOptimization(boolean):261:261 -> P
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowConstantArgumentOptimization():266 -> P
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():471 -> P
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowInlining(boolean):280:280 -> P
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowInlining():285 -> P
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():472 -> P
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowMethodStaticizing(boolean):299:299 -> P
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowMethodStaticizing():304 -> P
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():473 -> P
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterReordering(boolean):318:318 -> P
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowParameterReordering():323 -> P
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():474 -> P
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterTypeStrengthening(boolean):337:337 -> P
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowParameterTypeStrengthening():342 -> P
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():475 -> P
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowReturnTypeStrengthening(boolean):356:356 -> P
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowReturnTypeStrengthening():361 -> P
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():476 -> P
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedArgumentOptimization(boolean):375:375 -> P
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowUnusedArgumentOptimization():380 -> P
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():477 -> P
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedReturnValueOptimization(boolean):395:395 -> P
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowUnusedReturnValueOptimization():400 -> P
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():478 -> P
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():453:453 -> Q
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClassInlining(boolean):223:223 -> Q
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClassInlining():232 -> Q
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():454 -> Q
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClosedWorldReasoning(boolean):242:242 -> Q
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClosedWorldReasoning():251 -> Q
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():455 -> Q
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowConstantArgumentOptimization(boolean):261:261 -> Q
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowConstantArgumentOptimization():270 -> Q
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():456 -> Q
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowInlining(boolean):280:280 -> Q
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowInlining():289 -> Q
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():457 -> Q
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowMethodStaticizing(boolean):299:299 -> Q
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowMethodStaticizing():308 -> Q
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():458 -> Q
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterReordering(boolean):318:318 -> Q
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterReordering():327 -> Q
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():459 -> Q
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterTypeStrengthening(boolean):337:337 -> Q
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterTypeStrengthening():346 -> Q
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():460 -> Q
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowReturnTypeStrengthening(boolean):356:356 -> Q
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowReturnTypeStrengthening():365 -> Q
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():461 -> Q
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedArgumentOptimization(boolean):375:375 -> Q
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowUnusedArgumentOptimization():384 -> Q
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():462 -> Q
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedReturnValueOptimization(boolean):395:395 -> Q
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowUnusedReturnValueOptimization():404 -> Q
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():463 -> Q
    1:1:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):184:184 -> a
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):429:429 -> a
    3:3:boolean isClassInliningAllowed():219:219 -> a
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):430 -> a
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):430:430 -> a
    5:5:boolean isClosedWorldReasoningAllowed():238:238 -> a
    5:5:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):431 -> a
    6:6:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):431:431 -> a
    7:7:boolean isConstantArgumentOptimizationAllowed():257:257 -> a
    7:7:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):432 -> a
    8:8:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):433:433 -> a
    9:9:boolean isInliningAllowed():276:276 -> a
    9:9:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):434 -> a
    10:10:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):434:434 -> a
    11:11:boolean isMethodStaticizingAllowed():295:295 -> a
    11:11:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):435 -> a
    12:12:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):435:435 -> a
    13:13:boolean isParameterReorderingAllowed():314:314 -> a
    13:13:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):436 -> a
    14:14:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):436:436 -> a
    15:15:boolean isParameterTypeStrengtheningAllowed():333:333 -> a
    15:15:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):437 -> a
    16:16:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):438:438 -> a
    17:17:boolean isReturnTypeStrengtheningAllowed():352:352 -> a
    17:17:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):439 -> a
    18:18:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):439:439 -> a
    19:19:boolean isUnusedArgumentOptimizationAllowed():371:371 -> a
    19:19:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):440 -> a
    20:20:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):441:441 -> a
    21:21:boolean isUnusedReturnValueOptimizationAllowed():390:390 -> a
    21:21:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):442 -> a
    22:22:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):443:443 -> a
    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):184:184 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):424:424 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):184 -> b
    1:1:com.android.tools.r8.shaking.KeepMethodInfo doBuild():448:448 -> g
    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():184 -> g
    1:1:com.android.tools.r8.shaking.KeepMethodInfo getBottomInfo():419:419 -> h
    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():184 -> h
    1:1:com.android.tools.r8.shaking.KeepMethodInfo getTopInfo():414:414 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():184 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():184:184 -> r
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClassInlining(boolean):223:223 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClassInlining():232 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClosedWorldReasoning(boolean):242:242 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClosedWorldReasoning():251 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowConstantArgumentOptimization(boolean):261:261 -> x
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowConstantArgumentOptimization():270 -> x
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowInlining(boolean):280:280 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowInlining():289 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowMethodStaticizing(boolean):299:299 -> z
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowMethodStaticizing():308 -> z
com.android.tools.r8.shaking.KeepMethodInfo$Joiner -> com.android.tools.r8.shaking.w0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo):485:485 -> <init>
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):482:482 -> a
    2:5:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):546:549 -> a
    6:9:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):548:551 -> a
    10:16:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):550:556 -> a
    17:20:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):555:558 -> a
    21:25:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):557:561 -> a
    26:30:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):560:564 -> a
    31:35:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):563:567 -> a
    36:36:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):566:566 -> a
    com.android.tools.r8.shaking.KeepMethodInfo$Joiner asMethodJoiner() -> c
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> l
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowClassInlining():489:489 -> o
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowClosedWorldReasoning():494:494 -> p
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowConstantArgumentOptimization():499:499 -> q
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowInlining():504:504 -> r
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowMethodStaticizing():509:509 -> s
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowParameterReordering():514:514 -> t
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowParameterTypeStrengthening():519:519 -> u
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowReturnTypeStrengthening():524:524 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowUnusedArgumentOptimization():529:529 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowUnusedReturnValueOptimization():534:534 -> x
com.android.tools.r8.shaking.KeepReason -> com.android.tools.r8.shaking.K0:
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind() -> a
    com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter) -> a
    1:1:com.android.tools.r8.shaking.KeepReason referencedInAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):67:67 -> a
    2:2:com.android.tools.r8.shaking.KeepReason reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
com.android.tools.r8.shaking.KeepReason$AnnotatedOn -> com.android.tools.r8.shaking.y0:
    com.android.tools.r8.graph.DexDefinition holder -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():253:253 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.KeepReason$1):253:253 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexDefinition):257:258 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():263:263 -> a
    2:4:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):268:270 -> a
    5:5:boolean com.android.tools.r8.graph.DexDefinition.isDexEncodedField():0:0 -> a
    5:5:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):270 -> a
    6:9:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):271:274 -> a
com.android.tools.r8.shaking.KeepReason$BasedOnOtherMethod -> com.android.tools.r8.shaking.z0:
    com.android.tools.r8.graph.DexEncodedMethod method -> a
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):90:90 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexEncodedMethod):94:95 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):106:106 -> a
com.android.tools.r8.shaking.KeepReason$InstantiatedIn -> com.android.tools.r8.shaking.A0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):110:110 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):113:113 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():118:118 -> a
com.android.tools.r8.shaking.KeepReason$InvokedFrom -> com.android.tools.r8.shaking.B0:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():161:161 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):161:161 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):164:165 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():170:170 -> a
com.android.tools.r8.shaking.KeepReason$InvokedFromLambdaCreatedIn -> com.android.tools.r8.shaking.C0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):179:179 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):182:182 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():187:187 -> a
com.android.tools.r8.shaking.KeepReason$InvokedViaSuper -> com.android.tools.r8.shaking.D0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):127:127 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):130:130 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():135:135 -> a
com.android.tools.r8.shaking.KeepReason$MethodHandleReferencedFrom -> com.android.tools.r8.shaking.E0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):301:301 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):304:304 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():309:309 -> a
com.android.tools.r8.shaking.KeepReason$ReachableFromLiveType -> com.android.tools.r8.shaking.F0:
    com.android.tools.r8.graph.DexType type -> a
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason$1):213:213 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexType):217:218 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():223:223 -> a
    2:2:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):228:228 -> a
com.android.tools.r8.shaking.KeepReason$ReferencedFrom -> com.android.tools.r8.shaking.G0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):196:196 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):199:199 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():204:204 -> a
com.android.tools.r8.shaking.KeepReason$ReferencedInAnnotation -> com.android.tools.r8.shaking.H0:
    com.android.tools.r8.graph.DexAnnotation annotation -> a
    com.android.tools.r8.graph.ProgramDefinition annotatedItem -> b
    1:1:void <init>(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason$1):232:232 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):237:239 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():244:244 -> a
    2:2:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):249:249 -> a
com.android.tools.r8.shaking.KeepReason$ReflectiveUseFrom -> com.android.tools.r8.shaking.I0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):279:279 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):282:282 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():292:292 -> a
com.android.tools.r8.shaking.KeepReason$TargetedBySuper -> com.android.tools.r8.shaking.J0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):144:144 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):147:147 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():152:152 -> a
com.android.tools.r8.shaking.KeepUnusedArgumentRule -> com.android.tools.r8.shaking.M0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.KeepUnusedArgumentRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):59:59 -> <init>
    1:1:java.lang.String typeString():81:81 -> C
com.android.tools.r8.shaking.KeepUnusedArgumentRule$Builder -> com.android.tools.r8.shaking.L0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepUnusedArgumentRule$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    1:11:com.android.tools.r8.shaking.KeepUnusedArgumentRule build():28:38 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():14 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.KeepUnusedReturnValueRule -> com.android.tools.r8.shaking.O0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.KeepUnusedReturnValueRule$Builder -> com.android.tools.r8.shaking.N0:
    1:1:void <init>():19:19 -> <init>
    1:11:com.android.tools.r8.shaking.KeepUnusedReturnValueRule build():29:39 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():15 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.L8TreePruner -> com.android.tools.r8.internal.kA:
    java.util.List pruned -> b
    java.util.Set emulatedInterfaces -> a
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):29:29 -> <init>
    2:10:void <init>(com.android.tools.r8.utils.InternalOptions):25:33 -> <init>
    11:11:void <init>(com.android.tools.r8.utils.InternalOptions):32:32 -> <init>
    1:11:com.android.tools.r8.graph.DexApplication prune(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.desugar.TypeRewriter):37:47 -> a
    12:26:com.android.tools.r8.graph.DexApplication prune(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.desugar.TypeRewriter):44:58 -> a
    27:27:boolean lambda$prune$0(com.android.tools.r8.graph.DexType):52:52 -> a
com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis -> com.android.tools.r8.internal.oB:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap escapeDebuggingCounters -> c
    java.util.Set nonEscapingClassesWithLibraryMethodOverrides -> b
    boolean $assertionsDisabled -> d
    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:4:java.util.Set getClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):64:67 -> a
    5:5:java.util.Set getClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):66:66 -> a
    6:10:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.hasLibraryMethodOverrideDirectly(com.android.tools.r8.graph.DexProgramClass):84:88 -> a
    6:10:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.hasLibraryMethodOverrideDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):79 -> a
    6:10:void lambda$getClassesWithLibraryMethodOverrides$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):69 -> a
    11:15:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.hasLibraryMethodOverrideIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):97:101 -> a
    11:15:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.hasLibraryMethodOverrideDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):80 -> a
    11:15:void lambda$getClassesWithLibraryMethodOverrides$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):69 -> a
    16:16:void lambda$getClassesWithLibraryMethodOverrides$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):71:71 -> a
    17:45:void analyze(com.android.tools.r8.ir.code.IRCode):109:137 -> a
    46:46:void analyze(com.android.tools.r8.ir.code.IRCode):136:136 -> a
    47:47:void finish():147:147 -> a
    48:52:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.verifyNoUninstantiatedTypesEscapeIntoLibrary():153:157 -> a
    48:52:void finish():147 -> a
    53:53:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.verifyNoUninstantiatedTypesEscapeIntoLibrary():155:155 -> a
    53:53:void finish():147 -> a
    54:54:void finish():148:148 -> a
    55:55:boolean lambda$finish$1(com.android.tools.r8.graph.DexType):149:149 -> a
    56:59:void lambda$logResults$2(java.lang.Class):177:180 -> a
    60:60:void lambda$logResults$2(java.lang.Class):176:176 -> a
    1:8:java.util.Set getInitialNonEscapingClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):50:57 -> b
    9:9:java.util.Set getInitialNonEscapingClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):56:56 -> b
    10:14:void logResults():163:167 -> b
    15:22:void logResults():164:171 -> b
    23:27:void logResults():168:172 -> b
    28:28:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> b
    28:28:void logResults():173 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:30:void logResults():173:174 -> b
com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration -> com.android.tools.r8.internal.nB:
    com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration INSTANCE -> a
    1:1:void <clinit>():185:185 -> <clinit>
    1:1:void <init>():188:188 -> <init>
    1:1:com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration getInstance():191:191 -> a
    2: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):200:202 -> a
    5:27:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration.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):212:234 -> a
    5:27: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):201 -> a
com.android.tools.r8.shaking.LibraryModeledPredicate -> com.android.tools.r8.internal.rB:
    boolean isModeled(com.android.tools.r8.graph.DexType) -> c
com.android.tools.r8.shaking.MainDexDirectReferenceTracer -> com.android.tools.r8.internal.dD:
    com.android.tools.r8.graph.AppView appView -> b
    java.util.function.Consumer consumer -> c
    com.android.tools.r8.shaking.MainDexDirectReferenceTracer$AnnotationDirectReferenceCollector annotationDirectReferenceCollector -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Consumer):38:38 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Consumer):31:40 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.shaking.MainDexDirectReferenceTracer):30:30 -> a
    2:2:void access$400(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):30:30 -> a
    3:6:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceMethodDirectDependencies(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):100:103 -> a
    3:6:void access$400(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):30 -> a
    7:14:void run(java.util.Set):44:51 -> a
    15:15:boolean com.android.tools.r8.graph.DexAnnotation.hasSynthesizedClassAnnotation(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):405:405 -> a
    15:15:void run(java.util.Set):50 -> a
    16:16:void run(java.util.Set):52:52 -> a
    17:17:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96:96 -> a
    17:17:void run(java.util.Set):52 -> a
    18:18:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    18:18:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96 -> a
    18:18:void run(java.util.Set):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    19:19:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    19:19:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96 -> a
    19:19:void run(java.util.Set):52 -> a
    20:20:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    20:20:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96 -> a
    20:20:void run(java.util.Set):52 -> a
    21:21:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    21:21:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    21:21:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96 -> a
    21:21:void run(java.util.Set):52 -> a
    22:23:void run(java.util.Set):54:55 -> a
    24:24:void lambda$run$0(com.android.tools.r8.graph.DexEncodedField):54:54 -> a
    25:25:boolean lambda$run$1(com.android.tools.r8.graph.DexEncodedMethod):57:57 -> a
    26:29:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceMethodDirectDependencies(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):100:103 -> a
    26:29:boolean lambda$run$1(com.android.tools.r8.graph.DexEncodedMethod):57 -> a
    30:30:boolean lambda$run$1(com.android.tools.r8.graph.DexEncodedMethod):58:58 -> a
    31:31:void runOnCode(com.android.tools.r8.graph.ProgramMethod):65:65 -> a
    32:45:com.android.tools.r8.graph.DexProgramClass getFirstReferenceOutsideFromCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.function.Predicate):79:92 -> a
    46:50:void lambda$getFirstReferenceOutsideFromCode$2(com.android.tools.r8.graph.AppView,java.util.function.Predicate,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType):83:87 -> a
    1:1:java.util.function.Consumer access$300(com.android.tools.r8.shaking.MainDexDirectReferenceTracer):30:30 -> b
com.android.tools.r8.shaking.MainDexDirectReferenceTracer$AnnotationDirectReferenceCollector -> com.android.tools.r8.internal.bD:
    com.android.tools.r8.shaking.MainDexDirectReferenceTracer this$0 -> a
    1:1:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer):189:189 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.shaking.MainDexDirectReferenceTracer$1):189:189 -> <init>
    boolean addString(com.android.tools.r8.graph.DexString) -> a
    1:1:boolean addClass(com.android.tools.r8.graph.DexProgramClass):193:193 -> a
    2:3:boolean addMethod(com.android.tools.r8.graph.DexMethod):206:207 -> a
    4:6:boolean addProto(com.android.tools.r8.graph.DexProto):218:220 -> a
    7:7:boolean addType(com.android.tools.r8.graph.DexType):227:227 -> a
    8:8:boolean addCallSite(com.android.tools.r8.graph.DexCallSite):233:233 -> a
    9:9:boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle):238:238 -> a
    1:2:boolean addField(com.android.tools.r8.graph.DexField):199:200 -> b
com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector -> com.android.tools.r8.internal.cD:
    com.android.tools.r8.shaking.MainDexDirectReferenceTracer this$0 -> e
    1:1:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.MainDexDirectReferenceTracer$1):107:107 -> <init>
    2:3:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.ProgramMethod):109:110 -> <init>
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> a
    1:2:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):125 -> a
    3:4:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerFieldAccess(com.android.tools.r8.graph.DexField):169:170 -> a
    3:4:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):155 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):115:115 -> b
    2:3:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> b
    2:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):135 -> b
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerFieldAccess(com.android.tools.r8.graph.DexField):169:170 -> c
    1:2:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):150 -> c
    3:3:void registerInstanceOf(com.android.tools.r8.graph.DexType):185:185 -> c
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> d
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):130 -> d
    3:3:void registerNewInstance(com.android.tools.r8.graph.DexType):175:175 -> d
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerFieldAccess(com.android.tools.r8.graph.DexField):169:170 -> e
    1:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):160 -> e
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> f
    1:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):140 -> f
    3:3:void registerTypeReference(com.android.tools.r8.graph.DexType):180:180 -> f
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> g
    1:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):120 -> g
    3:4:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerFieldAccess(com.android.tools.r8.graph.DexField):169:170 -> g
    3:4:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):165 -> g
com.android.tools.r8.shaking.MainDexInfo -> com.android.tools.r8.shaking.Q0:
    java.util.Set tracedMethodRoots -> c
    com.android.tools.r8.shaking.MainDexInfo NONE -> f
    java.util.Set tracedDependencies -> d
    boolean tracedMethodRootsCleared -> e
    java.util.Set classList -> a
    boolean $assertionsDisabled -> g
    java.util.Set tracedRoots -> b
    1:8:void <clinit>():27:34 -> <clinit>
    1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$1):27:27 -> <init>
    2:2:void <init>(java.util.Set,java.util.Set,java.util.Set,java.util.Set,boolean,com.android.tools.r8.shaking.MainDexInfo$1):27:27 -> <init>
    3:5:void <init>(java.util.Set):60:62 -> <init>
    6:6:void <init>(java.util.Set):58:58 -> <init>
    7:13:void <init>(java.util.Set,java.util.Set,java.util.Set,java.util.Set,boolean):71:77 -> <init>
    1:1:java.util.Set access$300(com.android.tools.r8.shaking.MainDexInfo):27:27 -> a
    2:2:boolean isSyntheticContextOnMainDexList(com.android.tools.r8.graph.DexType):82:82 -> a
    3:3:boolean isFromList(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):91:91 -> a
    3:3:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):161 -> a
    4:4:boolean isFromList(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):95:95 -> a
    4:4:boolean isFromList(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):91 -> a
    4:4:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):161 -> a
    5:5:boolean isFromList(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):95:95 -> a
    5:5:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):192 -> a
    6:6:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):193:193 -> a
    7:7:boolean isTracedRoot(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):108:108 -> a
    7:7:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):195 -> a
    8:8:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):196:196 -> a
    9:9:boolean isDependency(com.android.tools.r8.graph.DexReference):130:130 -> a
    9:9:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):198 -> a
    10:12:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):199:201 -> a
    13:13:boolean isFromList(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):95:95 -> a
    13:13:boolean lambda$disallowInliningIntoContext$0(com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):219 -> a
    14:15:boolean isTracedMethodRoot(com.android.tools.r8.graph.DexMethod):103:104 -> a
    16:25:boolean isContainedOrHasContainedContext(com.android.tools.r8.graph.DexReference,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):113:122 -> a
    26:26:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):166:166 -> a
    27:27:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    27:27:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):166 -> a
    28:35:boolean canMerge(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):170:177 -> a
    28:35:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):166 -> a
    36:36:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):188:188 -> a
    36:36:boolean canRebindReference(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):144 -> a
    37:49:boolean canRebindReference(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):145:157 -> a
    50:50:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):209:209 -> a
    51:51:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> a
    51:51:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):209 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    52:52:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):188:188 -> a
    52:52:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):212 -> a
    53:58:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):213:218 -> a
    59:59:boolean com.android.tools.r8.shaking.MainDexDirectReferenceTracer.hasReferencesOutsideMainDexClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.function.Predicate):72:72 -> a
    59:59:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):218 -> a
    60:61:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):221:222 -> a
    62:62:boolean com.android.tools.r8.shaking.MainDexDirectReferenceTracer.hasReferencesOutsideMainDexClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.function.Predicate):72:72 -> a
    62:62:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):222 -> a
    63:66:void forEach(java.util.function.Consumer):248:251 -> a
    67:82:com.android.tools.r8.shaking.MainDexInfo withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):255:270 -> a
    83:83:void lambda$withoutPrunedItems$2(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexType):260:260 -> a
    84:85:void ifNotRemoved(com.android.tools.r8.graph.DexType,java.util.Set,java.util.function.Consumer):275:276 -> a
    84:85:void lambda$withoutPrunedItems$2(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexType):260 -> a
    86:86:void lambda$withoutPrunedItems$3(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):262:262 -> a
    87:88:void ifNotRemoved(com.android.tools.r8.graph.DexType,java.util.Set,java.util.function.Consumer):275:276 -> a
    87:88:void lambda$withoutPrunedItems$3(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):262 -> a
    89:89:void lambda$withoutPrunedItems$4(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):268:268 -> a
    90:90:void lambda$withoutPrunedItems$5(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexMethod):268:268 -> a
    91:92:void ifNotRemoved(com.android.tools.r8.graph.DexType,java.util.Set,java.util.function.Consumer):275:276 -> a
    91:92:void lambda$withoutPrunedItems$5(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexMethod):267 -> a
    93:112:com.android.tools.r8.shaking.MainDexInfo rewrittenWithLens(com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.GraphLens):281:300 -> a
    113:113:void lambda$rewrittenWithLens$7(com.android.tools.r8.graph.GraphLens,java.util.Set,com.android.tools.r8.graph.DexType):283:283 -> a
    114:114:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):285:285 -> a
    115:115:void lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):289:289 -> a
    116:116:boolean com.android.tools.r8.graph.GraphLens.isSyntheticFinalizationGraphLens():0:0 -> a
    116:116:void lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):289 -> a
    117:120:void lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):292:295 -> a
    121:124:void lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):294:297 -> a
    125:125:com.android.tools.r8.shaking.MainDexInfo$Builder builder():304:304 -> a
    126:126:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    126:126:void lambda$rewrittenWithLens$9(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):286 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    127:127:void lambda$rewrittenWithLens$9(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):286:286 -> a
    1:1:boolean isTracedRoot(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):108:108 -> b
    1:1:boolean lambda$disallowInliningIntoContext$1(com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):223 -> b
    2:2:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):181:181 -> b
    3:3:boolean isFromList(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):91:91 -> b
    3:3:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):161 -> b
    3:3:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):181 -> b
    4:4:boolean isFromList(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):95:95 -> b
    4:4:boolean isFromList(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):91 -> b
    4:4:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):161 -> b
    4:4:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):181 -> b
    5:5:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):181:181 -> b
    6:6:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):188:188 -> b
    6:6:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):182 -> b
    7:7:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):183:183 -> b
    8:8:void lambda$withoutPrunedItems$6(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):269:269 -> b
    9:10:void ifNotRemoved(com.android.tools.r8.graph.DexType,java.util.Set,java.util.function.Consumer):275:276 -> b
    9:10:void lambda$withoutPrunedItems$6(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):269 -> b
    11:15:com.android.tools.r8.shaking.MainDexInfo$Builder builderFromCopy():415:419 -> b
    1:1:boolean isTracedRoot(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):99:99 -> c
    2:2:boolean isTracedRoot(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):108:108 -> c
    2:2:boolean isTracedRoot(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):99 -> c
    3:4:void clearTracedMethodRoots():138:139 -> c
    1:2:boolean isEmpty():227:228 -> d
    1:1:boolean isTracedMethodRootsCleared():134:134 -> e
    1:1:com.android.tools.r8.shaking.MainDexInfo none():232:232 -> f
    1:1:int size():236:236 -> g
com.android.tools.r8.shaking.MainDexInfo$Builder -> com.android.tools.r8.shaking.P0:
    java.util.Set methodRoots -> c
    java.util.Set dependencies -> d
    boolean tracedMethodRootsCleared -> e
    boolean $assertionsDisabled -> f
    java.util.Set list -> a
    java.util.Set roots -> b
    1:1:void <clinit>():307:307 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.shaking.MainDexInfo$1):307:307 -> <init>
    2:2:void <init>(boolean):315:315 -> <init>
    3:10:void <init>(boolean):309:316 -> <init>
    1:1:java.util.Set access$400(com.android.tools.r8.shaking.MainDexInfo$Builder):307:307 -> a
    2:2:void addList(com.android.tools.r8.graph.DexProgramClass):320:320 -> a
    3:3:void addList(com.android.tools.r8.graph.DexType):324:324 -> a
    3:3:void addList(com.android.tools.r8.graph.DexProgramClass):320 -> a
    4:4:void addRoot(com.android.tools.r8.graph.DexMethod):337:337 -> a
    5:6:void addDependency(com.android.tools.r8.graph.DexType):345:346 -> a
    7:7:java.util.function.Consumer addDependencyAllowSyntheticRoot(com.android.tools.r8.synthesis.SyntheticItems):350:350 -> a
    8:9:void lambda$addDependencyAllowSyntheticRoot$0(com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):351:352 -> a
    10:11:com.android.tools.r8.shaking.MainDexInfo build(java.util.Set):401:402 -> a
    12:12:com.android.tools.r8.shaking.MainDexInfo build():410:410 -> a
    1:1:java.util.Set access$500(com.android.tools.r8.shaking.MainDexInfo$Builder):307:307 -> b
    2:2:void addRoot(com.android.tools.r8.graph.DexProgramClass):328:328 -> b
    3:6:void addDependencyIfNotRoot(com.android.tools.r8.graph.DexType):357:360 -> b
    7:9:com.android.tools.r8.shaking.MainDexInfo buildList():394:396 -> b
    1:1:java.util.Set access$600(com.android.tools.r8.shaking.MainDexInfo$Builder):307:307 -> c
    2:2:void addList(com.android.tools.r8.graph.DexType):324:324 -> c
    3:3:java.util.Set getRoots():388:388 -> c
    1:1:java.util.Set access$700(com.android.tools.r8.shaking.MainDexInfo$Builder):307:307 -> d
    2:3:void addRoot(com.android.tools.r8.graph.DexType):332:333 -> d
    1:1:boolean isTracedRoot(com.android.tools.r8.graph.DexType):368:368 -> e
    1:1:boolean contains(com.android.tools.r8.graph.DexType):384 -> e
    2:2:boolean isDependency(com.android.tools.r8.graph.DexType):376:376 -> e
    2:2:boolean contains(com.android.tools.r8.graph.DexType):384 -> e
com.android.tools.r8.shaking.MainDexInfo$MainDexGroup -> com.android.tools.r8.internal.eD:
    com.android.tools.r8.shaking.MainDexInfo$MainDexGroup MAIN_DEX_DEPENDENCY -> d
    com.android.tools.r8.shaking.MainDexInfo$MainDexGroup NOT_IN_MAIN_DEX -> e
    com.android.tools.r8.shaking.MainDexInfo$MainDexGroup MAIN_DEX_LIST -> b
    com.android.tools.r8.shaking.MainDexInfo$MainDexGroup MAIN_DEX_ROOT -> c
    1:4:void <clinit>():38:41 -> <clinit>
    1:1:void <init>(java.lang.String,int):37:37 -> <init>
com.android.tools.r8.shaking.MainDexListBuilder -> com.android.tools.r8.internal.fD:
    java.util.Map annotationTypeContainEnum -> c
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.shaking.MainDexInfo$Builder mainDexInfoBuilder -> d
    boolean $assertionsDisabled -> e
    java.util.Set roots -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:7:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder):54:60 -> <init>
    1:1:boolean lambda$new$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):57:57 -> a
    2:3:void run():68:69 -> a
    4:4:void lambda$traceRuntimeAnnotationsWithEnumForMainDex$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):88:88 -> a
    5:5:boolean com.android.tools.r8.shaking.MainDexInfo$Builder.contains(com.android.tools.r8.graph.DexProgramClass):380:380 -> a
    5:5:void lambda$traceRuntimeAnnotationsWithEnumForMainDex$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):88 -> a
    6:10:void lambda$traceRuntimeAnnotationsWithEnumForMainDex$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):88:92 -> a
    11:11:void com.android.tools.r8.shaking.MainDexInfo$Builder.addDependency(com.android.tools.r8.graph.DexProgramClass):341:341 -> a
    11:11:void lambda$traceRuntimeAnnotationsWithEnumForMainDex$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):92 -> a
    12:22:void addDirectDependency(com.android.tools.r8.graph.DexType):181:191 -> a
    23:23:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):195:195 -> a
    24:24:boolean com.android.tools.r8.shaking.MainDexInfo$Builder.contains(com.android.tools.r8.graph.DexProgramClass):380:380 -> a
    24:24:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):195 -> a
    25:26:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):195:196 -> a
    27:27:void com.android.tools.r8.shaking.MainDexInfo$Builder.addDependency(com.android.tools.r8.graph.DexProgramClass):341:341 -> a
    27:27:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):196 -> a
    28:32:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):197:201 -> a
    1:16:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):116:131 -> b
    17:17:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> b
    17:17:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):132 -> b
    18:18:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):132:132 -> b
    19:19:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    19:19:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):134 -> b
    20:21:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):134:135 -> b
    22:22:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):152:152 -> b
    22:22:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):137 -> b
    23:23:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> b
    23:23:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):153 -> b
    23:23:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):137 -> b
    24:24:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):153:153 -> b
    24:24:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):137 -> b
    25:25:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> b
    25:25:boolean com.android.tools.r8.shaking.MainDexListBuilder.isAnnotation(com.android.tools.r8.graph.DexType):157 -> b
    25:25:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):138 -> b
    26:26:boolean com.android.tools.r8.shaking.MainDexListBuilder.isAnnotation(com.android.tools.r8.graph.DexType):157:157 -> b
    26:26:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):138 -> b
    27:27:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):138:138 -> b
    28:39:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):137:148 -> b
    40:40:void traceMainDexDirectDependencies():161:161 -> b
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> c
    1:1:void traceRuntimeAnnotationsWithEnumForMainDex():73 -> c
    2:3:void traceRuntimeAnnotationsWithEnumForMainDex():73:74 -> c
    4:4:boolean com.android.tools.r8.shaking.MainDexInfo$Builder.contains(com.android.tools.r8.graph.DexProgramClass):380:380 -> c
    4:4:void traceRuntimeAnnotationsWithEnumForMainDex():74 -> c
    5:5:void traceRuntimeAnnotationsWithEnumForMainDex():77:77 -> c
    6:6:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> c
    6:6:boolean com.android.tools.r8.shaking.MainDexListBuilder.isAnnotation(com.android.tools.r8.graph.DexType):157 -> c
    6:6:void traceRuntimeAnnotationsWithEnumForMainDex():78 -> c
    7:7:boolean com.android.tools.r8.shaking.MainDexListBuilder.isAnnotation(com.android.tools.r8.graph.DexType):157:157 -> c
    7:7:void traceRuntimeAnnotationsWithEnumForMainDex():78 -> c
    8:8:void traceRuntimeAnnotationsWithEnumForMainDex():78:78 -> c
    9:9:boolean com.android.tools.r8.shaking.MainDexListBuilder.isVisibleAnnotation(com.android.tools.r8.graph.DexProgramClass):99:99 -> c
    9:9:void traceRuntimeAnnotationsWithEnumForMainDex():79 -> c
    10:10:boolean com.android.tools.r8.shaking.MainDexListBuilder.retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType):112:112 -> c
    10:10:boolean com.android.tools.r8.shaking.MainDexListBuilder.isVisibleAnnotation(com.android.tools.r8.graph.DexProgramClass):99 -> c
    10:10:void traceRuntimeAnnotationsWithEnumForMainDex():79 -> c
    11:16:boolean com.android.tools.r8.shaking.MainDexListBuilder.isVisibleAnnotation(com.android.tools.r8.graph.DexProgramClass):103:108 -> c
    11:16:void traceRuntimeAnnotationsWithEnumForMainDex():79 -> c
    17:22:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):166:171 -> c
    17:22:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    23:23:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):152:152 -> c
    23:23:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):172 -> c
    23:23:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    24:24:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> c
    24:24:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):153 -> c
    24:24:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):172 -> c
    24:24:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    25:25:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):153:153 -> c
    25:25:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):172 -> c
    25:25:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    26:26:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):173:173 -> c
    26:26:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    27:27:void traceRuntimeAnnotationsWithEnumForMainDex():86:86 -> c
    28:34:void com.android.tools.r8.graph.DexClass.forEachAnnotation(java.util.function.Consumer):322:328 -> c
    28:34:void traceRuntimeAnnotationsWithEnumForMainDex():86 -> c
com.android.tools.r8.shaking.MemberValuePropagationRule -> com.android.tools.r8.shaking.S0:
    com.android.tools.r8.shaking.MemberValuePropagationRule$Type type -> r
    int $r8$clinit -> s
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,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>
    2:16:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.MemberValuePropagationRule$Type):73:87 -> <init>
    1:5:java.lang.String typeString():100:104 -> C
    6:6:java.lang.String typeString():0:0 -> C
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":111,"2":112,"3":113}}
    111:111:java.lang.String typeString():104:104 -> C
    112:112:java.lang.String typeString():104:104 -> C
    113:113:java.lang.String typeString():104:104 -> C
    110:110:java.lang.String typeString():104:104 -> C
    1:1:com.android.tools.r8.shaking.MemberValuePropagationRule$Type getType():95:95 -> D
com.android.tools.r8.shaking.MemberValuePropagationRule$Builder -> com.android.tools.r8.shaking.R0:
    com.android.tools.r8.shaking.MemberValuePropagationRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.MemberValuePropagationRule$1):17:17 -> <init>
    2:2:void <init>():21:21 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.MemberValuePropagationRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.UD:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.shaking.MinimumKeepInfoCollection -> com.android.tools.r8.internal.RE:
    java.util.Map minimumKeepInfo -> a
    com.android.tools.r8.shaking.MinimumKeepInfoCollection EMPTY -> b
    boolean $assertionsDisabled -> c
    1:4:void <clinit>():30:33 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    2:3:void <init>(java.util.Map):41:42 -> <init>
    1:1:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":169,"2":170,"3":171}}
    169:169:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):163:163 -> a
    170:170:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    170:170:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):163 -> a
    171:171:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    171:171:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):163 -> a
    165:168:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):164:167 -> a
    172:172:com.android.tools.r8.shaking.MinimumKeepInfoCollection empty():46:46 -> a
    173:173:void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer):58:58 -> a
    174:176:void lambda$forEach$3(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):61:63 -> a
    177:177:void lambda$forEach$0(java.util.function.BiConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepInfo$Joiner,com.android.tools.r8.graph.DexType):64:64 -> a
    178:180:void lambda$forEach$1(com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer,com.android.tools.r8.shaking.KeepInfo$Joiner,com.android.tools.r8.graph.DexField):66:68 -> a
    181:183:void lambda$forEach$2(com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer,com.android.tools.r8.shaking.KeepInfo$Joiner,com.android.tools.r8.graph.DexMethod):72:74 -> a
    184:184:void forEachThatMatches(java.util.function.BiPredicate,java.util.function.BiConsumer):85:85 -> a
    185:186:void lambda$forEachThatMatches$4(java.util.function.BiPredicate,java.util.function.BiConsumer,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):87:88 -> a
    187:187:com.android.tools.r8.shaking.KeepInfo$Joiner getOrDefault(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):95:95 -> a
    188:190:com.android.tools.r8.shaking.KeepInfo$Joiner getOrCreateMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference):99:99 -> a
    191:192:boolean hasMinimumKeepInfoThatMatches(com.android.tools.r8.graph.DexReference,java.util.function.Predicate):105:106 -> a
    193:193:void merge(com.android.tools.r8.shaking.MinimumKeepInfoCollection):114:114 -> a
    194:194:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):50:50 -> a
    194:194:void merge(com.android.tools.r8.shaking.MinimumKeepInfoCollection):114 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    195:195:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):50:50 -> a
    195:195:void merge(com.android.tools.r8.shaking.MinimumKeepInfoCollection):114 -> a
    196:196:void mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> a
    197:197:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    197:197:void mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    198:198:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):123:123 -> a
    199:209:boolean lambda$pruneDeadItems$9(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):126:136 -> a
    210:210:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$6(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):129:129 -> a
    211:211:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$7(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):132:132 -> a
    212:212:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexField.lookupOnProgramClass(com.android.tools.r8.graph.DexProgramClass):89:89 -> a
    212:212:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$7(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):131 -> a
    213:213:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):135:135 -> a
    214:214:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):134:134 -> a
    215:215:void pruneItems(com.android.tools.r8.graph.PrunedItems):141:141 -> a
    216:216:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.graph.DexType):145:145 -> a
    217:217:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.graph.DexField):149:149 -> a
    218:218:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.graph.DexMethod):153:153 -> a
    219:220:com.android.tools.r8.shaking.MinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):157:158 -> a
    221:221:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):50:50 -> a
    221:221:com.android.tools.r8.shaking.MinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):158 -> a
    222:238:void lambda$rewrittenWithLens$11(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):160:176 -> a
    239:239:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    239:239:void lambda$rewrittenWithLens$11(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):177 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$getOrCreateMinimumKeepInfoFor$5(com.android.tools.r8.graph.DexReference):100:100 -> b
    2:2:boolean isEmpty():110:110 -> b
com.android.tools.r8.shaking.MissingClasses -> com.android.tools.r8.internal.VE:
    java.util.Set missingClasses -> a
    1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.MissingClasses$1):37:37 -> <init>
    2:3:void <init>(java.util.Set):41:42 -> <init>
    1:1:com.android.tools.r8.shaking.MissingClasses$Builder builder():46:46 -> a
    2:2:void forEach(java.util.function.Consumer):54:54 -> a
    3:3:boolean contains(com.android.tools.r8.graph.DexType):58:58 -> a
    1:1:com.android.tools.r8.shaking.MissingClasses empty():50:50 -> b
com.android.tools.r8.shaking.MissingClasses$Builder -> com.android.tools.r8.internal.UE:
    java.util.Map newMissingClasses -> b
    java.util.Set newIgnoredMissingClasses -> c
    java.util.Set alreadyMissingClasses -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():61:61 -> <clinit>
    1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.MissingClasses$1):61:61 -> <init>
    2:2:void <init>(java.util.Set):71:71 -> <init>
    3:11:void <init>(java.util.Set):64:72 -> <init>
    1:6:void addNewMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):76:81 -> a
    7:9:boolean contains(com.android.tools.r8.graph.DexType):114:116 -> a
    10:12:com.android.tools.r8.shaking.MissingClasses assertNoMissingClasses(com.android.tools.r8.graph.AppView):127:127 -> a
    13:15:com.android.tools.r8.shaking.MissingClasses com.android.tools.r8.shaking.MissingClasses$Builder.build():311:313 -> a
    13:15:com.android.tools.r8.shaking.MissingClasses assertNoMissingClasses(com.android.tools.r8.graph.AppView):129 -> a
    16:16:com.android.tools.r8.shaking.MissingClasses com.android.tools.r8.shaking.MissingClasses$Builder.build():312:312 -> a
    16:16:com.android.tools.r8.shaking.MissingClasses assertNoMissingClasses(com.android.tools.r8.graph.AppView):129 -> a
    17:17:java.util.Set lambda$assertNoMissingClasses$2(com.android.tools.r8.graph.DexProgramClass):127:127 -> a
    18:29:com.android.tools.r8.diagnostic.MissingDefinitionsDiagnostic createDiagnostic(java.util.Map):150:161 -> a
    30:33:void lambda$createDiagnostic$3(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.graph.DexType,java.util.Set):154:157 -> a
    34:37:void lambda$createDiagnostic$3(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.graph.DexType,java.util.Set):156:159 -> a
    38:44:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):166:172 -> a
    38:44:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    45:58:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):180:193 -> a
    45:58:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    45:58:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    59:59:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    59:59:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):193 -> a
    59:59:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    59:59:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    60:60:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    60:60:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    60:60:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):193 -> a
    60:60:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    60:60:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    61:81:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):194:214 -> a
    61:81:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    61:81:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    82:82:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    82:82:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):215 -> a
    82:82:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    82:82:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    83:86:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):217:220 -> a
    83:86:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    83:86:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    87:87:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96}}
    94:94:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):220:220 -> a
    94:94:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    94:94:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    95:95:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):220:220 -> a
    95:95:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    95:95:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    96:96:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):220:220 -> a
    96:96:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    96:96:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    88:88:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):222:222 -> a
    88:88:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    88:88:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    89:89:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):170:170 -> a
    89:89:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    90:93:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):235:238 -> a
    97:111:void lambda$getMissingClassesToBeReported$5(java.util.function.Predicate,com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):241:255 -> a
    112:113:boolean lambda$getMissingClassesToBeReported$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDerivedContext):250:251 -> a
    114:116:boolean lambda$getIsAllowedMissingClassesPredicate$6(java.util.Set,java.util.function.Predicate,com.android.tools.r8.errors.dontwarn.DontWarnConfiguration,com.android.tools.r8.graph.DexType):267:269 -> a
    117:118:boolean lambda$getIsCompilerSynthesizedAllowedMissingClassesPredicate$7(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):292:293 -> a
    119:119:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    119:119:boolean lambda$getIsCompilerSynthesizedAllowedMissingClassesPredicate$7(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):293 -> a
    1:1:void ignoreNewMissingClass(com.android.tools.r8.graph.DexType):110:110 -> b
    2:5:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):135:138 -> b
    6:6:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> b
    6:6:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):139 -> b
    7:7:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):139:139 -> b
    8:8:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> b
    8:8:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):141 -> b
    9:9:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):141:141 -> b
    10:12:com.android.tools.r8.shaking.MissingClasses com.android.tools.r8.shaking.MissingClasses$Builder.build():311:313 -> b
    10:12:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):144 -> b
    13:13:com.android.tools.r8.shaking.MissingClasses com.android.tools.r8.shaking.MissingClasses$Builder.build():312:312 -> b
    13:13:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):144 -> b
    14:14:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262:262 -> b
    15:16:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):273:274 -> b
    15:16:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    17:17:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory.getJavaConversionTypes():515:515 -> b
    17:17:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):282 -> b
    17:17:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    18:18:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):282:282 -> b
    18:18:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    19:19:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory.getJ$ConversionTypes():524:524 -> b
    19:19:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):283 -> b
    19:19:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    20:21:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):283:284 -> b
    20:21:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    22:24:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):264:266 -> b
    1:1:java.util.Set lambda$addNewMissingClass$0(com.android.tools.r8.graph.DexType):80:80 -> c
    2:4:java.util.function.Predicate getIsCompilerSynthesizedAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):289:291 -> c
    1:1:boolean wasAlreadyMissing(com.android.tools.r8.graph.DexType):317:317 -> d
com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule -> com.android.tools.r8.shaking.U0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$1):11:11 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$Builder -> com.android.tools.r8.shaking.T0:
    1:1:void <init>(com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$1):15:15 -> <init>
    2:2:void <init>():19:19 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoHorizontalClassMergingRule -> com.android.tools.r8.shaking.W0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.NoHorizontalClassMergingRule$1):11:11 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder -> com.android.tools.r8.shaking.V0:
    1:1:void <init>(com.android.tools.r8.shaking.NoHorizontalClassMergingRule$1):15:15 -> <init>
    2:2:void <init>():19:19 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoMethodStaticizingRule -> com.android.tools.r8.shaking.Y0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.NoMethodStaticizingRule$Builder -> com.android.tools.r8.shaking.X0:
    1:1:void <init>():19:19 -> <init>
    1:11:com.android.tools.r8.shaking.NoMethodStaticizingRule build():29:39 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():15 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoOptimizationBaseRule -> com.android.tools.r8.shaking.a1:
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):36:36 -> <init>
com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder -> com.android.tools.r8.shaking.Z0:
    1:1:void <init>():18:18 -> <init>
com.android.tools.r8.shaking.NoParameterReorderingRule -> com.android.tools.r8.shaking.c1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.NoParameterReorderingRule$Builder -> com.android.tools.r8.shaking.b1:
    1:1:void <init>():19:19 -> <init>
    1:11:com.android.tools.r8.shaking.NoParameterReorderingRule build():29:39 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():15 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule -> com.android.tools.r8.shaking.e1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):61:61 -> <init>
    1:1:java.lang.String typeString():83:83 -> C
com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule$Builder -> com.android.tools.r8.shaking.d1:
    1:1:void <init>():20:20 -> <init>
    1:11:com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule build():30:40 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():16 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule -> com.android.tools.r8.shaking.g1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):61:61 -> <init>
    1:1:java.lang.String typeString():83:83 -> C
com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule$Builder -> com.android.tools.r8.shaking.f1:
    1:1:void <init>():20:20 -> <init>
    1:11:com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule build():30:40 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():16 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule -> com.android.tools.r8.shaking.i1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):59:59 -> <init>
    1:1:java.lang.String typeString():81:81 -> C
com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$Builder -> com.android.tools.r8.shaking.h1:
    1:1:void <init>(com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoVerticalClassMergingRule -> com.android.tools.r8.shaking.k1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.NoVerticalClassMergingRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):59:59 -> <init>
    1:1:java.lang.String typeString():81:81 -> C
com.android.tools.r8.shaking.NoVerticalClassMergingRule$Builder -> com.android.tools.r8.shaking.j1:
    1:1:void <init>(com.android.tools.r8.shaking.NoVerticalClassMergingRule$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardAccessFlags -> com.android.tools.r8.internal.SM:
    java.util.List NAMES -> c
    int PPP_MASK -> b
    int flags -> a
    1:1:void <clinit>():15:15 -> <clinit>
    2:2:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardAccessFlags.setPublic():81:81 -> <clinit>
    2:2:void <clinit>():16 -> <clinit>
    3:3:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardAccessFlags.setProtected():99:99 -> <clinit>
    3:3:void <clinit>():16 -> <clinit>
    4:4:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardAccessFlags.setPrivate():90:90 -> <clinit>
    4:4:void <clinit>():16 -> <clinit>
    5:10:void <clinit>():16:21 -> <clinit>
    1:6:void <init>():13:18 -> <init>
    1:1:void setVolatile():142:142 -> A
    1:1:java.util.List getPredicates():39:39 -> a
    2:2:boolean containsAll(com.android.tools.r8.graph.AccessFlags):69:69 -> a
    3:3:boolean com.android.tools.r8.shaking.ProguardAccessFlags.containsAll(int):57:57 -> a
    3:3:boolean containsAll(com.android.tools.r8.graph.AccessFlags):69 -> a
    4:4:boolean isSet(int):198:198 -> a
    1:1:boolean containsNone(com.android.tools.r8.graph.AccessFlags):73:73 -> b
    2:2:boolean com.android.tools.r8.shaking.ProguardAccessFlags.containsNone(int):65:65 -> b
    2:2:boolean containsNone(com.android.tools.r8.graph.AccessFlags):73 -> b
    3:3:boolean isAbstract():138:138 -> b
    4:4:void set(int):202:202 -> b
    1:1:boolean isBridge():194:194 -> c
    1:1:boolean isFinal():130:130 -> d
    1:1:boolean isNative():170:170 -> e
    1:4:boolean equals(java.lang.Object):225:228 -> equals
    1:1:boolean isPrivate():95:95 -> f
    1:1:boolean isProtected():104:104 -> g
    1:1:boolean isPublic():86:86 -> h
    1:1:int hashCode():233:233 -> hashCode
    1:1:boolean isStatic():122:122 -> i
    1:1:boolean isStrict():178:178 -> j
    1:1:boolean isSynchronized():162:162 -> k
    1:1:boolean isSynthetic():186:186 -> l
    1:1:boolean isTransient():154:154 -> m
    1:1:boolean isVolatile():146:146 -> n
    1:1:void setAbstract():134:134 -> o
    1:1:void setBridge():190:190 -> p
    1:1:void setFinal():126:126 -> q
    1:1:void setNative():166:166 -> r
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags setPrivate():90:90 -> s
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags setProtected():99:99 -> t
    1:14:java.lang.String toString():207:220 -> toString
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags setPublic():81:81 -> u
    1:1:void setStatic():118:118 -> v
    1:1:void setStrict():174:174 -> w
    1:1:void setSynchronized():158:158 -> x
    1:1:void setSynthetic():182:182 -> y
    1:1:void setTransient():150:150 -> z
com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule -> com.android.tools.r8.shaking.m1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():85:85 -> C
com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$Builder -> com.android.tools.r8.shaking.l1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule -> com.android.tools.r8.shaking.o1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():87:87 -> C
    boolean applyToNonProgramClasses() -> p
com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder -> com.android.tools.r8.shaking.n1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardAssumeValuesRule -> com.android.tools.r8.shaking.q1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardAssumeValuesRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.ProguardAssumeValuesRule$Builder -> com.android.tools.r8.shaking.p1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardAssumeValuesRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardCheckDiscardRule -> com.android.tools.r8.shaking.s1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardCheckDiscardRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():89:89 -> C
    com.android.tools.r8.shaking.ProguardCheckDiscardRule asProguardCheckDiscardRule() -> r
com.android.tools.r8.shaking.ProguardCheckDiscardRule$Builder -> com.android.tools.r8.shaking.r1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardCheckDiscardRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardClassFilter -> com.android.tools.r8.shaking.t1:
    com.android.tools.r8.com.google.common.collect.ImmutableList patterns -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.shaking.ProguardClassFilter$1):11:11 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):36:37 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardClassFilter$Builder builder():17:17 -> a
    2:3:boolean matches(com.android.tools.r8.graph.DexType):53:54 -> a
    1:1:java.util.List getPatterns():45:45 -> b
    1:1:boolean isEmpty():49:49 -> c
com.android.tools.r8.shaking.ProguardClassFilter$Builder -> com.android.tools.r8.shaking.t1$a:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder patterns -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardClassFilter$1):20:20 -> <init>
    2:2:void <init>():23:23 -> <init>
    3:3:void <init>():21:21 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardClassFilter$Builder addPattern(com.android.tools.r8.shaking.ProguardClassNameList):27:27 -> a
    2:2:com.android.tools.r8.shaking.ProguardClassFilter build():32:32 -> a
com.android.tools.r8.shaking.ProguardClassNameList -> com.android.tools.r8.shaking.u1:
    1:1:void <init>():24:24 -> <init>
    java.util.List asSpecificDexTypes() -> a
    boolean matches(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.shaking.ProguardClassNameList materialize(com.android.tools.r8.graph.DexItemFactory) -> a
    void writeTo(java.lang.StringBuilder) -> a
    1:1:com.android.tools.r8.shaking.ProguardClassNameList singletonList(com.android.tools.r8.shaking.ProguardTypeMatcher):35:35 -> a
    2:2:java.lang.Iterable getWildcardsOrEmpty(com.android.tools.r8.shaking.ProguardClassNameList):98:98 -> a
    1:1:com.android.tools.r8.shaking.ProguardClassNameList$Builder builder():27:27 -> b
    1:1:java.lang.Iterable getWildcards():90:90 -> c
    1:1:boolean hasWildcards():94:94 -> d
    int size() -> e
    1:3:java.lang.String toString():74:76 -> toString
com.android.tools.r8.shaking.ProguardClassNameList$Builder -> com.android.tools.r8.shaking.u1$a:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap matchers -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardClassNameList$1):40:40 -> <init>
    2:2:void <init>():47:47 -> <init>
    3:3:void <init>():45:45 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardClassNameList$Builder addClassName(boolean,com.android.tools.r8.shaking.ProguardTypeMatcher):51:51 -> a
    2:9:com.android.tools.r8.shaking.ProguardClassNameList build():56:63 -> a
com.android.tools.r8.shaking.ProguardClassNameList$MixedClassNameList -> com.android.tools.r8.shaking.v1:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap classNames -> a
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,com.android.tools.r8.shaking.ProguardClassNameList$1):334:334 -> <init>
    2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):338:339 -> <init>
    java.util.List asSpecificDexTypes() -> a
    1:8:void writeTo(java.lang.StringBuilder):350:357 -> a
    9:14:boolean matches(com.android.tools.r8.graph.DexType):387:392 -> a
    15:15:java.util.stream.Stream lambda$getWildcards$0(java.lang.Iterable):401:401 -> a
    16:19:com.android.tools.r8.shaking.ProguardClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):407:410 -> a
    20:20:void lambda$materialize$1(com.android.tools.r8.shaking.ProguardClassNameList$Builder,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardTypeMatcher,java.lang.Boolean):409:409 -> a
    1:3:java.lang.Iterable getWildcards():399:401 -> c
    1:1:int size():344:344 -> e
    1:5:boolean equals(java.lang.Object):367:371 -> equals
    1:1:int hashCode():376:376 -> hashCode
com.android.tools.r8.shaking.ProguardClassNameList$PositiveClassNameList -> com.android.tools.r8.shaking.w1:
    com.android.tools.r8.com.google.common.collect.ImmutableList classNames -> a
    1:1:void <init>(java.util.Collection,com.android.tools.r8.shaking.ProguardClassNameList$1):245:245 -> <init>
    2:3:void <init>(java.util.Collection):249:250 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):245:245 -> a
    2:6:void writeTo(java.lang.StringBuilder):261:265 -> a
    7:9:java.util.List asSpecificDexTypes():289:291 -> a
    10:10:boolean lambda$matches$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardTypeMatcher):298:298 -> a
    11:11:boolean matches(com.android.tools.r8.graph.DexType):298:298 -> a
    12:12:java.util.stream.Stream lambda$getWildcards$2(java.lang.Iterable):305:305 -> a
    13:13:com.android.tools.r8.shaking.ProguardTypeMatcher lambda$materialize$3(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardTypeMatcher):313:313 -> a
    1:1:boolean lambda$asSpecificDexTypes$0(com.android.tools.r8.shaking.ProguardTypeMatcher):289:289 -> b
    2:5:com.android.tools.r8.shaking.ProguardClassNameList$PositiveClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):311:314 -> b
    1:3:java.lang.Iterable getWildcards():303:305 -> c
    1:1:int size():255:255 -> e
    1:5:boolean equals(java.lang.Object):275:279 -> equals
    1:1:int hashCode():284:284 -> hashCode
com.android.tools.r8.shaking.ProguardClassNameList$SingleClassNameList -> com.android.tools.r8.shaking.u1$b:
    com.android.tools.r8.shaking.ProguardTypeMatcher className -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardClassNameList$1):177:177 -> <init>
    2:3:void <init>(com.android.tools.r8.shaking.ProguardTypeMatcher):181:182 -> <init>
    1:1:void writeTo(java.lang.StringBuilder):192:192 -> a
    2:3:java.util.List asSpecificDexTypes():214:215 -> a
    4:4:boolean matches(com.android.tools.r8.graph.DexType):220:220 -> a
    5:5:com.android.tools.r8.shaking.ProguardClassNameList$SingleClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):230:230 -> a
    5:5:com.android.tools.r8.shaking.ProguardClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):177 -> a
    1:1:java.lang.Iterable getWildcards():225:225 -> c
    int size() -> e
    1:5:boolean equals(java.lang.Object):200:204 -> equals
    1:1:int hashCode():209:209 -> hashCode
com.android.tools.r8.shaking.ProguardClassSpecification -> com.android.tools.r8.shaking.x1:
    com.android.tools.r8.shaking.ProguardTypeMatcher inheritanceClassName -> k
    boolean $assertionsDisabled -> n
    com.android.tools.r8.shaking.ProguardClassType classType -> h
    boolean inheritanceIsExtends -> l
    com.android.tools.r8.shaking.ProguardAccessFlags classAccessFlags -> e
    com.android.tools.r8.shaking.ProguardClassNameList classNames -> i
    com.android.tools.r8.shaking.ProguardAccessFlags negatedClassAccessFlags -> f
    com.android.tools.r8.origin.Origin origin -> a
    java.util.List classAnnotations -> d
    com.android.tools.r8.position.Position position -> b
    java.util.List inheritanceAnnotations -> j
    boolean classTypeNegated -> g
    java.lang.String source -> c
    java.util.List memberRules -> m
    1:1:void <clinit>():17:17 -> <clinit>
    1:18:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):216:233 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getClassAccessFlags():285:285 -> a
    2:2:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):350:350 -> a
    3:9:void appendAnnotations(java.util.List,java.lang.StringBuilder):383:389 -> a
    3:9:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):350 -> a
    10:13:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):351:354 -> a
    14:27:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):353:366 -> a
    28:34:void appendAnnotations(java.util.List,java.lang.StringBuilder):383:389 -> a
    28:34:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):366 -> a
    35:44:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):367:376 -> a
    45:47:void lambda$append$0(java.lang.StringBuilder,com.android.tools.r8.shaking.ProguardMemberRule):372:374 -> a
    1:1:java.util.List getClassAnnotations():293:293 -> b
    1:1:com.android.tools.r8.shaking.ProguardClassNameList getClassNames():273:273 -> c
    1:1:com.android.tools.r8.shaking.ProguardClassType getClassType():277:277 -> d
    1:1:boolean getClassTypeNegated():281:281 -> e
    1:33:boolean equals(java.lang.Object):298:330 -> equals
    1:1:java.util.List getInheritanceAnnotations():269:269 -> f
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher getInheritanceClassName():265:265 -> g
    1:1:boolean getInheritanceIsExtends():253:253 -> h
    1:10:int hashCode():336:345 -> hashCode
    1:1:boolean getInheritanceIsImplements():257:257 -> i
    1:1:java.util.List getMemberRules():249:249 -> j
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getNegatedClassAccessFlags():289:289 -> k
    1:1:com.android.tools.r8.origin.Origin getOrigin():237:237 -> l
    1:1:com.android.tools.r8.position.Position getPosition():241:241 -> m
    1:1:java.lang.String getSource():245:245 -> n
    1:1:boolean hasInheritanceClassName():261:261 -> o
    1:1:java.lang.String toString():402:402 -> toString
com.android.tools.r8.shaking.ProguardClassSpecification$Builder -> com.android.tools.r8.shaking.x1$a:
    com.android.tools.r8.shaking.ProguardClassType classType -> i
    boolean inheritanceIsExtends -> m
    com.android.tools.r8.shaking.ProguardTypeMatcher inheritanceClassName -> l
    boolean $assertionsDisabled -> o
    com.android.tools.r8.shaking.ProguardClassNameList classNames -> j
    com.android.tools.r8.shaking.ProguardAccessFlags negatedClassAccessFlags -> g
    com.android.tools.r8.shaking.ProguardAccessFlags classAccessFlags -> f
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder inheritanceAnnotations -> k
    com.android.tools.r8.position.Position end -> c
    com.android.tools.r8.position.Position start -> b
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder classAnnotations -> e
    boolean classTypeNegated -> h
    java.util.List memberRules -> n
    java.lang.String source -> d
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():40:40 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):43:43 -> <init>
    3:21:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):27:45 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification build() -> a
    1:2:com.android.tools.r8.shaking.ProguardClassSpecification$Builder setSource(java.lang.String):68:69 -> a
    3:4:com.android.tools.r8.shaking.ProguardClassSpecification$Builder setClassNames(com.android.tools.r8.shaking.ProguardClassNameList):128:129 -> a
    5:6:com.android.tools.r8.shaking.ProguardClassSpecification$Builder addClassAnnotation(com.android.tools.r8.shaking.ProguardTypeMatcher):169:170 -> a
    7:9:com.android.tools.r8.shaking.ProguardClassSpecification$Builder addClassAnnotations(java.util.List):174:176 -> a
    1:3:com.android.tools.r8.shaking.ProguardClassSpecification$Builder addInheritanceAnnotations(java.util.List):114:116 -> b
    4:4:java.util.List buildClassAnnotations():180:180 -> b
    1:2:com.android.tools.r8.shaking.ProguardClassSpecification$Builder setMemberRules(java.util.List):87:88 -> c
    3:3:java.util.List buildInheritanceAnnotations():120:120 -> c
    1:7:com.android.tools.r8.position.Position getPosition():73:79 -> d
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardClassType -> com.android.tools.r8.internal.ZM:
    com.android.tools.r8.shaking.ProguardClassType ANNOTATION_INTERFACE -> b
    com.android.tools.r8.shaking.ProguardClassType INTERFACE -> e
    com.android.tools.r8.shaking.ProguardClassType UNSPECIFIED -> f
    com.android.tools.r8.shaking.ProguardClassType CLASS -> c
    com.android.tools.r8.shaking.ProguardClassType[] $VALUES -> g
    com.android.tools.r8.shaking.ProguardClassType ENUM -> d
    1:25:void <clinit>():10:34 -> <clinit>
    26:26:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(java.lang.String,int):9:9 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.shaking.ProguardClassType$1):9:9 -> <init>
    boolean matches(com.android.tools.r8.graph.DexClass) -> a
    1:1:com.android.tools.r8.shaking.ProguardClassType[] values():9:9 -> a
    1:9:java.lang.String toString():43:51 -> toString
    10:10:java.lang.String toString():49:49 -> toString
    11:11:java.lang.String toString():47:47 -> toString
    12:12:java.lang.String toString():46:46 -> toString
    13:13:java.lang.String toString():45:45 -> toString
    14:14:java.lang.String toString():44:44 -> toString
com.android.tools.r8.shaking.ProguardClassType$1 -> com.android.tools.r8.internal.TM:
    1:1:void <init>(java.lang.String,int):10:10 -> <init>
    1:1:boolean matches(com.android.tools.r8.graph.DexClass):13:13 -> a
com.android.tools.r8.shaking.ProguardClassType$2 -> com.android.tools.r8.internal.UM:
    1:1:void <init>(java.lang.String,int):16:16 -> <init>
    boolean matches(com.android.tools.r8.graph.DexClass) -> a
com.android.tools.r8.shaking.ProguardClassType$3 -> com.android.tools.r8.internal.VM:
    1:1:void <init>(java.lang.String,int):22:22 -> <init>
    1:1:boolean matches(com.android.tools.r8.graph.DexClass):25:25 -> a
com.android.tools.r8.shaking.ProguardClassType$4 -> com.android.tools.r8.internal.WM:
    1:1:void <init>(java.lang.String,int):28:28 -> <init>
    1:1:boolean matches(com.android.tools.r8.graph.DexClass):31:31 -> a
com.android.tools.r8.shaking.ProguardClassType$5 -> com.android.tools.r8.internal.XM:
    1:1:void <init>(java.lang.String,int):34:34 -> <init>
    boolean matches(com.android.tools.r8.graph.DexClass) -> a
com.android.tools.r8.shaking.ProguardClassType$6 -> com.android.tools.r8.internal.YM:
    int[] $SwitchMap$com$android$tools$r8$shaking$ProguardClassType -> a
    1:1:void <clinit>():43:43 -> <clinit>
com.android.tools.r8.shaking.ProguardCompatibilityActions -> com.android.tools.r8.internal.bN:
    java.util.Set compatInstantiatedTypes -> a
    1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.ProguardCompatibilityActions$1):14:14 -> <init>
    2:3:void <init>(java.util.Set):18:19 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder builder():23:23 -> a
    2:2:com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder com.android.tools.r8.shaking.ProguardCompatibilityActions.builder():23:23 -> a
    2:2:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):41 -> a
    3:3:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):42:42 -> a
    4:4:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":50,"2":51,"3":52}}
    50:50:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):43:43 -> a
    51:51:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    51:51:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):43 -> a
    52:52:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    52:52:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):43 -> a
    47:49:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):43:45 -> a
    53:53:com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder com.android.tools.r8.shaking.ProguardCompatibilityActions.builder():23:23 -> a
    53:53:com.android.tools.r8.shaking.ProguardCompatibilityActions withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):31 -> a
    54:59:com.android.tools.r8.shaking.ProguardCompatibilityActions withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):32:37 -> a
    60:60:boolean isCompatInstantiated(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder -> com.android.tools.r8.internal.aN:
    java.util.Set compatInstantiatedTypes -> a
    1:3:void <init>():48:50 -> <init>
    1:1:void addCompatInstantiatedType(com.android.tools.r8.graph.DexProgramClass):53:53 -> a
    2:2:void com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder.addCompatInstantiatedType(com.android.tools.r8.graph.DexType):57:57 -> a
    2:2:void addCompatInstantiatedType(com.android.tools.r8.graph.DexProgramClass):53 -> a
    3:3:void com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder.addCompatInstantiatedType(com.android.tools.r8.graph.DexType):57:57 -> a
    3:3:void access$000(com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder,com.android.tools.r8.graph.DexType):48 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder.addCompatInstantiatedType(com.android.tools.r8.graph.DexType):57:57 -> a
    4:4:void access$000(com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder,com.android.tools.r8.graph.DexType):48 -> a
    5:5:com.android.tools.r8.shaking.ProguardCompatibilityActions build():61:61 -> a
com.android.tools.r8.shaking.ProguardConfiguration -> com.android.tools.r8.shaking.y1:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.lang.String packagePrefix -> f
    boolean optimizing -> i
    com.android.tools.r8.shaking.ProguardClassFilter dontNotePatterns -> x
    boolean shrinking -> k
    boolean dontUseMixedCaseClassnames -> L
    java.nio.file.Path printConfigurationFile -> m
    com.android.tools.r8.shaking.ProguardPathFilter keepDirectories -> J
    java.nio.file.Path printMappingFile -> q
    java.nio.file.Path printUsageFile -> o
    boolean verbose -> s
    com.android.tools.r8.com.google.common.collect.ImmutableList classObfuscationDictionary -> D
    com.android.tools.r8.com.google.common.collect.ImmutableList injars -> c
    java.lang.String renameSourceFileAttribute -> t
    java.nio.file.Path applyMappingFile -> r
    com.android.tools.r8.shaking.ProguardClassFilter adaptClassStrings -> G
    com.android.tools.r8.shaking.ProguardPathFilter adaptResourceFileContents -> I
    java.lang.String parsedConfiguration -> a
    boolean ignoreWarnings -> h
    com.android.tools.r8.shaking.ProguardPackageNameList keepPackageNamesPatterns -> v
    boolean protoShrinking -> M
    int maxRemovedAndroidLogLevel -> N
    boolean printUsage -> n
    com.android.tools.r8.shaking.ProguardKeepAttributes keepAttributes -> u
    boolean $assertionsDisabled -> O
    boolean printMapping -> p
    boolean obfuscating -> j
    com.android.tools.r8.shaking.ProguardClassFilter dontWarnPatterns -> w
    com.android.tools.r8.com.google.common.collect.ImmutableList rules -> y
    boolean configurationDebugging -> K
    boolean printConfiguration -> l
    com.android.tools.r8.com.google.common.collect.ImmutableList packageObfuscationDictionary -> E
    com.android.tools.r8.com.google.common.collect.ImmutableList libraryjars -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList obfuscationDictionary -> C
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode packageObfuscationMode -> e
    boolean printSeeds -> z
    com.android.tools.r8.shaking.ProguardPathFilter adaptResourceFilenames -> H
    boolean keepParameterNames -> F
    boolean allowAccessModification -> g
    java.nio.file.Path seedFile -> A
    boolean overloadAggressively -> B
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.util.List,java.util.List,com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode,java.lang.String,boolean,boolean,boolean,boolean,boolean,boolean,java.nio.file.Path,boolean,java.nio.file.Path,boolean,java.nio.file.Path,java.nio.file.Path,boolean,java.lang.String,com.android.tools.r8.shaking.ProguardKeepAttributes,com.android.tools.r8.shaking.ProguardPackageNameList,com.android.tools.r8.shaking.ProguardClassFilter,com.android.tools.r8.shaking.ProguardClassFilter,java.util.Set,boolean,java.nio.file.Path,boolean,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,boolean,com.android.tools.r8.shaking.ProguardClassFilter,com.android.tools.r8.shaking.ProguardPathFilter,com.android.tools.r8.shaking.ProguardPathFilter,com.android.tools.r8.shaking.ProguardPathFilter,boolean,boolean,boolean,int,com.android.tools.r8.shaking.ProguardConfiguration$1):20:20 -> <init>
    2:42:void <init>(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.util.List,java.util.List,com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode,java.lang.String,boolean,boolean,boolean,boolean,boolean,boolean,java.nio.file.Path,boolean,java.nio.file.Path,boolean,java.nio.file.Path,java.nio.file.Path,boolean,java.lang.String,com.android.tools.r8.shaking.ProguardKeepAttributes,com.android.tools.r8.shaking.ProguardPackageNameList,com.android.tools.r8.shaking.ProguardClassFilter,com.android.tools.r8.shaking.ProguardClassFilter,java.util.Set,boolean,java.nio.file.Path,boolean,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,boolean,com.android.tools.r8.shaking.ProguardClassFilter,com.android.tools.r8.shaking.ProguardPathFilter,com.android.tools.r8.shaking.ProguardPathFilter,com.android.tools.r8.shaking.ProguardPathFilter,boolean,boolean,boolean,int):449:489 -> <init>
    1:1:boolean hasDontWarnPatterns():593:593 -> A
    1:1:boolean isAccessModificationAllowed():525:525 -> B
    1:1:boolean isConfigurationDebugging():654:654 -> C
    1:1:boolean isIgnoreWarnings():545:545 -> D
    1:1:boolean isKeepParameterNames():626:626 -> E
    1:1:boolean isObfuscating():553:553 -> F
    1:1:boolean isOptimizing():549:549 -> G
    1:1:boolean isOverloadAggressively():610:610 -> H
    1:1:boolean isPrintConfiguration():561:561 -> I
    1:1:boolean isPrintMapping():529:529 -> J
    1:1:boolean isPrintSeeds():646:646 -> K
    1:1:boolean isPrintUsage():569:569 -> L
    1:1:boolean isProtoShrinkingEnabled():662:662 -> M
    1:1:boolean isShrinking():557:557 -> N
    1:1:boolean isVerbose():577:577 -> O
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder builder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):497:497 -> a
    2:2:com.android.tools.r8.shaking.ProguardClassFilter getDontWarnPatterns(com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$Witness):598:598 -> a
    3:3:com.android.tools.r8.shaking.ProguardClassFilter getAdaptClassStrings():630:630 -> a
    1:1:com.android.tools.r8.shaking.ProguardPathFilter getAdaptResourceFileContents():638:638 -> b
    1:1:com.android.tools.r8.shaking.ProguardPathFilter getAdaptResourceFilenames():634:634 -> c
    1:1:java.nio.file.Path getApplyMappingFile():541:541 -> d
    1:1:java.util.List getClassObfuscationDictionary():618:618 -> e
    1:1:com.android.tools.r8.graph.DexItemFactory getDexItemFactory():505:505 -> f
    1:1:com.android.tools.r8.shaking.ProguardClassFilter getDontNotePatterns():602:602 -> g
    1:1:java.util.List getInjars():509:509 -> h
    1:1:com.android.tools.r8.shaking.ProguardKeepAttributes getKeepAttributes():585:585 -> i
    1:1:com.android.tools.r8.shaking.ProguardPathFilter getKeepDirectories():642:642 -> j
    1:1:com.android.tools.r8.shaking.ProguardPackageNameList getKeepPackageNamesPatterns():589:589 -> k
    1:1:java.util.List getLibraryjars():513:513 -> l
    1:1:int getMaxRemovedAndroidLogLevel():666:666 -> m
    1:1:java.util.List getObfuscationDictionary():614:614 -> n
    1:1:java.util.List getPackageObfuscationDictionary():622:622 -> o
    1:1:com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode getPackageObfuscationMode():517:517 -> p
    1:1:java.lang.String getPackagePrefix():521:521 -> q
    1:1:java.lang.String getParsedConfiguration():501:501 -> r
    1:1:java.nio.file.Path getPrintConfigurationFile():565:565 -> s
    1:1:java.nio.file.Path getPrintMappingFile():533:533 -> t
    1:2:java.lang.String toString():671:672 -> toString
    3:3:boolean com.android.tools.r8.shaking.ProguardKeepAttributes.isEmpty():216:216 -> toString
    3:3:java.lang.String toString():672 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.shaking.ProguardKeepAttributes.isEmpty():216:216 -> toString
    4:4:java.lang.String toString():672 -> toString
    5:12:java.lang.String toString():673:680 -> toString
    1:1:java.nio.file.Path getPrintUsageFile():573:573 -> u
    1:1:java.lang.String getRenameSourceFileAttribute():581:581 -> v
    1:1:java.util.List getRules():606:606 -> w
    1:1:java.nio.file.Path getSeedFile():650:650 -> x
    1:1:boolean hasApplyMappingFile():537:537 -> y
    1:1:boolean hasDontUseMixedCaseClassnames():658:658 -> z
com.android.tools.r8.shaking.ProguardConfiguration$Builder -> com.android.tools.r8.shaking.y1$a:
    java.lang.String packagePrefix -> f
    java.nio.file.Path classObfuscationDictionary -> D
    boolean overloadAggressively -> N
    java.util.Set rules -> y
    java.nio.file.Path seedFile -> B
    boolean dontUseMixedCaseClassnames -> P
    boolean optimizing -> i
    boolean shrinking -> k
    com.android.tools.r8.shaking.ProguardClassFilter$Builder dontWarnPatterns -> w
    java.nio.file.Path printConfigurationFile -> m
    com.android.tools.r8.origin.Origin keepParameterNamesOptionOrigin -> G
    com.android.tools.r8.position.Position keepParameterNamesOptionPosition -> H
    java.nio.file.Path printMappingFile -> q
    java.nio.file.Path printUsageFile -> o
    boolean verbose -> s
    java.lang.String renameSourceFileAttribute -> t
    java.util.List injars -> b
    com.android.tools.r8.shaking.ProguardPathFilter$Builder adaptResourceFilenames -> J
    com.android.tools.r8.shaking.ProguardPathFilter$Builder keepDirectories -> L
    java.nio.file.Path applyMappingFile -> r
    boolean ignoreWarnings -> h
    boolean printSeeds -> A
    int maxRemovedAndroidLogLevel -> R
    com.android.tools.r8.shaking.ProguardClassFilter$Builder dontNotePatterns -> x
    java.nio.file.Path packageObfuscationDictionary -> E
    boolean forceProguardCompatibility -> M
    boolean printUsage -> n
    java.nio.file.Path obfuscationDictionary -> C
    boolean configurationDebugging -> O
    boolean printMapping -> p
    boolean obfuscating -> j
    java.util.List keepAttributePatterns -> u
    boolean printConfiguration -> l
    com.android.tools.r8.utils.Reporter reporter -> d
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> z
    boolean protoShrinking -> Q
    boolean $assertionsDisabled -> S
    com.android.tools.r8.shaking.ProguardPackageNameList$Builder keepPackageNamesPatterns -> v
    java.util.List parsedConfiguration -> a
    com.android.tools.r8.shaking.ProguardClassFilter$Builder adaptClassStrings -> I
    com.android.tools.r8.shaking.ProguardPathFilter$Builder adaptResourceFileContents -> K
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode packageObfuscationMode -> e
    java.util.List libraryjars -> c
    boolean keepParameterNames -> F
    boolean allowAccessModification -> g
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.shaking.ProguardConfiguration$1):22:22 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):75:75 -> <init>
    3:56:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):24:77 -> <init>
    1:1:void addParsedConfiguration(java.lang.String):81:81 -> a
    2:2:void addInjars(java.util.List):85:85 -> a
    3:3:void setApplyMappingFile(java.nio.file.Path):172:172 -> a
    4:4:com.android.tools.r8.shaking.ProguardConfiguration$Builder addKeepAttributePatterns(java.util.List):188:188 -> a
    5:5:void addRule(com.android.tools.r8.shaking.ProguardConfigurationRule):193:193 -> a
    6:6:void addKeepPackageNamesPattern(boolean,com.android.tools.r8.shaking.ProguardPackageMatcher):197:197 -> a
    7:10:void setKeepParameterNames(boolean,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):234:237 -> a
    11:11:void addAdaptClassStringsPattern(com.android.tools.r8.shaking.ProguardClassNameList):253:253 -> a
    12:12:void addAdaptResourceFileContents(com.android.tools.r8.shaking.ProguardPathList):262:262 -> a
    13:13:void setForceProguardCompatibility(boolean):274:274 -> a
    14:14:void setMaxRemovedAndroidLogLevel(int):302:302 -> a
    15:15:com.android.tools.r8.shaking.ProguardConfiguration build():355:355 -> a
    16:16:boolean isObfuscating():129:129 -> a
    16:16:com.android.tools.r8.shaking.ProguardConfiguration build():355 -> a
    17:24:com.android.tools.r8.shaking.ProguardConfiguration build():357:364 -> a
    1:1:void addLibraryJars(java.util.List):89:89 -> b
    2:3:void setFlattenPackagePrefix(java.lang.String):102:103 -> b
    4:4:void setIgnoreWarnings(boolean):111:111 -> b
    5:5:void addDontNotePattern(com.android.tools.r8.shaking.ProguardClassNameList):205:205 -> b
    6:6:void setClassObfuscationDictionary(java.nio.file.Path):221:221 -> b
    7:7:com.android.tools.r8.shaking.ProguardConfiguration$Builder addAdaptResourceFilenames(com.android.tools.r8.shaking.ProguardPathList):257:257 -> b
    8:51:com.android.tools.r8.shaking.ProguardConfiguration buildRaw():306:349 -> b
    1:2:void setPackagePrefix(java.lang.String):97:98 -> c
    3:3:com.android.tools.r8.shaking.ProguardConfiguration$Builder disableObfuscation():120:120 -> c
    4:4:void addDontWarnPattern(com.android.tools.r8.shaking.ProguardClassNameList):201:201 -> c
    5:5:void setObfuscationDictionary(java.nio.file.Path):217:217 -> c
    6:6:void addKeepDirectories(com.android.tools.r8.shaking.ProguardPathList):270:270 -> c
    7:7:void setOverloadAggressively(boolean):278:278 -> c
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder disableOptimization():115:115 -> d
    2:2:void setPrintMapping(boolean):163:163 -> d
    3:3:void setRenameSourceFileAttribute(java.lang.String):184:184 -> d
    4:4:void setPackageObfuscationDictionary(java.nio.file.Path):225:225 -> d
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder disableShrinking():141:141 -> e
    2:3:void setPrintConfigurationFile(java.nio.file.Path):150:151 -> e
    4:4:void setPrintSeeds(boolean):213:213 -> e
    1:2:void setPrintMappingFile(java.nio.file.Path):167:168 -> f
    3:3:void enableKeepDirectories():266:266 -> f
    1:1:void setPrintUsageFile(java.nio.file.Path):159:159 -> g
    2:2:void enableProtoShrinking():294:294 -> g
    1:1:void setSeedFile(java.nio.file.Path):209:209 -> h
    2:2:com.android.tools.r8.origin.Origin getKeepParameterNamesOptionOrigin():245:245 -> h
    1:1:com.android.tools.r8.position.Position getKeepParameterNamesOptionPosition():249:249 -> i
    1:1:com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode getPackageObfuscationMode():93:93 -> j
    1:1:boolean hasApplyMappingFile():176:176 -> k
    1:1:boolean isConfigurationDebugging():286:286 -> l
    1:1:boolean isKeepParameterNames():241:241 -> m
    1:1:boolean isObfuscating():129:129 -> n
    1:1:void setAllowAccessModification(boolean):107:107 -> o
    1:1:void setConfigurationDebugging(boolean):282:282 -> p
    1:1:void setDontUseMixedCaseClassnames(boolean):290:290 -> q
    1:1:void setPrintConfiguration(boolean):146:146 -> r
    1:1:void setPrintUsage(boolean):155:155 -> s
    1:1:void setVerbose(boolean):180:180 -> t
com.android.tools.r8.shaking.ProguardConfigurationParser -> com.android.tools.r8.shaking.z1:
    com.android.tools.r8.shaking.ProguardConfiguration$Builder configurationBuilder -> a
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    int $r8$clinit -> o
    com.android.tools.r8.utils.Reporter reporter -> c
    java.util.List IGNORED_OPTIONAL_SINGLE_ARG_OPTIONS -> f
    java.util.List IGNORED_SINGLE_ARG_OPTIONS -> e
    java.util.List WARNED_SINGLE_ARG_OPTIONS -> j
    java.util.List IGNORED_RETURN_VALUE_ATTRIBUTES -> i
    java.util.List IGNORED_CLASS_DESCRIPTOR_OPTIONS -> h
    java.util.List IGNORED_FLAG_OPTIONS -> g
    java.util.List UNSUPPORTED_FLAG_OPTIONS -> n
    java.util.List WARNED_CLASS_DESCRIPTOR_OPTIONS -> m
    java.util.List WARNED_FLAG_OPTIONS -> l
    boolean allowTestOptions -> d
    java.util.List WARNED_OPTIONAL_SINGLE_ARG_OPTIONS -> k
    1:52:void <clinit>():58:109 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):123:123 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):127:132 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder access$000(com.android.tools.r8.shaking.ProguardConfigurationParser):46:46 -> a
    2:2:java.util.List access$1000():46:46 -> a
    3:3:void parse(java.nio.file.Path):182:182 -> a
    4:4:void parse(com.android.tools.r8.shaking.ProguardConfigurationSource):186:186 -> a
    5:12:void parse(java.util.List):190:197 -> a
    13:13:void parse(java.util.List):194:194 -> a
    14:14:void parse(java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":217,"2":218,"3":219}}
    217:217:void parse(java.util.List):194:194 -> a
    218:218:void parse(java.util.List):194:194 -> a
    219:219:void parse(java.util.List):194:194 -> a
    208:210:void parse(java.util.List):194:194 -> a
    216:216:void parse(java.util.List):200:200 -> a
    1:1:com.android.tools.r8.utils.Reporter access$100(com.android.tools.r8.shaking.ProguardConfigurationParser):46:46 -> b
    2:2:java.util.List access$1100():46:46 -> b
    1:1:java.util.List access$1200():46:46 -> c
    2:2:com.android.tools.r8.graph.DexItemFactory access$1300(com.android.tools.r8.shaking.ProguardConfigurationParser):46:46 -> c
    1:1:boolean access$200(com.android.tools.r8.shaking.ProguardConfigurationParser):46:46 -> d
    2:2:java.util.List access$300():46:46 -> d
    1:1:java.util.List access$400():46:46 -> e
    1:1:java.util.List access$500():46:46 -> f
    1:1:java.util.List access$600():46:46 -> g
    1:1:java.util.List access$700():46:46 -> h
    1:1:java.util.List access$800():46:46 -> i
    1:1:java.util.List access$900():46:46 -> j
    1:2:com.android.tools.r8.shaking.ProguardConfiguration getConfig():168:169 -> k
    1:2:com.android.tools.r8.shaking.ProguardConfiguration getConfigRawForTesting():177:178 -> l
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder getConfigurationBuilder():136:136 -> m
    1:7:void validate():140:146 -> n
    8:16:void validate():143:151 -> n
    17:17:void validate():0:0 -> n
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":334,"2":335,"3":336,"4":337,"5":338}}
    334:334:void validate():151:151 -> n
    335:335:void validate():151:151 -> n
    336:336:void validate():151:151 -> n
    337:337:void validate():151:151 -> n
    338:338:void validate():151:151 -> n
    168:173:void validate():151:156 -> n
    174:174:void validate():0:0 -> n
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":334,"2":335,"3":336,"4":337,"5":338}}
    334:334:void validate():156:156 -> n
    335:335:void validate():156:156 -> n
    336:336:void validate():156:156 -> n
    337:337:void validate():156:156 -> n
    338:338:void validate():156:156 -> n
    330:333:void validate():156:159 -> n
com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards -> com.android.tools.r8.shaking.z1$a:
    java.util.List wildcards -> b
    java.lang.String pattern -> a
    1:3:void <init>(java.lang.String,java.util.List):2253:2255 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards withoutWildcards(java.lang.String):2259:2259 -> a
    2:3:boolean hasBackreference():2267:2268 -> a
    1:15:boolean hasUnusualCharacters():2272:2286 -> b
com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation -> com.android.tools.r8.shaking.A1:
    com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards patternWithWildcards -> a
    boolean negated -> b
    1:3:void <init>(java.lang.String,java.util.List,boolean):2297:2299 -> <init>
com.android.tools.r8.shaking.ProguardConfigurationParser$ProguardConfigurationSourceParser -> com.android.tools.r8.shaking.B1:
    boolean $assertionsDisabled -> j
    java.nio.file.Path baseDirectory -> g
    int lineStartPosition -> f
    com.android.tools.r8.shaking.ProguardConfigurationParser this$0 -> i
    java.lang.String name -> a
    int positionAfterInclude -> d
    int line -> e
    com.android.tools.r8.origin.Origin origin -> h
    java.lang.String contents -> b
    int position -> c
    1:1:void <clinit>():209:209 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser,com.android.tools.r8.shaking.ProguardConfigurationSource):219:219 -> <init>
    2:14:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser,com.android.tools.r8.shaking.ProguardConfigurationSource):212:224 -> <init>
    1:1:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):811:811 -> a
    2:2:com.android.tools.r8.shaking.ClassInlineRule$Builder com.android.tools.r8.shaking.ClassInlineRule.builder():91:91 -> a
    2:2:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):811 -> a
    3:3:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):811:811 -> a
    4:4:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    4:4:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):811 -> a
    5:5:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> a
    5:5:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):811 -> a
    6:6:com.android.tools.r8.shaking.ClassInlineRule$Builder com.android.tools.r8.shaking.ClassInlineRule$Builder.setType(com.android.tools.r8.shaking.ClassInlineRule$Type):32:32 -> a
    6:6:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):811 -> a
    7:9:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):812:814 -> a
    10:10:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> a
    10:10:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):815 -> a
    11:21:com.android.tools.r8.shaking.ClassInlineRule com.android.tools.r8.shaking.ClassInlineRule$Builder.build():38:48 -> a
    11:21:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):816 -> a
    22:22:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):865:865 -> a
    23:23:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    23:23:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):865 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):54:54 -> a
    24:24:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):865 -> a
    25:25:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):865:865 -> a
    26:26:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> a
    26:26:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):865 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):59:59 -> a
    27:27:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):865 -> a
    28:30:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):866:868 -> a
    31:32:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:64 -> a
    31:32:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):869 -> a
    33:33:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):870:870 -> a
    34:36:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1105:1107 -> a
    34:36:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1132 -> a
    34:36:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    37:37:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> a
    37:37:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> a
    37:37:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1108 -> a
    37:37:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1132 -> a
    37:37:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    38:39:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2087:2088 -> a
    38:39:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1108 -> a
    38:39:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1132 -> a
    38:39:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    40:48:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1109:1117 -> a
    40:48:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1132 -> a
    40:48:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    49:49:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1116:1116 -> a
    49:49:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1132 -> a
    49:49:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    50:50:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> a
    50:50:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> a
    50:50:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1108 -> a
    50:50:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1132 -> a
    50:50:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    51:53:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1134:1136 -> a
    51:53:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    54:55:boolean parseNegation():1123:1124 -> a
    54:55:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1138 -> a
    54:55:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    56:56:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getNegatedClassAccessFlags():160:160 -> a
    56:56:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1139 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    56:56:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    57:57:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getClassAccessFlags():151:151 -> a
    57:57:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1140 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    57:57:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    58:67:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1141:1150 -> a
    58:67:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1020 -> a
    68:70:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1163:1165 -> a
    68:70:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    71:71:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassTypeNegated(boolean):146:146 -> a
    71:71:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    72:72:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassTypeNegated(boolean):147:147 -> a
    72:72:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1166 -> a
    72:72:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    73:76:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1168:1171 -> a
    73:76:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    77:77:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    77:77:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1171 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:77:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    78:78:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):138:138 -> a
    78:78:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1171 -> a
    78:78:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    79:79:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1173:1173 -> a
    79:79:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    80:81:com.android.tools.r8.utils.StringDiagnostic parseClassTypeUnexpected(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.TextPosition):1158:1159 -> a
    80:81:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1173 -> a
    80:81:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    82:85:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1173:1176 -> a
    82:85:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    86:86:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    86:86:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1176 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    87:87:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):138:138 -> a
    87:87:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1176 -> a
    87:87:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    88:89:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1177:1178 -> a
    88:89:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    90:90:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    90:90:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1178 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    90:90:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    91:91:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):138:138 -> a
    91:91:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1178 -> a
    91:91:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    92:93:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1179:1180 -> a
    92:93:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    94:94:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    94:94:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1180 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    94:94:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    95:95:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):138:138 -> a
    95:95:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1180 -> a
    95:95:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    96:96:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2073:2073 -> a
    96:96:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1022 -> a
    97:97:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> a
    97:97:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2065 -> a
    97:97:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> a
    97:97:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1022 -> a
    98:101:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2066:2066 -> a
    98:101:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> a
    98:101:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1022 -> a
    104:104:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2069:2069 -> a
    104:104:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> a
    104:104:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1022 -> a
    105:106:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2076:2077 -> a
    105:106:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1022 -> a
    107:107:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1022:1022 -> a
    108:109:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1189:1190 -> a
    108:109:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    110:110:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):96:96 -> a
    110:110:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1191 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    110:110:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    111:111:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):97:97 -> a
    111:111:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1191 -> a
    111:111:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    112:112:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1192:1192 -> a
    112:112:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    113:113:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):96:96 -> a
    113:113:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1193 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    113:113:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    114:114:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):97:97 -> a
    114:114:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1193 -> a
    114:114:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    115:117:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1105:1107 -> a
    115:117:java.util.List parseAnnotationList():1095 -> a
    115:117:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197 -> a
    115:117:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    118:118:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> a
    118:118:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> a
    118:118:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1108 -> a
    118:118:java.util.List parseAnnotationList():1095 -> a
    118:118:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197 -> a
    118:118:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    119:120:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2087:2088 -> a
    119:120:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1108 -> a
    119:120:java.util.List parseAnnotationList():1095 -> a
    119:120:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197 -> a
    119:120:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    121:129:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1109:1117 -> a
    121:129:java.util.List parseAnnotationList():1095 -> a
    121:129:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197 -> a
    121:129:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    130:130:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1116:1116 -> a
    130:130:java.util.List parseAnnotationList():1095 -> a
    130:130:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197 -> a
    130:130:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    131:131:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> a
    131:131:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> a
    131:131:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1108 -> a
    131:131:java.util.List parseAnnotationList():1095 -> a
    131:131:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197 -> a
    131:131:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    132:136:java.util.List parseAnnotationList():1097:1101 -> a
    132:136:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197 -> a
    132:136:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    137:137:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197:1197 -> a
    137:137:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    138:138:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> a
    138:138:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> a
    138:138:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1198 -> a
    138:138:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    139:140:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2087:2088 -> a
    139:140:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1198 -> a
    139:140:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    141:143:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1198:1198 -> a
    141:143:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    144:145:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceClassName(com.android.tools.r8.shaking.ProguardTypeMatcher):109:110 -> a
    144:145:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1198 -> a
    144:145:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    146:146:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> a
    146:146:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> a
    146:146:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1198 -> a
    146:146:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1023 -> a
    147:148:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1208:1209 -> a
    147:148:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    149:149:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1221:1221 -> a
    149:149:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    149:149:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    150:152:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1105:1107 -> a
    150:152:java.util.List parseAnnotationList():1095 -> a
    150:152:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1222 -> a
    150:152:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    150:152:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    153:153:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> a
    153:153:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> a
    153:153:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1108 -> a
    153:153:java.util.List parseAnnotationList():1095 -> a
    153:153:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1222 -> a
    153:153:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    153:153:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    154:155:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2087:2088 -> a
    154:155:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1108 -> a
    154:155:java.util.List parseAnnotationList():1095 -> a
    154:155:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1222 -> a
    154:155:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    154:155:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    156:164:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1109:1117 -> a
    156:164:java.util.List parseAnnotationList():1095 -> a
    156:164:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1222 -> a
    156:164:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    156:164:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    165:165:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1116:1116 -> a
    165:165:java.util.List parseAnnotationList():1095 -> a
    165:165:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1222 -> a
    165:165:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    165:165:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    166:166:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> a
    166:166:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> a
    166:166:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1108 -> a
    166:166:java.util.List parseAnnotationList():1095 -> a
    166:166:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1222 -> a
    166:166:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    166:166:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    167:171:java.util.List parseAnnotationList():1097:1101 -> a
    167:171:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1222 -> a
    167:171:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    167:171:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    172:172:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1222:1222 -> a
    172:172:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    172:172:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    173:173:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1230:1230 -> a
    173:173:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1223 -> a
    173:173:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    173:173:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    174:175:boolean parseNegation():1123:1124 -> a
    174:175:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1232 -> a
    174:175:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1223 -> a
    174:175:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    174:175:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    176:221:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1234:1279 -> a
    176:221:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1223 -> a
    176:221:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    176:221:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    222:239:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1267:1284 -> a
    222:239:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1223 -> a
    222:239:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    222:239:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    240:245:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1258:1263 -> a
    240:245:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1223 -> a
    240:245:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    240:245:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    246:247:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1253:1254 -> a
    246:247:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1223 -> a
    246:247:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    246:247:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    248:249:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1248:1249 -> a
    248:249:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1223 -> a
    248:249:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    248:249:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    250:251:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1243:1244 -> a
    250:251:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1223 -> a
    250:251:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    250:251:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    252:308:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1238:1294 -> a
    252:308:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1223 -> a
    252:308:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    252:308:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    309:328:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1302:1321 -> a
    309:328:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    309:328:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    309:328:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    329:334:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType):1814:1819 -> a
    329:334:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1323 -> a
    329:334:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    329:334:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    329:334:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    335:340:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1325:1330 -> a
    335:340:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    335:340:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    335:340:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    341:349:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1463:1471 -> a
    341:349:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1332 -> a
    341:349:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    341:349:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    341:349:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    350:352:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1333:1335 -> a
    350:352:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    350:352:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    350:352:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    353:353:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1472:1472 -> a
    353:353:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1332 -> a
    353:353:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    353:353:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    353:353:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    354:354:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1469:1469 -> a
    354:354:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1332 -> a
    354:354:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    354:354:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    354:354:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    355:357:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1337:1339 -> a
    355:357:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    355:357:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    355:357:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    358:358:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.matchesSpecificType():147:147 -> a
    358:358:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1340 -> a
    358:358:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    358:358:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    358:358:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(4)"]}
    359:365:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1341:1347 -> a
    359:365:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    359:365:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    359:365:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    366:374:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1342:1350 -> a
    366:374:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    366:374:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    366:374:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    375:375:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.matchesSpecificType():147:147 -> a
    375:375:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1351 -> a
    375:375:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    375:375:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    375:375:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(4)"]}
    376:382:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1352:1358 -> a
    376:382:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    376:382:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    376:382:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    383:390:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1353:1360 -> a
    383:390:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    383:390:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    383:390:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    391:396:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType):1814:1819 -> a
    391:396:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1362 -> a
    391:396:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    391:396:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    391:396:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    397:401:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1364:1368 -> a
    397:401:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    397:401:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    397:401:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    402:410:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1463:1471 -> a
    402:410:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1369 -> a
    402:410:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    402:410:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    402:410:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    411:415:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1371:1375 -> a
    411:415:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    411:415:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    411:415:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    416:418:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1374:1376 -> a
    416:418:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    416:418:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    416:418:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    419:419:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1472:1472 -> a
    419:419:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1369 -> a
    419:419:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    419:419:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    419:419:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    420:420:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1469:1469 -> a
    420:420:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1369 -> a
    420:420:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    420:420:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    420:420:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    421:422:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1378:1379 -> a
    421:422:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    421:422:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    421:422:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    423:429:void warnUnusualCharacters(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2202:2202 -> a
    423:429:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1379 -> a
    423:429:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    423:429:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    423:429:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    430:431:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1381:1382 -> a
    430:431:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    430:431:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    430:431:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    432:438:void warnUnusualCharacters(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2202:2202 -> a
    432:438:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1382 -> a
    432:438:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    432:438:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    432:438:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    439:443:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1384:1388 -> a
    439:443:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    439:443:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    439:443:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    444:460:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1387:1403 -> a
    444:460:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    444:460:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    444:460:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    461:462:java.lang.String acceptFieldNameOrIntegerForReturn():1941:1942 -> a
    461:462:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1404 -> a
    461:462:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    461:462:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    461:462:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    463:463:boolean eof(int):1688:1688 -> a
    463:463:java.lang.String acceptFieldNameOrIntegerForReturn():1944 -> a
    463:463:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1404 -> a
    463:463:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    463:463:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    463:463:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    464:464:java.lang.String acceptFieldNameOrIntegerForReturn():1945:1945 -> a
    464:464:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1404 -> a
    464:464:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    464:464:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    464:464:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    465:465:boolean eof(int):1688:1688 -> a
    465:465:java.lang.String acceptFieldNameOrIntegerForReturn():1946 -> a
    465:465:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1404 -> a
    465:465:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    465:465:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    465:465:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    466:466:char peekCharAt(int):1739:1739 -> a
    466:466:java.lang.String acceptFieldNameOrIntegerForReturn():1946 -> a
    466:466:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1404 -> a
    466:466:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    466:466:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    466:466:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    467:467:boolean eof(int):1688:1688 -> a
    467:467:char peekCharAt(int):1739 -> a
    467:467:java.lang.String acceptFieldNameOrIntegerForReturn():1946 -> a
    467:467:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1404 -> a
    467:467:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    467:467:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    467:467:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    468:469:char peekCharAt(int):1739:1740 -> a
    468:469:java.lang.String acceptFieldNameOrIntegerForReturn():1946 -> a
    468:469:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1404 -> a
    468:469:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    468:469:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    468:469:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    470:482:java.lang.String acceptFieldNameOrIntegerForReturn():1950:1962 -> a
    470:482:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1404 -> a
    470:482:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    470:482:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    470:482:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    483:484:boolean isInteger(java.lang.String):1675:1676 -> a
    483:484:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1406 -> a
    483:484:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    483:484:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    483:484:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    485:499:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1407:1421 -> a
    485:499:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    485:499:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    485:499:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    500:500:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1420:1420 -> a
    500:500:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    500:500:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    500:500:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    501:513:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1418:1430 -> a
    501:513:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    501:513:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    501:513:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    514:514:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1429:1429 -> a
    514:514:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    514:514:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    514:514:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    515:520:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1428:1433 -> a
    515:520:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    515:520:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    515:520:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    521:545:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1432:1456 -> a
    521:545:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1224 -> a
    521:545:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    521:545:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    546:546:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1225:1225 -> a
    546:546:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1211 -> a
    546:546:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    547:547:java.util.List com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getMemberRules():83:83 -> a
    547:547:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1212 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    547:547:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    548:551:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1212:1215 -> a
    548:551:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1024 -> a
    552:552:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> a
    552:552:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2065 -> a
    552:552:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> a
    552:552:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1022 -> a
    553:553:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1182:1182 -> a
    553:553:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    554:555:com.android.tools.r8.utils.StringDiagnostic parseClassTypeUnexpected(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.TextPosition):1158:1159 -> a
    554:555:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1182 -> a
    554:555:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    556:556:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1182:1182 -> a
    556:556:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1021 -> a
    557:578:java.nio.file.Path parseFileName(boolean):1540:1561 -> a
    579:579:java.nio.file.Path parseFileName(boolean):1559:1559 -> a
    580:600:java.lang.String replaceSystemPropertyReferences(java.lang.String):1506:1526 -> a
    580:600:java.nio.file.Path parseFileName(boolean):1564 -> a
    601:601:java.nio.file.Path parseFileName(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":618,"2":619,"3":620,"4":621,"5":622,"6":623}}
    618:618:java.lang.String replaceSystemPropertyReferences(java.lang.String):1524:1524 -> a
    618:618:java.nio.file.Path parseFileName(boolean):1564 -> a
    619:619:java.lang.String replaceSystemPropertyReferences(java.lang.String):1524:1524 -> a
    619:619:java.nio.file.Path parseFileName(boolean):1564 -> a
    620:620:java.lang.String replaceSystemPropertyReferences(java.lang.String):1524:1524 -> a
    620:620:java.nio.file.Path parseFileName(boolean):1564 -> a
    621:621:java.lang.String replaceSystemPropertyReferences(java.lang.String):1524:1524 -> a
    621:621:java.nio.file.Path parseFileName(boolean):1564 -> a
    622:622:java.lang.String replaceSystemPropertyReferences(java.lang.String):1524:1524 -> a
    622:622:java.nio.file.Path parseFileName(boolean):1564 -> a
    623:623:java.lang.String replaceSystemPropertyReferences(java.lang.String):1524:1524 -> a
    623:623:java.nio.file.Path parseFileName(boolean):1564 -> a
    602:614:java.lang.String replaceSystemPropertyReferences(java.lang.String):1524:1536 -> a
    602:614:java.nio.file.Path parseFileName(boolean):1564 -> a
    615:615:java.nio.file.Path parseFileName(boolean):1566:1566 -> a
    616:616:java.nio.file.Path parseFileName(boolean):1555:1555 -> a
    617:617:java.nio.file.Path parseFileName(boolean):1544:1544 -> a
    624:626:boolean lambda$parseFileName$1(boolean,char,boolean,int):1550:1552 -> a
    627:628:boolean acceptChar(char):1710:1711 -> a
    629:629:int remainingChars():1748:1748 -> a
    629:629:boolean acceptString(java.lang.String):1758 -> a
    630:638:boolean acceptString(java.lang.String):1758:1766 -> a
    639:639:boolean lambda$acceptQuotedOrUnquotedString$4(char,int):1776:1776 -> a
    640:640:boolean isClassName(int):1792:1792 -> a
    641:641:java.lang.String acceptClassName():1809:1809 -> a
    642:652:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1824:1834 -> a
    653:653:boolean eof(int):1688:1688 -> a
    653:653:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1836 -> a
    654:667:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1837:1850 -> a
    668:670:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1845:1845 -> a
    678:678:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1853:1853 -> a
    679:679:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4554,"2":4555,"3":4556}}
    4554:4554:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1853:1853 -> a
    4555:4555:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1853:1853 -> a
    4556:4556:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1853:1853 -> a
    2533:2534:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1854:1855 -> a
    2535:2547:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1853:1865 -> a
    2548:2586:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1864:1902 -> a
    2587:2587:boolean isPackageName(int):1802:1802 -> a
    2587:2587:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1907 -> a
    2588:2595:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1908:1915 -> a
    2596:2596:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4618,"2":4619,"3":4620}}
    4618:4618:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1915:1915 -> a
    4619:4619:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1915:1915 -> a
    4620:4620:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1915:1915 -> a
    4511:4516:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1915:1915 -> a
    4517:4517:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1909:1909 -> a
    4518:4545:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1904:1931 -> a
    4546:4553:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1930:1937 -> a
    4621:4621:java.lang.String acceptString(java.util.function.IntPredicate):2008:2008 -> a
    4622:4622:boolean eof(int):1688:1688 -> a
    4622:4622:java.lang.String acceptString(java.util.function.IntPredicate):2010 -> a
    4623:4634:java.lang.String acceptString(java.util.function.IntPredicate):2011:2022 -> a
    4635:4635:boolean pathFilterMatcher(java.lang.Integer):2102:2102 -> a
    4636:4637:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition):2181:2182 -> a
    4638:4641:com.android.tools.r8.position.Position getPosition(com.android.tools.r8.position.TextPosition):2216:2219 -> a
    4642:4643:java.lang.String getSourceSnippet(java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.position.Position):2232:2233 -> a
    4644:4644:java.lang.String com.android.tools.r8.shaking.ProguardConfigurationParser.access$1400(com.android.tools.r8.shaking.ProguardConfigurationParser,java.lang.String,com.android.tools.r8.position.TextPosition,com.android.tools.r8.position.TextPosition):46:46 -> a
    4644:4644:java.lang.String getSourceSnippet(java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.position.Position):2233 -> a
    4645:4651:java.lang.String com.android.tools.r8.shaking.ProguardConfigurationParser.getTextSourceSnippet(java.lang.String,com.android.tools.r8.position.TextPosition,com.android.tools.r8.position.TextPosition):2239:2245 -> a
    4645:4651:java.lang.String com.android.tools.r8.shaking.ProguardConfigurationParser.access$1400(com.android.tools.r8.shaking.ProguardConfigurationParser,java.lang.String,com.android.tools.r8.position.TextPosition,com.android.tools.r8.position.TextPosition):46 -> a
    4645:4651:java.lang.String getSourceSnippet(java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.position.Position):2233 -> a
    1:1:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):798:798 -> b
    2:2:com.android.tools.r8.shaking.ProguardCheckDiscardRule$Builder com.android.tools.r8.shaking.ProguardCheckDiscardRule.builder():74:74 -> b
    2:2:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):798 -> b
    3:3:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):798:798 -> b
    4:4:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> b
    4:4:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):799 -> b
    5:5:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> b
    5:5:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):800 -> b
    6:8:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):801:803 -> b
    9:9:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> b
    9:9:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):804 -> b
    10:20:com.android.tools.r8.shaking.ProguardCheckDiscardRule com.android.tools.r8.shaking.ProguardCheckDiscardRule$Builder.build():26:36 -> b
    10:20:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):805 -> b
    21:21:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):887:887 -> b
    22:22:com.android.tools.r8.shaking.InlineRule$Builder com.android.tools.r8.shaking.InlineRule.builder():93:93 -> b
    22:22:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):887 -> b
    23:23:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):887:887 -> b
    24:24:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> b
    24:24:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):888 -> b
    25:25:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> b
    25:25:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):889 -> b
    26:26:com.android.tools.r8.shaking.InlineRule$Builder com.android.tools.r8.shaking.InlineRule$Builder.setType(com.android.tools.r8.shaking.InlineRule$Type):34:34 -> b
    26:26:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):890 -> b
    27:29:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):891:893 -> b
    30:30:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> b
    30:30:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):894 -> b
    31:41:com.android.tools.r8.shaking.InlineRule com.android.tools.r8.shaking.InlineRule$Builder.build():40:50 -> b
    31:41:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):895 -> b
    42:43:void expectChar(char):1752:1753 -> b
    44:48:java.lang.Integer acceptInteger():1784:1788 -> b
    49:49:boolean lambda$acceptPattern$5(int):2001:2001 -> b
    50:50:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2166:2166 -> b
    51:60:java.lang.String snippetForPosition():2142:2151 -> b
    51:60:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2166 -> b
    61:67:java.lang.String snippetForPosition():2147:2153 -> b
    61:67:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2166 -> b
    68:68:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2166:2166 -> b
    1:1:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):615:615 -> c
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> c
    2:2:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):615 -> c
    3:3:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):617:617 -> c
    4:4:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> c
    4:4:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):616 -> c
    5:5:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):618:618 -> c
    6:6:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> c
    6:6:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):618 -> c
    7:7:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):619:619 -> c
    8:8:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> c
    8:8:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):619 -> c
    9:9:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):727:727 -> c
    9:9:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):620 -> c
    10:10:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> c
    10:10:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):730 -> c
    10:10:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):620 -> c
    11:11:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":19,"2":20,"3":21,"4":22,"5":23}}
    19:19:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> c
    19:19:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):730 -> c
    19:19:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):620 -> c
    20:20:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> c
    20:20:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):730 -> c
    20:20:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):620 -> c
    21:21:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> c
    21:21:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):730 -> c
    21:21:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):620 -> c
    22:22:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> c
    22:22:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):730 -> c
    22:22:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):620 -> c
    23:23:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> c
    23:23:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):730 -> c
    23:23:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):620 -> c
    12:14:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> c
    12:14:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):730 -> c
    12:14:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):620 -> c
    15:18:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):732:735 -> c
    15:18:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):620 -> c
    24:26:boolean skipFlag(java.lang.String):671:673 -> c
    27:31:void expectClosingQuote(char):1723:1727 -> c
    32:32:void expectClosingQuote(char):1725:1725 -> c
    33:33:boolean lambda$acceptString$3(int):1771:1771 -> c
    34:34:java.lang.String acceptPattern():1999:1999 -> c
    1:8:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):595:602 -> d
    9:9:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):601:601 -> d
    10:10:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2191:2191 -> d
    10:10:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):609 -> d
    11:11:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17,"4":18,"5":19}}
    15:15:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2191:2191 -> d
    15:15:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):609 -> d
    16:16:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2191:2191 -> d
    16:16:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):609 -> d
    17:17:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2191:2191 -> d
    17:17:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):609 -> d
    18:18:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2191:2191 -> d
    18:18:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):609 -> d
    19:19:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2191:2191 -> d
    19:19:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):609 -> d
    12:14:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2191:2191 -> d
    12:14:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):609 -> d
    20:29:boolean skipOptionWithClassSpec(java.lang.String):706:715 -> d
    30:30:boolean lambda$parseFileFilter$2(int):1609:1609 -> d
    31:34:boolean hasNextChar(char):1692:1695 -> d
    35:35:char acceptQuoteIfPresent():1719:1719 -> d
    36:39:boolean hasNextChar(java.util.function.Predicate):1699:1702 -> d
    36:39:char acceptQuoteIfPresent():1719 -> d
    40:40:char readChar():1744:1744 -> d
    40:40:char acceptQuoteIfPresent():1719 -> d
    boolean isQuote(char) -> e
    1:6:boolean skipOptionWithOptionalSingleArg(java.lang.String):692:697 -> e
    7:8:void skipSingleArgument():755:756 -> e
    7:8:boolean skipOptionWithOptionalSingleArg(java.lang.String):698 -> e
    9:9:char readChar():1744:1744 -> e
    9:9:void skipSingleArgument():757 -> e
    9:9:boolean skipOptionWithOptionalSingleArg(java.lang.String):698 -> e
    10:10:boolean lambda$skipOptimizationName$0(int):747:747 -> e
    11:11:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):763:763 -> e
    12:12:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> e
    12:12:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):764 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> e
    13:13:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):765 -> e
    14:15:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1028:1029 -> e
    14:15:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    16:16:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    16:16:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1030 -> e
    16:16:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    17:24:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1030:1037 -> e
    17:24:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    25:25:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    25:25:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1038 -> e
    25:25:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    26:28:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1038:1040 -> e
    26:28:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    29:29:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    29:29:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1041 -> e
    29:29:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    30:36:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1041:1047 -> e
    30:36:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    37:40:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):578:578 -> e
    37:40:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):573 -> e
    37:40:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1048 -> e
    37:40:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    41:48:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1051:1058 -> e
    41:48:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    49:52:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):578:578 -> e
    49:52:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):573 -> e
    49:52:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1059 -> e
    49:52:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    53:58:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1065:1070 -> e
    53:58:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    53:58:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    59:59:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    59:59:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1071 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    59:59:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    59:59:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    60:61:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1071:1072 -> e
    60:61:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    60:61:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    62:62:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    62:62:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1073 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    62:62:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    63:64:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1073:1074 -> e
    63:64:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    63:64:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    65:65:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    65:65:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1075 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    65:65:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    65:65:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    66:67:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1075:1076 -> e
    66:67:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    66:67:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    68:68:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    68:68:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1077 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    68:68:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    68:68:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    69:71:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1077:1079 -> e
    69:71:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    69:71:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    72:72:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    72:72:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1080 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    72:72:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    72:72:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    73:76:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1080:1083 -> e
    73:76:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    73:76:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    77:77:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    77:77:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1084 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:77:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    77:77:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    78:79:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1084:1085 -> e
    78:79:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    78:79:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    80:80:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2211:2211 -> e
    80:80:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1086 -> e
    80:80:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    80:80:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    81:81:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107,"4":108,"5":109}}
    105:105:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2211:2211 -> e
    105:105:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1086 -> e
    105:105:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    105:105:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    106:106:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2211:2211 -> e
    106:106:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1086 -> e
    106:106:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    106:106:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    107:107:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2211:2211 -> e
    107:107:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1086 -> e
    107:107:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    107:107:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    108:108:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2211:2211 -> e
    108:108:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1086 -> e
    108:108:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    108:108:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    109:109:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2211:2211 -> e
    109:109:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1086 -> e
    109:109:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    109:109:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    82:84:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2211:2211 -> e
    82:84:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1086 -> e
    82:84:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    82:84:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    85:85:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1088:1088 -> e
    85:85:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    85:85:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    86:86:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):767:767 -> e
    87:87:java.util.List com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getMemberRules():83:83 -> e
    87:87:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):768 -> e
    88:93:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):768:773 -> e
    94:97:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):772:775 -> e
    98:98:java.util.List com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getMemberRules():83:83 -> e
    98:98:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):776 -> e
    99:102:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):776:779 -> e
    103:103:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> e
    103:103:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):780 -> e
    104:104:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):781:781 -> e
    110:115:java.lang.String acceptQuotedOrUnquotedString():1775:1780 -> e
    1:3:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):584:586 -> f
    4:4:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":593,"2":594,"3":595,"4":596,"5":597}}
    593:593:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):586:586 -> f
    594:594:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):586:586 -> f
    595:595:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):586:586 -> f
    596:596:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):586:586 -> f
    597:597:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):586:586 -> f
    590:592:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):586:586 -> f
    598:600:boolean skipOptionWithSingleArg(java.lang.String):681:683 -> f
    601:602:void skipSingleArgument():755:756 -> f
    601:602:boolean skipOptionWithSingleArg(java.lang.String):685 -> f
    603:603:char readChar():1744:1744 -> f
    603:603:void skipSingleArgument():757 -> f
    603:603:boolean skipOptionWithSingleArg(java.lang.String):685 -> f
    604:604:java.lang.String acceptString():1771:1771 -> f
    1:1:boolean skipReturnValueAttribute(java.lang.String):722:722 -> g
    2:2:boolean eof():1684:1684 -> g
    3:6:java.lang.String snippetForPosition(com.android.tools.r8.position.TextPosition):2158:2161 -> g
    1:4:void unacceptString(java.lang.String):2026:2029 -> h
    5:5:com.android.tools.r8.position.TextPosition getPosition():2224:2224 -> h
    6:6:int getColumn():2228:2228 -> h
    6:6:com.android.tools.r8.position.TextPosition getPosition():2224 -> h
    7:7:com.android.tools.r8.position.TextPosition getPosition():2224:2224 -> h
    1:1:boolean isOptionalArgumentGiven():1706:1706 -> i
    1:5:void parse():229:233 -> j
    6:6:void parse():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":486,"2":487,"3":488}}
    486:486:void parse():233:233 -> j
    487:487:void parse():233:233 -> j
    488:488:void parse():233:233 -> j
    239:241:void parse():233:233 -> j
    245:246:void parse():237:238 -> j
    247:247:void parse():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":486,"2":487,"3":488}}
    486:486:void parse():238:238 -> j
    487:487:void parse():238:238 -> j
    488:488:void parse():238:238 -> j
    485:485:void parse():238:238 -> j
    1:12:java.util.List parseArgumentList():1478:1489 -> k
    13:13:java.util.List parseArgumentList():1486:1486 -> k
    14:14:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> k
    14:14:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> k
    14:14:java.util.List parseArgumentList():1491 -> k
    15:16:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2087:2088 -> k
    15:16:java.util.List parseArgumentList():1491 -> k
    17:19:java.util.List parseArgumentList():1494:1494 -> k
    21:21:java.util.List parseArgumentList():1496:1496 -> k
    22:22:java.util.List parseArgumentList():1493:1493 -> k
    23:23:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> k
    23:23:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> k
    23:23:java.util.List parseArgumentList():1493 -> k
    24:25:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2087:2088 -> k
    24:25:java.util.List parseArgumentList():1493 -> k
    26:26:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> k
    26:26:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> k
    26:26:java.util.List parseArgumentList():1493 -> k
    27:28:java.util.List parseArgumentList():1499:1500 -> k
    29:29:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> k
    29:29:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2086 -> k
    29:29:java.util.List parseArgumentList():1491 -> k
    1:7:java.lang.String parseFileFilter():1605:1611 -> l
    1:1:boolean parseIgnoredReturnValueAttribute():624:624 -> m
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> m
    2:2:boolean parseIgnoredReturnValueAttribute():624 -> m
    1:3:boolean parseIgnoredReturnValueAttributes():629:631 -> n
    1:5:void parseInclude():637:641 -> o
    6:6:void parseInclude():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1307,"2":1308,"3":1309}}
    1307:1307:void parseInclude():646:646 -> o
    1308:1308:void parseInclude():646:646 -> o
    1309:1309:void parseInclude():646:646 -> o
    652:652:void parseInclude():646:646 -> o
    653:654:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2176:2177 -> o
    653:654:void parseInclude():646 -> o
    655:656:void com.android.tools.r8.shaking.ProguardRuleParserException.<init>(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.Throwable):27:28 -> o
    655:656:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2177 -> o
    655:656:void parseInclude():646 -> o
    657:657:void parseInclude():646:646 -> o
    658:658:void parseInclude():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1307,"2":1308,"3":1309}}
    1307:1307:void parseInclude():643:643 -> o
    1308:1308:void parseInclude():643:643 -> o
    1309:1309:void parseInclude():643:643 -> o
    1301:1301:void parseInclude():643:643 -> o
    1302:1303:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2176:2177 -> o
    1302:1303:void parseInclude():643 -> o
    1304:1305:void com.android.tools.r8.shaking.ProguardRuleParserException.<init>(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.Throwable):27:28 -> o
    1304:1305:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2177 -> o
    1304:1305:void parseInclude():643 -> o
    1306:1306:void parseInclude():643:643 -> o
    1:1:boolean parseOption():242:242 -> p
    2:2:int remainingChars():1748:1748 -> p
    2:2:boolean acceptArobaseInclude():652 -> p
    2:2:boolean parseOption():245 -> p
    3:6:boolean acceptArobaseInclude():655:658 -> p
    3:6:boolean parseOption():245 -> p
    7:10:boolean parseOption():248:251 -> p
    11:12:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):446:447 -> p
    11:12:boolean parseOption():252 -> p
    13:13:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1631:1631 -> p
    13:13:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):449 -> p
    13:13:boolean parseOption():252 -> p
    14:14:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$Builder com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule.builder():75:75 -> p
    14:14:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1631 -> p
    14:14:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):449 -> p
    14:14:boolean parseOption():252 -> p
    15:15:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1631:1631 -> p
    15:15:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):449 -> p
    15:15:boolean parseOption():252 -> p
    16:16:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    16:16:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1631 -> p
    16:16:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):449 -> p
    16:16:boolean parseOption():252 -> p
    17:17:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    17:17:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1631 -> p
    17:17:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):449 -> p
    17:17:boolean parseOption():252 -> p
    18:20:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1632:1634 -> p
    18:20:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):449 -> p
    18:20:boolean parseOption():252 -> p
    21:21:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    21:21:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1635 -> p
    21:21:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):449 -> p
    21:21:boolean parseOption():252 -> p
    22:32:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$Builder.build():26:36 -> p
    22:32:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1636 -> p
    22:32:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):449 -> p
    22:32:boolean parseOption():252 -> p
    33:38:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):450:455 -> p
    33:38:boolean parseOption():252 -> p
    39:39:com.android.tools.r8.shaking.KeepConstantArgumentRule$Builder com.android.tools.r8.shaking.KeepConstantArgumentRule.builder():76:76 -> p
    39:39:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):455 -> p
    39:39:boolean parseOption():252 -> p
    40:46:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):455:461 -> p
    40:46:boolean parseOption():252 -> p
    47:47:com.android.tools.r8.shaking.KeepUnusedArgumentRule$Builder com.android.tools.r8.shaking.KeepUnusedArgumentRule.builder():76:76 -> p
    47:47:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):461 -> p
    47:47:boolean parseOption():252 -> p
    48:54:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):461:467 -> p
    48:54:boolean parseOption():252 -> p
    55:55:com.android.tools.r8.shaking.KeepUnusedReturnValueRule$Builder com.android.tools.r8.shaking.KeepUnusedReturnValueRule.builder():77:77 -> p
    55:55:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):467 -> p
    55:55:boolean parseOption():252 -> p
    56:80:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):467:491 -> p
    56:80:boolean parseOption():252 -> p
    81:81:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):822:822 -> p
    81:81:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492 -> p
    81:81:boolean parseOption():252 -> p
    82:82:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$Builder com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule.builder():77:77 -> p
    82:82:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):822 -> p
    82:82:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492 -> p
    82:82:boolean parseOption():252 -> p
    83:83:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):822:822 -> p
    83:83:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492 -> p
    83:83:boolean parseOption():252 -> p
    84:84:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    84:84:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):822 -> p
    84:84:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492 -> p
    84:84:boolean parseOption():252 -> p
    85:85:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    85:85:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):822 -> p
    85:85:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492 -> p
    85:85:boolean parseOption():252 -> p
    86:88:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):823:825 -> p
    86:88:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492 -> p
    86:88:boolean parseOption():252 -> p
    89:89:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    89:89:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):826 -> p
    89:89:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492 -> p
    89:89:boolean parseOption():252 -> p
    90:100:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$Builder.build():29:39 -> p
    90:100:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):827 -> p
    90:100:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492 -> p
    90:100:boolean parseOption():252 -> p
    101:104:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):493:496 -> p
    101:104:boolean parseOption():252 -> p
    105:105:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):833:833 -> p
    105:105:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):497 -> p
    105:105:boolean parseOption():252 -> p
    106:106:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$Builder com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule.builder():76:76 -> p
    106:106:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):833 -> p
    106:106:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):497 -> p
    106:106:boolean parseOption():252 -> p
    107:107:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):833:833 -> p
    107:107:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):497 -> p
    107:107:boolean parseOption():252 -> p
    108:108:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    108:108:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):833 -> p
    108:108:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):497 -> p
    108:108:boolean parseOption():252 -> p
    109:109:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    109:109:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):833 -> p
    109:109:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):497 -> p
    109:109:boolean parseOption():252 -> p
    110:112:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):834:836 -> p
    110:112:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):497 -> p
    110:112:boolean parseOption():252 -> p
    113:113:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    113:113:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):837 -> p
    113:113:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):497 -> p
    113:113:boolean parseOption():252 -> p
    114:124:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$Builder.build():28:38 -> p
    114:124:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):838 -> p
    114:124:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):497 -> p
    114:124:boolean parseOption():252 -> p
    125:128:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):498:501 -> p
    125:128:boolean parseOption():252 -> p
    129:129:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):844:844 -> p
    129:129:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):502 -> p
    129:129:boolean parseOption():252 -> p
    130:130:com.android.tools.r8.shaking.NoVerticalClassMergingRule$Builder com.android.tools.r8.shaking.NoVerticalClassMergingRule.builder():76:76 -> p
    130:130:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):844 -> p
    130:130:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):502 -> p
    130:130:boolean parseOption():252 -> p
    131:131:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):844:844 -> p
    131:131:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):502 -> p
    131:131:boolean parseOption():252 -> p
    132:132:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    132:132:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):844 -> p
    132:132:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):502 -> p
    132:132:boolean parseOption():252 -> p
    133:133:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    133:133:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):844 -> p
    133:133:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):502 -> p
    133:133:boolean parseOption():252 -> p
    134:136:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):845:847 -> p
    134:136:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):502 -> p
    134:136:boolean parseOption():252 -> p
    137:137:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    137:137:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):848 -> p
    137:137:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):502 -> p
    137:137:boolean parseOption():252 -> p
    138:148:com.android.tools.r8.shaking.NoVerticalClassMergingRule com.android.tools.r8.shaking.NoVerticalClassMergingRule$Builder.build():28:38 -> p
    138:148:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):849 -> p
    138:148:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):502 -> p
    138:148:boolean parseOption():252 -> p
    149:152:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):503:506 -> p
    149:152:boolean parseOption():252 -> p
    153:153:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):855:855 -> p
    153:153:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):507 -> p
    153:153:boolean parseOption():252 -> p
    154:154:com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder com.android.tools.r8.shaking.NoHorizontalClassMergingRule.builder():77:77 -> p
    154:154:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):855 -> p
    154:154:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):507 -> p
    154:154:boolean parseOption():252 -> p
    155:155:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):855:855 -> p
    155:155:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):507 -> p
    155:155:boolean parseOption():252 -> p
    156:156:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    156:156:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):855 -> p
    156:156:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):507 -> p
    156:156:boolean parseOption():252 -> p
    157:157:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    157:157:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):855 -> p
    157:157:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):507 -> p
    157:157:boolean parseOption():252 -> p
    158:160:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):856:858 -> p
    158:160:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):507 -> p
    158:160:boolean parseOption():252 -> p
    161:161:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    161:161:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):859 -> p
    161:161:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):507 -> p
    161:161:boolean parseOption():252 -> p
    162:172:com.android.tools.r8.shaking.NoHorizontalClassMergingRule com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder.build():29:39 -> p
    162:172:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):860 -> p
    162:172:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):507 -> p
    162:172:boolean parseOption():252 -> p
    173:178:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):508:513 -> p
    173:178:boolean parseOption():252 -> p
    179:179:com.android.tools.r8.shaking.NoMethodStaticizingRule$Builder com.android.tools.r8.shaking.NoMethodStaticizingRule.builder():77:77 -> p
    179:179:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):513 -> p
    179:179:boolean parseOption():252 -> p
    180:186:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):513:519 -> p
    180:186:boolean parseOption():252 -> p
    187:187:com.android.tools.r8.shaking.NoParameterReorderingRule$Builder com.android.tools.r8.shaking.NoParameterReorderingRule.builder():77:77 -> p
    187:187:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):519 -> p
    187:187:boolean parseOption():252 -> p
    188:194:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):519:525 -> p
    188:194:boolean parseOption():252 -> p
    195:195:com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule$Builder com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule.builder():78:78 -> p
    195:195:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):525 -> p
    195:195:boolean parseOption():252 -> p
    196:202:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):525:531 -> p
    196:202:boolean parseOption():252 -> p
    203:203:com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule$Builder com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule.builder():78:78 -> p
    203:203:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):531 -> p
    203:203:boolean parseOption():252 -> p
    204:208:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):531:535 -> p
    204:208:boolean parseOption():252 -> p
    209:209:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):877:877 -> p
    209:209:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):537 -> p
    209:209:boolean parseOption():252 -> p
    210:210:com.android.tools.r8.shaking.MemberValuePropagationRule$Builder com.android.tools.r8.shaking.MemberValuePropagationRule.builder():91:91 -> p
    210:210:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):877 -> p
    210:210:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):537 -> p
    210:210:boolean parseOption():252 -> p
    211:211:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):877:877 -> p
    211:211:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):537 -> p
    211:211:boolean parseOption():252 -> p
    212:212:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    212:212:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):877 -> p
    212:212:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):537 -> p
    212:212:boolean parseOption():252 -> p
    213:213:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    213:213:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):877 -> p
    213:213:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):537 -> p
    213:213:boolean parseOption():252 -> p
    214:214:com.android.tools.r8.shaking.MemberValuePropagationRule$Builder com.android.tools.r8.shaking.MemberValuePropagationRule$Builder.setType(com.android.tools.r8.shaking.MemberValuePropagationRule$Type):32:32 -> p
    214:214:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):877 -> p
    214:214:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):537 -> p
    214:214:boolean parseOption():252 -> p
    215:217:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):878:880 -> p
    215:217:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):537 -> p
    215:217:boolean parseOption():252 -> p
    218:218:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    218:218:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):881 -> p
    218:218:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):537 -> p
    218:218:boolean parseOption():252 -> p
    219:229:com.android.tools.r8.shaking.MemberValuePropagationRule com.android.tools.r8.shaking.MemberValuePropagationRule$Builder.build():38:48 -> p
    219:229:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):882 -> p
    219:229:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):537 -> p
    219:229:boolean parseOption():252 -> p
    230:234:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):538:542 -> p
    230:234:boolean parseOption():252 -> p
    235:235:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961:961 -> p
    235:235:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):543 -> p
    235:235:boolean parseOption():252 -> p
    236:236:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder com.android.tools.r8.shaking.ReprocessClassInitializerRule.builder():92:92 -> p
    236:236:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961 -> p
    236:236:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):543 -> p
    236:236:boolean parseOption():252 -> p
    237:237:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961:961 -> p
    237:237:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):543 -> p
    237:237:boolean parseOption():252 -> p
    238:238:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    238:238:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961 -> p
    238:238:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):543 -> p
    238:238:boolean parseOption():252 -> p
    239:239:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    239:239:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961 -> p
    239:239:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):543 -> p
    239:239:boolean parseOption():252 -> p
    240:243:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961:964 -> p
    240:243:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):543 -> p
    240:243:boolean parseOption():252 -> p
    244:244:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    244:244:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):965 -> p
    244:244:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):543 -> p
    244:244:boolean parseOption():252 -> p
    245:245:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):966:966 -> p
    245:245:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):543 -> p
    245:245:boolean parseOption():252 -> p
    246:252:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):542:548 -> p
    246:252:boolean parseOption():252 -> p
    253:253:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972:972 -> p
    253:253:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):549 -> p
    253:253:boolean parseOption():252 -> p
    254:254:com.android.tools.r8.shaking.ReprocessMethodRule$Builder com.android.tools.r8.shaking.ReprocessMethodRule.builder():92:92 -> p
    254:254:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972 -> p
    254:254:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):549 -> p
    254:254:boolean parseOption():252 -> p
    255:255:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972:972 -> p
    255:255:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):549 -> p
    255:255:boolean parseOption():252 -> p
    256:256:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    256:256:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972 -> p
    256:256:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):549 -> p
    256:256:boolean parseOption():252 -> p
    257:257:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    257:257:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972 -> p
    257:257:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):549 -> p
    257:257:boolean parseOption():252 -> p
    258:261:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972:975 -> p
    258:261:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):549 -> p
    258:261:boolean parseOption():252 -> p
    262:262:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    262:262:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):976 -> p
    262:262:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):549 -> p
    262:262:boolean parseOption():252 -> p
    263:263:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):977:977 -> p
    263:263:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):549 -> p
    263:263:boolean parseOption():252 -> p
    264:269:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):548:553 -> p
    264:269:boolean parseOption():252 -> p
    270:270:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961:961 -> p
    270:270:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):554 -> p
    270:270:boolean parseOption():252 -> p
    271:271:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder com.android.tools.r8.shaking.ReprocessClassInitializerRule.builder():92:92 -> p
    271:271:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961 -> p
    271:271:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):554 -> p
    271:271:boolean parseOption():252 -> p
    272:272:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961:961 -> p
    272:272:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):554 -> p
    272:272:boolean parseOption():252 -> p
    273:273:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    273:273:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961 -> p
    273:273:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):554 -> p
    273:273:boolean parseOption():252 -> p
    274:274:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    274:274:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961 -> p
    274:274:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):554 -> p
    274:274:boolean parseOption():252 -> p
    275:278:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):961:964 -> p
    275:278:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):554 -> p
    275:278:boolean parseOption():252 -> p
    279:279:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    279:279:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):965 -> p
    279:279:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):554 -> p
    279:279:boolean parseOption():252 -> p
    280:280:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):966:966 -> p
    280:280:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):554 -> p
    280:280:boolean parseOption():252 -> p
    281:287:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):553:559 -> p
    281:287:boolean parseOption():252 -> p
    288:288:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972:972 -> p
    288:288:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):560 -> p
    288:288:boolean parseOption():252 -> p
    289:289:com.android.tools.r8.shaking.ReprocessMethodRule$Builder com.android.tools.r8.shaking.ReprocessMethodRule.builder():92:92 -> p
    289:289:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972 -> p
    289:289:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):560 -> p
    289:289:boolean parseOption():252 -> p
    290:290:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972:972 -> p
    290:290:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):560 -> p
    290:290:boolean parseOption():252 -> p
    291:291:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    291:291:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972 -> p
    291:291:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):560 -> p
    291:291:boolean parseOption():252 -> p
    292:292:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    292:292:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972 -> p
    292:292:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):560 -> p
    292:292:boolean parseOption():252 -> p
    293:296:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):972:975 -> p
    293:296:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):560 -> p
    293:296:boolean parseOption():252 -> p
    297:297:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    297:297:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):976 -> p
    297:297:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):560 -> p
    297:297:boolean parseOption():252 -> p
    298:298:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):977:977 -> p
    298:298:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):560 -> p
    298:298:boolean parseOption():252 -> p
    299:303:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):559:563 -> p
    299:303:boolean parseOption():252 -> p
    304:304:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):983:983 -> p
    304:304:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):564 -> p
    304:304:boolean parseOption():252 -> p
    305:305:com.android.tools.r8.shaking.WhyAreYouNotInliningRule$Builder com.android.tools.r8.shaking.WhyAreYouNotInliningRule.builder():74:74 -> p
    305:305:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):983 -> p
    305:305:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):564 -> p
    305:305:boolean parseOption():252 -> p
    306:306:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):983:983 -> p
    306:306:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):564 -> p
    306:306:boolean parseOption():252 -> p
    307:308:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    307:308:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):983 -> p
    307:308:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):564 -> p
    307:308:boolean parseOption():252 -> p
    309:309:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):983:983 -> p
    309:309:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):564 -> p
    309:309:boolean parseOption():252 -> p
    310:311:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    310:311:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):983 -> p
    310:311:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):564 -> p
    310:311:boolean parseOption():252 -> p
    312:315:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):983:986 -> p
    312:315:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):564 -> p
    312:315:boolean parseOption():252 -> p
    316:316:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    316:316:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):987 -> p
    316:316:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):564 -> p
    316:316:boolean parseOption():252 -> p
    317:327:com.android.tools.r8.shaking.WhyAreYouNotInliningRule com.android.tools.r8.shaking.WhyAreYouNotInliningRule$Builder.build():26:36 -> p
    317:327:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):988 -> p
    317:327:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):564 -> p
    317:327:boolean parseOption():252 -> p
    328:328:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):565:565 -> p
    328:328:boolean parseOption():252 -> p
    329:336:boolean parseOption():253:260 -> p
    337:349:boolean parseOption():256:268 -> p
    350:377:java.util.List acceptPatternList():1966:1993 -> p
    350:377:void parseKeepAttributes():663 -> p
    350:377:boolean parseOption():269 -> p
    378:381:void parseKeepAttributes():664:667 -> p
    378:381:boolean parseOption():269 -> p
    382:382:void parseKeepAttributes():665:665 -> p
    382:382:boolean parseOption():269 -> p
    383:384:boolean parseOption():270:271 -> p
    385:394:void parsePackageFilter(java.util.function.BiConsumer):2035:2044 -> p
    385:394:boolean parseOption():271 -> p
    395:398:void parsePackageFilter(java.util.function.BiConsumer):2043:2046 -> p
    395:398:boolean parseOption():271 -> p
    399:406:void parsePackageFilter(java.util.function.BiConsumer):2041:2048 -> p
    399:406:boolean parseOption():271 -> p
    407:417:boolean parseOption():272:282 -> p
    418:422:void parsePathFilter(java.util.function.Consumer):2107:2111 -> p
    418:422:boolean parseOption():282 -> p
    423:426:boolean parseOption():283:286 -> p
    427:427:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):786:786 -> p
    427:427:boolean parseOption():287 -> p
    428:428:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$Builder com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule.builder():74:74 -> p
    428:428:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):786 -> p
    428:428:boolean parseOption():287 -> p
    429:429:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):786:786 -> p
    429:429:boolean parseOption():287 -> p
    430:430:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    430:430:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):787 -> p
    430:430:boolean parseOption():287 -> p
    431:431:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    431:431:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):788 -> p
    431:431:boolean parseOption():287 -> p
    432:434:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):789:791 -> p
    432:434:boolean parseOption():287 -> p
    435:435:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    435:435:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):792 -> p
    435:435:boolean parseOption():287 -> p
    436:446:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$Builder.build():26:36 -> p
    436:446:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):793 -> p
    436:446:boolean parseOption():287 -> p
    447:452:boolean parseOption():288:293 -> p
    453:453:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> p
    453:453:boolean parseOption():298 -> p
    454:454:boolean parseOption():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":923,"2":924,"3":925,"4":926,"5":927}}
    923:923:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> p
    923:923:boolean parseOption():298 -> p
    924:924:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> p
    924:924:boolean parseOption():298 -> p
    925:925:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> p
    925:925:boolean parseOption():298 -> p
    926:926:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> p
    926:926:boolean parseOption():298 -> p
    927:927:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> p
    927:927:boolean parseOption():298 -> p
    455:457:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2186:2186 -> p
    455:457:boolean parseOption():298 -> p
    458:460:boolean parseOption():295:295 -> p
    464:481:boolean parseOption():299:316 -> p
    482:483:void parseClassFilter(java.util.function.Consumer):2054:2055 -> p
    482:483:boolean parseOption():316 -> p
    484:484:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2073:2073 -> p
    484:484:void parseClassFilter(java.util.function.Consumer):2056 -> p
    484:484:boolean parseOption():316 -> p
    485:485:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> p
    485:485:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2065 -> p
    485:485:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    485:485:void parseClassFilter(java.util.function.Consumer):2056 -> p
    485:485:boolean parseOption():316 -> p
    486:489:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2066:2066 -> p
    486:489:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    486:489:void parseClassFilter(java.util.function.Consumer):2056 -> p
    486:489:boolean parseOption():316 -> p
    492:492:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2069:2069 -> p
    492:492:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    492:492:void parseClassFilter(java.util.function.Consumer):2056 -> p
    492:492:boolean parseOption():316 -> p
    493:494:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2076:2077 -> p
    493:494:void parseClassFilter(java.util.function.Consumer):2056 -> p
    493:494:boolean parseOption():316 -> p
    495:495:void parseClassFilter(java.util.function.Consumer):2056:2056 -> p
    495:495:boolean parseOption():316 -> p
    496:496:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> p
    496:496:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2065 -> p
    496:496:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    496:496:void parseClassFilter(java.util.function.Consumer):2056 -> p
    496:496:boolean parseOption():316 -> p
    497:497:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> p
    497:497:void parseClassFilter(java.util.function.Consumer):2059 -> p
    497:497:boolean parseOption():316 -> p
    498:498:void parseClassFilter(java.util.function.Consumer):2059:2059 -> p
    498:498:boolean parseOption():316 -> p
    499:499:void parseClassFilter(java.util.function.Consumer):2058:2058 -> p
    499:499:boolean parseOption():316 -> p
    500:501:boolean parseOption():317:318 -> p
    502:503:void parseClassFilter(java.util.function.Consumer):2054:2055 -> p
    502:503:boolean parseOption():318 -> p
    504:504:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2073:2073 -> p
    504:504:void parseClassFilter(java.util.function.Consumer):2056 -> p
    504:504:boolean parseOption():318 -> p
    505:505:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> p
    505:505:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2065 -> p
    505:505:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    505:505:void parseClassFilter(java.util.function.Consumer):2056 -> p
    505:505:boolean parseOption():318 -> p
    506:509:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2066:2066 -> p
    506:509:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    506:509:void parseClassFilter(java.util.function.Consumer):2056 -> p
    506:509:boolean parseOption():318 -> p
    512:512:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2069:2069 -> p
    512:512:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    512:512:void parseClassFilter(java.util.function.Consumer):2056 -> p
    512:512:boolean parseOption():318 -> p
    513:514:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2076:2077 -> p
    513:514:void parseClassFilter(java.util.function.Consumer):2056 -> p
    513:514:boolean parseOption():318 -> p
    515:515:void parseClassFilter(java.util.function.Consumer):2056:2056 -> p
    515:515:boolean parseOption():318 -> p
    516:516:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> p
    516:516:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2065 -> p
    516:516:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    516:516:void parseClassFilter(java.util.function.Consumer):2056 -> p
    516:516:boolean parseOption():318 -> p
    517:517:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> p
    517:517:void parseClassFilter(java.util.function.Consumer):2059 -> p
    517:517:boolean parseOption():318 -> p
    518:518:void parseClassFilter(java.util.function.Consumer):2059:2059 -> p
    518:518:boolean parseOption():318 -> p
    519:519:void parseClassFilter(java.util.function.Consumer):2058:2058 -> p
    519:519:boolean parseOption():318 -> p
    520:521:boolean parseOption():319:320 -> p
    522:524:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2196:2196 -> p
    522:524:boolean parseOption():321 -> p
    525:528:boolean parseOption():323:326 -> p
    529:530:java.lang.String parsePackageNameOrEmptyString():2081:2082 -> p
    529:530:boolean parseOption():326 -> p
    531:537:boolean parseOption():326:332 -> p
    538:539:java.lang.String parsePackageNameOrEmptyString():2081:2082 -> p
    538:539:boolean parseOption():332 -> p
    540:544:boolean parseOption():332:336 -> p
    545:547:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2196:2196 -> p
    545:547:boolean parseOption():337 -> p
    548:549:boolean parseOption():338:339 -> p
    550:551:void skipSingleArgument():755:756 -> p
    550:551:boolean parseOption():340 -> p
    552:552:char readChar():1744:1744 -> p
    552:552:void skipSingleArgument():757 -> p
    552:552:boolean parseOption():340 -> p
    553:556:boolean parseOption():343:346 -> p
    557:558:java.lang.String parsePackageNameOrEmptyString():2081:2082 -> p
    557:558:boolean parseOption():346 -> p
    559:565:boolean parseOption():346:352 -> p
    566:567:java.lang.String parsePackageNameOrEmptyString():2081:2082 -> p
    566:567:boolean parseOption():352 -> p
    568:590:boolean parseOption():352:374 -> p
    591:591:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1618:1618 -> p
    591:591:boolean parseOption():375 -> p
    592:592:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule.builder():77:77 -> p
    592:592:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1618 -> p
    592:592:boolean parseOption():375 -> p
    593:593:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1618:1618 -> p
    593:593:boolean parseOption():375 -> p
    594:595:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    594:595:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1619 -> p
    594:595:boolean parseOption():375 -> p
    596:596:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1619:1619 -> p
    596:596:boolean parseOption():375 -> p
    597:598:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    597:598:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1620 -> p
    597:598:boolean parseOption():375 -> p
    599:602:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1620:1623 -> p
    599:602:boolean parseOption():375 -> p
    603:603:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    603:603:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1624 -> p
    603:603:boolean parseOption():375 -> p
    604:614:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder.build():26:36 -> p
    604:614:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1625 -> p
    604:614:boolean parseOption():375 -> p
    615:616:boolean parseOption():376:377 -> p
    617:617:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1641:1641 -> p
    617:617:boolean parseOption():378 -> p
    618:618:com.android.tools.r8.shaking.ProguardAssumeValuesRule$Builder com.android.tools.r8.shaking.ProguardAssumeValuesRule.builder():77:77 -> p
    618:618:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1641 -> p
    618:618:boolean parseOption():378 -> p
    619:619:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1641:1641 -> p
    619:619:boolean parseOption():378 -> p
    620:621:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    620:621:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1642 -> p
    620:621:boolean parseOption():378 -> p
    622:622:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1642:1642 -> p
    622:622:boolean parseOption():378 -> p
    623:624:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    623:624:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1643 -> p
    623:624:boolean parseOption():378 -> p
    625:628:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1643:1646 -> p
    625:628:boolean parseOption():378 -> p
    629:629:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    629:629:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1647 -> p
    629:629:boolean parseOption():378 -> p
    630:640:com.android.tools.r8.shaking.ProguardAssumeValuesRule com.android.tools.r8.shaking.ProguardAssumeValuesRule$Builder.build():26:36 -> p
    630:640:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1648 -> p
    630:640:boolean parseOption():378 -> p
    641:645:boolean parseOption():379:383 -> p
    646:655:boolean parseOption():382:391 -> p
    656:659:java.util.List parseClassPath():1570:1573 -> p
    656:659:boolean parseOption():391 -> p
    660:673:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1585:1598 -> p
    660:673:java.util.List parseClassPath():1574 -> p
    660:673:boolean parseOption():391 -> p
    674:679:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1595:1600 -> p
    674:679:java.util.List parseClassPath():1574 -> p
    674:679:boolean parseOption():391 -> p
    680:682:java.util.List parseClassPath():1575:1577 -> p
    680:682:boolean parseOption():391 -> p
    683:696:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1585:1598 -> p
    683:696:java.util.List parseClassPath():1578 -> p
    683:696:boolean parseOption():391 -> p
    697:702:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1595:1600 -> p
    697:702:java.util.List parseClassPath():1578 -> p
    697:702:boolean parseOption():391 -> p
    703:703:java.util.List parseClassPath():1579:1579 -> p
    703:703:boolean parseOption():391 -> p
    704:706:boolean parseOption():391:393 -> p
    707:710:java.util.List parseClassPath():1570:1573 -> p
    707:710:boolean parseOption():393 -> p
    711:724:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1585:1598 -> p
    711:724:java.util.List parseClassPath():1574 -> p
    711:724:boolean parseOption():393 -> p
    725:730:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1595:1600 -> p
    725:730:java.util.List parseClassPath():1574 -> p
    725:730:boolean parseOption():393 -> p
    731:733:java.util.List parseClassPath():1575:1577 -> p
    731:733:boolean parseOption():393 -> p
    734:747:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1585:1598 -> p
    734:747:java.util.List parseClassPath():1578 -> p
    734:747:boolean parseOption():393 -> p
    748:753:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1595:1600 -> p
    748:753:java.util.List parseClassPath():1578 -> p
    748:753:boolean parseOption():393 -> p
    754:754:java.util.List parseClassPath():1579:1579 -> p
    754:754:boolean parseOption():393 -> p
    755:772:boolean parseOption():393:410 -> p
    773:774:void parseClassFilter(java.util.function.Consumer):2054:2055 -> p
    773:774:boolean parseOption():410 -> p
    775:775:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2073:2073 -> p
    775:775:void parseClassFilter(java.util.function.Consumer):2056 -> p
    775:775:boolean parseOption():410 -> p
    776:776:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2094:2094 -> p
    776:776:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2065 -> p
    776:776:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    776:776:void parseClassFilter(java.util.function.Consumer):2056 -> p
    776:776:boolean parseOption():410 -> p
    777:780:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2066:2066 -> p
    777:780:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    777:780:void parseClassFilter(java.util.function.Consumer):2056 -> p
    777:780:boolean parseOption():410 -> p
    783:783:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2069:2069 -> p
    783:783:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    783:783:void parseClassFilter(java.util.function.Consumer):2056 -> p
    783:783:boolean parseOption():410 -> p
    784:785:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2076:2077 -> p
    784:785:void parseClassFilter(java.util.function.Consumer):2056 -> p
    784:785:boolean parseOption():410 -> p
    786:786:void parseClassFilter(java.util.function.Consumer):2056:2056 -> p
    786:786:boolean parseOption():410 -> p
    787:787:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2096:2096 -> p
    787:787:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2065 -> p
    787:787:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2075 -> p
    787:787:void parseClassFilter(java.util.function.Consumer):2056 -> p
    787:787:boolean parseOption():410 -> p
    788:788:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> p
    788:788:void parseClassFilter(java.util.function.Consumer):2059 -> p
    788:788:boolean parseOption():410 -> p
    789:789:void parseClassFilter(java.util.function.Consumer):2059:2059 -> p
    789:789:boolean parseOption():410 -> p
    790:790:void parseClassFilter(java.util.function.Consumer):2058:2058 -> p
    790:790:boolean parseOption():410 -> p
    791:792:boolean parseOption():411:412 -> p
    793:797:void parsePathFilter(java.util.function.Consumer):2107:2111 -> p
    793:797:boolean parseOption():412 -> p
    798:799:boolean parseOption():413:414 -> p
    800:804:void parsePathFilter(java.util.function.Consumer):2107:2111 -> p
    800:804:boolean parseOption():414 -> p
    805:806:boolean parseOption():415:416 -> p
    807:807:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):901:901 -> p
    807:807:boolean parseOption():416 -> p
    808:808:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$Builder com.android.tools.r8.shaking.ProguardIdentifierNameStringRule.builder():73:73 -> p
    808:808:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):901 -> p
    808:808:boolean parseOption():416 -> p
    809:809:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):901:901 -> p
    809:809:boolean parseOption():416 -> p
    810:811:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    810:811:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):902 -> p
    810:811:boolean parseOption():416 -> p
    812:812:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):902:902 -> p
    812:812:boolean parseOption():416 -> p
    813:814:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    813:814:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):903 -> p
    813:814:boolean parseOption():416 -> p
    815:818:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):903:906 -> p
    815:818:boolean parseOption():416 -> p
    819:819:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    819:819:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):907 -> p
    819:819:boolean parseOption():416 -> p
    820:830:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$Builder.build():25:35 -> p
    820:830:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):908 -> p
    820:830:boolean parseOption():416 -> p
    831:833:boolean parseOption():416:418 -> p
    834:834:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):913:913 -> p
    834:834:boolean parseOption():418 -> p
    835:835:com.android.tools.r8.shaking.ProguardIfRule$Builder com.android.tools.r8.shaking.ProguardIfRule.builder():136:136 -> p
    835:835:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):913 -> p
    835:835:boolean parseOption():418 -> p
    836:836:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):913:913 -> p
    836:836:boolean parseOption():418 -> p
    837:838:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    837:838:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914 -> p
    837:838:boolean parseOption():418 -> p
    839:839:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914:914 -> p
    839:839:boolean parseOption():418 -> p
    840:841:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    840:841:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):915 -> p
    840:841:boolean parseOption():418 -> p
    842:849:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):915:922 -> p
    842:849:boolean parseOption():418 -> p
    850:850:void com.android.tools.r8.shaking.ProguardIfRule$Builder.setSubsequentRule(com.android.tools.r8.shaking.ProguardKeepRule):74:74 -> p
    850:850:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):923 -> p
    850:850:boolean parseOption():418 -> p
    851:852:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):924:925 -> p
    851:852:boolean parseOption():418 -> p
    853:853:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    853:853:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):926 -> p
    853:853:boolean parseOption():418 -> p
    854:865:com.android.tools.r8.shaking.ProguardIfRule com.android.tools.r8.shaking.ProguardIfRule$Builder.build():79:90 -> p
    854:865:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):927 -> p
    854:865:boolean parseOption():418 -> p
    866:866:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):928:928 -> p
    866:866:boolean parseOption():418 -> p
    867:879:void verifyAndLinkBackReferences(java.lang.Iterable):992:1004 -> p
    867:879:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):928 -> p
    867:879:boolean parseOption():418 -> p
    880:880:void verifyAndLinkBackReferences(java.lang.Iterable):999:999 -> p
    880:880:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):928 -> p
    880:880:boolean parseOption():418 -> p
    881:881:boolean parseOption():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":923,"2":924,"3":925}}
    923:923:void verifyAndLinkBackReferences(java.lang.Iterable):999:999 -> p
    923:923:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):928 -> p
    923:923:boolean parseOption():418 -> p
    924:924:void verifyAndLinkBackReferences(java.lang.Iterable):999:999 -> p
    924:924:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):928 -> p
    924:924:boolean parseOption():418 -> p
    925:925:void verifyAndLinkBackReferences(java.lang.Iterable):999:999 -> p
    925:925:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):928 -> p
    925:925:boolean parseOption():418 -> p
    882:886:void verifyAndLinkBackReferences(java.lang.Iterable):999:999 -> p
    882:886:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):928 -> p
    882:886:boolean parseOption():418 -> p
    893:895:void verifyAndLinkBackReferences(java.lang.Iterable):1006:1008 -> p
    893:895:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):928 -> p
    893:895:boolean parseOption():418 -> p
    896:896:boolean parseOption():418:418 -> p
    897:899:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):931:931 -> p
    897:899:boolean parseOption():418 -> p
    900:918:boolean parseOption():419:437 -> p
    919:922:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):578:578 -> p
    919:922:boolean parseOption():439 -> p
    1:20:com.android.tools.r8.shaking.ProguardPathList parsePathFilter():2116:2135 -> q
    21:26:com.android.tools.r8.shaking.ProguardPathList parsePathFilter():2132:2137 -> q
    27:27:com.android.tools.r8.shaking.ProguardPathList parsePathFilter():2122:2122 -> q
    1:1:char peekChar():1735:1735 -> r
    1:11:void skipOptimizationName():740:750 -> s
    1:6:void skipWhitespace():1652:1657 -> t
    7:14:void skipComment():1663:1670 -> t
    7:14:void skipWhitespace():1659 -> t
com.android.tools.r8.shaking.ProguardConfigurationRule -> com.android.tools.r8.shaking.D1:
    boolean used -> o
    boolean canReferenceDeadTypes -> p
    boolean $assertionsDisabled -> q
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):47:47 -> <init>
    2:5:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):28:31 -> <init>
    1:1:void markAsUsed():68:68 -> A
    java.lang.String modifierString() -> B
    java.lang.String typeString() -> C
    1:1:boolean access$000(com.android.tools.r8.shaking.ProguardConfigurationRule):26:26 -> a
    2:27:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):127:152 -> a
    28:28:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.hasSpecificType():0:0 -> a
    28:28:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):152 -> a
    29:37:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):153:161 -> a
    38:38:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    38:38:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):159 -> a
    39:39:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):163:163 -> a
    40:40:java.util.stream.Stream lambda$getWildcards$0(java.lang.Iterable):189:189 -> a
    41:45:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):223:227 -> a
    1:14:boolean equals(java.lang.Object):196:209 -> equals
    1:5:int hashCode():214:218 -> hashCode
    boolean applyToNonProgramClasses() -> p
    com.android.tools.r8.shaking.ClassInlineRule asClassInlineRule() -> q
    com.android.tools.r8.shaking.ProguardCheckDiscardRule asProguardCheckDiscardRule() -> r
    com.android.tools.r8.shaking.ProguardIfRule asProguardIfRule() -> s
    com.android.tools.r8.shaking.ProguardKeepRule asProguardKeepRule() -> t
    com.android.tools.r8.shaking.ReprocessClassInitializerRule asReprocessClassInitializerRule() -> u
    com.android.tools.r8.shaking.ReprocessMethodRule asReprocessMethodRule() -> v
    1:1:void canReferenceDeadTypes():120:120 -> w
    1:12:java.lang.Iterable getWildcards():180:191 -> x
    13:13:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> x
    13:13:java.lang.Iterable getWildcards():181 -> x
    boolean isProguardKeepRule() -> y
    1:1:boolean isUsed():64:64 -> z
com.android.tools.r8.shaking.ProguardConfigurationRule$1 -> com.android.tools.r8.shaking.C1:
    com.android.tools.r8.graph.AppView val$appView -> a
    com.android.tools.r8.shaking.ProguardConfigurationRule this$0 -> b
    1:1:void <init>(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.AppView):131:131 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():148:148 -> a
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):135:135 -> d
    1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):140:143 -> e
com.android.tools.r8.shaking.ProguardConfigurationSource -> com.android.tools.r8.internal.cN:
    java.nio.file.Path getBaseDirectory() -> a
com.android.tools.r8.shaking.ProguardConfigurationSourceBytes -> com.android.tools.r8.internal.dN:
    byte[] bytes -> a
    com.android.tools.r8.origin.Origin origin -> b
    1:3:void <init>(byte[],com.android.tools.r8.origin.Origin):18:20 -> <init>
    java.nio.file.Path getBaseDirectory() -> a
    1:1:java.lang.String get():29:29 -> get
    1:1:java.lang.String getName():40:40 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():45:45 -> getOrigin
com.android.tools.r8.shaking.ProguardConfigurationSourceFile -> com.android.tools.r8.internal.eN:
    java.nio.file.Path path -> a
    1:2:void <init>(java.nio.file.Path):18:19 -> <init>
    1:5:java.nio.file.Path getBaseDirectory():29:33 -> a
    1:1:java.lang.String get():24:24 -> get
    1:1:java.lang.String getName():40:40 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():45:45 -> getOrigin
com.android.tools.r8.shaking.ProguardConfigurationSourceStrings -> com.android.tools.r8.internal.fN:
    java.util.List config -> b
    com.android.tools.r8.origin.Origin origin -> c
    java.nio.file.Path basePath -> a
    1:4:void <init>(java.util.List,java.nio.file.Path,com.android.tools.r8.origin.Origin):24:27 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardConfigurationSourceStrings createConfigurationForTesting(java.util.List):37:37 -> a
    2:2:void com.android.tools.r8.shaking.ProguardConfigurationSourceStrings.<init>(java.util.List):31:31 -> a
    2:2:com.android.tools.r8.shaking.ProguardConfigurationSourceStrings createConfigurationForTesting(java.util.List):37 -> a
    3:3:java.nio.file.Path getBaseDirectory():47:47 -> a
    1:1:java.lang.String get():42:42 -> get
    1:1:java.lang.String getName():52:52 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():57:57 -> getOrigin
com.android.tools.r8.shaking.ProguardConfigurationUtils -> com.android.tools.r8.shaking.H1:
    1:10:void <clinit>():21:30 -> <clinit>
    1:14:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):92:105 -> a
    15:15:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule.builder():77:77 -> a
    15:15:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):105 -> a
    16:16:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    16:16:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):106 -> a
    17:17:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):106:106 -> a
    18:18:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    18:18:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):107 -> a
    19:22:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):107:110 -> a
    23:23:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):109:109 -> a
    24:36:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):108:120 -> a
    37:40:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):118:121 -> a
    41:41:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):112:112 -> a
    42:53:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):111:122 -> a
    54:64:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder.build():26:36 -> a
    54:64:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):122 -> a
    65:110:boolean hasExplicitAssumeValuesOrAssumeNoSideEffectsRuleForMinSdk(com.android.tools.r8.graph.DexItemFactory,java.util.List):131:176 -> a
com.android.tools.r8.shaking.ProguardConfigurationUtils$1 -> com.android.tools.r8.shaking.E1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):22:22 -> <init>
    1:1:java.lang.String part():25:25 -> part
com.android.tools.r8.shaking.ProguardConfigurationUtils$2 -> com.android.tools.r8.shaking.F1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):30:30 -> <init>
    1:1:java.lang.String part():33:33 -> part
com.android.tools.r8.shaking.ProguardConfigurationUtils$3 -> com.android.tools.r8.shaking.G1:
    com.android.tools.r8.utils.AndroidApiLevel val$apiLevel -> f
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.AndroidApiLevel):93:93 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:java.lang.String part():96:96 -> part
    99:99:java.lang.String part():96:96 -> part
    100:100:java.lang.String part():96:96 -> part
    97:97:java.lang.String part():96:96 -> part
com.android.tools.r8.shaking.ProguardIdentifierNameStringRule -> com.android.tools.r8.shaking.J1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):56:56 -> <init>
    1:1:java.lang.String typeString():78:78 -> C
com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$Builder -> com.android.tools.r8.shaking.I1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$1):12:12 -> <init>
    2:2:void <init>():15:15 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardIfRule -> com.android.tools.r8.shaking.N1:
    com.android.tools.r8.shaking.ProguardKeepRule subsequentRule -> u
    java.util.Set preconditions -> t
    int $r8$clinit -> y
    com.android.tools.r8.origin.Origin NEVER_INLINE_ORIGIN -> w
    com.android.tools.r8.origin.Origin NO_HORIZONTAL_CLASS_MERGING_ORIGIN -> x
    java.util.Map inlinableFieldsInPrecondition -> v
    1:10:void <clinit>():21:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRule,java.util.Set,com.android.tools.r8.shaking.ProguardIfRule$1):19:19 -> <init>
    2:18:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRule,java.util.Set):115:115 -> <init>
    19:111:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRule,java.util.Set):40:132 -> <init>
    1:1:java.lang.String typeString():299:299 -> C
    1:2:java.util.Set getAndClearInlinableFieldsMatchingPrecondition():55:56 -> F
    1:1:java.util.Set getPreconditions():43:43 -> G
    1:1:com.android.tools.r8.shaking.ProguardKeepRule getSubsequentRule():47:47 -> H
    1:1:void addInlinableFieldMatchingPrecondition(com.android.tools.r8.graph.DexField):51:51 -> a
    2:22:com.android.tools.r8.shaking.ProguardIfRule materialize(com.android.tools.r8.graph.DexItemFactory,java.util.Set):156:176 -> a
    23:23:com.android.tools.r8.shaking.ProguardMemberRule lambda$materialize$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardMemberRule):174:174 -> a
    24:39:com.android.tools.r8.shaking.ClassInlineRule neverClassInlineRuleForCondition(com.android.tools.r8.graph.DexItemFactory):181:196 -> a
    40:61:com.android.tools.r8.shaking.InlineRule neverInlineRuleForCondition(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.InlineRule$Type):224:245 -> a
    62:62:boolean lambda$neverInlineRuleForCondition$1(com.android.tools.r8.shaking.ProguardMemberRule):243:243 -> a
    1:1:com.android.tools.r8.shaking.ProguardMemberRule lambda$neverInlineRuleForCondition$2(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardMemberRule):244:244 -> b
    2:7:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):252:257 -> b
    8:8:com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder com.android.tools.r8.shaking.NoHorizontalClassMergingRule.builder():77:77 -> b
    8:8:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):260 -> b
    9:9:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):260:260 -> b
    10:10:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> b
    10:10:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):261 -> b
    11:11:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):263:263 -> b
    12:14:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):262:264 -> b
    15:15:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassAccessFlags(com.android.tools.r8.shaking.ProguardAccessFlags):155:155 -> b
    15:15:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):264 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):265:265 -> b
    17:17:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setNegatedClassAccessFlags(com.android.tools.r8.shaking.ProguardAccessFlags):164:164 -> b
    17:17:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):265 -> b
    18:18:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):266:266 -> b
    19:19:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> b
    19:19:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):266 -> b
    20:20:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):267:267 -> b
    21:21:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassTypeNegated(boolean):146:146 -> b
    21:21:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):267 -> b
    22:24:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):268:270 -> b
    25:30:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):269:274 -> b
    31:31:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceClassName(com.android.tools.r8.shaking.ProguardTypeMatcher):109:109 -> b
    31:31:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):271 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:32:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):275:275 -> b
    33:33:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):96:96 -> b
    33:33:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):275 -> b
    34:35:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):276:277 -> b
    36:46:com.android.tools.r8.shaking.NoHorizontalClassMergingRule com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder.build():29:39 -> b
    36:46:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):277 -> b
    47:47:boolean lambda$noHorizontalClassMergingRuleForCondition$3(com.android.tools.r8.shaking.ProguardMemberRule):255:255 -> b
    1:1:com.android.tools.r8.shaking.ProguardMemberRule lambda$noHorizontalClassMergingRuleForCondition$4(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardMemberRule):256:256 -> c
    1:8:boolean equals(java.lang.Object):282:289 -> equals
    1:1:int hashCode():294:294 -> hashCode
    com.android.tools.r8.shaking.ProguardIfRule asProguardIfRule() -> s
    1:1:java.lang.Iterable getWildcards():141:141 -> x
    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> x
    2:2:java.lang.Iterable getWildcards():141 -> x
com.android.tools.r8.shaking.ProguardIfRule$1 -> com.android.tools.r8.shaking.K1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):22:22 -> <init>
    1:1:java.lang.String part():25:25 -> part
com.android.tools.r8.shaking.ProguardIfRule$2 -> com.android.tools.r8.shaking.L1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):30:30 -> <init>
    1:1:java.lang.String part():33:33 -> part
com.android.tools.r8.shaking.ProguardIfRule$Builder -> com.android.tools.r8.shaking.M1:
    com.android.tools.r8.shaking.ProguardKeepRule subsequentRule -> r
    boolean $assertionsDisabled -> s
    1:1:void <clinit>():60:60 -> <clinit>
    1:1:void <init>():65:65 -> <init>
    2:2:void <init>():62:62 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardKeepAttributes -> com.android.tools.r8.internal.gN:
    boolean runtimeInvisibleAnnotations -> m
    boolean runtimeVisibleParameterAnnotations -> n
    boolean runtimeInvisibleParameterAnnotations -> o
    boolean runtimeVisibleTypeAnnotations -> p
    boolean localVariableTypeTable -> i
    boolean methodParameters -> j
    boolean sourceDebugExtension -> k
    java.util.List KEEP_ALL -> t
    boolean runtimeVisibleAnnotations -> l
    boolean runtimeInvisibleTypeAnnotations -> q
    boolean annotationDefault -> r
    boolean stackMapTable -> s
    boolean signature -> e
    boolean exceptions -> f
    boolean lineNumberTable -> g
    boolean localVariableTable -> h
    boolean sourceFile -> a
    boolean sourceDir -> b
    boolean innerClasses -> c
    boolean enclosingMethod -> d
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>():58:58 -> <init>
    2:20:void <init>():38:56 -> <init>
    1:10:boolean update(boolean,java.lang.String,java.util.List):74:83 -> a
    11:27:boolean matches(java.lang.String,int,java.lang.String,int):90:106 -> a
    28:28:com.android.tools.r8.shaking.ProguardKeepAttributes fromPatterns(java.util.List):110:110 -> a
    29:53:void com.android.tools.r8.shaking.ProguardKeepAttributes.applyPatterns(java.util.List):116:140 -> a
    29:53:com.android.tools.r8.shaking.ProguardKeepAttributes fromPatterns(java.util.List):111 -> a
    54:106:java.lang.StringBuilder append(java.lang.StringBuilder):235:287 -> a
    1:5:boolean equals(java.lang.Object):173:177 -> equals
    1:16:int hashCode():197:212 -> hashCode
    1:1:java.lang.String toString():295:295 -> toString
com.android.tools.r8.shaking.ProguardKeepRule -> com.android.tools.r8.shaking.P1:
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRuleType,com.android.tools.r8.shaking.ProguardKeepRuleModifiers):63:63 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardKeepRule$Builder builder():85:85 -> F
    1:134:void appendNonEmpty(java.lang.StringBuilder,java.lang.String,java.lang.Object,java.lang.String):0:133 -> a
    135:156:com.android.tools.r8.shaking.ProguardKeepRule materialize(com.android.tools.r8.graph.DexItemFactory):89:110 -> a
    157:157:com.android.tools.r8.shaking.ProguardMemberRule lambda$materialize$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardMemberRule):107:107 -> a
    158:160:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):140:142 -> a
    161:161:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    161:161:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):141 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    162:162:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):148:148 -> a
    163:163:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    163:163:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):148 -> a
    164:164:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> a
    164:164:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():184 -> a
    164:164:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    165:165:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():184:184 -> a
    165:165:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    166:168:com.android.tools.r8.shaking.ProguardMemberRule com.android.tools.r8.shaking.ProguardMemberRule.defaultKeepAllRule():444:446 -> a
    166:168:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():185 -> a
    166:168:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    169:169:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():185:185 -> a
    169:169:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    170:170:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):150:150 -> a
    171:171:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> a
    171:171:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):151 -> a
    172:175:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):151:154 -> a
    1:5:boolean equals(java.lang.Object):115:119 -> equals
    com.android.tools.r8.shaking.ProguardKeepRule asProguardKeepRule() -> t
com.android.tools.r8.shaking.ProguardKeepRule$1 -> com.android.tools.r8.shaking.O1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):142:142 -> <init>
    1:1:java.lang.String part():145:145 -> part
com.android.tools.r8.shaking.ProguardKeepRule$Builder -> com.android.tools.r8.shaking.P1$a:
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
    1:16:com.android.tools.r8.shaking.ProguardKeepRule build():28:43 -> f
com.android.tools.r8.shaking.ProguardKeepRuleBase -> com.android.tools.r8.shaking.Q1:
    com.android.tools.r8.shaking.ProguardKeepRuleModifiers modifiers -> s
    com.android.tools.r8.shaking.ProguardKeepRuleType type -> r
    1:16:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRuleType,com.android.tools.r8.shaking.ProguardKeepRuleModifiers):58:73 -> <init>
    1:1:java.lang.String modifierString():132:132 -> B
    1:1:java.lang.String typeString():127:127 -> C
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers getModifiers():81:81 -> D
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleType getType():77:77 -> E
    1:12:boolean equals(java.lang.Object):86:97 -> equals
    1:3:int hashCode():103:105 -> hashCode
com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder -> com.android.tools.r8.shaking.Q1$a:
    com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder modifiersBuilder -> q
    com.android.tools.r8.shaking.ProguardKeepRuleType type -> p
    1:1:void <init>():21:21 -> <init>
    2:2:void <init>():18:18 -> <init>
    1:2:com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder setType(com.android.tools.r8.shaking.ProguardKeepRuleType):25:26 -> a
com.android.tools.r8.shaking.ProguardKeepRuleModifiers -> com.android.tools.r8.shaking.R1:
    boolean allowsObfuscation -> e
    boolean includeDescriptorClasses -> f
    boolean allowsAccessModification -> a
    boolean allowsAnnotationRemoval -> b
    boolean allowsShrinking -> c
    boolean allowsOptimization -> d
    1:1:void <init>(boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.shaking.ProguardKeepRuleModifiers$1):6:6 -> <init>
    2:8:void <init>(boolean,boolean,boolean,boolean,boolean,boolean):71:77 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder builder():84:84 -> a
    2:5:void appendWithComma(java.lang.StringBuilder,boolean,java.lang.String):136:139 -> a
    1:5:boolean equals(java.lang.Object):98:102 -> equals
    1:6:int hashCode():112:117 -> hashCode
    1:8:java.lang.String toString():122:129 -> toString
com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder -> com.android.tools.r8.shaking.R1$a:
    boolean allowsObfuscation -> e
    boolean includeDescriptorClasses -> f
    boolean allowsAccessModification -> a
    boolean allowsAnnotationRemoval -> b
    boolean allowsShrinking -> c
    boolean allowsOptimization -> d
    1:1:void <init>(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$1):7:7 -> <init>
    2:2:void <init>():16:16 -> <init>
    3:8:void <init>():9:14 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers build():48:48 -> a
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsAccessModification(boolean):19:19 -> b
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsAnnotationRemoval(boolean):24:24 -> c
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsObfuscation(boolean):39:39 -> d
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsOptimization(boolean):34:34 -> e
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsShrinking(boolean):29:29 -> f
    1:1:void setIncludeDescriptorClasses(boolean):44:44 -> g
com.android.tools.r8.shaking.ProguardKeepRuleType -> com.android.tools.r8.internal.iN:
    com.android.tools.r8.shaking.ProguardKeepRuleType[] $VALUES -> f
    com.android.tools.r8.shaking.ProguardKeepRuleType KEEP -> b
    com.android.tools.r8.shaking.ProguardKeepRuleType KEEP_CLASS_MEMBERS -> c
    com.android.tools.r8.shaking.ProguardKeepRuleType KEEP_CLASSES_WITH_MEMBERS -> d
    com.android.tools.r8.shaking.ProguardKeepRuleType CONDITIONAL -> e
    1:4:void <clinit>():9:12 -> <clinit>
    5:5:void <clinit>():8:8 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleType[] values():8:8 -> a
    1:11:java.lang.String toString():16:26 -> toString
    12:12:java.lang.String toString():24:24 -> toString
    13:13:java.lang.String toString():22:22 -> toString
    14:14:java.lang.String toString():20:20 -> toString
    15:15:java.lang.String toString():18:18 -> toString
com.android.tools.r8.shaking.ProguardKeepRuleType$1 -> com.android.tools.r8.internal.hN:
    int[] $SwitchMap$com$android$tools$r8$shaking$ProguardKeepRuleType -> a
    1:1:void <clinit>():16:16 -> <clinit>
com.android.tools.r8.shaking.ProguardMemberRule -> com.android.tools.r8.shaking.T1:
    com.android.tools.r8.shaking.ProguardNameMatcher name -> f
    java.util.List annotations -> a
    com.android.tools.r8.shaking.ProguardMemberType ruleType -> d
    com.android.tools.r8.shaking.ProguardTypeMatcher type -> e
    com.android.tools.r8.shaking.ProguardAccessFlags negatedAccessFlags -> c
    com.android.tools.r8.shaking.ProguardAccessFlags accessFlags -> b
    java.util.List arguments -> g
    com.android.tools.r8.shaking.ProguardMemberRuleReturnValue returnValue -> h
    1:1:void <init>(java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardMemberType,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardNameMatcher,java.util.List,com.android.tools.r8.shaking.ProguardMemberRuleReturnValue,com.android.tools.r8.shaking.ProguardMemberRule$1):24:24 -> <init>
    2:10:void <init>(java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardMemberType,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardNameMatcher,java.util.List,com.android.tools.r8.shaking.ProguardMemberRuleReturnValue):125:133 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardMemberRule$Builder builder():140:140 -> a
    2:34:boolean matches(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):189:221 -> a
    35:40:boolean matches(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):195:200 -> a
    41:41:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):241:241 -> a
    42:42:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    42:42:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):241 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    43:90:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):242:289 -> a
    91:91:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.isTripleDotPattern():0:0 -> a
    91:91:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):289 -> a
    92:97:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):292:297 -> a
    98:111:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):244:257 -> a
    112:112:java.util.stream.Stream lambda$getWildcards$0(java.lang.Iterable):333:333 -> a
    113:125:com.android.tools.r8.shaking.ProguardMemberRule materialize(com.android.tools.r8.graph.DexItemFactory):339:351 -> a
    126:126:com.android.tools.r8.shaking.ProguardTypeMatcher lambda$materialize$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardTypeMatcher):349:349 -> a
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getAccessFlags():148:148 -> b
    1:1:java.util.List getAnnotations():144:144 -> c
    1:1:java.util.List getArguments():168:168 -> d
    1:1:com.android.tools.r8.shaking.ProguardNameMatcher getName():164:164 -> e
    1:25:boolean equals(java.lang.Object):356:380 -> equals
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getNegatedAccessFlags():152:152 -> f
    1:1:com.android.tools.r8.shaking.ProguardMemberRuleReturnValue getReturnValue():176:176 -> g
    1:1:com.android.tools.r8.shaking.ProguardMemberType getRuleType():156:156 -> h
    1:7:int hashCode():385:391 -> hashCode
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher getType():160:160 -> i
    1:10:java.lang.Iterable getWildcards():326:335 -> j
    11:11:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):454:454 -> j
    11:11:java.lang.Iterable getWildcards():326 -> j
    1:1:boolean hasReturnValue():172:172 -> k
    1:39:java.lang.String toString():397:435 -> toString
    40:49:java.lang.String toString():412:421 -> toString
    50:68:java.lang.String toString():409:427 -> toString
    69:103:java.lang.String toString():406:440 -> toString
com.android.tools.r8.shaking.ProguardMemberRule$1 -> com.android.tools.r8.shaking.S1:
    int[] $SwitchMap$com$android$tools$r8$shaking$ProguardMemberType -> a
    1:1:void <clinit>():190:190 -> <clinit>
com.android.tools.r8.shaking.ProguardMemberRule$Builder -> com.android.tools.r8.shaking.T1$a:
    com.android.tools.r8.shaking.ProguardNameMatcher name -> f
    java.util.List annotations -> a
    com.android.tools.r8.shaking.ProguardMemberType ruleType -> d
    boolean $assertionsDisabled -> i
    com.android.tools.r8.shaking.ProguardTypeMatcher type -> e
    com.android.tools.r8.shaking.ProguardAccessFlags negatedAccessFlags -> c
    com.android.tools.r8.shaking.ProguardAccessFlags accessFlags -> b
    java.util.List arguments -> g
    com.android.tools.r8.shaking.ProguardMemberRuleReturnValue returnValue -> h
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardMemberRule$1):26:26 -> <init>
    2:2:void <init>():37:37 -> <init>
    3:5:void <init>():28:30 -> <init>
    1:2:void setAnnotations(java.util.List):40:41 -> a
    3:3:com.android.tools.r8.shaking.ProguardMemberRule$Builder setAccessFlags(com.android.tools.r8.shaking.ProguardAccessFlags):49:49 -> a
    4:4:com.android.tools.r8.shaking.ProguardMemberRule$Builder setRuleType(com.android.tools.r8.shaking.ProguardMemberType):62:62 -> a
    5:5:com.android.tools.r8.shaking.ProguardMemberRule$Builder setTypeMatcher(com.android.tools.r8.shaking.ProguardTypeMatcher):71:71 -> a
    6:6:com.android.tools.r8.shaking.ProguardMemberRule$Builder setName(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):76:76 -> a
    7:7:com.android.tools.r8.shaking.ProguardMemberRule$Builder setReturnValue(com.android.tools.r8.shaking.ProguardMemberRuleReturnValue):86:86 -> a
    8:9:com.android.tools.r8.shaking.ProguardMemberRule build():95:96 -> a
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getAccessFlags():45:45 -> b
    2:2:com.android.tools.r8.shaking.ProguardMemberRule$Builder setArguments(java.util.List):81:81 -> b
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getNegatedAccessFlags():54:54 -> c
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher getTypeMatcher():67:67 -> d
    1:1:boolean isValid():91:91 -> e
com.android.tools.r8.shaking.ProguardMemberRuleReturnValue -> com.android.tools.r8.shaking.U1:
    com.android.tools.r8.utils.LongInterval longInterval -> c
    com.android.tools.r8.shaking.ProguardMemberRuleReturnValue$Type type -> a
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexField field -> d
    boolean booleanValue -> b
    1:1:void <clinit>():10:10 -> <clinit>
    1:5:void <init>(boolean):23:27 -> <init>
    6:10:void <init>(com.android.tools.r8.utils.LongInterval):30:34 -> <init>
    11:15:void <init>(com.android.tools.r8.graph.DexField):37:41 -> <init>
    16:20:void <init>():44:48 -> <init>
    1:2:boolean getBoolean():72:73 -> a
    1:2:com.android.tools.r8.graph.DexField getField():109:110 -> b
    1:8:long getSingleValue():93:100 -> c
    1:2:com.android.tools.r8.utils.LongInterval getValueRange():104:105 -> d
    1:1:boolean isBoolean():52:52 -> e
    1:1:boolean isField():60:60 -> f
    1:1:boolean isNull():68:68 -> g
    1:1:boolean isSingleValue():82:82 -> h
    1:1:boolean isValueRange():56:56 -> i
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135}}
    133:133:java.lang.String toString():115:115 -> toString
    134:134:java.lang.String toString():115:115 -> toString
    135:135:java.lang.String toString():116:116 -> toString
    118:132:java.lang.String toString():117:131 -> toString
com.android.tools.r8.shaking.ProguardMemberType -> com.android.tools.r8.internal.oN:
    com.android.tools.r8.shaking.ProguardMemberType CONSTRUCTOR -> h
    com.android.tools.r8.shaking.ProguardMemberType INIT -> g
    com.android.tools.r8.shaking.ProguardMemberType CLINIT -> f
    com.android.tools.r8.shaking.ProguardMemberType ALL_METHODS -> e
    com.android.tools.r8.shaking.ProguardMemberType ALL -> d
    com.android.tools.r8.shaking.ProguardMemberType ALL_FIELDS -> c
    com.android.tools.r8.shaking.ProguardMemberType FIELD -> b
    com.android.tools.r8.shaking.ProguardMemberType[] $VALUES -> j
    com.android.tools.r8.shaking.ProguardMemberType METHOD -> i
    1:8:void <clinit>():8:15 -> <clinit>
    9:9:void <clinit>():6:6 -> <clinit>
    1:1:void <init>(java.lang.String,int):6:6 -> <init>
    1:1:boolean includesFields():18:18 -> a
    1:1:boolean includesMethods():22:22 -> b
    1:1:com.android.tools.r8.shaking.ProguardMemberType[] values():6:6 -> c
com.android.tools.r8.shaking.ProguardNameMatcher -> com.android.tools.r8.shaking.Y1:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.shaking.ProguardNameMatcher MATCH_ALL_NAMES -> a
    1:3:void <clinit>():14:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardNameMatcher$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    boolean matches(java.lang.String) -> a
    1:1:boolean access$100(java.lang.String,int,java.lang.String,int,java.util.List,int):14:14 -> a
    2:44:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):39:81 -> a
    45:58:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):56:69 -> a
    59:59:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    59:59:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):70 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    60:60:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    60:60:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):70 -> a
    61:67:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):72:78 -> a
    68:112:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):43:87 -> a
    113:113:java.lang.Iterable getWildcards():93:93 -> a
    114:114:java.lang.Iterable getWildcardsOrEmpty(com.android.tools.r8.shaking.ProguardNameMatcher):97:97 -> a
    115:115:boolean com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards.isMatchAllNames():2263:2263 -> a
    115:115:com.android.tools.r8.shaking.ProguardNameMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):23 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    116:116:boolean com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards.isMatchAllNames():2263:2263 -> a
    116:116:com.android.tools.r8.shaking.ProguardNameMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):23 -> a
    117:121:com.android.tools.r8.shaking.ProguardNameMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):24:28 -> a
    com.android.tools.r8.shaking.ProguardNameMatcher materialize() -> b
com.android.tools.r8.shaking.ProguardNameMatcher$MatchAllNames -> com.android.tools.r8.shaking.V1:
    com.android.tools.r8.shaking.ProguardWildcard wildcard -> c
    1:1:void <init>():108:108 -> <init>
    2:3:void <init>(com.android.tools.r8.shaking.ProguardWildcard):111:112 -> <init>
    1:1:boolean matches(java.lang.String):117:117 -> a
    2:2:java.lang.Iterable getWildcards():123:123 -> a
    1:1:com.android.tools.r8.shaking.ProguardNameMatcher$MatchAllNames materialize():128:128 -> b
    1:1:com.android.tools.r8.shaking.ProguardNameMatcher materialize():104 -> b
    1:1:java.lang.String toString():133:133 -> toString
com.android.tools.r8.shaking.ProguardNameMatcher$MatchNamePattern -> com.android.tools.r8.shaking.W1:
    java.util.List wildcards -> d
    java.lang.String pattern -> c
    1:3:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):142:144 -> <init>
    1:3:boolean matches(java.lang.String):149:151 -> a
    4:4:java.lang.Iterable getWildcards():158:158 -> a
    1:1:com.android.tools.r8.shaking.ProguardNameMatcher materialize():137:137 -> b
    1:5:com.android.tools.r8.shaking.ProguardNameMatcher$MatchNamePattern materialize():163:167 -> c
    1:1:boolean equals(java.lang.Object):180:180 -> equals
    1:1:int hashCode():185:185 -> hashCode
    1:1:java.lang.String toString():172:172 -> toString
com.android.tools.r8.shaking.ProguardNameMatcher$MatchSpecificName -> com.android.tools.r8.shaking.X1:
    java.lang.String name -> c
    1:2:void <init>(java.lang.String):193:194 -> <init>
    1:1:boolean matches(java.lang.String):199:199 -> a
    1:1:boolean equals(java.lang.Object):209:209 -> equals
    1:1:int hashCode():214:214 -> hashCode
    1:1:java.lang.String toString():204:204 -> toString
com.android.tools.r8.shaking.ProguardPackageMatcher -> com.android.tools.r8.internal.pN:
    java.lang.String pattern -> a
    1:2:void <init>(java.lang.String):10:11 -> <init>
    1:1:boolean matches(java.lang.String):15:15 -> a
    2:47:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):20:65 -> a
    48:48:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):58:58 -> a
    49:55:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):27:33 -> a
    56:56:boolean com.android.tools.r8.shaking.ProguardPackageMatcher.containsSeparatorsStartingAt(java.lang.String,int):75:75 -> a
    56:56:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):37 -> a
    57:86:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):42:71 -> a
    1:5:boolean equals(java.lang.Object):83:87 -> equals
    1:1:int hashCode():92:92 -> hashCode
com.android.tools.r8.shaking.ProguardPackageNameList -> com.android.tools.r8.shaking.Z1:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap packageNames -> a
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,com.android.tools.r8.shaking.ProguardPackageNameList$1):13:13 -> <init>
    2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):40:41 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPackageNameList$Builder builder():16:16 -> a
    2:2:boolean matches(com.android.tools.r8.graph.DexType):60:60 -> a
    3:6:boolean matches(java.lang.String):69:72 -> a
    3:6:boolean matches(com.android.tools.r8.graph.DexType):60 -> a
    7:7:boolean matches(com.android.tools.r8.graph.ProgramPackage):64:64 -> a
    8:11:boolean matches(java.lang.String):69:72 -> a
    8:11:boolean matches(com.android.tools.r8.graph.ProgramPackage):64 -> a
    1:15:boolean equals(java.lang.Object):83:97 -> equals
    1:6:int hashCode():107:112 -> hashCode
com.android.tools.r8.shaking.ProguardPackageNameList$Builder -> com.android.tools.r8.shaking.Z1$a:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap matchers -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardPackageNameList$1):19:19 -> <init>
    2:2:void <init>():25:25 -> <init>
    3:3:void <init>():22:22 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPackageNameList$Builder addPackageName(boolean,com.android.tools.r8.shaking.ProguardPackageMatcher):29:29 -> a
    2:2:com.android.tools.r8.shaking.ProguardPackageNameList build():34:34 -> a
com.android.tools.r8.shaking.ProguardPathFilter -> com.android.tools.r8.shaking.b2:
    boolean enabled -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList patterns -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,boolean,com.android.tools.r8.shaking.ProguardPathFilter$1):9:9 -> <init>
    2:8:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,boolean):44:50 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPathFilter$Builder builder():14:14 -> a
    2:4:boolean matches(java.lang.String):59:61 -> a
    1:1:boolean isEnabled():55:55 -> b
com.android.tools.r8.shaking.ProguardPathFilter$Builder -> com.android.tools.r8.shaking.a2:
    boolean enabled -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder patterns -> b
    1:1:void <init>(com.android.tools.r8.shaking.ProguardPathFilter$1):17:17 -> <init>
    2:2:void <init>():21:21 -> <init>
    3:4:void <init>():18:19 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPathFilter$Builder addPattern(com.android.tools.r8.shaking.ProguardPathList):25:25 -> a
    2:2:com.android.tools.r8.shaking.ProguardPathFilter build():40:40 -> a
    1:1:com.android.tools.r8.shaking.ProguardPathFilter$Builder disable():30:30 -> b
    1:1:com.android.tools.r8.shaking.ProguardPathFilter$Builder enable():35:35 -> c
com.android.tools.r8.shaking.ProguardPathList -> com.android.tools.r8.shaking.g2:
    1:1:void <init>():10:10 -> <init>
    boolean matches(java.lang.String) -> a
    1:1:com.android.tools.r8.shaking.ProguardPathList$Builder builder():13:13 -> a
    1:1:com.android.tools.r8.shaking.ProguardPathList emptyList():17:17 -> b
com.android.tools.r8.shaking.ProguardPathList$Builder -> com.android.tools.r8.shaking.c2:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder matchers -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardPathList$1):22:22 -> <init>
    2:2:void <init>():26:26 -> <init>
    3:3:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPathList$Builder addFileName(java.lang.String):30:30 -> a
    2:2:com.android.tools.r8.shaking.ProguardPathList$Builder addFileName(java.lang.String,boolean):34:34 -> a
    1:5:com.android.tools.r8.shaking.ProguardPathList build():39:43 -> b
com.android.tools.r8.shaking.ProguardPathList$EmptyPathList -> com.android.tools.r8.shaking.d2:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardPathList$1):122:122 -> <init>
    2:2:void <init>():124:124 -> <init>
    boolean matches(java.lang.String) -> a
com.android.tools.r8.shaking.ProguardPathList$FileNameMatcher -> com.android.tools.r8.shaking.e2:
    boolean negated -> a
    java.lang.String pattern -> b
    1:3:void <init>(boolean,java.lang.String):52:54 -> <init>
    1:1:boolean match(java.lang.String):58:58 -> a
    1:1:boolean access$300(com.android.tools.r8.shaking.ProguardPathList$FileNameMatcher,java.lang.String):48 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean match(java.lang.String):58:58 -> a
    2:2:boolean access$300(com.android.tools.r8.shaking.ProguardPathList$FileNameMatcher,java.lang.String):48 -> a
    3:29:boolean matchImpl(java.lang.String,int,java.lang.String,int):62:88 -> a
    30:30:boolean matchImpl(java.lang.String,int,java.lang.String,int):83:83 -> a
    31:34:boolean matchImpl(java.lang.String,int,java.lang.String,int):66:69 -> a
    35:35:boolean containsSeparatorsStartingAt(java.lang.String,int):98:98 -> a
    35:35:boolean matchImpl(java.lang.String,int,java.lang.String,int):70 -> a
    36:57:boolean matchImpl(java.lang.String,int,java.lang.String,int):73:94 -> a
com.android.tools.r8.shaking.ProguardPathList$PathList -> com.android.tools.r8.shaking.f2:
    java.util.List matchers -> a
    1:1:void <init>(java.util.List,com.android.tools.r8.shaking.ProguardPathList$1):103:103 -> <init>
    2:3:void <init>(java.util.List):106:107 -> <init>
    1:4:boolean matches(java.lang.String):112:115 -> a
com.android.tools.r8.shaking.ProguardRuleParserException -> com.android.tools.r8.internal.qN:
    com.android.tools.r8.position.Position position -> e
    com.android.tools.r8.origin.Origin origin -> d
    java.lang.String snippet -> c
    java.lang.String message -> b
    1:5:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):18:22 -> <init>
    1:1:java.lang.String getDiagnosticMessage():43:43 -> getDiagnosticMessage
    1:1:java.lang.String getMessage():48:48 -> getMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():33:33 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():38:38 -> getPosition
com.android.tools.r8.shaking.ProguardTypeMatcher -> com.android.tools.r8.shaking.h2:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardTypeMatcher$1):23:23 -> <init>
    2:2:void <init>():31:31 -> <init>
    com.android.tools.r8.shaking.ProguardTypeMatcher$MatchSpecificType asSpecificTypeMatcher() -> a
    com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory) -> a
    1:5:boolean matches(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):49:53 -> a
    6:6:java.lang.Iterable getWildcardsOrEmpty(com.android.tools.r8.shaking.ProguardTypeMatcher):63:63 -> a
    7:9:java.lang.Iterable getWildcardsOrEmpty(java.util.List):67:69 -> a
    10:17:java.util.List materializeList(java.util.List,com.android.tools.r8.graph.DexItemFactory):80:87 -> a
    18:35:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.graph.DexItemFactory):101:118 -> a
    36:39:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.graph.DexItemFactory):117:120 -> a
    40:40:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.graph.DexItemFactory):108:108 -> a
    41:49:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.graph.DexItemFactory):106:114 -> a
    50:50:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.graph.DexType):125:125 -> a
    com.android.tools.r8.graph.DexType getSpecificType() -> b
    boolean matches(com.android.tools.r8.graph.DexType) -> b
    1:1:java.lang.Iterable getWildcards():59:59 -> c
com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType -> com.android.tools.r8.shaking.h2$a:
    com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType TYPE -> c
    com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType CLASS -> b
    1:2:void <clinit>():35:36 -> <clinit>
    1:1:void <init>(java.lang.String,int):34:34 -> <init>
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchAllTypes -> com.android.tools.r8.shaking.i2:
    com.android.tools.r8.shaking.ProguardWildcard wildcard -> a
    com.android.tools.r8.shaking.ProguardTypeMatcher MATCH_ALL_TYPES -> b
    1:1:void <clinit>():152:152 -> <clinit>
    2:2:void <init>():157:157 -> <clinit>
    2:2:void <clinit>():152 -> <clinit>
    3:3:void <clinit>():152:152 -> <clinit>
    1:2:void <init>(com.android.tools.r8.shaking.ProguardWildcard):160:161 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher$MatchAllTypes materialize(com.android.tools.r8.graph.DexItemFactory):177:177 -> a
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):150 -> a
    1:1:boolean matches(com.android.tools.r8.graph.DexType):166:166 -> b
    1:1:java.lang.Iterable getWildcards():172:172 -> c
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$000():150:150 -> d
    1:1:boolean equals(java.lang.Object):187:187 -> equals
    1:1:int hashCode():192:192 -> hashCode
    1:1:java.lang.String toString():182:182 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchAnyArgSequence -> com.android.tools.r8.shaking.j2:
    com.android.tools.r8.shaking.ProguardTypeMatcher MATCH_ANY_ARG_SEQUENCE -> a
    1:1:void <clinit>():198:198 -> <clinit>
    1:1:void <init>():196:196 -> <init>
    boolean matches(com.android.tools.r8.graph.DexType) -> b
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$100():196:196 -> d
    1:1:boolean equals(java.lang.Object):217:217 -> equals
    1:1:int hashCode():222:222 -> hashCode
    1:1:java.lang.String toString():207:207 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchBasicTypes -> com.android.tools.r8.shaking.k2:
    com.android.tools.r8.shaking.ProguardWildcard wildcard -> a
    com.android.tools.r8.shaking.ProguardTypeMatcher MATCH_BASIC_TYPES -> b
    1:1:void <clinit>():283:283 -> <clinit>
    2:2:void <init>():288:288 -> <clinit>
    2:2:void <clinit>():283 -> <clinit>
    3:3:void <clinit>():283:283 -> <clinit>
    1:2:void <init>(com.android.tools.r8.shaking.ProguardWildcard):291:292 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher$MatchBasicTypes materialize(com.android.tools.r8.graph.DexItemFactory):311:311 -> a
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):281 -> a
    1:2:boolean matches(com.android.tools.r8.graph.DexType):297:298 -> b
    1:1:java.lang.Iterable getWildcards():306:306 -> c
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$400():281:281 -> d
    1:1:boolean equals(java.lang.Object):321:321 -> equals
    1:1:int hashCode():326:326 -> hashCode
    1:1:java.lang.String toString():316:316 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchClassTypes -> com.android.tools.r8.shaking.l2:
    com.android.tools.r8.shaking.ProguardWildcard wildcard -> b
    com.android.tools.r8.shaking.ProguardTypeMatcher MATCH_CLASS_TYPES -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.shaking.ProguardTypeMatcher LEGACY_MATCH_CLASS_TYPES -> d
    java.lang.String pattern -> a
    1:5:void <clinit>():226:230 -> <clinit>
    1:1:void <init>(java.lang.String):237:237 -> <init>
    2:5:void <init>(java.lang.String,com.android.tools.r8.shaking.ProguardWildcard):240:243 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher$MatchClassTypes materialize(com.android.tools.r8.graph.DexItemFactory):262:262 -> a
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):226 -> a
    1:2:boolean matches(com.android.tools.r8.graph.DexType):248:249 -> b
    1:1:java.lang.Iterable getWildcards():257:257 -> c
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$200():226:226 -> d
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$300():226:226 -> e
    1:1:boolean equals(java.lang.Object):272:272 -> equals
    1:1:int hashCode():277:277 -> hashCode
    1:1:java.lang.String toString():267:267 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchSpecificType -> com.android.tools.r8.shaking.h2$b:
    com.android.tools.r8.graph.DexType type -> a
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardTypeMatcher$1):330:330 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexType):334:335 -> <init>
    com.android.tools.r8.shaking.ProguardTypeMatcher$MatchSpecificType asSpecificTypeMatcher() -> a
    1:1:boolean matches(com.android.tools.r8.graph.DexType):345:345 -> b
    2:2:com.android.tools.r8.graph.DexType getSpecificType():373:373 -> b
    1:2:boolean equals(java.lang.Object):355:356 -> equals
    1:1:int hashCode():363:363 -> hashCode
    1:1:java.lang.String toString():350:350 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchTypePattern -> com.android.tools.r8.shaking.m2:
    java.util.List wildcards -> b
    java.lang.String pattern -> a
    com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType kind -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():377:377 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.shaking.ProguardTypeMatcher$1):377:377 -> <init>
    2:5:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):384:387 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):408:408 -> a
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    2:2:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):408 -> a
    3:8:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):409:414 -> a
    9:9:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    9:9:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):415 -> a
    10:18:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):414:422 -> a
    19:36:java.lang.String removeMaterializedBackReferencesFromPattern(java.lang.String,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):442:459 -> a
    19:36:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):423 -> a
    37:39:boolean com.android.tools.r8.utils.StringUtils.onlyContainsDigits(java.lang.String):312:314 -> a
    37:39:java.lang.String removeMaterializedBackReferencesFromPattern(java.lang.String,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):459 -> a
    37:39:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):423 -> a
    40:65:java.lang.String removeMaterializedBackReferencesFromPattern(java.lang.String,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):463:488 -> a
    40:65:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):423 -> a
    66:79:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):424:437 -> a
    80:171:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):499:590 -> a
    172:186:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):563:577 -> a
    187:187:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    187:187:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):578 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    188:188:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    188:188:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):578 -> a
    189:195:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):580:586 -> a
    196:217:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):503:524 -> a
    218:222:boolean isArrayType(java.lang.String):604:608 -> a
    218:222:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):524 -> a
    223:223:boolean containsSeparatorsStartingAt(java.lang.String,int):600:600 -> a
    223:223:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):526 -> a
    224:224:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):527:527 -> a
    225:229:boolean isArrayType(java.lang.String):604:608 -> a
    225:229:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):527 -> a
    230:259:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):531:560 -> a
    260:297:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):559:596 -> a
    1:4:boolean matches(com.android.tools.r8.graph.DexType):393:396 -> b
    1:1:java.lang.Iterable getWildcards():403:403 -> c
    1:3:boolean equals(java.lang.Object):618:620 -> equals
    1:1:int hashCode():627:627 -> hashCode
    1:1:java.lang.String toString():613:613 -> toString
com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule -> com.android.tools.r8.shaking.o2:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():79:79 -> C
com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$Builder -> com.android.tools.r8.shaking.n2:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardWildcard -> com.android.tools.r8.shaking.p2:
    1:1:void <init>():8:8 -> <init>
    com.android.tools.r8.shaking.ProguardWildcard$BackReference asBackReference() -> a
    void setCaptured(java.lang.String) -> a
    com.android.tools.r8.shaking.ProguardWildcard$Pattern asPattern() -> b
    void clearCaptured() -> c
    boolean isBackReference() -> d
    boolean isPattern() -> e
    com.android.tools.r8.shaking.ProguardWildcard materialize() -> f
com.android.tools.r8.shaking.ProguardWildcard$BackReference -> com.android.tools.r8.shaking.p2$a:
    int referenceIndex -> b
    com.android.tools.r8.shaking.ProguardWildcard$Pattern reference -> a
    1:2:void <init>(int):85:86 -> <init>
    com.android.tools.r8.shaking.ProguardWildcard$BackReference asBackReference() -> a
    1:1:void setReference(com.android.tools.r8.shaking.ProguardWildcard$Pattern):90:90 -> a
    2:2:void setCaptured(java.lang.String):95:95 -> a
    void clearCaptured() -> c
    boolean isBackReference() -> d
    1:5:com.android.tools.r8.shaking.ProguardWildcard$BackReference materialize():110:114 -> f
    1:5:com.android.tools.r8.shaking.ProguardWildcard materialize():80 -> f
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135}}
    133:133:java.lang.String toString():130:130 -> toString
    134:134:java.lang.String toString():130:130 -> toString
    135:135:java.lang.String toString():130:130 -> toString
    131:131:java.lang.String toString():130:130 -> toString
    132:132:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135}}
    133:133:java.lang.String toString():130:130 -> toString
    134:134:java.lang.String toString():130:130 -> toString
    135:135:java.lang.String toString():130:130 -> toString
com.android.tools.r8.shaking.ProguardWildcard$Pattern -> com.android.tools.r8.shaking.p2$b:
    java.lang.String pattern -> a
    java.lang.String captured -> b
    1:1:void <init>(java.lang.String):35:35 -> <init>
    2:5:void <init>(java.lang.String):33:36 -> <init>
    1:1:void setCaptured(java.lang.String):41:41 -> a
    com.android.tools.r8.shaking.ProguardWildcard$Pattern asPattern() -> b
    1:1:void clearCaptured():46:46 -> c
    boolean isPattern() -> e
    1:1:com.android.tools.r8.shaking.ProguardWildcard materialize():31:31 -> f
    1:1:java.lang.String getCaptured():51:51 -> g
    1:5:com.android.tools.r8.shaking.ProguardWildcard$Pattern materialize():56:60 -> h
    6:6:void setCaptured(java.lang.String):41:41 -> h
    6:6:com.android.tools.r8.shaking.ProguardWildcard$Pattern materialize():60 -> h
    1:1:java.lang.String toString():76:76 -> toString
com.android.tools.r8.shaking.ReprocessClassInitializerRule -> com.android.tools.r8.shaking.r2:
    int $r8$clinit -> s
    com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type type -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.shaking.ReprocessClassInitializerRule$1):11:11 -> <init>
    2:16:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type):74:88 -> <init>
    1:7:java.lang.String typeString():111:117 -> C
    8:8:java.lang.String typeString():113:113 -> C
    1:1:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type getType():96:96 -> D
    com.android.tools.r8.shaking.ReprocessClassInitializerRule asReprocessClassInitializerRule() -> u
com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder -> com.android.tools.r8.shaking.q2:
    com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.ReprocessClassInitializerRule$1):18:18 -> <init>
    2:2:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder setType(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type):28:28 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
    1:11:com.android.tools.r8.shaking.ReprocessClassInitializerRule build():39:49 -> f
com.android.tools.r8.shaking.ReprocessMethodRule -> com.android.tools.r8.shaking.t2:
    com.android.tools.r8.shaking.ReprocessMethodRule$Type type -> r
    int $r8$clinit -> s
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.shaking.ReprocessMethodRule$1):11:11 -> <init>
    2:16:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ReprocessMethodRule$Type):74:88 -> <init>
    1:7:java.lang.String typeString():111:117 -> C
    8:8:java.lang.String typeString():113:113 -> C
    1:1:com.android.tools.r8.shaking.ReprocessMethodRule$Type getType():96:96 -> D
    com.android.tools.r8.shaking.ReprocessMethodRule asReprocessMethodRule() -> v
com.android.tools.r8.shaking.ReprocessMethodRule$Builder -> com.android.tools.r8.shaking.s2:
    com.android.tools.r8.shaking.ReprocessMethodRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.ReprocessMethodRule$1):18:18 -> <init>
    2:2:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.shaking.ReprocessMethodRule$Builder setType(com.android.tools.r8.shaking.ReprocessMethodRule$Type):28:28 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
    1:11:com.android.tools.r8.shaking.ReprocessMethodRule build():39:49 -> f
com.android.tools.r8.shaking.RootSetUtils -> com.android.tools.r8.internal.yT:
com.android.tools.r8.shaking.RootSetUtils$1 -> com.android.tools.r8.shaking.u2:
    int[] $SwitchMap$com$android$tools$r8$shaking$InlineRule$Type -> b
    int[] $SwitchMap$com$android$tools$r8$shaking$ClassInlineRule$Type -> c
    int[] $SwitchMap$com$android$tools$r8$shaking$ReprocessClassInitializerRule$Type -> d
    int[] $SwitchMap$com$android$tools$r8$shaking$ReprocessMethodRule$Type -> e
    int[] $SwitchMap$com$android$tools$r8$shaking$ProguardKeepRuleType -> a
    1:1:com.android.tools.r8.shaking.ReprocessMethodRule$Type[] com.android.tools.r8.shaking.ReprocessMethodRule$Type.values():13:13 -> <clinit>
    1:1:void <clinit>():1322 -> <clinit>
    2:2:void <clinit>():1322:1322 -> <clinit>
    3:3:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type[] com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type.values():13:13 -> <clinit>
    3:3:void <clinit>():1307 -> <clinit>
    4:4:void <clinit>():1307:1307 -> <clinit>
    5:5:com.android.tools.r8.shaking.MemberValuePropagationRule$Type[] com.android.tools.r8.shaking.MemberValuePropagationRule$Type.values():13:13 -> <clinit>
    5:5:void <clinit>():1281 -> <clinit>
    6:6:void <clinit>():1281:1281 -> <clinit>
    7:7:com.android.tools.r8.shaking.ClassInlineRule$Type[] com.android.tools.r8.shaking.ClassInlineRule$Type.values():13:13 -> <clinit>
    7:7:void <clinit>():1225 -> <clinit>
    8:8:void <clinit>():1225:1225 -> <clinit>
    9:9:com.android.tools.r8.shaking.InlineRule$Type[] com.android.tools.r8.shaking.InlineRule$Type.values():13:13 -> <clinit>
    9:9:void <clinit>():1184 -> <clinit>
    10:10:void <clinit>():1184:1184 -> <clinit>
    11:11:void <clinit>():209:209 -> <clinit>
com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet -> com.android.tools.r8.shaking.v2:
    1:1:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,java.util.Map,java.util.List,com.android.tools.r8.utils.collections.ProgramMethodMap):2081:2081 -> <init>
com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder -> com.android.tools.r8.shaking.w2:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> H
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.RootSetUtils$1):2048:2048 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer):2056:2057 -> <init>
    1:2:void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult):2062:2063 -> a
    3:3:boolean com.android.tools.r8.shaking.AnnotationMatchResult.isConcreteAnnotationMatchResult():0:0 -> a
    3:3:void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult):2063 -> a
    4:6:void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult):2064:2064 -> a
com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet -> com.android.tools.r8.shaking.x2:
    boolean $assertionsDisabled -> x
    1:1:void <clinit>():2124:2124 -> <clinit>
    1:20:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.List):2134:2153 -> <init>
    21:21:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.List):2131:2131 -> <init>
    void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition) -> a
    1:1:com.android.tools.r8.shaking.RootSetUtils$RootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):2124:2124 -> a
    2:2:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSetBuilder builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):2160:2160 -> a
    3:3:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexReference):2177:2177 -> a
    1:16:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):2170:2185 -> b
    17:26:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):2191:2200 -> b
com.android.tools.r8.shaking.RootSetUtils$MainDexRootSetBuilder -> com.android.tools.r8.shaking.y2:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable,com.android.tools.r8.shaking.RootSetUtils$1):2098:2098 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):2104:2104 -> <init>
    1:1:com.android.tools.r8.shaking.RootSetUtils$RootSet build(java.util.concurrent.ExecutorService):2098:2098 -> a
    1:3:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet build(java.util.concurrent.ExecutorService):2115:2117 -> b
com.android.tools.r8.shaking.RootSetUtils$RootSet -> com.android.tools.r8.shaking.z2:
    java.util.Map mayHaveSideEffects -> r
    java.util.Map noSideEffects -> s
    java.util.Map assumedValues -> t
    java.util.Set identifierNameStrings -> u
    java.util.Set ifRules -> v
    boolean $assertionsDisabled -> w
    com.android.tools.r8.com.google.common.collect.ImmutableList reasonAsked -> g
    java.util.Set alwaysInline -> h
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> m
    java.util.Set bypassClinitForInlining -> i
    java.util.Set whyAreYouNotInlining -> j
    java.util.Set noVerticalClassMerging -> o
    java.util.Set noHorizontalClassMerging -> p
    java.util.Set neverPropagateValue -> q
    java.util.Set reprocess -> k
    java.util.Set neverReprocess -> l
    java.util.Set noUnusedInterfaceRemoval -> n
    1:1:void <clinit>():1682:1682 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,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,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,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.utils.collections.ProgramMethodMap,com.android.tools.r8.shaking.RootSetUtils$1):1682:1682 -> <init>
    2:24:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,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,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,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.utils.collections.ProgramMethodMap):1724:1746 -> <init>
    1:1:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    1:1:boolean lambda$isShrinkingDisallowedUnconditionally$2(com.android.tools.r8.shaking.KeepInfo$Joiner):1794 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    2:2:boolean lambda$isShrinkingDisallowedUnconditionally$2(com.android.tools.r8.shaking.KeepInfo$Joiner):1794 -> a
    3:3:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    3:3:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1798 -> a
    4:9:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1798:1803 -> a
    10:10:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    10:10:void pruneItems(com.android.tools.r8.graph.PrunedItems):1826 -> a
    11:11:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    11:11:void pruneItems(com.android.tools.r8.graph.PrunedItems):1826 -> a
    12:12:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    12:12:void pruneItems(com.android.tools.r8.graph.PrunedItems):1826 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:14:void pruneItems(com.android.tools.r8.graph.PrunedItems):1828:1829 -> a
    15:15:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    15:15:void pruneItems(com.android.tools.r8.graph.PrunedItems):1830 -> a
    16:16:void pruneItems(com.android.tools.r8.graph.PrunedItems):1830:1830 -> a
    17:17:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    17:17:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):1865 -> a
    18:19:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):1866:1867 -> a
    20:20:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    20:20:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1871 -> a
    21:21:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1872:1872 -> a
    22:22:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    22:22:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1872 -> a
    23:23:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    23:23:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1872 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:25:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1872:1873 -> a
    26:31:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1750:1755 -> a
    32:32:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardIfRule():0:0 -> a
    32:32:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1755 -> a
    33:46:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1756:1769 -> a
    47:54:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet):1775:1782 -> a
    55:55:java.util.Set lambda$addConsequentRootSet$0(com.android.tools.r8.graph.DexType):1780:1780 -> a
    56:57:void lambda$addConsequentRootSet$1(com.android.tools.r8.graph.DexType,java.util.Set):1780:1781 -> a
    58:58:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1787:1787 -> a
    59:59:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    59:59:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1790 -> a
    60:62:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1791:1793 -> a
    63:63:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1792:1792 -> a
    64:64:void pruneDeadReferences(java.util.Set,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1810:1810 -> a
    65:73:boolean lambda$pruneDeadReferences$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexReference):1812:1820 -> a
    74:74:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):1816:1816 -> a
    75:75:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    75:75:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    75:75:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):1816 -> a
    76:76:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    76:76:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    76:76:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    76:76:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):1816 -> a
    77:77:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):1819:1819 -> a
    78:78:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):1818:1818 -> a
    79:82:com.android.tools.r8.shaking.RootSetUtils$RootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):1836:1839 -> a
    83:83:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    83:83:com.android.tools.r8.shaking.RootSetUtils$RootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):1840 -> a
    84:84:com.android.tools.r8.shaking.RootSetUtils$RootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):1840:1840 -> a
    85:85:boolean lambda$verifyKeptFieldsAreAccessedAndLive$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1875:1875 -> a
    86:86:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    86:86:boolean lambda$verifyKeptFieldsAreAccessedAndLive$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1875 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    87:87:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    87:87:boolean lambda$verifyKeptFieldsAreAccessedAndLive$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1875 -> a
    88:90:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1877:1879 -> a
    91:91:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    91:91:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1879 -> a
    92:92:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1879:1879 -> a
    93:93:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexField.lookupOnProgramClass(com.android.tools.r8.graph.DexProgramClass):89:89 -> a
    93:93:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1880 -> a
    94:96:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1882:1884 -> a
    97:97:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3873,"2":3874,"3":3875}}
    3873:3873:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1884:1884 -> a
    3874:3874:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1884:1884 -> a
    3875:3875:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1884:1884 -> a
    1982:1983:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1885:1886 -> a
    1984:1984:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3877,"2":3878,"3":3879}}
    3877:3877:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1886:1886 -> a
    3878:3878:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1886:1886 -> a
    3879:3879:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1886:1886 -> a
    3872:3872:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1888:1888 -> a
    3880:3888:boolean isKeptDirectlyOrIndirectly(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1933:1941 -> a
    3889:3889:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1955:1955 -> a
    3890:3890:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    3890:3890:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1955 -> a
    3891:3892:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1956:1957 -> a
    3893:3893:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7824,"2":7825,"3":7826}}
    7824:7824:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1957:1957 -> a
    7825:7825:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1957:1957 -> a
    7826:7826:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1957:1957 -> a
    3894:3894:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7827,"2":7828,"3":7829,"4":7830}}
    7827:7827:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1958 -> a
    7828:7828:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1958 -> a
    7829:7829:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1958 -> a
    7830:7830:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1958 -> a
    5852:5856:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1962 -> a
    5857:5857:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7834,"2":7835,"3":7836}}
    7834:7834:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1962:1962 -> a
    7835:7835:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1962:1962 -> a
    7836:7836:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1962:1962 -> a
    7820:7823:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1963:1966 -> a
    7837:7837:com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):2044:2044 -> a
    1:1:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> b
    1:1:boolean lambda$verifyKeptItemsAreKept$12(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1953 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> b
    2:2:boolean lambda$verifyKeptItemsAreKept$12(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1953 -> b
    3:4:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1902:1903 -> b
    5:5:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3829,"2":3830,"3":3831}}
    3829:3829:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1903:1903 -> b
    3830:3830:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1903:1903 -> b
    3831:3831:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1903:1903 -> b
    1909:1911:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1904:1906 -> b
    1912:1912:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> b
    1912:1912:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1906 -> b
    1913:1916:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1906:1909 -> b
    1917:1917:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3837,"2":3838,"3":3839}}
    3837:3837:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1909:1909 -> b
    3838:3838:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1909:1909 -> b
    3839:3839:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1909:1909 -> b
    3828:3828:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1911:1911 -> b
    3840:3842:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1947:1949 -> b
    3843:3843:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> b
    3843:3843:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1950 -> b
    3844:3844:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1951:1951 -> b
    3845:3845:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> b
    3845:3845:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1951 -> b
    3846:3846:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> b
    3846:3846:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1951 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3847:3884:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1951:1988 -> b
    3885:3885:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9923,"2":9924,"3":9925}}
    9923:9923:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1988:1988 -> b
    9924:9924:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1988:1988 -> b
    9925:9925:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1988:1988 -> b
    5875:5886:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1990:2001 -> b
    5887:5887:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9938,"2":9939,"3":9940}}
    9938:9938:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2001:2001 -> b
    9939:9939:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2001:2001 -> b
    9940:9940:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2001:2001 -> b
    7890:7903:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2003:2016 -> b
    7904:7904:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9955,"2":9956,"3":9957}}
    9955:9955:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2016:2016 -> b
    9956:9956:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2016:2016 -> b
    9957:9957:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2016:2016 -> b
    7905:7905:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9958,"2":9959,"3":9960,"4":9961}}
    9958:9958:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9959:9959:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9960:9960:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9961:9961:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9922:9922:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9962:9962:java.util.Set lambda$verifyKeptItemsAreKept$13(com.android.tools.r8.graph.DexType):1959:1959 -> b
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> c
    1:1:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1896 -> c
    2:2:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1897:1897 -> c
    3:3:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> c
    3:3:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1897 -> c
    4:4:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> c
    4:4:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1897 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1897:1898 -> c
    7:7:boolean lambda$verifyKeptMethodsAreTargetedAndLive$8(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1900:1900 -> c
    8:8:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> c
    8:8:boolean lambda$verifyKeptMethodsAreTargetedAndLive$8(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1900 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> c
    9:9:boolean lambda$verifyKeptMethodsAreTargetedAndLive$8(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1900 -> c
    10:11:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1925:1926 -> c
    12:12:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isLiveProgramType(com.android.tools.r8.graph.DexType):696:696 -> c
    12:12:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isLiveProgramType(com.android.tools.r8.graph.DexType):697:697 -> c
    13:13:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926 -> c
    14:14:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> c
    15:15:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1944,"2":1945,"3":1946}}
    1944:1944:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> c
    1945:1945:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> c
    1946:1946:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> c
    16:16:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1947,"2":1948,"3":1949,"4":1950}}
    1947:1947:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1948:1948:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1949:1949:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1950:1950:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1943:1943:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1951:1951:java.util.Set lambda$verifyKeptItemsAreKept$14(com.android.tools.r8.graph.DexType):1965:1965 -> c
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> d
    1:1:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1919 -> d
    2:2:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1920:1920 -> d
    3:3:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> d
    3:3:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1920 -> d
    4:4:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> d
    4:4:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1920 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1920:1921 -> d
    7:7:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1923:1923 -> d
    8:8:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> d
    8:8:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1923 -> d
    9:9:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> d
    9:9:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1923 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> d
    10:10:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1923 -> d
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2035,"2":2036,"3":2037}}
    2035:2035:java.lang.String toString():2025:2025 -> toString
    2036:2036:java.lang.String toString():2025:2025 -> toString
    2037:2037:java.lang.String toString():2026:2026 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2035,"2":2036,"3":2037}}
    2035:2035:java.lang.String toString():2027:2027 -> toString
    2036:2036:java.lang.String toString():2027:2027 -> toString
    2037:2037:java.lang.String toString():2027:2027 -> toString
    2029:2034:java.lang.String toString():2027:2032 -> toString
com.android.tools.r8.shaking.RootSetUtils$RootSetBase -> com.android.tools.r8.shaking.A2:
    java.util.Map dependentKeepClassCompatRule -> d
    java.util.List delayedRootSetActionItems -> e
    com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection dependentMinimumKeepInfo -> c
    java.util.Set neverInlineDueToSingleCaller -> a
    java.util.Set neverClassInline -> b
    com.android.tools.r8.utils.collections.ProgramMethodMap pendingMethodMoveInverse -> f
    1:7:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,java.util.Map,java.util.List,com.android.tools.r8.utils.collections.ProgramMethodMap):1664:1670 -> <init>
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1678:1678 -> a
com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder -> com.android.tools.r8.shaking.D2:
    java.util.Set identifierNameStrings -> w
    java.util.Map dependentKeepClassCompatRule -> s
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set ifRules -> A
    java.util.Map noSideEffects -> u
    com.android.tools.r8.utils.collections.ProgramMethodMap pendingMethodMoveInverse -> F
    java.util.Set alwaysInline -> g
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> m
    java.util.Map assumeNoSideEffectsWarnings -> B
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper interfaceDesugaringSyntheticHelper -> E
    java.util.Set bypassClinitforInlining -> i
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> D
    java.util.Set noUnusedInterfaceRemoval -> o
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection dependentMinimumKeepInfo -> e
    java.util.Set noHorizontalClassMerging -> q
    boolean $assertionsDisabled -> G
    java.util.Set reprocess -> k
    com.android.tools.r8.utils.InternalOptions options -> y
    java.util.Map mayHaveSideEffects -> t
    com.android.tools.r8.shaking.DexStringCache dexStringCache -> z
    java.lang.Iterable rules -> d
    java.util.LinkedHashMap reasonAsked -> f
    java.util.Map assumedValues -> v
    java.util.Set neverInlineDueToSingleCaller -> h
    java.util.Set whyAreYouNotInlining -> j
    java.util.Queue delayedRootSetActionItems -> x
    java.util.Set classesWithCheckDiscardedMembers -> C
    com.android.tools.r8.graph.DirectMappedDexApplication application -> c
    java.util.Set noVerticalClassMerging -> p
    java.util.Set neverPropagateValue -> r
    java.util.Set neverReprocess -> l
    java.util.Set neverClassInline -> n
    1:1:void <clinit>():104:104 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.RootSetUtils$1):104:104 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable,com.android.tools.r8.shaking.RootSetUtils$1):104:104 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):152:152 -> <init>
    4:55:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):110:161 -> <init>
    56:56:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):166:166 -> <init>
    void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult) -> a
    com.android.tools.r8.graph.DexReference lambda$addItemToSets$15(com.android.tools.r8.graph.DexReference) -> a
    boolean lambda$process$0(com.android.tools.r8.graph.DexDefinition) -> a
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):104:104 -> a
    2:2:com.android.tools.r8.graph.DexProgramClass access$500(com.android.tools.r8.graph.DexDefinition,java.util.Map):104:104 -> a
    3:3:void access$600(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):104:104 -> a
    4:19:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):300:315 -> a
    20:20:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):314:314 -> a
    21:26:void lambda$runPerRule$2(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):318:323 -> a
    27:84:com.android.tools.r8.shaking.RootSetUtils$RootSet build(java.util.concurrent.ExecutorService):330:387 -> a
    85:85:com.android.tools.r8.shaking.RootSetUtils$RootSet build(java.util.concurrent.ExecutorService):346:346 -> a
    86:86:void lambda$build$3(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):355:355 -> a
    87:98:void propagateAssumeRules(com.android.tools.r8.graph.DexClass):392:403 -> a
    99:133:void propagateAssumeRules(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,java.util.Set,java.util.Map):413:447 -> a
    134:139:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet buildConsequentRootSet():452:457 -> a
    140:142:boolean lambda$markMatchingVisibleMethods$4(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):502:504 -> a
    143:144: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.DexClassAndMethod):508:509 -> a
    145:145:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):649:649 -> a
    145:145:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):104 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    146:147:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):649:650 -> a
    146:147:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):104 -> a
    148:149:boolean com.android.tools.r8.utils.ArrayUtils.contains(java.lang.Object[],java.lang.Object):129:130 -> a
    148:149:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    148:149:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):104 -> a
    150:151:void lambda$markMatchingMethods$7(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClassAndMethod):699:700 -> a
    152:161: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):712:721 -> a
    162:162: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):731:731 -> a
    163:164:void lambda$markMatchingFields$9(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClassAndField):734:735 -> a
    165:227:void writeSeeds(com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,java.util.function.Predicate):742:804 -> a
    228:229:void lambda$writeSeeds$10(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexType):747:748 -> a
    230:231:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):756:757 -> a
    232:232:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1755,"2":1756,"3":1757}}
    1755:1755:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):758:758 -> a
    1756:1756:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):758:758 -> a
    1757:1757:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):758:758 -> a
    990:990:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):758:758 -> a
    991:991:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1759,"2":1760,"3":1761}}
    1759:1759:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):760:760 -> a
    1760:1760:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):760:760 -> a
    1761:1761:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):760:760 -> a
    1751:1753:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):760:762 -> a
    1754:1754:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):757:757 -> a
    1762:1765:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):770:773 -> a
    1766:1766:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    1766:1766:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):773 -> a
    1767:1781:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):773:787 -> a
    1782:1782:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2588,"2":2589,"3":2590}}
    2588:2588:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):788:788 -> a
    2589:2589:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):788:788 -> a
    2590:2590:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):788:788 -> a
    2570:2572:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):788:790 -> a
    2573:2587:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):787:801 -> a
    2591:2591:boolean satisfyClassType(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):808:808 -> a
    2591:2591:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):179 -> a
    2592:2593:boolean satisfyAccessFlag(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):812:813 -> a
    2592:2593:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):182 -> a
    2594:2594:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817:817 -> a
    2594:2594:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):185 -> a
    2595:2595:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):967:967 -> a
    2595:2595:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817 -> a
    2595:2595:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):185 -> a
    2596:2596:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):966:966 -> a
    2596:2596:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817 -> a
    2596:2596:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):185 -> a
    2597:2651:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):189:243 -> a
    2652:2652:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):921:921 -> a
    2652:2652:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):219 -> a
    2653:2654:boolean ruleSatisfied(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClass):934:935 -> a
    2653:2654:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):922 -> a
    2653:2654:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):219 -> a
    2655:2656:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1080:1081 -> a
    2655:2656:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):224 -> a
    2657:2657:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2657:2657:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1081 -> a
    2657:2657:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):224 -> a
    2658:2658:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1083:1083 -> a
    2658:2658:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):224 -> a
    2659:2665:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):225:231 -> a
    2666:2675:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):230:239 -> a
    2676:2713:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):212:249 -> a
    2714:2714:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardCheckDiscardRule():0:0 -> a
    2714:2714:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):251 -> a
    2715:2715:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252:252 -> a
    2716:2717:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1361:1362 -> a
    2716:2717:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2718:2723:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1372:1377 -> a
    2718:2723:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1362 -> a
    2718:2723:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2724:2726:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1364:1366 -> a
    2724:2726:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2727:2727:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    2727:2727:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1366 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2727:2727:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2728:2728:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    2728:2728:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1366 -> a
    2728:2728:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2729:2729:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1366:1366 -> a
    2729:2729:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2730:2730:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):253:253 -> a
    2731:2732:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1080:1081 -> a
    2731:2732:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):254 -> a
    2733:2733:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2733:2733:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1081 -> a
    2733:2733:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):254 -> a
    2734:2734:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1083:1083 -> a
    2734:2734:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):254 -> a
    2735:2771:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):255:291 -> a
    2772:2772:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):921:921 -> a
    2772:2772:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):282 -> a
    2773:2774:boolean ruleSatisfied(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClass):934:935 -> a
    2773:2774:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):922 -> a
    2773:2774:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):282 -> a
    2775:2776:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1080:1081 -> a
    2775:2776:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):283 -> a
    2777:2777:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2777:2777:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1081 -> a
    2777:2777:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):283 -> a
    2778:2778:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1083:1083 -> a
    2778:2778:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):283 -> a
    2779:2779:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):276:276 -> a
    2780:2782:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):260:262 -> a
    2783:2785:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):261:263 -> a
    2786:2786:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):250:250 -> a
    2787:2787:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817:817 -> a
    2788:2788:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):967:967 -> a
    2788:2788:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817 -> a
    2789:2789:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):966:966 -> a
    2789:2789:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817 -> a
    2790:2801:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):875:886 -> a
    2802:2802:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):967:967 -> a
    2802:2802:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):886 -> a
    2803:2803:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):966:966 -> a
    2803:2803:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):886 -> a
    2804:2820:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):888:904 -> a
    2821:2826:boolean anySourceMatchesInheritanceRuleDirectly(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,boolean):911:916 -> a
    2827:2827:boolean lambda$anySourceMatchesInheritanceRuleDirectly$13(boolean,com.android.tools.r8.graph.DexType):915:915 -> a
    2828:2830:boolean ruleSatisfiedByFields(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):950:952 -> a
    2831:2831:boolean sideEffectFreeIsRuleSatisfiedByField(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClassAndField):961:961 -> a
    2832:2833:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):979:980 -> a
    2834:2844:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):976:986 -> a
    2845:2845:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotations():79:79 -> a
    2845:2845:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):987 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2846:2846:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotations():79:79 -> a
    2846:2846:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):987 -> a
    2847:2847:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):987:987 -> a
    2848:2848:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotations():79:79 -> a
    2848:2848:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotation(int):75 -> a
    2848:2848:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):992 -> a
    2849:2849:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotation(int):75:75 -> a
    2849:2849:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):992 -> a
    2850:2850:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):992:992 -> a
    2851:2857:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):989:995 -> a
    2858:2862:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):1008:1012 -> a
    2863:2864:com.android.tools.r8.graph.DexAnnotation getFirstAnnotationThatMatches(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.graph.DexAnnotationSet):1029:1030 -> a
    2863:2864:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):1014 -> a
    2865:2868:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):1018:1021 -> a
    2869:2874:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):1019:1024 -> a
    2875:2883:void markMethod(com.android.tools.r8.graph.DexClassAndMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1045:1053 -> a
    2884:2884:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2884:2884:void markMethod(com.android.tools.r8.graph.DexClassAndMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1052 -> a
    2885:2887:void markMethod(com.android.tools.r8.graph.DexClassAndMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1056:1058 -> a
    2888:2891:void markField(com.android.tools.r8.graph.DexClassAndField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1069:1072 -> a
    2892:2892:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2892:2892:void markField(com.android.tools.r8.graph.DexClassAndField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1072 -> a
    2893:2893:void markField(com.android.tools.r8.graph.DexClassAndField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1074:1074 -> a
    2894:2911:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1088:1105 -> a
    2912:2912:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    2912:2912:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1106 -> a
    2913:2913:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    2913:2913:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2914:2914:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    2914:2914:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1106 -> a
    2915:2915:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:493 -> a
    2915:2915:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1107 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2916:2917:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:494 -> a
    2916:2917:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1107 -> a
    2918:2922:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1108:1112 -> a
    2923:2923:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():618:618 -> a
    2923:2923:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2924:2925:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1112:1113 -> a
    2926:2926:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    2926:2926:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1114 -> a
    2927:2927:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    2927:2927:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1114 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2928:2928:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    2928:2928:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1114 -> a
    2929:2929:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1115:1115 -> a
    2930:2930:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1141:1141 -> a
    2931:2931:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardKeepRule():0:0 -> a
    2931:2931:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1141 -> a
    2932:2937:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1142:1147 -> a
    2938:2949:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1146:1157 -> a
    2950:2969:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1156:1175 -> a
    2970:2970:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardCheckDiscardRule():0:0 -> a
    2970:2970:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1177 -> a
    2971:2973:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1178:1180 -> a
    2974:2975:void evaluateCheckDiscardMemberRule(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1390:1391 -> a
    2974:2975:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1179 -> a
    2976:2999:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1181:1204 -> a
    3000:3000:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1201:1201 -> a
    3001:3004:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1195:1198 -> a
    3005:3008:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1189:1192 -> a
    3009:3036:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1186:1213 -> a
    3037:3037:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1210:1210 -> a
    3038:3038:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isClassInlineRule():0:0 -> a
    3038:3038:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1214 -> a
    3039:3057:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1215:1233 -> a
    3058:3066:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1227:1235 -> a
    3067:3067:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1218:1218 -> a
    3068:3068:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4474,"2":4475,"3":4476}}
    4474:4474:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1218:1218 -> a
    4475:4475:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1218:1218 -> a
    4476:4476:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1218:1218 -> a
    4288:4355:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1220:1287 -> a
    4356:4356:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    4356:4356:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1287 -> a
    4357:4362:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1288:1293 -> a
    4363:4363:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    4363:4363:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1293 -> a
    4364:4372:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1294:1302 -> a
    4373:4373:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1572:1572 -> a
    4373:4373:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4374:4374:boolean isMainDexRootSetBuilder():0:0 -> a
    4374:4374:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1572 -> a
    4374:4374:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4375:4387:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1572:1584 -> a
    4375:4387:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4388:4388:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    4388:4388:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1584 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4388:4388:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4389:4389:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    4389:4389:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1584 -> a
    4389:4389:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4390:4390:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1585 -> a
    4390:4390:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4391:4391:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4477,"2":4478,"3":4479}}
    4477:4477:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1585 -> a
    4477:4477:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4478:4478:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1585 -> a
    4478:4478:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4479:4479:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1585 -> a
    4479:4479:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4392:4395:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1588:1591 -> a
    4392:4395:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4396:4407:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1596 -> a
    4396:4407:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4408:4419:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1304:1315 -> a
    4420:4428:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1309:1317 -> a
    4429:4429:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isReprocessMethodRule():0:0 -> a
    4429:4429:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1319 -> a
    4430:4440:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1320:1330 -> a
    4441:4473:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1324:1356 -> a
    4480:4482:void evaluateCheckDiscardClassAndAllMembersRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1383:1385 -> a
    4483:4483:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1395:1395 -> a
    4484:4484:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    4484:4484:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1396 -> a
    4485:4485:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    4485:4485:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1396 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4486:4487:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1397:1398 -> a
    4488:4488:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1411:1411 -> a
    4489:4489:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClassAndMember.getReference():11:11 -> a
    4489:4489:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1411 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4490:4490:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1411:1411 -> a
    4491:4491:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1410:1410 -> a
    4492:4492:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.continueIf(boolean):17:17 -> a
    4492:4492:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1409 -> a
    4493:4494:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1424:1425 -> a
    4495:4495:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    4495:4495:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1426 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4496:4496:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    4496:4496:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1426 -> a
    4497:4514:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1426:1443 -> a
    4515:4515:boolean com.android.tools.r8.graph.DexMethod.isLambdaDeserializeMethod(com.android.tools.r8.graph.DexItemFactory):291:291 -> a
    4515:4515:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1443 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4516:4516:boolean com.android.tools.r8.graph.DexMethod.isLambdaDeserializeMethod(com.android.tools.r8.graph.DexItemFactory):291:291 -> a
    4516:4516:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1443 -> a
    4517:4517:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1453:1453 -> a
    4518:4518:boolean com.android.tools.r8.shaking.ProguardKeepRuleModifiers.isBottom():88:88 -> a
    4518:4518:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1454 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4519:4519:boolean com.android.tools.r8.shaking.ProguardKeepRuleModifiers.isBottom():88:88 -> a
    4519:4519:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1454 -> a
    4520:4538:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1460:1478 -> a
    4539:4542:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1477:1480 -> a
    4543:4547:boolean isInterfaceMethodNeedingDesugaring(com.android.tools.r8.graph.ProgramDefinition):1600:1604 -> a
    4543:4547:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1483 -> a
    4548:4566:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1484:1502 -> a
    4567:4567:boolean com.android.tools.r8.utils.InternalOptions.isOptimizationEnabled():623:623 -> a
    4567:4567:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1502 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4568:4570:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1502:1504 -> a
    4571:4571:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4571:4571:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1504 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4572:4572:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4572:4572:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1504 -> a
    4573:4578:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1505:1510 -> a
    4579:4579:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4579:4579:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1510 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4580:4580:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4580:4580:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1510 -> a
    4581:4581:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:493 -> a
    4581:4581:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1511 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4582:4583:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:494 -> a
    4582:4583:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1511 -> a
    4584:4587:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1512:1515 -> a
    4588:4588:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    4588:4588:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1515 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4589:4589:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    4589:4589:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1515 -> a
    4590:4590:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1521:1521 -> a
    4591:4591:boolean com.android.tools.r8.utils.InternalOptions.isAccessModificationEnabled():695:695 -> a
    4591:4591:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1521 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4592:4592:boolean com.android.tools.r8.utils.InternalOptions.isAccessModificationEnabled():696:696 -> a
    4592:4592:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1521 -> a
    4593:4595:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1521:1523 -> a
    4596:4596:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4596:4596:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1523 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4597:4597:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4597:4597:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1523 -> a
    4598:4602:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1524:1528 -> a
    4603:4603:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():633:633 -> a
    4603:4603:boolean com.android.tools.r8.utils.InternalOptions.isAnnotationRemovalEnabled():608 -> a
    4603:4603:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1528 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    4604:4606:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1528:1530 -> a
    4607:4607:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4607:4607:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1530 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4608:4608:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4608:4608:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1530 -> a
    4609:4613:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1531:1535 -> a
    4614:4614:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():618:618 -> a
    4614:4614:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1535 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4615:4617:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1535:1537 -> a
    4618:4618:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4618:4618:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1537 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4619:4619:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4619:4619:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1537 -> a
    4620:4624:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1538:1542 -> a
    4625:4625:boolean com.android.tools.r8.utils.InternalOptions.isOptimizationEnabled():623:623 -> a
    4625:4625:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1542 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4626:4628:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1542:1544 -> a
    4629:4629:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4629:4629:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1544 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4630:4630:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4630:4630:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1544 -> a
    4631:4635:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1545:1549 -> a
    4636:4636:boolean isMainDexRootSetBuilder():0:0 -> a
    4636:4636:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1549 -> a
    4637:4641:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1549:1553 -> a
    4642:4642:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4642:4642:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1553 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4643:4643:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4643:4643:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1553 -> a
    4644:4644:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:493 -> a
    4644:4644:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1554 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4645:4646:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:494 -> a
    4645:4646:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1554 -> a
    4647:4655:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1555:1563 -> a
    4656:4666:void includeDescriptorClasses(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1121:1131 -> a
    4656:4666:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1564 -> a
    4667:4667:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1565:1565 -> a
    4668:4668:java.util.Set lambda$evaluateKeepRule$17(com.android.tools.r8.graph.DexType):1466:1466 -> a
    4669:4673:void reportAssumeNoSideEffectsWarningForJavaLangClassMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule):1609:1613 -> a
    4674:4674:java.util.Set lambda$reportAssumeNoSideEffectsWarningForJavaLangClassMethod$18(com.android.tools.r8.utils.OriginWithPosition):1612:1612 -> a
    4675:4675:boolean isWaitOrNotifyMethod(com.android.tools.r8.graph.DexMethod):1617:1617 -> a
    4676:4688:void lambda$generateAssumeNoSideEffectsWarnings$19(com.android.tools.r8.utils.OriginWithPosition,java.util.Set):1632:1644 -> a
    4689:4689:void lambda$generateAssumeNoSideEffectsWarnings$19(com.android.tools.r8.utils.OriginWithPosition,java.util.Set):1639:1639 -> a
    void lambda$sideEffectFreeIsRuleSatisfiedByField$14(com.android.tools.r8.shaking.AnnotationMatchResult) -> b
    1:1:java.util.Queue access$400(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):104:104 -> b
    2:2:boolean lambda$process$1(com.android.tools.r8.graph.DexDefinition):231:231 -> b
    3:12:com.android.tools.r8.graph.DexProgramClass testAndGetPrecondition(com.android.tools.r8.graph.DexDefinition,java.util.Map):470:479 -> b
    13:43: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):491:521 -> b
    44:44:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardKeepRule():0:0 -> b
    44:44: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):521 -> b
    45:45: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):522:522 -> b
    46:46:boolean isMainDexRootSetBuilder():0:0 -> b
    46:46: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):523 -> b
    47:49: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):524:526 -> b
    50:51:void lambda$markMatchingOverriddenMethods$6(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClassAndMethod):683:684 -> b
    52:52: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):696:696 -> b
    53:54:void lambda$markMatchingVisibleFields$8(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClassAndField):718:719 -> b
    55:55:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829:829 -> b
    55:55:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> b
    56:66:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):839:849 -> b
    56:66:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829 -> b
    56:66:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> b
    67:67:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):967:967 -> b
    67:67:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):849 -> b
    67:67:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829 -> b
    67:67:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> b
    68:68:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):966:966 -> b
    68:68:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):849 -> b
    68:68:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829 -> b
    68:68:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> b
    69:73:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):851:855 -> b
    69:73:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829 -> b
    69:73:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> b
    74:74:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):834:834 -> b
    74:74:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> b
    75:80:boolean satisfyImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):861:866 -> b
    75:80:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):825 -> b
    81:83:boolean ruleSatisfiedByMethods(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):939:941 -> b
    84:86:void finalizeCheckDiscardedInformation():1402:1404 -> b
    87:87:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> b
    87:87:void finalizeCheckDiscardedInformation():1403 -> b
    88:88:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection) -> b
    88:88:void finalizeCheckDiscardedInformation():1403 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:90:void finalizeCheckDiscardedInformation():1405:1406 -> b
    91:91:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.DexProgramClass.traverseProgramMembers(java.util.function.Function):332:332 -> b
    91:91:void finalizeCheckDiscardedInformation():1407 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    92:95:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.DexProgramClass.traverseProgramMembers(java.util.function.Function):333:336 -> b
    92:95:void finalizeCheckDiscardedInformation():1407 -> b
    96:97:void finalizeCheckDiscardedInformation():1412:1413 -> b
    1:1:com.android.tools.r8.shaking.DexStringCache access$700(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):104:104 -> c
    2:27: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):661:686 -> c
    28:34:void generateAssumeNoSideEffectsWarnings():1623:1629 -> c
com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder$1 -> com.android.tools.r8.shaking.B2:
    1:1:void <init>(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):1488:1488 -> <init>
    void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod) -> a
    void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> a
com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder$SynthesizeMissingInterfaceMethodsForMemberRules -> com.android.tools.r8.shaking.C2:
    com.android.tools.r8.shaking.ProguardConfigurationRule context -> c
    java.util.Set seenTypes -> g
    java.util.Map preconditionSupplier -> d
    boolean $assertionsDisabled -> i
    java.util.Collection memberKeepRules -> b
    com.android.tools.r8.graph.DexProgramClass originalClazz -> a
    java.util.Set seenMethods -> f
    com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder this$0 -> h
    com.android.tools.r8.shaking.ProguardIfRule ifRule -> e
    1:1:void <clinit>():535:535 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.RootSetUtils$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.RootSetUtils$1):535:535 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.RootSetUtils$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):550:550 -> <init>
    3:18:void <init>(com.android.tools.r8.shaking.RootSetUtils$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):542:557 -> <init>
    void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult) -> a
    1:1:void run():565:565 -> a
    2:16:void visitAllSuperInterfaces(com.android.tools.r8.graph.DexType):569:583 -> a
    17:23:void lambda$visitAllSuperInterfaces$0(com.android.tools.r8.graph.DexClassAndMethod):588:594 -> a
    24:51:void tryAndKeepMethodOnClass(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.shaking.ProguardMemberRule):601:628 -> a
    52:52:void lambda$tryAndKeepMethodOnClass$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):633:633 -> a
    53:53:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    53:53:void lambda$tryAndKeepMethodOnClass$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):634 -> a
    54:55:void lambda$tryAndKeepMethodOnClass$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):642:643 -> a
com.android.tools.r8.shaking.RuntimeTypeCheckInfo -> com.android.tools.r8.internal.ET:
    java.util.Set exceptionGuardTypes -> c
    java.util.Set instanceOfTypes -> a
    java.util.Set checkCastTypes -> b
    1:4:void <init>(java.util.Set,java.util.Set,java.util.Set):27:30 -> <init>
    1:1:boolean com.android.tools.r8.shaking.RuntimeTypeCheckInfo.isInstanceOfType(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    1:1:boolean isRuntimeCheckType(com.android.tools.r8.graph.DexProgramClass):106 -> a
    2:2:boolean com.android.tools.r8.shaking.RuntimeTypeCheckInfo.isCheckCastType(com.android.tools.r8.graph.DexProgramClass):94:94 -> a
    2:2:boolean isRuntimeCheckType(com.android.tools.r8.graph.DexProgramClass):106 -> a
    3:3:boolean com.android.tools.r8.shaking.RuntimeTypeCheckInfo.isExceptionGuardType(com.android.tools.r8.graph.DexProgramClass):102:102 -> a
    3:3:boolean isRuntimeCheckType(com.android.tools.r8.graph.DexProgramClass):106 -> a
    4:7:com.android.tools.r8.shaking.RuntimeTypeCheckInfo rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):110:113 -> a
com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder -> com.android.tools.r8.internal.DT:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    java.util.Set instanceOfTypes -> c
    java.util.Set checkCastTypes -> d
    java.util.Set exceptionGuardTypes -> e
    com.android.tools.r8.graph.GraphLens appliedGraphLens -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):45:45 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):41:47 -> <init>
    1:4:com.android.tools.r8.shaking.RuntimeTypeCheckInfo build(com.android.tools.r8.graph.GraphLens):51:54 -> a
    5:5:void traceCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):60:60 -> a
    6:8:void com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder.add(com.android.tools.r8.graph.DexType,java.util.Set):79:81 -> a
    6:8:void traceCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):60 -> a
    9:11:void attach(com.android.tools.r8.shaking.Enqueuer):87:89 -> a
    1:1:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):75:75 -> b
    2:4:void com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder.add(com.android.tools.r8.graph.DexType,java.util.Set):79:81 -> b
    2:4:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):75 -> b
    1:1:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):70:70 -> c
    2:4:void com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder.add(com.android.tools.r8.graph.DexType,java.util.Set):79:81 -> c
    2:4:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):70 -> c
com.android.tools.r8.shaking.ScopedDexMethodSet -> com.android.tools.r8.shaking.E2:
    java.util.Map items -> b
    com.android.tools.r8.com.google.common.base.Equivalence METHOD_EQUIVALENCE -> c
    com.android.tools.r8.shaking.ScopedDexMethodSet parent -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.ScopedDexMethodSet):31:31 -> <init>
    3:10:void <init>(com.android.tools.r8.shaking.ScopedDexMethodSet):25:32 -> <init>
    1:2:com.android.tools.r8.graph.DexEncodedMethod lookup(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):40:41 -> a
    3:12:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):58:67 -> a
    13:13:boolean com.android.tools.r8.graph.AccessFlags.isMoreVisibleThan(com.android.tools.r8.graph.AccessFlags,java.lang.String,java.lang.String):113:113 -> a
    13:13:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):64 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:19:boolean com.android.tools.r8.graph.AccessFlags.isMoreVisibleThan(com.android.tools.r8.graph.AccessFlags,java.lang.String,java.lang.String):114:119 -> a
    14:19:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):64 -> a
    20:20:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):68:68 -> a
    21:21:com.android.tools.r8.shaking.ScopedDexMethodSet getParent():75:75 -> a
    22:22:void setParent(com.android.tools.r8.shaking.ScopedDexMethodSet):79:79 -> a
    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet newNestedScope():36:36 -> b
com.android.tools.r8.shaking.SingleTargetLookupCache -> com.android.tools.r8.internal.PU:
    java.util.Map cache -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>():16:18 -> <init>
    1:6:void addToCache(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):21:26 -> a
    7:7:java.util.Map lambda$addToCache$0(com.android.tools.r8.graph.DexType):23:23 -> a
    8:10:void removeInstantiatedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.AppInfoWithLiveness):31:33 -> a
    11:11:void lambda$removeInstantiatedType$2(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Set,com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    12:16:com.android.tools.r8.utils.TraversalContinuation lambda$removeInstantiatedType$1(java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):39:43 -> a
    17:17:void lambda$removeInstantiatedType$3(com.android.tools.r8.ir.desugar.LambdaDescriptor):47:47 -> a
    18:23:com.android.tools.r8.graph.DexEncodedMethod getCachedItem(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):52:57 -> a
    1:5:boolean hasCachedItem(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):61:65 -> b
com.android.tools.r8.shaking.TreePruner -> com.android.tools.r8.internal.LY:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set prunedTypes -> d
    java.util.Set methodsToKeepForConfigurationDebugging -> e
    com.android.tools.r8.shaking.TreePrunerConfiguration configuration -> b
    boolean $assertionsDisabled -> f
    com.android.tools.r8.shaking.UnusedItemsPrinter unusedItemsPrinter -> c
    1:1:void <clinit>():44:44 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):53:53 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.TreePrunerConfiguration):56:56 -> <init>
    3:20:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.TreePrunerConfiguration):49:66 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.shaking.TreePruner):44:44 -> a
    2:2:void lambda$new$0(com.android.tools.r8.utils.InternalOptions,java.lang.String):64:64 -> a
    3:11:com.android.tools.r8.graph.DirectMappedDexApplication run(java.util.concurrent.ExecutorService):70:78 -> a
    12:16:void com.android.tools.r8.shaking.TreePruner.fixupOptimizationInfo(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.concurrent.ExecutorService):395:399 -> a
    12:16:com.android.tools.r8.graph.DirectMappedDexApplication run(java.util.concurrent.ExecutorService):79 -> a
    17:34:void com.android.tools.r8.shaking.TreePruner.fixupOptimizationInfo(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.concurrent.ExecutorService):398:415 -> a
    17:34:com.android.tools.r8.graph.DirectMappedDexApplication run(java.util.concurrent.ExecutorService):79 -> a
    35:35:com.android.tools.r8.graph.DirectMappedDexApplication run(java.util.concurrent.ExecutorService):82:82 -> a
    36:37:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):88:89 -> a
    38:49:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):93:104 -> a
    38:49:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    50:50:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    50:50:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):108 -> a
    50:50:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    51:53:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):114:116 -> a
    51:53:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    54:65:void com.android.tools.r8.shaking.TreePruner.pruneUnusedInterfaces(com.android.tools.r8.graph.DexProgramClass):135:146 -> a
    54:65:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):119 -> a
    54:65:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    66:76:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):120:130 -> a
    66:76:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    77:77:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89:89 -> a
    78:89:void removeInterfacesImplementedDirectlyAndIndirectlyByClassFromSet(com.android.tools.r8.graph.DexType,java.util.Set):152:163 -> a
    90:91:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):181:182 -> a
    92:97:java.util.List com.android.tools.r8.utils.IterableUtils.ensureUnmodifiableList(java.lang.Iterable):57:62 -> a
    92:97:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.shaking.TreePruner.reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass):289 -> a
    92:97:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):182 -> a
    98:98:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.shaking.TreePruner.reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass):289:289 -> a
    98:98:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):182 -> a
    99:102:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):184:187 -> a
    103:108:java.util.List com.android.tools.r8.utils.IterableUtils.ensureUnmodifiableList(java.lang.Iterable):57:62 -> a
    103:108:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.shaking.TreePruner.reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass):289 -> a
    103:108:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):187 -> a
    109:109:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.shaking.TreePruner.reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass):289:289 -> a
    109:109:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):187 -> a
    110:124:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):189:203 -> a
    125:128:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):419:422 -> a
    125:128:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    129:129:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":131,"2":132,"3":133}}
    131:131:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):422:422 -> a
    131:131:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    132:132:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):422:422 -> a
    132:132:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    133:133:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):422:422 -> a
    133:133:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    130:130:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):423:423 -> a
    130:130:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    134:141:void rewriteNestAttributes(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Function):208:215 -> a
    142:158:void com.android.tools.r8.shaking.TreePruner.claimNestOwnership(com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.function.Function):242:258 -> a
    142:158:void rewriteNestAttributes(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Function):216 -> a
    159:159:boolean isTypeLive(com.android.tools.r8.graph.DexType):226:226 -> a
    160:161:void clearDeadNestMembers(com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.function.Function):233:234 -> a
    162:163:boolean lambda$clearDeadNestMembers$1(java.util.function.Function,java.util.function.Predicate,com.android.tools.r8.graph.NestMemberClassAttribute):236:237 -> a
    164:166:boolean isAttributeReferencingPrunedItem(com.android.tools.r8.graph.EnclosingMethodAttribute):264:266 -> a
    167:167:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):270:270 -> a
    168:168:boolean com.android.tools.r8.shaking.TreePruner.isTypeMissing(com.android.tools.r8.graph.DexType):222:222 -> a
    168:168:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):270 -> a
    169:172:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):270:273 -> a
    173:187:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.InnerClassAttribute.getLiveContext(com.android.tools.r8.graph.AppView):101:115 -> a
    173:187:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):273 -> a
    188:188:boolean com.android.tools.r8.shaking.TreePruner.isTypeMissing(com.android.tools.r8.graph.DexType):222:222 -> a
    188:188:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):274 -> a
    189:189:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):274:274 -> a
    190:192:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):294:296 -> a
    193:194:int com.android.tools.r8.shaking.TreePruner.firstUnreachableIndex(java.util.List,java.util.function.Predicate):279:280 -> a
    193:194:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):297 -> a
    195:196:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):300:301 -> a
    197:198:void com.android.tools.r8.shaking.TreePruner.canonicalizeCode(com.android.tools.r8.graph.ProgramMethod):345:346 -> a
    197:198:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):301 -> a
    199:203:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):305:309 -> a
    204:205:void com.android.tools.r8.shaking.TreePruner.canonicalizeCode(com.android.tools.r8.graph.ProgramMethod):345:346 -> a
    204:205:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):309 -> a
    206:212:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):310:316 -> a
    213:241:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):313:341 -> a
    242:242:boolean lambda$reachableMethods$2(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedMethod):297:297 -> a
    243:244:com.android.tools.r8.graph.DexEncodedField[] reachableFields(java.util.List):351:352 -> a
    245:246:int com.android.tools.r8.shaking.TreePruner.firstUnreachableIndex(java.util.List,java.util.function.Predicate):279:280 -> a
    245:246:com.android.tools.r8.graph.DexEncodedField[] reachableFields(java.util.List):354 -> a
    247:268:com.android.tools.r8.graph.DexEncodedField[] reachableFields(java.util.List):359:380 -> a
    269:269:boolean lambda$reachableFields$3(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):353:353 -> a
    270:270:java.util.Collection getMethodsToKeepForConfigurationDebugging():388:388 -> a
    1:1:java.util.Set access$100(com.android.tools.r8.shaking.TreePruner):44:44 -> b
    2:9:void retainReachableInterfacesFrom(com.android.tools.r8.graph.DexType,java.util.Set):168:175 -> b
    10:10:java.util.Set getRemovedClasses():384:384 -> b
com.android.tools.r8.shaking.TreePruner$1 -> com.android.tools.r8.internal.KY:
    com.android.tools.r8.shaking.TreePruner this$0 -> a
    1:1:void <init>(com.android.tools.r8.shaking.TreePruner):401:401 -> <init>
    1:1:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):404:404 -> a
    2:2:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):410:410 -> a
com.android.tools.r8.shaking.TreePrunerConfiguration -> com.android.tools.r8.internal.MY:
    boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField) -> a
com.android.tools.r8.shaking.UnusedItemsPrinter -> com.android.tools.r8.internal.O00:
    com.android.tools.r8.shaking.UnusedItemsPrinter DONT_PRINT -> e
    com.android.tools.r8.shaking.UnusedItemsPrinter$Members currentMembers -> c
    java.util.List classes -> d
    java.util.function.Consumer consumer -> a
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexType currentType -> b
    1:19:void <clinit>():16:34 -> <clinit>
    1:1:void <init>(java.util.function.Consumer):43:43 -> <init>
    2:8:void <init>(java.util.function.Consumer):38:44 -> <init>
    1:2:void registerUnusedClass(com.android.tools.r8.graph.DexProgramClass):48:49 -> a
    3:11:void finished():76:84 -> a
    12:12:void finished():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105}}
    103:103:void finished():84:84 -> a
    104:104:void finished():84:84 -> a
    105:105:void finished():84:84 -> a
    96:102:void finished():84:90 -> a
    106:106:int lambda$finished$0(com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.Pair):76:76 -> a
    107:107:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    107:107:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):123 -> a
    108:109:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):124:125 -> a
    110:110:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    110:110:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):126 -> a
    111:111:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    111:111:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):127 -> a
    112:112:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):129:129 -> a
    113:113:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    113:113:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):129 -> a
    114:114:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    114:114:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):130 -> a
    115:115:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):131:131 -> a
    116:116:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    116:116:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):131 -> a
    117:117:void com.android.tools.r8.shaking.UnusedItemsPrinter.newline():98:98 -> a
    117:117:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):132 -> a
    118:118:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    118:118:void com.android.tools.r8.shaking.UnusedItemsPrinter.newline():98 -> a
    118:118:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):132 -> a
    119:119:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    119:119:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):102 -> a
    120:121:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):103:104 -> a
    122:122:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    122:122:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):105 -> a
    123:123:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    123:123:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):106 -> a
    124:124:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):108:108 -> a
    125:125:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    125:125:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):108 -> a
    126:126:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    126:126:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):109 -> a
    127:127:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):110:110 -> a
    128:128:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    128:128:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):110 -> a
    129:129:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    129:129:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):111 -> a
    130:130:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):112:112 -> a
    131:131:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    131:131:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):114 -> a
    132:132:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):116:116 -> a
    133:133:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    133:133:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):116 -> a
    134:134:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    134:134:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):118 -> a
    135:135:void com.android.tools.r8.shaking.UnusedItemsPrinter.newline():98:98 -> a
    135:135:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):119 -> a
    136:136:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    136:136:void com.android.tools.r8.shaking.UnusedItemsPrinter.newline():98 -> a
    136:136:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):119 -> a
    1:2:void visiting(com.android.tools.r8.graph.DexProgramClass):54:55 -> b
    3:3:void visited():60:60 -> b
    4:4:boolean com.android.tools.r8.shaking.UnusedItemsPrinter$Members.hasMembers():23:23 -> b
    4:4:void visited():60 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.shaking.UnusedItemsPrinter$Members.hasMembers():23:23 -> b
    5:5:void visited():60 -> b
    6:9:void visited():61:64 -> b
    10:10:void registerUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):68:68 -> b
    11:11:void registerUnusedField(com.android.tools.r8.graph.DexEncodedField):72:72 -> b
com.android.tools.r8.shaking.UnusedItemsPrinter$Members -> com.android.tools.r8.internal.M00:
    java.util.List methods -> b
    java.util.List fields -> a
    1:3:void <init>():18:20 -> <init>
    4:4:void <init>(com.android.tools.r8.shaking.UnusedItemsPrinter$1):18:18 -> <init>
    1:1:int lambda$sort$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):27:27 -> a
    2:3:void sort():27:28 -> a
    4:4:int lambda$sort$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):28:28 -> a
com.android.tools.r8.shaking.UnusedItemsPrinter$NopPrinter -> com.android.tools.r8.internal.N00:
    1:1:void <init>():139:139 -> <init>
    void finished() -> a
    void registerUnusedClass(com.android.tools.r8.graph.DexProgramClass) -> a
    void registerUnusedField(com.android.tools.r8.graph.DexEncodedField) -> b
    void registerUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void visited() -> b
    void visiting(com.android.tools.r8.graph.DexProgramClass) -> b
com.android.tools.r8.shaking.VerticalClassMerger -> com.android.tools.r8.internal.A10:
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> r
    com.android.tools.r8.shaking.AppInfoWithLiveness appInfo -> b
    java.util.List synthesizedBridges -> q
    com.android.tools.r8.graph.AppView appView -> c
    com.android.tools.r8.utils.InternalOptions options -> d
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> k
    java.util.Collection invokes -> i
    com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder lensBuilder -> p
    boolean $assertionsDisabled -> s
    java.util.concurrent.ExecutorService executorService -> f
    com.android.tools.r8.utils.Timing timing -> h
    com.android.tools.r8.graph.DexApplication application -> a
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> e
    com.android.tools.r8.ir.optimize.MethodPoolCollection methodPoolCollection -> g
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> j
    java.util.Set pinnedTypes -> o
    java.util.Set mergeCandidates -> l
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap mergedClasses -> m
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap mergedInterfaces -> n
    1:1:void <clinit>():119:119 -> <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):257:257 -> <init>
    2:44:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):230:272 -> <init>
    1:1:java.util.Set access$000(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> a
    2:3:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):333:334 -> a
    4:4:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    4:4:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):334 -> a
    5:20:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):335:350 -> a
    21:30:void markTypeAsPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):357:366 -> a
    31:42:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):374:385 -> a
    43:43:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    43:43:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):385 -> a
    44:47:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):385:385 -> a
    51:53:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):389:391 -> a
    54:54:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    54:54:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInSameFeatureOrBothInSameBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):204 -> a
    54:54:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):391 -> a
    55:58:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):394:397 -> a
    59:59:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    59:59:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):401 -> a
    60:60:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):404:404 -> a
    61:61:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844:844 -> a
    61:61:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):405 -> a
    62:62:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    62:62:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):405 -> a
    63:63:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    63:63:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
    63:63:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):405 -> a
    64:64:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):405:405 -> a
    65:65:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    65:65:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):406 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    66:66:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):406 -> a
    67:113:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):418:464 -> a
    114:115:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):439:440 -> a
    116:116:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):459:459 -> a
    117:117:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:124 -> a
    117:117:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):460 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    118:118:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):125:125 -> a
    118:118:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):460 -> a
    119:119:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):460:460 -> a
    120:120:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.continueIf(boolean):17:17 -> a
    120:120:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.breakIf(boolean):13 -> a
    120:120:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):462 -> a
    121:146:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):475:500 -> a
    147:148:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1229:1230 -> a
    147:148:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):501 -> a
    149:149:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    149:149:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1230 -> a
    149:149:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):501 -> a
    150:151:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):502:503 -> a
    152:153:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1229:1230 -> a
    152:153:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):504 -> a
    154:154:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    154:154:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1230 -> a
    154:154:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):504 -> a
    155:170:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):506:521 -> a
    171:189:boolean com.android.tools.r8.shaking.VerticalClassMerger.fieldResolutionMayChange(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):932:950 -> a
    171:189:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):527 -> a
    190:190:boolean com.android.tools.r8.shaking.VerticalClassMerger.fieldResolutionMayChange(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):949:949 -> a
    190:190:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):527 -> a
    191:199:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):528:536 -> a
    200:200:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):60:60 -> a
    200:200:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):537 -> a
    201:201:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    201:201:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):537 -> a
    202:206:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getMembersApiReferenceLevelForMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.androidapi.ComputedApiLevel):68:72 -> a
    202:206:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):57 -> a
    202:206:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):537 -> a
    207:207:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):538:538 -> a
    208:208:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):60:60 -> a
    208:208:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):539 -> a
    209:209:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    209:209:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):539 -> a
    210:214:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getMembersApiReferenceLevelForMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.androidapi.ComputedApiLevel):68:72 -> a
    210:214:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):57 -> a
    210:214:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):539 -> a
    215:217:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):540:542 -> a
    218:219:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):514:515 -> a
    220:221:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):494:495 -> a
    222:222:boolean lambda$isStillMergeCandidate$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):490:490 -> a
    223:252:com.android.tools.r8.shaking.VerticalClassMergerGraphLens run():702:731 -> a
    253:253:void lambda$run$4(com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):727:727 -> a
    254:254:void lambda$run$4(com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):726:726 -> a
    255:259:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):762:766 -> a
    260:260:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    260:260:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):767 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    261:261:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    261:261:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):768 -> a
    262:269:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):771:778 -> a
    270:270:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    270:270:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):780 -> a
    271:280:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):781:790 -> a
    281:287:void lambda$methodResolutionMayChange$5(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexClassAndMethod):846:852 -> a
    288:288:void lambda$methodResolutionMayChange$6(com.android.tools.r8.graph.LookupLambdaTarget):857:857 -> a
    289:340:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):869:920 -> a
    341:351:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):916:926 -> a
    352:352:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):922:922 -> a
    353:353:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):907:907 -> a
    354:363:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason com.android.tools.r8.shaking.VerticalClassMerger.disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1934:1943 -> a
    354:363: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):422 -> a
    364:375:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason com.android.tools.r8.shaking.VerticalClassMerger.disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1939:1950 -> a
    364:375: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):422 -> a
    376:376:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason com.android.tools.r8.shaking.VerticalClassMerger.disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1949:1949 -> a
    376:376: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):422 -> a
    377:377:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    377:377:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason com.android.tools.r8.shaking.VerticalClassMerger.disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1954 -> a
    377:377: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):422 -> a
    378:383: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):425:430 -> a
    1:1:com.android.tools.r8.graph.SubtypingInfo access$100(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> b
    2:20:void initializeMergeCandidates(java.lang.Iterable):276:294 -> b
    21:21:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):551:551 -> b
    22:22:boolean com.android.tools.r8.graph.DexClass.isPrivate():737:737 -> b
    22:22:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):555 -> b
    23:23:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> b
    23:23:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):555 -> b
    24:24:boolean com.android.tools.r8.graph.DexClass.isPrivate():737:737 -> b
    24:24:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):556 -> b
    25:25:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> b
    25:25:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):556 -> b
    26:26:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> b
    26:26:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):565 -> b
    27:27:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):568:568 -> b
    28:28:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> b
    28:28:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):569 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> b
    29:29:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):569 -> b
    30:34:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):569:573 -> b
    35:35:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> b
    35:35:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):574 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> b
    36:36:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):574 -> b
    37:37:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):574:574 -> b
    38:38:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> b
    38:38:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):578 -> b
    39:39:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):579:579 -> b
    40:40:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> b
    40:40:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):580 -> b
    41:52:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):588:599 -> b
    53:53:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):591:591 -> b
    54:54:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:124 -> b
    54:54:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):592 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:55:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):125:125 -> b
    55:55:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):592 -> b
    56:61:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):592:597 -> b
    1:1:com.android.tools.r8.ir.optimize.MethodPoolCollection access$1000(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> c
    2:27:void initializePinnedTypes(java.lang.Iterable):304:329 -> c
    28:28:void initializePinnedTypes(java.lang.Iterable):328:328 -> c
    29:91:boolean methodResolutionMayChange(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):797:859 -> c
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedback access$1300(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> d
    1:1:com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap access$1400(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> e
    1:1:com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap access$1500(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> f
    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder access$1600(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> g
    1:1:com.android.tools.r8.graph.DexApplication access$1700(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> h
    1:1:java.util.Collection com.android.tools.r8.shaking.VerticalClassMerger.getInvokes():603:603 -> i
    1:1:java.util.Collection access$1800(com.android.tools.r8.shaking.VerticalClassMerger):119 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:4:java.util.Collection com.android.tools.r8.shaking.VerticalClassMerger.getInvokes():604:606 -> i
    2:4:java.util.Collection access$1800(com.android.tools.r8.shaking.VerticalClassMerger):119 -> i
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness access$200(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> j
    1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> k
    1:1:java.util.concurrent.ExecutorService access$800(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> l
    1:1:com.android.tools.r8.utils.Timing access$900(com.android.tools.r8.shaking.VerticalClassMerger):119:119 -> m
com.android.tools.r8.shaking.VerticalClassMerger$AbortReason$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.r10:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    boolean com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.$assertionsDisabled -> a
    1:1:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.<clinit>():121:121 -> <clinit>
    1:1:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143:143 -> a
    2:2:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):207:207 -> a
    2:2:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    3:3:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):204:204 -> a
    3:3:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    4:4:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):201:201 -> a
    4:4:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    5:5:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):198:198 -> a
    5:5:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    6:6:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):195:195 -> a
    6:6:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    7:7:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):192:192 -> a
    7:7:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    8:8:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):189:189 -> a
    8:8:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    9:9:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):186:186 -> a
    9:9:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    10:10:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):183:183 -> a
    10:10:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    11:11:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):180:180 -> a
    11:11:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    12:12:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):177:177 -> a
    12:12:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    13:13:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):174:174 -> a
    13:13:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    14:14:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):171:171 -> a
    14:14:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    15:15:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):168:168 -> a
    15:15:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    16:16:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):165:165 -> a
    16:16:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    17:17:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):162:162 -> a
    17:17:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    18:18:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):159:159 -> a
    18:18:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    19:19:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):156:156 -> a
    19:19:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    20:20:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):153:153 -> a
    20:20:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    21:80:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):150:209 -> a
    21:80:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    81:81:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143:143 -> a
    82:82:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):207:207 -> a
    82:82:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
    83:83:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):148:148 -> a
    83:83:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):143 -> a
com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger -> com.android.tools.r8.internal.s10:
    com.android.tools.r8.graph.DexProgramClass target -> b
    java.util.List synthesizedBridges -> d
    com.android.tools.r8.graph.DexProgramClass source -> a
    boolean abortMerge -> e
    boolean $assertionsDisabled -> g
    com.android.tools.r8.shaking.VerticalClassMerger this$0 -> f
    com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder deferredRenamings -> c
    1:1:void <clinit>():961:961 -> <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):961:961 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):971:971 -> <init>
    3:11:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):965:973 -> <init>
    boolean lambda$getGenericSignatureArgumentApplier$10(com.android.tools.r8.graph.DexType) -> a
    boolean lambda$getGenericSignatureArgumentApplier$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    1:4:boolean lambda$merge$0(java.util.Set,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexMethod):988:991 -> a
    5:6:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):996:997 -> a
    7:16:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1628:1637 -> a
    7:16:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):999 -> a
    17:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1636:1643 -> a
    17:24:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):999 -> a
    25:25:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> a
    25:25:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1643 -> a
    25:25:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):999 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    26:26:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> a
    26:26:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1643 -> a
    26:26:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):999 -> a
    27:30:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1644:1647 -> a
    27:30:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):999 -> a
    31:34:void com.android.tools.r8.shaking.VerticalClassMerger.makePrivate(com.android.tools.r8.graph.DexEncodedMethod):1730:1733 -> a
    31:34:void com.android.tools.r8.shaking.VerticalClassMerger.access$1200(com.android.tools.r8.graph.DexEncodedMethod):119 -> a
    31:34:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1648 -> a
    31:34:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):999 -> a
    35:35:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1000:1000 -> a
    36:36:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1576:1576 -> a
    36:36:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1000 -> a
    37:37:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1001:1001 -> a
    38:38:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1492:1492 -> a
    38:38:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1001 -> a
    39:39:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1007:1007 -> a
    40:40:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename):1654:1654 -> a
    40:40:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1004 -> a
    41:41:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1008:1008 -> a
    42:42:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1576:1576 -> a
    42:42:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1008 -> a
    43:44:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1009:1010 -> a
    45:45:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> a
    45:45:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1009 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> a
    46:46:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1009 -> a
    47:49:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1011:1011 -> a
    51:51:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1013:1013 -> a
    52:52:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1492:1492 -> a
    52:52:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1013 -> a
    53:62:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1017:1026 -> a
    63:63:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1021:1021 -> a
    64:65:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$merge$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1024:1025 -> a
    66:68:boolean lambda$merge$3(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):1095:1097 -> a
    69:69:boolean lambda$merge$3(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):1096:1096 -> a
    70:70:boolean lambda$merge$4(com.android.tools.r8.graph.DexEncodedMethod):1155:1155 -> a
    71:71:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    71:71:boolean lambda$merge$4(com.android.tools.r8.graph.DexEncodedMethod):1155 -> a
    72:72:void lambda$merge$5(com.android.tools.r8.graph.ProgramMethod):1156:1156 -> a
    73:73:void com.android.tools.r8.graph.DefaultInstanceInitializerCode.uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):76:76 -> a
    73:73:void lambda$merge$5(com.android.tools.r8.graph.ProgramMethod):1156 -> a
    74:74:boolean lambda$merge$6(java.util.Set,com.android.tools.r8.graph.DexField):1173:1173 -> a
    75:94:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1258:1277 -> a
    95:98:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):70:73 -> a
    95:98:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1277 -> a
    99:138:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1279:1318 -> a
    139:140:void com.android.tools.r8.utils.CollectionUtils.forEach(java.util.function.Consumer,java.util.Collection[]):30:31 -> a
    139:140:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1318 -> a
    141:141:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1332:1332 -> a
    142:149:void lambda$rewriteGenericSignatures$7(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):1320:1327 -> a
    150:150:void lambda$rewriteGenericSignatures$7(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):1324:1324 -> a
    151:155:void lambda$rewriteGenericSignatures$8(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):1334:1338 -> a
    156:156:void lambda$rewriteGenericSignatures$8(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):1337:1337 -> a
    157:181:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier getGenericSignatureArgumentApplier(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):1344:1368 -> a
    182:182:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier getGenericSignatureArgumentApplier(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):1366:1366 -> a
    183:195:boolean restoreDebuggingState(java.util.stream.Stream):1374:1386 -> a
    196:196:boolean restoreDebuggingState(java.util.stream.Stream):1385:1385 -> a
    197:197:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder getRenamings():1391:1391 -> a
    198:226:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1400:1428 -> a
    227:227:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    227:227:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):309 -> a
    227:227:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1428 -> a
    228:228:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):309:309 -> a
    228:228:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1428 -> a
    229:267:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1431:1469 -> a
    268:268:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$redirectSuperCallsInTarget$14(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1414:1414 -> a
    269:269:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$redirectSuperCallsInTarget$15(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1437:1437 -> a
    270:273:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1598:1601 -> a
    274:285:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1700:1711 -> a
    274:285:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1602 -> a
    286:292:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1710:1716 -> a
    286:292:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1602 -> a
    293:293:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.DexEncodedField.toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):308:308 -> a
    293:293:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1716 -> a
    293:293:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1602 -> a
    294:295:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1603:1604 -> a
    296:296:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):323:323 -> a
    296:296:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1604 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    297:297:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):323:323 -> a
    297:297:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1604 -> a
    298:303:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1605:1610 -> a
    304:304:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1619:1619 -> a
    305:305:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1929,"2":1930,"3":1931,"4":1932,"5":1933}}
    1929:1929:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1621:1621 -> a
    1930:1930:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1621:1621 -> a
    1931:1931:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1621:1621 -> a
    1932:1932:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1621:1621 -> a
    1933:1933:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1621:1621 -> a
    1928:1928:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1623:1623 -> a
    1934:1962: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):1664:1692 -> a
    1963:1987: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):1671:1695 -> a
    1988:1988: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):1669:1669 -> a
    1:2:void lambda$restoreDebuggingState$11(com.android.tools.r8.graph.DexEncodedMethod):1376:1377 -> b
    3:3:java.util.List getSynthesizedBridges():1395:1395 -> b
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$redirectSuperCallsInTarget$16(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1462:1462 -> b
    1:2:boolean merge():980:981 -> c
    3:4:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.addAll(java.util.Collection,java.lang.Iterable,com.android.tools.r8.com.google.common.base.Equivalence):1581:1582 -> c
    3:4:boolean merge():981 -> c
    5:16:boolean merge():983:994 -> c
    17:17:void com.android.tools.r8.graph.DexProgramClass.forEachProgramDirectMethod(java.util.function.Consumer):256:256 -> c
    17:17:boolean merge():994 -> c
    18:18:void com.android.tools.r8.graph.DexProgramClass.forEachProgramDirectMethod(java.util.function.Consumer):256:256 -> c
    18:18:boolean merge():994 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:boolean merge():1031:1031 -> c
    20:35:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1546:1561 -> c
    20:35:boolean merge():1032 -> c
    36:36:boolean merge():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":309,"2":310,"3":311}}
    309:309:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1562:1562 -> c
    309:309:boolean merge():1032 -> c
    310:310:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1562:1562 -> c
    310:310:boolean merge():1032 -> c
    311:311:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1562:1562 -> c
    311:311:boolean merge():1032 -> c
    37:37:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1562:1562 -> c
    37:37:boolean merge():1032 -> c
    38:38:boolean merge():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":314,"2":315,"3":316}}
    314:314:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1565:1565 -> c
    314:314:boolean merge():1032 -> c
    315:315:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1565:1565 -> c
    315:315:boolean merge():1032 -> c
    316:316:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1565:1565 -> c
    316:316:boolean merge():1032 -> c
    39:39:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1567:1567 -> c
    39:39:boolean merge():1032 -> c
    40:40:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1562:1562 -> c
    40:40:boolean merge():1032 -> c
    41:46:boolean merge():1034:1039 -> c
    47:47:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> c
    47:47:boolean merge():1039 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> c
    48:48:boolean merge():1039 -> c
    49:49:boolean merge():1040:1040 -> c
    50:50:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> c
    50:50:boolean merge():1040 -> c
    51:64:boolean merge():1041:1054 -> c
    65:77:boolean merge():1053:1065 -> c
    78:78:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename):1654:1654 -> c
    78:78:boolean merge():1070 -> c
    79:79:boolean merge():1072:1072 -> c
    80:83:boolean merge():1071:1074 -> c
    84:84:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> c
    84:84:boolean merge():1073 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:85:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> c
    85:85:boolean merge():1073 -> c
    86:88:boolean merge():1075:1075 -> c
    90:90:boolean merge():1077:1077 -> c
    91:91:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1576:1576 -> c
    91:91:boolean merge():1077 -> c
    92:108:boolean merge():1083:1099 -> c
    109:109:boolean merge():1092:1092 -> c
    110:114:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.makeStatic(com.android.tools.r8.graph.DexEncodedMethod):1720:1724 -> c
    110:114:boolean merge():1100 -> c
    115:115:boolean merge():1103:1103 -> c
    116:116:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename):1654:1654 -> c
    116:116:boolean merge():1109 -> c
    117:117:boolean merge():1110:1110 -> c
    118:122:void com.android.tools.r8.shaking.VerticalClassMerger.makePublic(com.android.tools.r8.graph.DexEncodedMethod):1737:1741 -> c
    118:122:void com.android.tools.r8.shaking.VerticalClassMerger.access$1100(com.android.tools.r8.graph.DexEncodedMethod):119 -> c
    118:122:boolean merge():1111 -> c
    123:126:void com.android.tools.r8.shaking.VerticalClassMerger.makePrivate(com.android.tools.r8.graph.DexEncodedMethod):1730:1733 -> c
    123:126:void com.android.tools.r8.shaking.VerticalClassMerger.access$1200(com.android.tools.r8.graph.DexEncodedMethod):119 -> c
    123:126:boolean merge():1113 -> c
    127:129:boolean merge():1118:1120 -> c
    130:130:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1576:1576 -> c
    130:130:boolean merge():1117 -> c
    131:132:boolean merge():1124:1125 -> c
    133:133:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1492:1492 -> c
    133:133:boolean merge():1125 -> c
    134:145:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1497:1508 -> c
    134:145:boolean merge():1133 -> c
    146:152:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1506:1512 -> c
    146:152:boolean merge():1133 -> c
    153:153:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> c
    153:153:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1512 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    153:153:boolean merge():1133 -> c
    154:180:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1513:1539 -> c
    154:180:boolean merge():1133 -> c
    181:183:boolean merge():1134:1134 -> c
    185:185:boolean merge():1136:1136 -> c
    186:186:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1576:1576 -> c
    186:186:boolean merge():1136 -> c
    187:187:boolean merge():1139:1139 -> c
    188:188:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> c
    188:188:boolean merge():1139 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    189:189:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> c
    189:189:boolean merge():1139 -> c
    190:195:boolean merge():1140:1145 -> c
    196:230:boolean merge():1144:1178 -> c
    231:240:boolean merge():1176:1185 -> c
    241:248:boolean merge():1183:1190 -> c
    249:251:java.util.Set com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.mergeArrays(java.lang.Object[],java.lang.Object[]):1587:1589 -> c
    249:251:boolean merge():1190 -> c
    252:288:boolean merge():1193:1229 -> c
    289:302:com.android.tools.r8.graph.GenericSignatureContextBuilder com.android.tools.r8.graph.GenericSignatureContextBuilder.createForSingleClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):185:198 -> c
    289:302:boolean merge():1229 -> c
    303:306:boolean merge():1228:1231 -> c
    307:307:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> c
    307:307:boolean merge():1231 -> c
    308:308:boolean merge():1228:1228 -> c
    317:318:void lambda$restoreDebuggingState$12(com.android.tools.r8.graph.DexEncodedMethod):1381:1382 -> c
    1:1:boolean lambda$restoreDebuggingState$13(com.android.tools.r8.graph.DexEncodedMethod):1386:1386 -> d
com.android.tools.r8.shaking.VerticalClassMerger$CollisionDetector -> com.android.tools.r8.internal.t10:
    java.util.Map seenPositions -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap sourceProtoCache -> c
    java.util.Collection invokes -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap targetProtoCache -> b
    com.android.tools.r8.graph.DexType source -> d
    boolean $assertionsDisabled -> h
    com.android.tools.r8.shaking.VerticalClassMerger this$0 -> g
    com.android.tools.r8.graph.DexType target -> e
    1:1:void <clinit>():1823:1823 -> <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):1823:1823 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1834:1834 -> <init>
    3:15:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1828:1840 -> <init>
    1:18:void fillSeenPositions():1870:1887 -> a
    19:20:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap lambda$fillSeenPositions$0(com.android.tools.r8.graph.DexString):1877:1878 -> a
    21:52:int computePositionsFor(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1897:1928 -> a
    1:22:boolean mayCollide():1844:1865 -> b
com.android.tools.r8.shaking.VerticalClassMerger$IllegalAccessDetector -> com.android.tools.r8.internal.u10:
    com.android.tools.r8.graph.AppView appView -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):2079:2080 -> <init>
    1:2:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2101:2102 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2102 -> a
    4:7:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2103:2106 -> a
    8:8:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    8:8:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2106 -> a
    9:13:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2111:2115 -> a
    14:14:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    14:14:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2115 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    15:15:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2115 -> a
    16:16:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2116:2116 -> a
    17:18:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):2149:2150 -> a
    19:19:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    19:19:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):2150 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):2151:2151 -> a
    21:21:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):2182:2182 -> a
    22:22:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    22:22:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):2182 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:23:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):2182:2182 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):2137:2137 -> b
    2:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):2163:2164 -> b
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> b
    4:4:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):2164 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):2165:2165 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):2177:2177 -> c
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> c
    2:2:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):2177 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):2177:2177 -> c
    4:4:void registerInstanceOf(com.android.tools.r8.graph.DexType):2207:2207 -> c
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):2156:2157 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    3:3:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):2157 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):2158:2158 -> d
    5:5:void registerNewInstance(com.android.tools.r8.graph.DexType):2187:2187 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):2192:2192 -> e
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):2192 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):2192:2192 -> e
    1:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):2170:2171 -> f
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):2171 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):2172:2172 -> f
    5:5:void registerTypeReference(com.android.tools.r8.graph.DexType):2202:2202 -> f
    1:1:boolean checkTypeReference(com.android.tools.r8.graph.DexType):2124:2124 -> g
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> g
    2:2:boolean checkTypeReference(com.android.tools.r8.graph.DexType):2124 -> g
    3:6:boolean checkTypeReference(com.android.tools.r8.graph.DexType):2125:2128 -> g
    7:8:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):2142:2143 -> g
    9:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> g
    9:9:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):2143 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):2144:2144 -> g
    11:11:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):2197:2197 -> g
    12:12:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> g
    12:12:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):2197 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):2197:2197 -> g
    1:2:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2084:2085 -> i
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> i
    3:3:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2085 -> i
    4:11:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2086:2093 -> i
com.android.tools.r8.shaking.VerticalClassMerger$InvokeSpecialToDefaultLibraryMethodUseRegistry -> com.android.tools.r8.internal.v10:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():2211:2211 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):2216:2217 -> <init>
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    1:8:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):2222:2229 -> c
    void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
    void registerStaticFieldRead(com.android.tools.r8.graph.DexField) -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    void registerStaticFieldWrite(com.android.tools.r8.graph.DexField) -> g
com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever -> com.android.tools.r8.internal.w10:
    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
    java.util.Set mergeeCandidates -> c
    com.android.tools.r8.shaking.VerticalClassMerger this$0 -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap cache -> a
    1:1:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):617:617 -> <init>
    2:10:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):612:620 -> <init>
    1:35:java.util.Collection get():625:659 -> a
    36:36:com.android.tools.r8.graph.DexProto lambda$get$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexString):643:643 -> a
    37:41:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):667:671 -> a
    42:49:boolean com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever.typeMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexType):687:694 -> a
    42:49:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):671 -> a
    50:50:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):674:674 -> a
    51:58:boolean com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever.typeMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexType):687:694 -> a
    51:58:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):675 -> a
    59:59:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):681:681 -> a
com.android.tools.r8.shaking.VerticalClassMerger$SingleTypeMapperGraphLens -> com.android.tools.r8.internal.x10:
    boolean $assertionsDisabled -> i
    com.android.tools.r8.shaking.VerticalClassMerger this$0 -> h
    com.android.tools.r8.graph.DexProgramClass target -> g
    com.android.tools.r8.graph.DexType source -> f
    1:1:void <clinit>():1962:1962 -> <clinit>
    1:4:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1967:1970 -> <init>
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):1975:1975 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):1985:1985 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):1990:1990 -> a
    4:24:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):2018:2038 -> a
    25:25:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):2045:2045 -> a
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):1980:1980 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1995:1995 -> b
    3:3:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):2056:2056 -> b
    4:4:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):2062:2062 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):2051:2051 -> c
    1:1:com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType):2000:2000 -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):2005:2005 -> e
    boolean isContextFreeForMethods() -> g
com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode -> com.android.tools.r8.internal.y10:
    com.android.tools.r8.ir.code.Invoke$Type type -> g
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexMethod invocationTarget -> f
    com.android.tools.r8.graph.DexMethod originalMethod -> e
    com.android.tools.r8.graph.DexMethod method -> d
    boolean isInterface -> h
    1:1:void <clinit>():2267:2267 -> <clinit>
    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):2280:2285 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod access$500(com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode):2267:2267 -> a
    2:3:void updateMethodSignatures(java.util.function.Function):2300:2301 -> a
    4:4:java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod):2320:2320 -> a
    5:17:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2321:2333 -> a
    18:18:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2362,"2":2363,"3":2364}}
    2362:2362:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2333:2333 -> a
    2363:2363:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2333:2333 -> a
    2364:2364:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2333:2333 -> a
    2351:2351:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2333:2333 -> a
    2352:2352:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2327:2327 -> a
    2353:2353:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2324:2324 -> a
    1:2:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2306:2307 -> z0
    3:3:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):25:25 -> z0
    3:3:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2307 -> z0
    4:7:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2308:2311 -> z0
    8:8:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> z0
    8:8:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2311 -> z0
    9:13:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2311:2315 -> z0
com.android.tools.r8.shaking.VerticalClassMerger$VerticalClassMergerTreeFixer -> com.android.tools.r8.internal.z10:
    com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder lensBuilder -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.graph.classmerging.VerticallyMergedClasses mergedClasses -> h
    java.util.List synthesizedBridges -> i
    1:1:void <clinit>():1744:1744 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,java.util.List):1756:1761 -> <init>
    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLens access$400(com.android.tools.r8.shaking.VerticalClassMerger$VerticalClassMergerTreeFixer):1744:1744 -> a
    2:2:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1792:1792 -> a
    3:3:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1797:1797 -> a
    4:4:boolean com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexField):310:310 -> a
    4:4:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1797 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexField):310:310 -> a
    5:5:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1797 -> a
    6:6:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1798:1798 -> a
    7:7:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):323:323 -> a
    7:7:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1798 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):323:323 -> a
    8:8:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1798 -> a
    9:10:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):1804:1805 -> a
    11:16:com.android.tools.r8.graph.DexEncodedMethod recordMethodChange(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1812:1817 -> a
    1:3:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1766:1768 -> b
    4:4:com.android.tools.r8.graph.DexEncodedField[] com.android.tools.r8.graph.TreeFixerBase.fixupFields(java.util.List):170:170 -> b
    4:4:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1768 -> b
    5:6:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1768:1769 -> b
    7:7:com.android.tools.r8.graph.DexEncodedField[] com.android.tools.r8.graph.TreeFixerBase.fixupFields(java.util.List):170:170 -> b
    7:7:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1769 -> b
    8:15:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1769:1776 -> b
    16:17:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):1783:1784 -> b
com.android.tools.r8.shaking.VerticalClassMergerGraphLens -> com.android.tools.r8.internal.D10:
    com.android.tools.r8.graph.AppView appView -> n
    java.util.Map originalMethodSignaturesForBridges -> r
    java.util.Map contextualVirtualToDirectMethodMaps -> p
    java.util.Set mergedMethods -> q
    com.android.tools.r8.graph.classmerging.VerticallyMergedClasses mergedClasses -> o
    boolean $assertionsDisabled -> s
    1:1:void <clinit>():55:55 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$1):55:55 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map):80:85 -> <init>
    1:27:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):106:132 -> a
    28:30:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):131:133 -> a
    31:31:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.shaking.VerticalClassMergerGraphLens.mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):145:145 -> a
    31:31:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):133 -> a
    32:33:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):133:134 -> a
    34:34: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):145:145 -> a
    35:35:boolean lambda$verifyIsContextFreeForMethod$0(com.android.tools.r8.graph.DexMethod,java.util.Map):158:158 -> a
    1:4:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):155:158 -> d
    5:5:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):157:157 -> d
    1:3:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):139:139 -> e
    1:2:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):95:96 -> f
    3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> f
    3:3:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):100 -> f
    1:1:boolean isContextFreeForMethods():150:150 -> g
com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder -> com.android.tools.r8.internal.B10:
    java.util.Map methodMap -> c
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap newMethodSignatures -> f
    boolean $assertionsDisabled -> i
    java.util.Map contextualVirtualToDirectMethodMaps -> e
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap fieldMap -> b
    java.util.Map originalMethodSignaturesForBridges -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder mergedMethodsBuilder -> d
    java.util.Map cache -> h
    1:1:void <clinit>():162:162 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):180:180 -> <init>
    2:17:void <init>(com.android.tools.r8.graph.DexItemFactory):166:181 -> <init>
    1:9:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):185:193 -> a
    10:10:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> a
    10:10:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):191 -> a
    11:13:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):195:197 -> a
    14:14:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.markMethodAsMerged(com.android.tools.r8.graph.DexMethod):319:319 -> a
    14:14:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):196 -> a
    15:17:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):200:202 -> a
    18:26:com.android.tools.r8.graph.DexType com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getTypeAfterClassMerging(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):289:297 -> a
    18:26:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):202 -> a
    27:57:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):202:232 -> a
    58:58:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.recordCreationOfBridgeMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):342:342 -> a
    58:58:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):230 -> a
    59:59:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):189:189 -> a
    60:65:com.android.tools.r8.graph.DexField com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getFieldSignatureAfterClassMerging(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):256:261 -> a
    60:65:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):189 -> a
    66:74:com.android.tools.r8.graph.DexType com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getTypeAfterClassMerging(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):289:297 -> a
    66:74:com.android.tools.r8.graph.DexField com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getFieldSignatureAfterClassMerging(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):262 -> a
    66:74:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):189 -> a
    75:75:com.android.tools.r8.graph.DexField com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getFieldSignatureAfterClassMerging(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):267:267 -> a
    75:75:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):189 -> a
    76:76:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):323:323 -> a
    76:76:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):188 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:77:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):323:323 -> a
    77:77:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):188 -> a
    78:78:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$createBuilderForFixup$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):213:213 -> a
    79:83:void lambda$createBuilderForFixup$2(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):220:224 -> a
    84:93:com.android.tools.r8.shaking.VerticalClassMergerGraphLens build(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):239:248 -> a
    94:107:com.android.tools.r8.graph.DexMethod getMethodSignatureAfterClassMerging(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):272:285 -> a
    108:116:com.android.tools.r8.graph.DexType com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getTypeAfterClassMerging(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):289:297 -> a
    108:116:com.android.tools.r8.graph.DexType lambda$getMethodSignatureAfterClassMerging$3(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexType):280 -> a
    117:120:boolean hasMappingForSignatureInContext(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):301:304 -> a
    121:122:boolean hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexMethod):314:315 -> a
    123:125:void mapVirtualMethodToDirectInType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$GraphLensLookupResultProvider,com.android.tools.r8.graph.DexType):347:349 -> a
    126:126:java.util.Map lambda$mapVirtualMethodToDirectInType$4(com.android.tools.r8.graph.DexType):348:348 -> a
    127:171:void merge(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder):353:397 -> a
    172:172:void lambda$merge$6(java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):358:358 -> a
    173:173:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    173:173:void lambda$merge$6(java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):359 -> a
    174:190:void lambda$merge$6(java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):364:380 -> a
    191:196:void lambda$merge$6(java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):379:384 -> a
    197:197:boolean lambda$merge$5(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):359:359 -> a
    1:1:void markMethodAsMerged(com.android.tools.r8.graph.DexMethod):319:319 -> b
    2:2:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):327:327 -> b
    1:1:void recordCreationOfBridgeMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):342:342 -> c
    1:3:void recordMerge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):332:334 -> d
    1:1:void recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):338:338 -> e
com.android.tools.r8.shaking.VerticalClassMergerGraphLens$GraphLensLookupResultProvider -> com.android.tools.r8.internal.C10:
    com.android.tools.r8.graph.GraphLens$MethodLookupResult get(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription) -> a
com.android.tools.r8.shaking.WhyAreYouKeepingConsumer -> com.android.tools.r8.internal.c20:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():43:43 -> <clinit>
    1:1:void <init>(com.android.tools.r8.experimental.graphinfo.GraphConsumer):58:58 -> <init>
    1:2:com.android.tools.r8.experimental.graphinfo.ClassGraphNode com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getClassNode(com.android.tools.r8.references.ClassReference):62:63 -> a
    1:2:void printWhyAreYouKeeping(com.android.tools.r8.references.ClassReference,java.io.PrintStream):89 -> a
    3:3:void printWhyAreYouKeeping(com.android.tools.r8.references.ClassReference,java.io.PrintStream):90:90 -> a
    4:5:com.android.tools.r8.experimental.graphinfo.MethodGraphNode com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getMethodNode(com.android.tools.r8.references.MethodReference):71:72 -> a
    4:5:void printWhyAreYouKeeping(com.android.tools.r8.references.MethodReference,java.io.PrintStream):94 -> a
    6:6:void printWhyAreYouKeeping(com.android.tools.r8.references.MethodReference,java.io.PrintStream):95:95 -> a
    7:8:com.android.tools.r8.experimental.graphinfo.FieldGraphNode com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getFieldNode(com.android.tools.r8.references.FieldReference):80:81 -> a
    7:8:void printWhyAreYouKeeping(com.android.tools.r8.references.FieldReference,java.io.PrintStream):99 -> a
    9:9:void printWhyAreYouKeeping(com.android.tools.r8.references.FieldReference,java.io.PrintStream):100:100 -> a
    10:10:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):104:104 -> a
    11:30:java.util.List com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.findShortestPathTo(com.android.tools.r8.experimental.graphinfo.GraphNode):132:151 -> a
    11:30:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):105 -> a
    31:32:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printNothingKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):119:120 -> a
    31:32:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):107 -> a
    33:36:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):110:113 -> a
    37:37:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":44,"2":45,"3":46}}
    44:44:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):197:197 -> a
    44:44:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    45:45:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):197:197 -> a
    45:45:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    46:46:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):197:197 -> a
    46:46:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    38:38:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):197:197 -> a
    38:38:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    39:40:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.addNodeMessage(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):240:241 -> a
    39:40:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):198 -> a
    39:40:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    41:41:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):115:115 -> a
    42:43:java.util.List com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.findShortestPathTo(com.android.tools.r8.experimental.graphinfo.GraphNode):153:154 -> a
    42:43:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):105 -> a
    47:55:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):165:173 -> a
    56:64:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getCanonicalInfo(java.util.Set):185:193 -> a
    56:64:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):173 -> a
    65:67:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):173:175 -> a
    68:68:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getCanonicalInfo(java.util.Set):192:192 -> a
    68:68:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):173 -> a
    69:70:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):177:178 -> a
    71:79:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getCanonicalInfo(java.util.Set):185:193 -> a
    71:79:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):178 -> a
    80:80:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):178:178 -> a
    81:81:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getCanonicalInfo(java.util.Set):192:192 -> a
    81:81:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):178 -> a
    1:3:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):202:204 -> d
    4:16:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):203:215 -> d
    17:34:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):213:230 -> d
    35:39:java.lang.String com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.shortPositionInfo(com.android.tools.r8.position.Position):246:250 -> d
    35:39:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):230 -> d
    40:46:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):230:236 -> d
    47:47:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):235:235 -> d
com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter -> com.android.tools.r8.internal.a20:
    java.io.PrintStream output -> a
    int indentation -> b
    1:1:void <init>(java.io.PrintStream):257:257 -> <init>
    2:5:void <init>(java.io.PrintStream):255:258 -> <init>
    1:2:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter.indent():268:269 -> a
    1:2:void addMessage(java.lang.String):280 -> a
    3:4:void addMessage(java.lang.String):281:282 -> a
    5:5:void endItem():286:286 -> a
    1:2:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter.indent():268:269 -> b
    1:2:void addReason(java.lang.String):274 -> b
    3:4:void addReason(java.lang.String):275:276 -> b
    1:1:void startItem(java.lang.String):262:262 -> c
    2:3:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter.indent():268:269 -> c
    2:3:void startItem(java.lang.String):263 -> c
    4:4:void startItem(java.lang.String):264:264 -> c
com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath -> com.android.tools.r8.internal.b20:
    com.android.tools.r8.experimental.graphinfo.GraphNode node -> a
    com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath path -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():46:46 -> <clinit>
    1:4:void <init>(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath):50:53 -> <init>
com.android.tools.r8.shaking.WhyAreYouNotInliningRule -> com.android.tools.r8.shaking.G2:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.WhyAreYouNotInliningRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,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,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():79:79 -> C
com.android.tools.r8.shaking.WhyAreYouNotInliningRule$Builder -> com.android.tools.r8.shaking.F2:
    1:1:void <init>(com.android.tools.r8.shaking.WhyAreYouNotInliningRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.synthesis.CommittedItems -> com.android.tools.r8.synthesis.a:
    com.android.tools.r8.graph.DexApplication application -> a
    boolean $assertionsDisabled -> e
    int nextSyntheticId -> b
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection committed -> c
    com.android.tools.r8.com.google.common.collect.ImmutableList committedProgramTypes -> d
    1:1:void <clinit>():24:24 -> <clinit>
    1:6:void <init>(int,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,com.android.tools.r8.com.google.common.collect.ImmutableList):36:41 -> <init>
    1:1:com.android.tools.r8.graph.DexApplication getApplication():50:50 -> a
    2:2:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):61:61 -> a
    1:1:java.util.Collection getCommittedProgramTypes():54:54 -> b
    1:1:com.android.tools.r8.synthesis.SyntheticItems toSyntheticItems():46:46 -> c
com.android.tools.r8.synthesis.CommittedSyntheticsCollection -> com.android.tools.r8.synthesis.c:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.com.google.common.collect.ImmutableMap nonLegacyClasses -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMap nonLegacyMethods -> a
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection EMPTY -> d
    com.android.tools.r8.com.google.common.collect.ImmutableSet syntheticInputs -> c
    1:96:void <clinit>():31:126 -> <clinit>
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableSet):140:144 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$000(com.android.tools.r8.synthesis.CommittedSyntheticsCollection):31:31 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap access$100(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableMap):31:31 -> a
    3:3:void lambda$merge$1(java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):121:121 -> a
    4:4:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):155:155 -> a
    5:5:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":163,"2":164,"3":165}}
    163:163:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):155:155 -> a
    164:164:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):155:155 -> a
    165:165:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):155:155 -> a
    6:6:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":166,"2":167,"3":168,"4":169}}
    166:166:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    167:167:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    168:168:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    169:169:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    162:162:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    170:170:com.android.tools.r8.synthesis.CommittedSyntheticsCollection empty():162:162 -> a
    171:185:boolean containsTypeOfKind(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):180:194 -> a
    186:186:boolean containsNonLegacyType(com.android.tools.r8.graph.DexType):202:202 -> a
    187:188:void forEachNonLegacyItem(java.util.function.Consumer):228:229 -> a
    189:189:void lambda$forEachNonLegacyItem$3(java.util.function.Consumer,java.util.List):228:228 -> a
    190:191:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):233:234 -> a
    192:192:com.android.tools.r8.synthesis.CommittedSyntheticsCollection empty():162:162 -> a
    192:192:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):237 -> a
    193:193:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):237:237 -> a
    194:194:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder builder():166:166 -> a
    194:194:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):237 -> a
    195:195:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):239:239 -> a
    196:196:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticMethodReference.getHolder():33:33 -> a
    196:196:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):240 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    197:197:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticMethodReference.getHolder():33:33 -> a
    197:197:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):240 -> a
    198:205:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):240:247 -> a
    206:206:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticClassReference.getHolder():31:31 -> a
    206:206:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):248 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    207:220:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):248:261 -> a
    221:225:com.android.tools.r8.synthesis.CommittedSyntheticsCollection rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):265:269 -> a
    226:227:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteItems(java.util.Map,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder):276:277 -> a
    228:228:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.flatten(java.lang.Iterable):157:157 -> a
    228:228:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteItems(java.util.Map,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder):277 -> a
    229:240:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteItems(java.util.Map,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder):277:288 -> a
    241:243:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication):292:294 -> a
    244:245:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):299:300 -> a
    246:246:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":547,"2":548,"3":549,"4":550,"5":551}}
    547:547:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    548:548:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    549:549:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    550:550:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    551:551:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    546:546:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$200(com.android.tools.r8.synthesis.CommittedSyntheticsCollection):31:31 -> b
    2:5:com.android.tools.r8.com.google.common.collect.ImmutableMap merge(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableMap):119:122 -> b
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMap getNonLegacyClasses():214:214 -> b
    7:8:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):218:219 -> b
    9:9:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMap.getOrDefault(java.lang.Object,java.lang.Object):713:713 -> b
    9:9:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):219 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:11:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):219:220 -> b
    12:12:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMap.getOrDefault(java.lang.Object,java.lang.Object):713:713 -> b
    12:12:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):220 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):220:220 -> b
    14:14:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> b
    14:14:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):218 -> b
    15:15:void lambda$forEachNonLegacyItem$4(java.util.function.Consumer,java.util.List):229:229 -> b
    1:1:java.util.List lambda$merge$0(com.android.tools.r8.graph.DexType):121:121 -> c
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap getNonLegacyMethods():210:210 -> c
    1:2:boolean isEmpty():170:171 -> d
    3:3:java.util.List lambda$rewriteItems$5(com.android.tools.r8.graph.DexType):281:281 -> d
    1:5:boolean verifySyntheticInputsSubsetOfSynthetics():149:153 -> e
com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder -> com.android.tools.r8.synthesis.b:
    java.util.Map newNonLegacyClasses -> b
    java.util.Map newNonLegacyMethods -> c
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection parent -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder newSyntheticInputs -> d
    1:1:void <init>(com.android.tools.r8.synthesis.CommittedSyntheticsCollection):39:39 -> <init>
    2:7:void <init>(com.android.tools.r8.synthesis.CommittedSyntheticsCollection):35:40 -> <init>
    1:2:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addItem(com.android.tools.r8.synthesis.SyntheticDefinition):44:45 -> a
    3:3:com.android.tools.r8.synthesis.SyntheticProgramClassReference com.android.tools.r8.synthesis.SyntheticProgramClassDefinition.toReference():46:46 -> a
    3:3:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51 -> a
    4:4:com.android.tools.r8.synthesis.SyntheticProgramClassReference com.android.tools.r8.synthesis.SyntheticProgramClassDefinition.toReference():46:46 -> a
    4:4:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.synthesis.SyntheticProgramClassReference com.android.tools.r8.synthesis.SyntheticProgramClassDefinition.toReference():46:46 -> a
    5:5:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51 -> a
    6:6:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51:51 -> a
    7:10:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassReference):55:58 -> a
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticClassReference.getHolder():31:31 -> a
    11:11:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassReference):59 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:13:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassReference):59:60 -> a
    14:14:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodDefinition):65:65 -> a
    15:18:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):69:72 -> a
    19:19:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticMethodReference.getHolder():33:33 -> a
    19:19:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):73 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticMethodReference.getHolder():33:33 -> a
    20:20:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):73 -> a
    21:22:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):73:74 -> a
    23:26:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addSyntheticInput(com.android.tools.r8.graph.DexType):79:82 -> a
    27:36:com.android.tools.r8.synthesis.CommittedSyntheticsCollection build():100:109 -> a
    1:1:java.util.List lambda$addNonLegacyClass$0(com.android.tools.r8.graph.DexType):59:59 -> b
    2:9:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder collectSyntheticInputs():87:94 -> b
    1:1:java.util.List lambda$addNonLegacyMethod$1(com.android.tools.r8.graph.DexType):73:73 -> c
com.android.tools.r8.synthesis.Rewritable -> com.android.tools.r8.internal.qT:
    com.android.tools.r8.synthesis.Rewritable rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens) -> a
    com.android.tools.r8.graph.DexType getHolder() -> b
com.android.tools.r8.synthesis.SynthesizingContext -> com.android.tools.r8.synthesis.d:
    com.android.tools.r8.origin.Origin inputContextOrigin -> d
    com.android.tools.r8.graph.DexType inputContextType -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexType synthesizingContextType -> b
    com.android.tools.r8.FeatureSplit featureSplit -> e
    1:1:void <clinit>():29:29 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.FeatureSplit):84:88 -> <init>
    1:4:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ClasspathOrLibraryClass):46:49 -> a
    5:5:com.android.tools.r8.synthesis.SynthesizingContext fromType(com.android.tools.r8.graph.DexType):57:57 -> a
    6:6:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):64:64 -> a
    7:7:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    7:7:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    8:8:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65 -> a
    9:9:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    9:9:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65 -> a
    10:10:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65:65 -> a
    11:13:com.android.tools.r8.synthesis.SynthesizingContext fromSyntheticInputClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):74:76 -> a
    14:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    14:14:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    14:14:com.android.tools.r8.synthesis.SynthesizingContext fromSyntheticInputClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):76 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    15:15:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    15:15:com.android.tools.r8.synthesis.SynthesizingContext fromSyntheticInputClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):76 -> a
    16:16:com.android.tools.r8.synthesis.SynthesizingContext fromSyntheticInputClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):77:77 -> a
    17:23:int compareTo(com.android.tools.r8.synthesis.SynthesizingContext):93:99 -> a
    24:24:com.android.tools.r8.FeatureSplit getFeatureSplit():111:111 -> a
    25:25:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):115:115 -> a
    26:26:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    26:26:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):115 -> a
    27:27:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):116:116 -> a
    28:28:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    28:28:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):116 -> a
    29:31:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):118:120 -> a
    32:32:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):128:128 -> a
    33:33:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    33:33:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):128 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():445:445 -> a
    34:34:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):128 -> a
    35:50:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):131:146 -> a
    51:51:boolean isDerivedFromMainDexList(com.android.tools.r8.shaking.MainDexInfo):159:159 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$compareTo$0(com.android.tools.r8.synthesis.SynthesizingContext):98:98 -> b
    2:2:com.android.tools.r8.origin.Origin getInputContextOrigin():107:107 -> b
    1:1:com.android.tools.r8.graph.DexType getSynthesizingContextType():103:103 -> c
    1:1:int compareTo(java.lang.Object):29:29 -> compareTo
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":160,"2":161,"3":162}}
    160:160:java.lang.String toString():151:151 -> toString
    161:161:java.lang.String toString():151:151 -> toString
    162:162:java.lang.String toString():151:151 -> toString
    2:2:com.android.tools.r8.graph.DexType getSynthesizingContextType():103:103 -> toString
    2:2:java.lang.String toString():152 -> toString
    3:4:java.lang.String toString():152:153 -> toString
    5:5:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":160,"2":161,"3":162}}
    160:160:java.lang.String toString():153:153 -> toString
    161:161:java.lang.String toString():153:153 -> toString
    162:162:java.lang.String toString():153:153 -> toString
    158:158:java.lang.String toString():153:153 -> toString
    159:159:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":160,"2":161,"3":162}}
    160:160:java.lang.String toString():153:153 -> toString
    161:161:java.lang.String toString():153:153 -> toString
    162:162:java.lang.String toString():153:153 -> toString
com.android.tools.r8.synthesis.SyntheticClassBuilder -> com.android.tools.r8.synthesis.e:
    com.android.tools.r8.graph.GenericSignature$ClassSignature signature -> r
    java.util.List methods -> q
    java.util.List virtualMethods -> p
    com.android.tools.r8.ProgramResource$Kind originKind -> h
    com.android.tools.r8.graph.DexType superType -> i
    java.util.List directMethods -> o
    boolean useSortedMethodBacking -> l
    boolean $assertionsDisabled -> s
    com.android.tools.r8.graph.DexItemFactory factory -> a
    com.android.tools.r8.origin.Origin origin -> d
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind syntheticKind -> c
    boolean isAbstract -> e
    boolean isFinal -> f
    com.android.tools.r8.graph.DexType type -> b
    boolean isInterface -> g
    com.android.tools.r8.graph.DexString sourceFile -> k
    java.util.List instanceFields -> n
    java.util.List staticFields -> m
    com.android.tools.r8.graph.DexTypeList interfaces -> j
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):59:59 -> <init>
    2:26:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):40:64 -> <init>
    long lambda$build$0(long,com.android.tools.r8.graph.DexProgramClass) -> a
    1:2:com.android.tools.r8.synthesis.SyntheticClassBuilder setSuperType(com.android.tools.r8.graph.DexType):109:110 -> a
    3:3:com.android.tools.r8.synthesis.SyntheticClassBuilder setOriginKind(com.android.tools.r8.ProgramResource$Kind):114:114 -> a
    4:5:com.android.tools.r8.synthesis.SyntheticClassBuilder setSourceFile(com.android.tools.r8.graph.DexString):119:120 -> a
    6:7:com.android.tools.r8.synthesis.SyntheticClassBuilder setGenericSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):124:125 -> a
    8:10:com.android.tools.r8.synthesis.SyntheticClassBuilder setInstanceFields(java.util.List):135:137 -> a
    11:13:com.android.tools.r8.synthesis.SyntheticClassBuilder setDirectMethods(java.lang.Iterable):141:143 -> a
    14:16:com.android.tools.r8.synthesis.SyntheticClassBuilder setVirtualMethods(java.lang.Iterable):147:149 -> a
    17:20:com.android.tools.r8.synthesis.SyntheticClassBuilder addMethod(java.util.function.Consumer):153:156 -> a
    21:65:com.android.tools.r8.graph.DexClass build():165:209 -> a
    66:91:com.android.tools.r8.graph.DexClass build():191:216 -> a
    com.android.tools.r8.graph.ClassKind getClassKind() -> b
    1:4:com.android.tools.r8.synthesis.SyntheticClassBuilder setInterfaces(java.util.List):85:88 -> b
    1:1:com.android.tools.r8.graph.DexItemFactory getFactory():72:72 -> c
    2:4:com.android.tools.r8.synthesis.SyntheticClassBuilder setStaticFields(java.util.List):129:131 -> c
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():80:80 -> d
    1:1:com.android.tools.r8.graph.DexType getType():76:76 -> e
    com.android.tools.r8.synthesis.SyntheticClassBuilder self() -> f
    1:3:com.android.tools.r8.synthesis.SyntheticClassBuilder setAbstract():92:94 -> g
    1:3:com.android.tools.r8.synthesis.SyntheticClassBuilder setInterface():103:105 -> h
    1:2:com.android.tools.r8.synthesis.SyntheticClassBuilder setUseSortedMethodBacking(boolean):160:161 -> i
    1:1:com.android.tools.r8.synthesis.SyntheticClassBuilder unsetFinal():98:98 -> j
com.android.tools.r8.synthesis.SyntheticClassDefinition -> com.android.tools.r8.synthesis.f:
    com.android.tools.r8.graph.DexClass clazz -> d
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexClass):23:24 -> <init>
    com.android.tools.r8.synthesis.SyntheticClasspathDefinition asClasspathDefinition() -> a
    com.android.tools.r8.synthesis.SyntheticProgramDefinition asProgramDefinition() -> c
    1:1:com.android.tools.r8.graph.DexClass getHolder():29:29 -> e
    boolean isClasspathDefinition() -> h
    1:1:boolean com.android.tools.r8.synthesis.SyntheticDefinition.isProgramDefinition():0:0 -> i
    1:1:boolean isProgramDefinition():14 -> i
com.android.tools.r8.synthesis.SyntheticClassReference -> com.android.tools.r8.synthesis.g:
    com.android.tools.r8.graph.DexType type -> d
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType):25:26 -> <init>
    1:1:com.android.tools.r8.graph.DexType getHolder():31:31 -> b
    1:1:com.android.tools.r8.graph.DexType getReference():36:36 -> d
    1:1:com.android.tools.r8.graph.DexReference getReference():16 -> d
com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder -> com.android.tools.r8.synthesis.h:
    1:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):21:22 -> <init>
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():27:27 -> b
    com.android.tools.r8.synthesis.SyntheticClassBuilder self() -> f
com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition -> com.android.tools.r8.synthesis.i:
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexClasspathClass):23:23 -> <init>
    com.android.tools.r8.synthesis.SyntheticClasspathDefinition asClasspathDefinition() -> a
    1:1:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):16:16 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):53:53 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):16 -> a
    3:3:void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):48:48 -> a
    boolean isClasspathDefinition() -> h
    1:1:boolean isValid():43:43 -> j
    2:2:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> j
    2:2:boolean isValid():43 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> j
    3:3:boolean isValid():43 -> j
    4:4:boolean isValid():43:43 -> j
    5:5:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> j
    5:5:boolean isValid():43 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> j
    6:6:boolean isValid():43 -> j
    7:7:boolean isValid():43:43 -> j
    1:1:com.android.tools.r8.synthesis.SyntheticClasspathClassReference toReference():38:38 -> k
    1:1:com.android.tools.r8.synthesis.SyntheticReference toReference():16 -> k
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126}}
    124:124:java.lang.String toString():58:58 -> toString
    125:125:java.lang.String toString():58:58 -> toString
    126:126:java.lang.String toString():58:58 -> toString
    59:59:java.lang.String toString():58:58 -> toString
    60:60:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126}}
    124:124:java.lang.String toString():59:59 -> toString
    125:125:java.lang.String toString():59:59 -> toString
    126:126:java.lang.String toString():59:59 -> toString
    121:123:java.lang.String toString():61:63 -> toString
com.android.tools.r8.synthesis.SyntheticClasspathClassReference -> com.android.tools.r8.synthesis.j:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType):23:23 -> <init>
    1:5:com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition lookupDefinition(java.util.function.Function):28:32 -> a
    1:5:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):18 -> a
    6:6:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    6:6:com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition lookupDefinition(java.util.function.Function):32 -> a
    6:6:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):18 -> a
    7:8:com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition lookupDefinition(java.util.function.Function):32:33 -> a
    7:8:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):18 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    11:11:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    11:11:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    12:12:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    18:18:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    19:19:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    19:19:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    20:20:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    20:20:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    13:15:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:41 -> a
    13:15:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    16:16:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24}}
    22:22:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41:41 -> a
    22:22:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    23:23:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41:41 -> a
    23:23:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    24:24:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41:41 -> a
    24:24:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    17:17:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):42:42 -> a
    17:17:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
com.android.tools.r8.synthesis.SyntheticClasspathDefinition -> com.android.tools.r8.internal.CX:
com.android.tools.r8.synthesis.SyntheticDefinition -> com.android.tools.r8.synthesis.k:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> a
    boolean $assertionsDisabled -> c
    com.android.tools.r8.synthesis.SynthesizingContext context -> b
    1:1:void <clinit>():20:20 -> <clinit>
    1:5:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext):28:32 -> <init>
    com.android.tools.r8.synthesis.SyntheticClasspathDefinition asClasspathDefinition() -> a
    int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap) -> a
    void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap) -> a
    com.android.tools.r8.graph.DexType lambda$compareTo$0(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.DexType) -> a
    com.android.tools.r8.graph.DexType lambda$compareTo$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.utils.structural.HasherWrapper com.android.tools.r8.utils.structural.HasherWrapper.murmur3128Hasher():37:37 -> a
    1:1:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):72 -> a
    2:2:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):73:73 -> a
    3:3:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> a
    3:3:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):74 -> a
    4:7:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):74:77 -> a
    8:8:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    8:8:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):82 -> a
    9:13:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):82:86 -> a
    14:14:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):105:105 -> a
    15:15:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> a
    15:15:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):105 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:22:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):105:111 -> a
    23:23:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> a
    23:23:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):112 -> a
    24:24:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.isShareable():106:106 -> a
    24:24:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.isShareable():110:110 -> a
    28:28:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):112 -> a
    29:29:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):113:113 -> a
    30:31:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    30:31:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):116 -> a
    32:32:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):116:116 -> a
    33:33:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    33:33:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121 -> a
    34:34:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121:121 -> a
    35:35:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    35:35:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121 -> a
    36:39:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121:124 -> a
    40:40:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    40:40:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):124 -> a
    41:41:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):124:124 -> a
    42:65:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):123:146 -> a
    com.android.tools.r8.synthesis.SyntheticProgramDefinition asProgramDefinition() -> c
    1:1:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> d
    com.android.tools.r8.graph.DexClass getHolder() -> e
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> f
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> g
    1:1:java.lang.String getPrefixForExternalSyntheticType():62 -> g
    2:2:java.lang.String getPrefixForExternalSyntheticType():62:62 -> g
    3:6:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):164:167 -> g
    3:6:java.lang.String getPrefixForExternalSyntheticType():62 -> g
    7:12:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):166:171 -> g
    7:12:java.lang.String getPrefixForExternalSyntheticType():62 -> g
    13:13:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):169:169 -> g
    13:13:java.lang.String getPrefixForExternalSyntheticType():62 -> g
    boolean isClasspathDefinition() -> h
    boolean isProgramDefinition() -> i
    boolean isValid() -> j
    com.android.tools.r8.synthesis.SyntheticReference toReference() -> k
com.android.tools.r8.synthesis.SyntheticDefinitionsProvider -> com.android.tools.r8.internal.DX:
    com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function) -> a
com.android.tools.r8.synthesis.SyntheticFinalization -> com.android.tools.r8.synthesis.p:
    com.android.tools.r8.utils.InternalOptions options -> a
    com.android.tools.r8.synthesis.SyntheticItems synthetics -> b
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection committed -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():63:63 -> <clinit>
    1:4:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.synthesis.CommittedSyntheticsCollection):151:154 -> <init>
    1:1:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    1:1:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):418 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):418:418 -> a
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    3:3:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):419 -> a
    4:4:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):419:419 -> a
    5:17:void finalize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):159:171 -> a
    18:18:void finalize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):167:167 -> a
    19:29:void finalize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):164:174 -> a
    30:45:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):213:228 -> a
    46:57:java.util.Map computeEquivalences(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):285:296 -> a
    46:57:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):227 -> a
    58:65:java.util.Map computeEquivalences(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):292:299 -> a
    58:65:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):227 -> a
    66:69:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):227:230 -> a
    70:81:java.util.Map computeEquivalences(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):285:296 -> a
    70:81:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):229 -> a
    82:89:java.util.Map computeEquivalences(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):292:299 -> a
    82:89:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):229 -> a
    90:90:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):229:229 -> a
    91:142:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):225:276 -> a
    143:143:void lambda$computeFinalSynthetics$0(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassReference):233:233 -> a
    144:144:void lambda$computeFinalSynthetics$1(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodReference):235:235 -> a
    145:147:void lambda$computeFinalSynthetics$2(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Set,com.android.tools.r8.synthesis.SyntheticReference):246:248 -> a
    148:148:void lambda$computeFinalSynthetics$4(com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,java.util.function.Consumer):258:258 -> a
    149:149:void com.android.tools.r8.synthesis.CommittedSyntheticsCollection.forEachSyntheticInput(java.util.function.Consumer):224:224 -> a
    149:149:void lambda$computeFinalSynthetics$4(com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,java.util.function.Consumer):258 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    150:150:void com.android.tools.r8.synthesis.CommittedSyntheticsCollection.forEachSyntheticInput(java.util.function.Consumer):224:224 -> a
    150:150:void lambda$computeFinalSynthetics$4(com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,java.util.function.Consumer):258 -> a
    151:151:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):261:261 -> a
    152:152:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    152:152:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):261 -> a
    153:153:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):260:260 -> a
    154:154:boolean verifyNoNestedSynthetics(com.android.tools.r8.graph.DexItemFactory):314:314 -> a
    155:155:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):316:316 -> a
    156:156:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.allowSyntheticContext():102:102 -> a
    156:156:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):316 -> a
    157:157:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320:320 -> a
    158:161:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):164:167 -> a
    158:161:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
    162:167:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):166:171 -> a
    162:167:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
    168:170:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):321:323 -> a
    171:171:boolean isNotSyntheticType(com.android.tools.r8.graph.DexType):309:309 -> a
    171:171:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):324 -> a
    172:172:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):324:324 -> a
    173:173:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):169:169 -> a
    173:173:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
    174:184:boolean verifyOneSyntheticPerSyntheticClass():330:340 -> a
    185:186:void lambda$verifyOneSyntheticPerSyntheticClass$6(java.util.Set,com.android.tools.r8.graph.DexType,java.util.List):335:336 -> a
    187:312:com.android.tools.r8.graph.DexApplication buildLensAndProgram(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.Set):363:488 -> a
    313:313:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    313:313:com.android.tools.r8.graph.DexApplication buildLensAndProgram(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.Set):487 -> a
    314:339:com.android.tools.r8.graph.DexApplication buildLensAndProgram(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.Set):487:512 -> a
    340:341:void lambda$buildLensAndProgram$8(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticMethodDefinition):402:403 -> a
    342:345:void lambda$buildLensAndProgram$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):409:412 -> a
    346:346:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    346:346:void lambda$buildLensAndProgram$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):412 -> a
    347:351:void lambda$buildLensAndProgram$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):412:416 -> a
    352:353:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):458:459 -> a
    354:354:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":824,"2":825,"3":826}}
    824:824:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):459:459 -> a
    825:825:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):459:459 -> a
    826:826:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):459:459 -> a
    814:814:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):460:460 -> a
    815:815:void ensureSourceFile(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString):350:350 -> a
    815:815:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):461 -> a
    816:816:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):197:197 -> a
    816:816:void ensureSourceFile(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString):351 -> a
    816:816:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):461 -> a
    817:822:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):462:467 -> a
    823:823:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):463:463 -> a
    827:829:void lambda$buildLensAndProgram$15(com.android.tools.r8.graph.TreeFixerBase,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):492:494 -> a
    830:830:void lambda$buildLensAndProgram$14(com.android.tools.r8.graph.TreeFixerBase,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.graph.ProgramMember):496:496 -> a
    831:831:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    831:831:void lambda$buildLensAndProgram$14(com.android.tools.r8.graph.TreeFixerBase,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.graph.ProgramMember):496 -> a
    832:838:void lambda$buildLensAndProgram$14(com.android.tools.r8.graph.TreeFixerBase,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.graph.ProgramMember):497:503 -> a
    839:840:boolean verifyNonRepresentativesRemovedFromApplication(com.android.tools.r8.graph.DexApplication,java.util.Map):521:522 -> a
    841:841:void lambda$verifyNonRepresentativesRemovedFromApplication$16(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.synthesis.SyntheticDefinition):524:524 -> a
    842:842:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):534:534 -> a
    843:843:boolean shouldAnnotateSynthetics(com.android.tools.r8.utils.InternalOptions):542:542 -> a
    843:843:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):534 -> a
    844:844:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535:535 -> a
    845:845:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):82:82 -> a
    845:845:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    846:846:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    846:846:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):82 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    846:846:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    847:847:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    847:847:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):82 -> a
    847:847:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    848:853:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):82:87 -> a
    848:853:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    854:859:com.android.tools.r8.graph.DexAnnotation com.android.tools.r8.graph.DexAnnotation.createAnnotationSynthesizedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):393:398 -> a
    854:859:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):87 -> a
    854:859:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    860:860:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.getWithAddedOrReplaced(com.android.tools.r8.graph.DexAnnotation):183:183 -> a
    860:860:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    860:860:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    861:874:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.getWithAddedOrReplaced(com.android.tools.r8.graph.DexAnnotation):183:196 -> a
    861:874:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):86 -> a
    861:874:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    875:875:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):83:83 -> a
    875:875:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    876:936:java.util.Map computeActualEquivalences(java.util.Collection,java.util.Map,com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):553:613 -> a
    937:937:java.util.List lambda$computeActualEquivalences$17(java.lang.String):571:571 -> a
    938:946:void lambda$computeActualEquivalences$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,boolean,java.util.Map,java.util.Map,java.lang.String,java.util.List):580:588 -> a
    947:955:void lambda$computeActualEquivalences$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,boolean,java.util.Map,java.util.Map,java.lang.String,java.util.List):585:593 -> a
    956:956:int com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup.compareToIncludingContext(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):823:823 -> a
    956:956:boolean checkGroupsAreDistinct(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):702 -> a
    956:956:void lambda$computeActualEquivalences$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,boolean,java.util.Map,java.util.Map,java.lang.String,java.util.List):592 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    957:957:int com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup.compareToIncludingContext(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):824:824 -> a
    957:957:boolean checkGroupsAreDistinct(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):702 -> a
    957:957:void lambda$computeActualEquivalences$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,boolean,java.util.Map,java.util.Map,java.lang.String,java.util.List):592 -> a
    958:958:boolean checkGroupsAreDistinct(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):703:703 -> a
    958:958:void lambda$computeActualEquivalences$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,boolean,java.util.Map,java.util.Map,java.lang.String,java.util.List):592 -> a
    959:960:int com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup.compareToIncludingContext(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):823:824 -> a
    959:960:boolean checkGroupsAreDistinct(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):704 -> a
    959:960:void lambda$computeActualEquivalences$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,boolean,java.util.Map,java.util.Map,java.lang.String,java.util.List):592 -> a
    961:961:boolean checkGroupsAreDistinct(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):704:704 -> a
    961:961:void lambda$computeActualEquivalences$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,boolean,java.util.Map,java.util.Map,java.lang.String,java.util.List):592 -> a
    962:966:void lambda$computeActualEquivalences$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,boolean,java.util.Map,java.util.Map,java.lang.String,java.util.List):594:598 -> a
    967:980:void lambda$computeActualEquivalences$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,boolean,java.util.Map,java.util.Map,java.lang.String,java.util.List):597:610 -> a
    981:981:int lambda$computeActualEquivalences$19(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):581:581 -> a
    982:982:int com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup.compareToIncludingContext(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):823:823 -> a
    982:982:int lambda$computeActualEquivalences$19(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):581 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    983:983:int com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup.compareToIncludingContext(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):824:824 -> a
    983:983:int lambda$computeActualEquivalences$19(com.android.tools.r8.graph.AppView,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):581 -> a
    984:987:boolean lambda$computeActualEquivalences$20(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):606:609 -> a
    988:988:void lambda$computeActualEquivalences$23(com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):615:615 -> a
    989:989:void lambda$computeActualEquivalences$22(com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticDefinition):616:616 -> a
    990:992:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):625:627 -> a
    990:992:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    993:1010:boolean isPinned(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticDefinition):673:690 -> a
    993:1010:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):628 -> a
    993:1010:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    1011:1017:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):630:636 -> a
    1011:1017:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    1018:1018:boolean com.android.tools.r8.synthesis.SyntheticDefinition.isEquivalentTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):96:96 -> a
    1018:1018:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):631 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1018:1018:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    1019:1042:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):638:661 -> a
    1019:1042:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    1043:1054:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):559:570 -> a
    1055:1058:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):569:572 -> a
    1059:1069:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.util.Map,com.android.tools.r8.graph.AppView,java.util.function.Predicate):714:724 -> a
    1070:1079:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.util.Map,com.android.tools.r8.graph.AppView,java.util.function.Predicate):723:732 -> a
    1080:1080:boolean isNotSyntheticType(com.android.tools.r8.graph.DexType):309:309 -> a
    1080:1080:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.util.Map,com.android.tools.r8.graph.AppView,java.util.function.Predicate):732 -> a
    1081:1081:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.util.Map,com.android.tools.r8.graph.AppView,java.util.function.Predicate):733:733 -> a
    1082:1108:java.util.Collection computePotentialEquivalences(java.util.Map,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):749:775 -> a
    1109:1110:void lambda$computePotentialEquivalences$25(java.util.Set,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):764:765 -> a
    1111:1111:com.android.tools.r8.graph.DexType lambda$computePotentialEquivalences$26(java.util.Set,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):768:768 -> a
    1112:1112:java.util.List lambda$computePotentialEquivalences$27(com.android.tools.r8.com.google.common.hash.HashCode):773:773 -> a
    1113:1126:java.util.Map lookupDefinitions(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap):781:794 -> a
    1:14:void finalizeWithClassHierarchy(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):180:193 -> b
    15:15:void finalizeWithClassHierarchy(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):189:189 -> b
    16:25:void finalizeWithClassHierarchy(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):186:195 -> b
    26:27:void lambda$verifyOneSyntheticPerSyntheticClass$7(java.util.Set,com.android.tools.r8.graph.DexType,java.util.List):342:343 -> b
    28:35:void lambda$buildLensAndProgram$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):393:400 -> b
    36:36:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):472:472 -> b
    37:37:void ensureSourceFile(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString):350:350 -> b
    37:37:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):473 -> b
    38:38:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):197:197 -> b
    38:38:void ensureSourceFile(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString):351 -> b
    38:38:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):473 -> b
    39:41:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):474:476 -> b
    42:42:boolean com.android.tools.r8.graph.MethodCollection.hasDirectMethods():66:66 -> b
    42:42:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):476 -> b
    43:43:boolean com.android.tools.r8.graph.MethodCollection.hasDirectMethods():66:66 -> b
    43:43:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):476 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:52:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):476:484 -> b
    53:53:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):479:479 -> b
    54:54:com.android.tools.r8.ir.code.NumberGenerator lambda$createExternalType$24(java.lang.String):719:719 -> b
    1:4:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):201:204 -> c
    5:5:com.android.tools.r8.graph.DexApplication com.android.tools.r8.synthesis.CommittedItems.getApplication():50:50 -> c
    5:5:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):204 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):204:204 -> c
    7:7:void com.android.tools.r8.graph.AppView.rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication):734:734 -> c
    7:7:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):204 -> c
    8:8:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):206:206 -> c
    9:9:com.android.tools.r8.graph.DexApplication com.android.tools.r8.synthesis.CommittedItems.getApplication():50:50 -> c
    9:9:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):206 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:13:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):206:209 -> c
com.android.tools.r8.synthesis.SyntheticFinalization$1 -> com.android.tools.r8.synthesis.l:
    com.android.tools.r8.synthesis.SyntheticFinalization$Builder val$lensBuilder -> f
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):368:368 -> <init>
    1:1:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):376:376 -> a
    2:2:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):381:381 -> a
    3:3:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):386:386 -> a
    1:1:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):371:371 -> b
com.android.tools.r8.synthesis.SyntheticFinalization$Builder -> com.android.tools.r8.synthesis.m:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap methodMap -> b
    java.util.Map typeMap -> c
    com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap fieldMap -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():99:99 -> <clinit>
    1:7:void <init>():99:105 -> <init>
    8:8:void <init>(com.android.tools.r8.synthesis.SyntheticFinalization$1):99:99 -> <init>
    1:1:java.util.Map access$200(com.android.tools.r8.synthesis.SyntheticFinalization$Builder):99:99 -> a
    2:4:boolean isEmpty():108:110 -> a
    5:6:void move(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):117:118 -> a
    7:8:void move(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):122:123 -> a
    9:9:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):127:127 -> a
    10:13:com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens build(com.android.tools.r8.graph.AppView):139:142 -> a
    1:1:void setRepresentative(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):131:131 -> b
    2:2:void setRepresentative(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):135:135 -> b
com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup -> com.android.tools.r8.synthesis.n:
    java.util.List members -> a
    com.android.tools.r8.synthesis.SyntheticDefinition representative -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():800:800 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticDefinition,boolean):806:806 -> <init>
    2:6:void <init>(com.android.tools.r8.synthesis.SyntheticDefinition,boolean):803:807 -> <init>
    1:4:void add(com.android.tools.r8.synthesis.SyntheticDefinition,boolean):812:815 -> a
    5:6:void forEach(java.util.function.Consumer):828:829 -> a
    7:8:com.android.tools.r8.synthesis.SyntheticDefinition getFirstNonRepresentativeMember():837:838 -> a
    9:9:boolean isDerivedFromMainDexList(com.android.tools.r8.shaking.MainDexInfo):851:851 -> a
    10:10:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    10:10:boolean isDerivedFromMainDexList(com.android.tools.r8.shaking.MainDexInfo):852 -> a
    11:11:boolean lambda$isDerivedFromMainDexList$0(com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.synthesis.SyntheticDefinition):853:853 -> a
    12:13:void replaceAndRemoveRepresentative(com.android.tools.r8.synthesis.SyntheticDefinition):857:858 -> a
    1:1:void forEachNonRepresentativeMember(java.util.function.Consumer):833:833 -> b
    2:3:com.android.tools.r8.synthesis.SyntheticDefinition getRepresentative():842:843 -> b
    1:1:boolean hasRepresentative():847:847 -> c
    1:13:void selectDeterministicRepresentative():863:875 -> d
    14:14:java.lang.Object com.android.tools.r8.utils.ListUtils.removeLast(java.util.List):241:241 -> d
    14:14:void selectDeterministicRepresentative():875 -> d
    15:16:void setRepresentative(com.android.tools.r8.synthesis.SyntheticDefinition):880:881 -> d
    15:16:void selectDeterministicRepresentative():876 -> d
    1:1:java.lang.String toString():886:886 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1787,"2":1788,"3":1789}}
    1787:1787:java.lang.String toString():887:887 -> toString
    1788:1788:java.lang.String toString():887:887 -> toString
    1789:1789:java.lang.String toString():887:887 -> toString
    889:892:java.lang.String toString():887:890 -> toString
    893:893:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1787,"2":1788,"3":1789}}
    1787:1787:java.lang.String toString():893:893 -> toString
    1788:1788:java.lang.String toString():893:893 -> toString
    1789:1789:java.lang.String toString():893:893 -> toString
    1786:1786:java.lang.String toString():893:893 -> toString
com.android.tools.r8.synthesis.SyntheticFinalization$Result -> com.android.tools.r8.internal.EX:
    com.android.tools.r8.synthesis.CommittedItems commit -> a
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens lens -> b
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> d
    com.android.tools.r8.graph.PrunedItems prunedItems -> c
    1:5:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.MainDexInfo):75:79 -> <init>
com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens -> com.android.tools.r8.synthesis.o:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$1):83:83 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map):90:90 -> <init>
com.android.tools.r8.synthesis.SyntheticItems -> com.android.tools.r8.synthesis.r:
    com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics pending -> c
    int nextSyntheticId -> a
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection committed -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():55:55 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.CommittedItems):115:115 -> <init>
    2:2:void <init>(int,com.android.tools.r8.synthesis.CommittedSyntheticsCollection):118:118 -> <init>
    3:23:void <init>(int,com.android.tools.r8.synthesis.CommittedSyntheticsCollection):100:120 -> <init>
    1:418:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):0:417 -> a
    419:419:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:35 -> a
    419:419:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):418 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    420:421:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    420:421:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):418 -> a
    422:423:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    422:423:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    422:423:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):418 -> a
    424:424:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    424:424:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):418 -> a
    425:425:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):419:419 -> a
    426:426:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    426:426:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):419 -> a
    427:427:com.android.tools.r8.synthesis.SyntheticItems empty():104:104 -> a
    428:432:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):125:129 -> a
    433:433:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection.builder():166:166 -> a
    433:433:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):129 -> a
    434:441:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):131:138 -> a
    442:444:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):137:139 -> a
    445:445:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    445:445:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):141 -> a
    446:446:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):141:141 -> a
    447:447:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    447:447:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):145 -> a
    448:448:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):145:145 -> a
    449:463:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):142:156 -> a
    464:464:com.android.tools.r8.synthesis.SyntheticProgramClassReference com.android.tools.r8.synthesis.SyntheticProgramClassDefinition.toReference():46:46 -> a
    464:464:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder.addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51 -> a
    464:464:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):155 -> a
    465:465:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder.addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51:51 -> a
    465:465:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):155 -> a
    466:480:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):159:173 -> a
    481:483:void lambda$collectSyntheticInputs$0(com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder,com.android.tools.r8.synthesis.SyntheticMarker,com.android.tools.r8.graph.ProgramMethod):152:152 -> a
    484:484:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder.addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodDefinition):65:65 -> a
    484:484:void lambda$collectSyntheticInputs$0(com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder,com.android.tools.r8.synthesis.SyntheticMarker,com.android.tools.r8.graph.ProgramMethod):152 -> a
    485:490:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):184:189 -> a
    491:491:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    491:491:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):189 -> a
    492:496:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):189:193 -> a
    497:497:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":696,"2":697,"3":698,"4":699,"5":700}}
    696:696:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    697:697:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    698:698:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    699:699:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    700:700:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    690:695:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:198 -> a
    701:701:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):238:238 -> a
    702:702:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    702:702:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):238 -> a
    703:703:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    703:703:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    703:703:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):238 -> a
    704:705:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):238:239 -> a
    706:706:boolean isNonLegacySynthetic(com.android.tools.r8.graph.DexProgramClass):230:230 -> a
    706:706:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):243 -> a
    706:706:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    707:708:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):246:247 -> a
    707:708:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    709:711:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):124:126 -> a
    709:711:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):248 -> a
    709:711:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    712:716:int com.android.tools.r8.com.google.common.collect.Iterators.size(java.util.Iterator):163:167 -> a
    712:716:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):126 -> a
    712:716:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):248 -> a
    712:716:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    717:724:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):248:255 -> a
    717:724:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    725:725:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):260:260 -> a
    726:726:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    726:726:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):260 -> a
    727:727:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    727:727:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    727:727:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):260 -> a
    728:728:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):260:260 -> a
    729:729:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277:277 -> a
    729:729:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):261 -> a
    730:730:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsSyntheticInput(com.android.tools.r8.graph.DexType):206:206 -> a
    730:730:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    730:730:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):261 -> a
    731:731:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsSyntheticInput(com.android.tools.r8.graph.DexType):206:206 -> a
    731:731:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277 -> a
    731:731:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):261 -> a
    732:732:boolean isSyntheticOfKind(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):273:273 -> a
    733:744:com.android.tools.r8.FeatureSplit getContextualFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.features.ClassToFeatureSplitMap):282:293 -> a
    745:748:boolean verifyAllHaveSameFeature(java.util.List,java.util.function.Function):299:302 -> a
    745:748:com.android.tools.r8.FeatureSplit getContextualFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.features.ClassToFeatureSplitMap):293 -> a
    749:749:com.android.tools.r8.FeatureSplit getContextualFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.features.ClassToFeatureSplitMap):294:294 -> a
    750:755:void forEachSynthesizingContext(com.android.tools.r8.graph.DexType,java.util.function.Consumer):308:313 -> a
    750:755:void lambda$getSynthesizingContexts$1(com.android.tools.r8.graph.DexType,java.util.function.Consumer):318 -> a
    756:757:java.util.Collection getSynthesizingContextTypes(com.android.tools.r8.graph.DexType):322:323 -> a
    758:763:void forEachSynthesizingContext(com.android.tools.r8.graph.DexType,java.util.function.Consumer):308:313 -> a
    758:763:java.util.Collection getSynthesizingContextTypes(com.android.tools.r8.graph.DexType):323 -> a
    764:764:java.util.Collection getSynthesizingContextTypes(com.android.tools.r8.graph.DexType):325:325 -> a
    765:765:void lambda$getSynthesizingContextTypes$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.synthesis.SynthesizingContext):324:324 -> a
    766:766:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):331:331 -> a
    767:767:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    767:767:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):331 -> a
    768:768:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    768:768:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    768:768:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):331 -> a
    769:770:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):331:332 -> a
    771:771:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):344:344 -> a
    772:773:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):343:344 -> a
    774:774:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMap.getOrDefault(java.lang.Object,java.lang.Object):713:713 -> a
    774:774:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):344 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    775:783:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):344:352 -> a
    784:787:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):363:366 -> a
    788:788:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    788:788:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):366 -> a
    789:789:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):368:368 -> a
    790:790:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    790:790:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):368 -> a
    791:793:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):369:371 -> a
    794:794:boolean lambda$verifySyntheticLambdaProperty$3(com.android.tools.r8.synthesis.SyntheticReference):368:368 -> a
    795:795:int lambda$getSynthesizingContext$4(com.android.tools.r8.synthesis.SyntheticReference,com.android.tools.r8.synthesis.SyntheticReference):397:397 -> a
    796:797:void lambda$internalEnsureFixedProgramClass$6(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):456:457 -> a
    798:798:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):511:511 -> a
    799:799:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    799:799:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):511 -> a
    800:800:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    800:800:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):511 -> a
    801:806:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):512:517 -> a
    807:814:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):489:496 -> a
    807:814:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):475 -> a
    807:814:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    815:817:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):476:478 -> a
    815:817:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    818:819:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    818:819:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    818:819:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    820:821:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    820:821:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    820:821:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    820:821:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    822:822:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    822:822:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    822:822:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    823:823:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480:480 -> a
    823:823:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    824:824:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    824:824:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480 -> a
    824:824:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    825:825:com.android.tools.r8.graph.DexType lambda$createClass$7(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):515:515 -> a
    826:826:com.android.tools.r8.graph.DexType lambda$createClass$7(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):514:514 -> a
    827:827:com.android.tools.r8.graph.DexType lambda$createFixedClass$8(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):528:528 -> a
    828:828:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):535:535 -> a
    829:830:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):548:549 -> a
    829:830:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):536 -> a
    831:831:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    831:831:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    831:831:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):536 -> a
    832:832:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    832:832:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    832:832:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):536 -> a
    833:833:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):550:550 -> a
    833:833:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):536 -> a
    834:836:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):537:539 -> a
    837:837:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    837:837:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):540 -> a
    838:840:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):540:542 -> a
    841:842:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):548:549 -> a
    841:842:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):526 -> a
    843:843:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    843:843:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    843:843:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):526 -> a
    844:844:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    844:844:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    844:844:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):526 -> a
    845:848:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):527:530 -> a
    849:856:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):489:496 -> a
    849:856:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):475 -> a
    849:856:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    857:859:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):476:478 -> a
    857:859:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    860:861:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    860:861:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    860:861:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    862:863:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    862:863:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    862:863:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    862:863:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    864:864:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    864:864:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    864:864:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    865:865:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480:480 -> a
    865:865:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    866:866:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    866:866:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480 -> a
    866:866:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    867:867:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):550:550 -> a
    867:867:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):526 -> a
    868:868:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):564:564 -> a
    869:870:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):548:549 -> a
    869:870:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):565 -> a
    871:871:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    871:871:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    871:871:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):565 -> a
    872:872:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    872:872:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    872:872:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):565 -> a
    873:873:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):550:550 -> a
    873:873:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):565 -> a
    874:874:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):566:566 -> a
    875:875:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):599:599 -> a
    876:878:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):598:600 -> a
    879:893:com.android.tools.r8.graph.DexEncodedMethod internalEnsureMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):740:754 -> a
    879:893:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):602 -> a
    894:894:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):604:604 -> a
    895:895:com.android.tools.r8.graph.DexEncodedMethod internalEnsureMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):755:755 -> a
    895:895:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):602 -> a
    896:900:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):630:634 -> a
    901:901:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    901:901:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):636 -> a
    902:902:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):639:639 -> a
    903:903:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637:637 -> a
    904:904:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):609:609 -> a
    904:904:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    905:905:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    905:905:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):611 -> a
    905:905:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    906:906:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):611:611 -> a
    906:906:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    907:907:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):610:610 -> a
    907:907:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    908:908:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    908:908:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    908:908:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    909:909:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> a
    909:909:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613 -> a
    909:909:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    910:911:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613:614 -> a
    910:911:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    912:919:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):489:496 -> a
    912:919:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):641 -> a
    920:924:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):642:646 -> a
    925:925:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    925:925:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):646 -> a
    926:928:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):647:649 -> a
    929:930:com.android.tools.r8.graph.DexClasspathClass ensureFixedClasspathClassFromType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):658:659 -> a
    929:930:com.android.tools.r8.graph.ClasspathMethod ensureFixedClasspathMethodFromType(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):686 -> a
    931:931:com.android.tools.r8.graph.ClasspathMethod ensureFixedClasspathMethodFromType(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):688:688 -> a
    932:933:com.android.tools.r8.graph.DexClasspathClass ensureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):671:672 -> a
    934:935:com.android.tools.r8.graph.DexClasspathClass ensureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):671:672 -> a
    934:935:com.android.tools.r8.graph.ClasspathMethod ensureFixedClasspathClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):702 -> a
    936:936:com.android.tools.r8.graph.ClasspathMethod ensureFixedClasspathClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):704:704 -> a
    937:949:com.android.tools.r8.graph.ClasspathMethod internalEnsureFixedClasspathMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexClasspathClass):716:728 -> a
    950:964:com.android.tools.r8.graph.DexEncodedMethod internalEnsureMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):740:754 -> a
    950:964:com.android.tools.r8.graph.ClasspathMethod internalEnsureFixedClasspathMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexClasspathClass):718 -> a
    965:965:com.android.tools.r8.graph.ClasspathMethod internalEnsureFixedClasspathMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexClasspathClass):729:729 -> a
    966:966:com.android.tools.r8.graph.DexEncodedMethod internalEnsureMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):755:755 -> a
    966:966:com.android.tools.r8.graph.ClasspathMethod internalEnsureFixedClasspathMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexClasspathClass):718 -> a
    967:967:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    967:967:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):385 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    968:976:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):386:394 -> a
    977:978:java.lang.Object com.android.tools.r8.utils.IterableUtils.min(java.lang.Iterable,java.util.Comparator):101:102 -> a
    977:978:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):394 -> a
    979:986:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):394:401 -> a
    987:987:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    987:987:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    987:987:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):401 -> a
    988:988:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    988:988:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):401 -> a
    989:989:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):402:402 -> a
    990:990:void lambda$internalEnsureFixedClasspathMethod$10(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticMethodBuilder):726:726 -> a
    991:992:com.android.tools.r8.graph.DexProgramClass ensureFixedClassFromType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):766:767 -> a
    993:993:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):785:785 -> a
    994:994:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    994:994:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):788 -> a
    995:995:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    995:995:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):788 -> a
    996:996:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):791:791 -> a
    997:1003:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):790:796 -> a
    1004:1004:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:35 -> a
    1004:1004:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):797 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1005:1006:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    1005:1006:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):797 -> a
    1007:1008:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    1007:1008:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    1007:1008:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):797 -> a
    1009:1009:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    1009:1009:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):797 -> a
    1010:1011:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):798:799 -> a
    1012:1012:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    1012:1012:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):799 -> a
    1013:1013:void lambda$createMethod$11(com.android.tools.r8.synthesis.SyntheticMethodBuilder):796:796 -> a
    1014:1014:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.DexApplication):810:810 -> a
    1015:1015:com.android.tools.r8.synthesis.CommittedItems commitPrunedItems(com.android.tools.r8.graph.PrunedItems):814:814 -> a
    1015:1015:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.DexApplication):810 -> a
    1016:1016:com.android.tools.r8.synthesis.CommittedItems commitPrunedItems(com.android.tools.r8.graph.PrunedItems):814:814 -> a
    1017:1019:com.android.tools.r8.synthesis.CommittedItems commitRewrittenWithLens(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):819:821 -> a
    1020:1020:com.android.tools.r8.synthesis.CommittedItems commitRewrittenWithLens(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):820:820 -> a
    1021:1023:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):829:831 -> a
    1024:1024:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection.builder():166:166 -> a
    1024:1024:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):831 -> a
    1025:1037:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):835:847 -> a
    1038:1043:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):846:851 -> a
    1044:1044:boolean com.android.tools.r8.graph.DexApplication$Builder.isDirect():0:0 -> a
    1044:1044:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):851 -> a
    1045:1046:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):852:853 -> a
    1047:1047:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    1047:1047:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition.getHolder():16 -> a
    1047:1047:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):853 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    1048:1048:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition.getHolder():16:16 -> a
    1048:1048:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):853 -> a
    1049:1060:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):853:864 -> a
    1061:1061:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):870:870 -> a
    1062:1062:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    1062:1062:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):870 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1063:1063:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    1063:1063:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):870 -> a
    1064:1071:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):873:880 -> a
    1072:1072:void com.android.tools.r8.synthesis.SyntheticMarker.writeMarkerAttribute(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):33:33 -> a
    1072:1072:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):881 -> a
    1:2:com.android.tools.r8.synthesis.CommittedItems createInitialSyntheticItems(com.android.tools.r8.graph.DexApplication):109:110 -> b
    3:3:java.util.Collection getPendingSyntheticClasses():210:210 -> b
    4:4:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277:277 -> b
    5:5:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsSyntheticInput(com.android.tools.r8.graph.DexType):206:206 -> b
    5:5:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsSyntheticInput(com.android.tools.r8.graph.DexType):206:206 -> b
    6:6:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277 -> b
    7:7:java.util.List getSynthesizingContexts(com.android.tools.r8.graph.DexType):318:318 -> b
    8:25:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):432:449 -> b
    26:26:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447:447 -> b
    27:27:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):609:609 -> b
    27:27:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    28:28:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> b
    28:28:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):611 -> b
    28:28:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    29:29:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):611:611 -> b
    29:29:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    30:30:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):610:610 -> b
    30:30:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    31:31:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> b
    31:31:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    31:31:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    32:32:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():499:499 -> b
    32:32:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613 -> b
    32:32:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    33:34:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613:614 -> b
    33:34:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    35:35:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):451:451 -> b
    36:36:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> b
    36:36:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):451 -> b
    37:38:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):451:452 -> b
    39:46:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):489:496 -> b
    39:46:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):475 -> b
    39:46:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    47:49:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):476:478 -> b
    47:49:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    50:51:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> b
    50:51:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> b
    50:51:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    52:53:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> b
    52:53:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> b
    52:53:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> b
    52:53:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    54:54:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> b
    54:54:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> b
    54:54:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    55:55:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480:480 -> b
    55:55:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    56:56:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> b
    56:56:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480 -> b
    56:56:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    57:59:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):463:465 -> b
    60:60:com.android.tools.r8.graph.DexType lambda$internalEnsureFixedClasspathClass$9(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):631:631 -> b
    61:62:com.android.tools.r8.graph.DexClasspathClass ensureFixedClasspathClassFromType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):658:659 -> b
    63:63:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):776:776 -> b
    64:66:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):888:890 -> b
    1:1:boolean hasPendingSyntheticClasses():206:206 -> c
    2:2:boolean isCommittedSynthetic(com.android.tools.r8.graph.DexType):214:214 -> c
    3:3:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsType(com.android.tools.r8.graph.DexType):176:176 -> c
    3:3:boolean isCommittedSynthetic(com.android.tools.r8.graph.DexType):214 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexType lambda$internalEnsureFixedProgramClass$5(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):433:433 -> c
    1:1:boolean isFinalized():202:202 -> d
    2:2:boolean isNonLegacyCommittedSynthetic(com.android.tools.r8.graph.DexType):218:218 -> d
    2:2:boolean isNonLegacySynthetic(com.android.tools.r8.graph.DexType):234 -> d
    3:3:boolean isNonLegacyPendingSynthetic(com.android.tools.r8.graph.DexType):226:226 -> d
    3:3:boolean isNonLegacySynthetic(com.android.tools.r8.graph.DexType):234 -> d
    1:1:boolean isPendingSynthetic(com.android.tools.r8.graph.DexType):222:222 -> e
com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics -> com.android.tools.r8.synthesis.q:
    java.util.concurrent.ConcurrentHashMap nonLegacyDefinitions -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():63:63 -> <clinit>
    1:4:void <init>():63:66 -> <init>
    5:5:void <init>(com.android.tools.r8.synthesis.SyntheticItems$1):63:63 -> <init>
    1:1:java.util.concurrent.ConcurrentHashMap access$100(com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics):63:63 -> a
    2:2:boolean containsType(com.android.tools.r8.graph.DexType):74:74 -> a
    3:4:boolean containsTypeOfKind(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):78:79 -> a
    5:5:boolean verifyNotRewritten(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):83:83 -> a
    6:12:java.util.Collection getAllProgramClasses():88:94 -> a
    1:1:boolean isEmpty():70:70 -> b
com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle -> com.android.tools.r8.internal.HX:
    java.util.Set getSynthesizingContexts(com.android.tools.r8.graph.DexProgramClass) -> a
com.android.tools.r8.synthesis.SyntheticMarker -> com.android.tools.r8.synthesis.t:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> a
    com.android.tools.r8.synthesis.SyntheticMarker NO_MARKER -> c
    com.android.tools.r8.synthesis.SynthesizingContext context -> b
    boolean $assertionsDisabled -> d
    1:131:void <clinit>():23:153 -> <clinit>
    1:3:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext):158:160 -> <init>
    1:3:com.android.tools.r8.synthesis.SyntheticMarker readMarkerAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):37:39 -> a
    4:9:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):91:96 -> a
    10:10:com.android.tools.r8.synthesis.SynthesizingContext getContext():176:176 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):96 -> a
    11:13:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):96:98 -> a
    14:14:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149:149 -> a
    14:14:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    15:18:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):164:167 -> a
    15:18:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    15:18:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    19:24:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):166:171 -> a
    19:24:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    19:24:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    25:25:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):150:150 -> a
    25:25:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    26:27:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):100:101 -> a
    28:28:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):169:169 -> a
    28:28:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    28:28:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    29:30:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):112:113 -> a
    29:30:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    31:32:boolean isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    31:32:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):115 -> a
    31:32:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    33:37:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):116:120 -> a
    33:37:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    38:48:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):119:129 -> a
    38:48:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    49:50:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):167:168 -> a
    49:50:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):130 -> a
    49:50:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    51:51:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    51:51:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):169 -> a
    51:51:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):130 -> a
    51:51:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    52:53:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):170:171 -> a
    52:53:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):130 -> a
    52:53:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    54:59:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):131:136 -> a
    54:59:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    60:60:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149:149 -> a
    60:60:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    60:60:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    61:64:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):164:167 -> a
    61:64:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    61:64:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    61:64:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    65:70:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):166:171 -> a
    65:70:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    65:70:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    65:70:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    71:71:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):150:150 -> a
    71:71:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    71:71:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    72:73:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):137:138 -> a
    72:73:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    74:76:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):104:106 -> a
    77:77:boolean com.android.tools.r8.graph.DexAnnotation.hasSynthesizedClassAnnotation(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):405:405 -> a
    77:77:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):105 -> a
    78:78:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):104:104 -> a
    79:79:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):169:169 -> a
    79:79:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    79:79:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    79:79:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    80:80:com.android.tools.r8.synthesis.SynthesizingContext getContext():176:176 -> a
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():172:172 -> b
    1:1:com.android.tools.r8.org.objectweb.asm.Attribute getMarkerAttributePrototype():29:29 -> c
    1:1:boolean isSyntheticClass():168:168 -> d
    1:1:boolean isSyntheticMethods():164:164 -> e
com.android.tools.r8.synthesis.SyntheticMarker$MarkerAttribute -> com.android.tools.r8.synthesis.s:
    com.android.tools.r8.synthesis.SyntheticMarker$MarkerAttribute PROTOTYPE -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> d
    1:3:void <clinit>():44:46 -> <clinit>
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):51:52 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind access$100(com.android.tools.r8.synthesis.SyntheticMarker$MarkerAttribute):44:44 -> a
    2:3:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):63:64 -> a
    4:5:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.fromId(int):127:128 -> a
    4:5:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):65 -> a
    6:6:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):66:66 -> a
    7:9:com.android.tools.r8.org.objectweb.asm.ByteVector write(com.android.tools.r8.org.objectweb.asm.ClassWriter,byte[],int,int,int):72:74 -> a
    1:1:com.android.tools.r8.synthesis.SyntheticMarker$MarkerAttribute access$000():44:44 -> b
com.android.tools.r8.synthesis.SyntheticMethodBuilder -> com.android.tools.r8.synthesis.u:
    com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator codeGenerator -> g
    boolean checkAndroidApiLevels -> o
    boolean $assertionsDisabled -> p
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature genericSignature -> i
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> n
    com.android.tools.r8.cf.CfVersion classFileVersion -> f
    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotationsList -> k
    com.android.tools.r8.graph.DexItemFactory factory -> a
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForDefinition -> l
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForCode -> m
    com.android.tools.r8.graph.DexString name -> d
    com.android.tools.r8.graph.DexProto proto -> e
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind syntheticKind -> c
    com.android.tools.r8.graph.DexAnnotationSet annotations -> j
    com.android.tools.r8.graph.DexType holderType -> b
    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> h
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticClassBuilder):46:46 -> <init>
    2:19:void <init>(com.android.tools.r8.synthesis.SyntheticClassBuilder):32:49 -> <init>
    20:20:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):52:52 -> <init>
    21:44:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):32:55 -> <init>
    1:3:com.android.tools.r8.synthesis.SyntheticMethodBuilder setName(com.android.tools.r8.graph.DexString):67:69 -> a
    4:4:com.android.tools.r8.synthesis.SyntheticMethodBuilder setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo):74:74 -> a
    5:5:com.android.tools.r8.synthesis.SyntheticMethodBuilder setProto(com.android.tools.r8.graph.DexProto):79:79 -> a
    6:6:com.android.tools.r8.synthesis.SyntheticMethodBuilder setClassFileVersion(com.android.tools.r8.cf.CfVersion):84:84 -> a
    7:7:com.android.tools.r8.synthesis.SyntheticMethodBuilder setCode(com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):89:89 -> a
    8:8:com.android.tools.r8.synthesis.SyntheticMethodBuilder setAccessFlags(com.android.tools.r8.graph.MethodAccessFlags):94:94 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticMethodBuilder setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):99:99 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticMethodBuilder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):104:104 -> a
    11:11:com.android.tools.r8.synthesis.SyntheticMethodBuilder setParameterAnnotationsList(com.android.tools.r8.graph.ParameterAnnotationsList):110:110 -> a
    12:12:com.android.tools.r8.synthesis.SyntheticMethodBuilder setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):120:120 -> a
    13:13:com.android.tools.r8.graph.DexEncodedMethod build():130:130 -> a
    14:14:com.android.tools.r8.graph.DexMethod getMethodSignature():175:175 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod build():131 -> a
    15:15:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():179:179 -> a
    15:15:com.android.tools.r8.graph.DexEncodedMethod build():132 -> a
    16:16:com.android.tools.r8.graph.DexEncodedMethod build():133:133 -> a
    17:21:com.android.tools.r8.graph.Code getCodeObject(com.android.tools.r8.graph.DexMethod):183:187 -> a
    17:21:com.android.tools.r8.graph.DexEncodedMethod build():133 -> a
    22:35:com.android.tools.r8.graph.DexEncodedMethod build():135:148 -> a
    36:37:boolean isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):167:168 -> a
    36:37:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> a
    36:37:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    38:38:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    38:38:boolean isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):169 -> a
    38:38:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> a
    38:38:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    39:40:boolean isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):170:171 -> a
    39:40:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> a
    39:40:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    41:41:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163:163 -> a
    41:41:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    42:42:com.android.tools.r8.graph.DexEncodedMethod build():148:148 -> a
    1:1:com.android.tools.r8.synthesis.SyntheticMethodBuilder setApiLevelForDefinition(com.android.tools.r8.androidapi.ComputedApiLevel):115:115 -> b
    2:2:com.android.tools.r8.synthesis.SyntheticMethodBuilder disableAndroidApiLevelCheck():125:125 -> b
    1:1:com.android.tools.r8.synthesis.SyntheticMethodBuilder setName(java.lang.String):63:63 -> c
com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator -> com.android.tools.r8.internal.KX:
    com.android.tools.r8.graph.Code generate(com.android.tools.r8.graph.DexMethod) -> a
com.android.tools.r8.synthesis.SyntheticMethodDefinition -> com.android.tools.r8.synthesis.v:
    com.android.tools.r8.graph.ProgramMethod method -> d
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.ProgramMethod):26:27 -> <init>
    1:1:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):18:18 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticMethodDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):68:68 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):18 -> a
    3:3:void apply(java.util.function.Consumer,java.util.function.Consumer):34:34 -> a
    4:4:void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):63:63 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getHolder():58:58 -> b
    com.android.tools.r8.synthesis.SyntheticProgramDefinition asProgramDefinition() -> c
    1:1:com.android.tools.r8.graph.DexProgramClass getHolder():58:58 -> e
    1:1:com.android.tools.r8.graph.DexClass getHolder():18 -> e
    1:1:boolean isValid():73:73 -> j
    2:3:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):167:168 -> j
    2:3:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> j
    2:3:boolean isValid():73 -> j
    4:4:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> j
    4:4:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):169 -> j
    4:4:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> j
    4:4:boolean isValid():73 -> j
    5:6:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):170:171 -> j
    5:6:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> j
    5:6:boolean isValid():73 -> j
    7:7:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163:163 -> j
    7:7:boolean isValid():73 -> j
    1:1:com.android.tools.r8.synthesis.SyntheticReference toReference():18:18 -> k
    1:1:com.android.tools.r8.synthesis.SyntheticMethodReference toReference():53:53 -> l
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
    80:80:java.lang.String toString():78:78 -> toString
    81:81:java.lang.String toString():78:78 -> toString
    82:82:java.lang.String toString():78:78 -> toString
    79:79:java.lang.String toString():78:78 -> toString
com.android.tools.r8.synthesis.SyntheticMethodReference -> com.android.tools.r8.synthesis.w:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexMethod method -> d
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexMethod):27:28 -> <init>
    1:8:com.android.tools.r8.synthesis.SyntheticMethodDefinition lookupDefinition(java.util.function.Function):43:50 -> a
    1:8:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):21 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):57:57 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    10:10:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    11:15:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):60:64 -> a
    11:15:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    16:16:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> a
    16:16:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):64 -> a
    16:16:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    17:20:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):67:70 -> a
    17:20:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    1:1:com.android.tools.r8.graph.DexType getHolder():33:33 -> b
    1:1:com.android.tools.r8.graph.DexMethod getReference():38:38 -> d
    1:1:com.android.tools.r8.graph.DexReference getReference():21 -> d
com.android.tools.r8.synthesis.SyntheticNaming -> com.android.tools.r8.synthesis.x:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:2:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):176:177 -> a
    3:3:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204:204 -> a
    3:3:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):177 -> a
    4:4:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):218:218 -> a
    4:4:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204 -> a
    4:4:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):177 -> a
    5:5:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204:204 -> a
    5:5:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):177 -> a
    6:10:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):182:186 -> a
    11:11:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):183:183 -> a
    12:12:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204:204 -> a
    12:12:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):183 -> a
    13:13:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):218:218 -> a
    13:13:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204 -> a
    13:13:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):183 -> a
    14:14:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204:204 -> a
    14:14:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):183 -> a
    15:17:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):193:195 -> a
    18:18:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):218:218 -> a
    18:18:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):213 -> a
    18:18:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):194 -> a
    19:19:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    19:19:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):194 -> a
    20:20:boolean verifyNotInternalSynthetic(com.android.tools.r8.references.ClassReference):227:227 -> a
    21:21:boolean verifyNotInternalSynthetic(java.lang.String):231:231 -> a
    22:25:java.lang.String getPhaseSeparator(com.android.tools.r8.synthesis.SyntheticNaming$Phase):243:246 -> a
    26:26:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):252:252 -> a
    27:27:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):218:218 -> a
    27:27:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):252 -> a
    28:28:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):251:251 -> a
    29:36:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):261:268 -> a
    37:41:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):277:281 -> a
    37:41:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    42:42:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":53,"2":54,"3":55}}
    53:53:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):282:282 -> a
    53:53:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    54:54:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):282:282 -> a
    54:54:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    55:55:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):282:282 -> a
    55:55:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    43:44:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):282:283 -> a
    43:44:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    45:52:boolean isInt(java.lang.String):287:294 -> a
    45:52:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):283 -> a
    45:52:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
com.android.tools.r8.synthesis.SyntheticNaming$Phase -> com.android.tools.r8.synthesis.x$a:
    com.android.tools.r8.synthesis.SyntheticNaming$Phase INTERNAL -> b
    com.android.tools.r8.synthesis.SyntheticNaming$Phase EXTERNAL -> c
    1:2:void <clinit>():238:239 -> <clinit>
    1:1:void <init>(java.lang.String,int):237:237 -> <init>
com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind -> com.android.tools.r8.synthesis.x$b:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind BACKPORT -> y
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_1 -> s
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind LAMBDA -> q
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_STUB -> P
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_CHECK_NOT_ZERO_METHOD -> w
    boolean $assertionsDisabled -> R
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_3 -> u
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind EMULATED_INTERFACE_CLASS -> k
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION -> J
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RECORD_TAG -> i
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind SERVICE_LOADER -> H
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind WRAPPER -> o
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_CONVERSION -> N
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_STUB -> m
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind EMULATED_INTERFACE_MARKER_CLASS -> L
    boolean mayOverridesNonProgramType -> f
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TO_STRING_IF_NOT_NULL -> B
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_LOCAL_UTILITY_CLASS -> g
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_NSME -> F
    boolean isSingleSyntheticMethod -> d
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_IAE -> D
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind BACKPORT_WITH_FORWARDING -> z
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RECORD_HELPER -> x
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind INIT_TYPE_ARGUMENT -> r
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind VIVIFIED_WRAPPER -> p
    int id -> c
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind NON_FIXED_INIT_TYPE_ARGUMENT -> v
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_2 -> t
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION_PARAMETERS -> K
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind COMPANION_CLASS -> j
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind OUTLINE -> I
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_SHARED_UTILITY_CLASS -> h
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_OUTLINE -> O
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_INTERFACE -> n
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind CONST_DYNAMIC -> M
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_CLASS -> l
    boolean isFixedSuffixSynthetic -> e
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_CCE_IF_NOT_NULL -> C
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind[] $VALUES -> Q
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind STATIC_INTERFACE_CALL -> A
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TWR_CLOSE_RESOURCE -> G
    java.lang.String descriptor -> b
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_ICCE -> E
    1:3:void <clinit>():26:28 -> <clinit>
    4:4:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    4:4:void <clinit>():28 -> <clinit>
    5:6:void <clinit>():28:29 -> <clinit>
    7:7:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    7:7:void <clinit>():29 -> <clinit>
    8:10:void <clinit>():29:31 -> <clinit>
    11:11:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    11:11:void <clinit>():31 -> <clinit>
    12:13:void <clinit>():31:32 -> <clinit>
    14:14:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    14:14:void <clinit>():32 -> <clinit>
    15:16:void <clinit>():32:33 -> <clinit>
    17:17:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    17:17:void <clinit>():33 -> <clinit>
    18:19:void <clinit>():33:34 -> <clinit>
    20:20:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    20:20:void <clinit>():34 -> <clinit>
    21:22:void <clinit>():34:35 -> <clinit>
    23:23:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    23:23:void <clinit>():35 -> <clinit>
    24:25:void <clinit>():35:36 -> <clinit>
    26:26:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    26:26:void <clinit>():36 -> <clinit>
    27:28:void <clinit>():36:37 -> <clinit>
    29:29:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    29:29:void <clinit>():37 -> <clinit>
    30:31:void <clinit>():37:38 -> <clinit>
    32:32:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    32:32:void <clinit>():38 -> <clinit>
    33:34:void <clinit>():38:39 -> <clinit>
    35:35:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    35:35:void <clinit>():39 -> <clinit>
    36:37:void <clinit>():39:40 -> <clinit>
    38:38:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    38:38:void <clinit>():40 -> <clinit>
    39:40:void <clinit>():40:41 -> <clinit>
    41:41:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    41:41:void <clinit>():41 -> <clinit>
    42:43:void <clinit>():41:42 -> <clinit>
    44:44:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    44:44:void <clinit>():42 -> <clinit>
    45:46:void <clinit>():42:43 -> <clinit>
    47:47:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    47:47:void <clinit>():43 -> <clinit>
    48:50:void <clinit>():43:45 -> <clinit>
    51:51:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    51:51:void <clinit>():45 -> <clinit>
    52:53:void <clinit>():45:46 -> <clinit>
    54:54:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    54:54:void <clinit>():46 -> <clinit>
    55:56:void <clinit>():46:47 -> <clinit>
    57:57:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    57:57:void <clinit>():47 -> <clinit>
    58:59:void <clinit>():47:48 -> <clinit>
    60:60:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    60:60:void <clinit>():48 -> <clinit>
    61:62:void <clinit>():48:49 -> <clinit>
    63:63:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    63:63:void <clinit>():49 -> <clinit>
    64:65:void <clinit>():49:50 -> <clinit>
    66:66:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    66:66:void <clinit>():50 -> <clinit>
    67:68:void <clinit>():50:51 -> <clinit>
    69:69:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    69:69:void <clinit>():51 -> <clinit>
    70:71:void <clinit>():51:52 -> <clinit>
    72:72:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    72:72:void <clinit>():52 -> <clinit>
    73:74:void <clinit>():52:53 -> <clinit>
    75:75:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    75:75:void <clinit>():53 -> <clinit>
    76:77:void <clinit>():53:54 -> <clinit>
    78:78:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    78:78:void <clinit>():54 -> <clinit>
    79:80:void <clinit>():54:55 -> <clinit>
    81:81:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    81:81:void <clinit>():55 -> <clinit>
    82:83:void <clinit>():55:56 -> <clinit>
    84:84:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    84:84:void <clinit>():56 -> <clinit>
    85:86:void <clinit>():56:57 -> <clinit>
    87:87:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    87:87:void <clinit>():57 -> <clinit>
    88:89:void <clinit>():57:58 -> <clinit>
    90:90:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    90:90:void <clinit>():58 -> <clinit>
    91:92:void <clinit>():58:59 -> <clinit>
    93:93:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    93:93:void <clinit>():59 -> <clinit>
    94:96:void <clinit>():59:61 -> <clinit>
    97:97:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    97:97:void <clinit>():61 -> <clinit>
    98:99:void <clinit>():61:62 -> <clinit>
    100:100:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    100:100:void <clinit>():62 -> <clinit>
    101:103:void <clinit>():62:64 -> <clinit>
    104:104:void <clinit>():26:26 -> <clinit>
    105:105:boolean verifyNoOverlappingIds():136:136 -> <clinit>
    105:105:void <clinit>():67 -> <clinit>
    106:106:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> <clinit>
    106:106:boolean verifyNoOverlappingIds():136 -> <clinit>
    106:106:void <clinit>():67 -> <clinit>
    107:109:boolean verifyNoOverlappingIds():137:139 -> <clinit>
    107:109:void <clinit>():67 -> <clinit>
    1:1:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <init>
    2:7:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean,boolean):93:98 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind[] values():26:26 -> a
com.android.tools.r8.synthesis.SyntheticProgramClassBuilder -> com.android.tools.r8.synthesis.y:
    boolean $assertionsDisabled -> t
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):20:20 -> <init>
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():25:25 -> b
    com.android.tools.r8.synthesis.SyntheticClassBuilder self() -> f
com.android.tools.r8.synthesis.SyntheticProgramClassDefinition -> com.android.tools.r8.synthesis.z:
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexProgramClass):24:24 -> <init>
    1:1:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):17:17 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):63:63 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):17 -> a
    3:3:void apply(java.util.function.Consumer,java.util.function.Consumer):31:31 -> a
    4:4:void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):58:58 -> a
    1:1:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> b
    1:1:com.android.tools.r8.graph.DexProgramClass getHolder():17 -> b
    2:2:com.android.tools.r8.graph.DexProgramClass getHolder():17:17 -> b
    com.android.tools.r8.synthesis.SyntheticProgramDefinition asProgramDefinition() -> c
    boolean isProgramDefinition() -> i
    1:1:boolean isValid():51:51 -> j
    2:2:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> j
    2:2:boolean isValid():51 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> j
    3:3:boolean isValid():51 -> j
    4:5:boolean isValid():51:52 -> j
    6:6:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> j
    6:6:boolean isValid():53 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> j
    7:7:boolean isValid():53 -> j
    8:8:boolean isValid():53:53 -> j
    1:1:com.android.tools.r8.synthesis.SyntheticProgramClassReference toReference():46:46 -> k
    1:1:com.android.tools.r8.synthesis.SyntheticReference toReference():17 -> k
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146}}
    144:144:java.lang.String toString():68:68 -> toString
    145:145:java.lang.String toString():68:68 -> toString
    146:146:java.lang.String toString():68:68 -> toString
    69:69:java.lang.String toString():68:68 -> toString
    70:70:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146}}
    144:144:java.lang.String toString():69:69 -> toString
    145:145:java.lang.String toString():69:69 -> toString
    146:146:java.lang.String toString():69:69 -> toString
    141:143:java.lang.String toString():71:73 -> toString
com.android.tools.r8.synthesis.SyntheticProgramClassReference -> com.android.tools.r8.synthesis.A:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType):25:25 -> <init>
    1:6:com.android.tools.r8.synthesis.SyntheticProgramClassDefinition lookupDefinition(java.util.function.Function):30:35 -> a
    1:6:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):19 -> a
    7:7:com.android.tools.r8.synthesis.SyntheticProgramClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41:41 -> a
    7:7:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19 -> a
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    8:8:com.android.tools.r8.synthesis.SyntheticProgramClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41 -> a
    8:8:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19 -> a
    9:15:com.android.tools.r8.synthesis.SyntheticProgramClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):44:50 -> a
    9:15:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19 -> a
com.android.tools.r8.synthesis.SyntheticProgramDefinition -> com.android.tools.r8.internal.LX:
    void apply(java.util.function.Consumer,java.util.function.Consumer) -> a
    com.android.tools.r8.graph.DexProgramClass getHolder() -> b
com.android.tools.r8.synthesis.SyntheticReference -> com.android.tools.r8.synthesis.B:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> a
    boolean $assertionsDisabled -> c
    com.android.tools.r8.synthesis.SynthesizingContext rewrittenContext -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:5:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext):26:30 -> <init>
    com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens) -> a
    com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function) -> a
    1:1:com.android.tools.r8.synthesis.Rewritable com.android.tools.r8.synthesis.SyntheticProgramClassReference.rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19:19 -> a
    2:2:com.android.tools.r8.synthesis.SynthesizingContext getContext():40:40 -> a
    com.android.tools.r8.graph.DexType getHolder() -> b
    1:1:com.android.tools.r8.synthesis.SynthesizingContext getContext():40:40 -> b
    1:1:com.android.tools.r8.synthesis.SyntheticReference rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):48 -> b
    2:3:com.android.tools.r8.synthesis.SyntheticReference rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):48:49 -> b
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():36:36 -> c
    com.android.tools.r8.graph.DexReference getReference() -> d
com.android.tools.r8.tracereferences.Formatter -> com.android.tools.r8.tracereferences.a:
    java.lang.StringBuilder output -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>():29:30 -> <init>
    1:1:java.lang.String get():34:34 -> a
    2:2:void append(java.lang.String):38:38 -> a
    3:6:void printArguments(com.android.tools.r8.references.MethodReference):46:46 -> a
    7:10:void format(com.android.tools.r8.tracereferences.internal.TraceReferencesResult):81:84 -> a
    11:11:void format(com.android.tools.r8.tracereferences.internal.TraceReferencesResult):80:80 -> a
    12:22:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):92:102 -> a
    23:23:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):22:22 -> a
    23:23:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    24:24:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":87,"2":88,"3":89}}
    87:87:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):23:23 -> a
    87:87:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    88:88:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):23:23 -> a
    88:88:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    89:89:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):23:23 -> a
    89:89:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    25:29:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):23:27 -> a
    25:29:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    30:30:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96}}
    94:94:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):28:28 -> a
    94:94:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    95:95:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):28:28 -> a
    95:95:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    96:96:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):28:28 -> a
    96:96:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    31:32:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):28:29 -> a
    31:32:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    33:33:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):30:30 -> a
    98:98:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    99:99:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):30:30 -> a
    99:99:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    100:100:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):30:30 -> a
    100:100:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    34:34:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):30:30 -> a
    34:34:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    35:35:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":102,"2":103,"3":104}}
    102:102:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):32:32 -> a
    102:102:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    103:103:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):32:32 -> a
    103:103:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    104:104:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):32:32 -> a
    104:104:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    36:36:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):32:32 -> a
    36:36:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    37:46:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):103:112 -> a
    47:49:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):111:113 -> a
    50:66:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod):54:70 -> a
    50:66:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):114 -> a
    67:70:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):116:119 -> a
    71:71:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107}}
    105:105:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):43:43 -> a
    105:105:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    106:106:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):43:43 -> a
    106:106:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    107:107:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):43:43 -> a
    107:107:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    72:76:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):45:49 -> a
    72:76:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    77:77:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):43:43 -> a
    77:77:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    78:78:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeFooter():82:82 -> a
    78:78:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):124 -> a
    79:83:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):127:131 -> a
    84:84:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):75:75 -> a
    84:84:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    85:85:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110}}
    108:108:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):76:76 -> a
    108:108:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    109:109:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):76:76 -> a
    109:109:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    110:110:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):76:76 -> a
    110:110:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    86:86:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):76:76 -> a
    86:86:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    111:111:java.lang.String lambda$print$0(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):93:93 -> a
    112:112:java.lang.String lambda$print$1(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod) -> a
    113:113:java.lang.String lambda$print$2(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):117:117 -> a
    1:1:void appendLine(java.lang.String):42:42 -> b
    2:3:void printNameAndReturn(com.android.tools.r8.references.MethodReference):66:67 -> b
    4:4:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printConstructorName(com.android.tools.r8.references.MethodReference):38:38 -> b
    4:4:void printNameAndReturn(com.android.tools.r8.references.MethodReference):67 -> b
    5:5:void append(java.lang.String):38:38 -> b
    5:5:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printConstructorName(com.android.tools.r8.references.MethodReference):38 -> b
    5:5:void printNameAndReturn(com.android.tools.r8.references.MethodReference):67 -> b
    6:6:void printReturn(com.android.tools.r8.references.MethodReference):62:62 -> b
    6:6:void printNameAndReturn(com.android.tools.r8.references.MethodReference):69 -> b
    7:7:void append(java.lang.String):38:38 -> b
    7:7:void printReturn(com.android.tools.r8.references.MethodReference):62 -> b
    7:7:void printNameAndReturn(com.android.tools.r8.references.MethodReference):69 -> b
    8:8:void append(java.lang.String):38:38 -> b
    8:8:void printNameAndReturn(com.android.tools.r8.references.MethodReference):70 -> b
    9:9:void printNameAndReturn(com.android.tools.r8.references.MethodReference):71:71 -> b
    10:10:void append(java.lang.String):38:38 -> b
    10:10:void printNameAndReturn(com.android.tools.r8.references.MethodReference):71 -> b
com.android.tools.r8.tracereferences.KeepRuleFormatter -> com.android.tools.r8.tracereferences.b:
    boolean allowObfuscation -> c
    1:2:void <init>(boolean):16:17 -> <init>
com.android.tools.r8.tracereferences.TraceReferences -> com.android.tools.r8.tracereferences.TraceReferences:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    1:1:void lambda$run$0(com.android.tools.r8.tracereferences.TraceReferencesCommand):31:31 -> a
    2:2:void lambda$runInternal$1(java.util.Set,com.android.tools.r8.ClassFileResourceProvider):66:66 -> a
    3:3:void lambda$main$2(java.lang.String[]):101:101 -> a
    1:10:void runInternal(com.android.tools.r8.tracereferences.TraceReferencesCommand):59:68 -> b
    11:22:void forEachDescriptor(com.android.tools.r8.ProgramResourceProvider,java.util.function.Consumer):36:47 -> b
    11:22:void runInternal(com.android.tools.r8.tracereferences.TraceReferencesCommand):68 -> b
    23:35:void forEachDescriptor(com.android.tools.r8.ProgramResourceProvider,java.util.function.Consumer):40:52 -> b
    23:35:void runInternal(com.android.tools.r8.tracereferences.TraceReferencesCommand):68 -> b
    36:39:void runInternal(com.android.tools.r8.tracereferences.TraceReferencesCommand):70:73 -> b
    1:5:void main(java.lang.String[]):97:101 -> main
    6:7:void main(java.lang.String[]):98:99 -> main
    1:1:void run(com.android.tools.r8.tracereferences.TraceReferencesCommand):31:31 -> run
    2:9:void run(java.lang.String[]):77:84 -> run
    10:10:void run(java.lang.String[]):0:0 -> run
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:void run(java.lang.String[]):84:84 -> run
    99:99:void run(java.lang.String[]):84:84 -> run
    100:100:void run(java.lang.String[]):84:84 -> run
    94:97:void run(java.lang.String[]):84:87 -> run
com.android.tools.r8.tracereferences.TraceReferencesCheckConsumer -> com.android.tools.r8.tracereferences.TraceReferencesCheckConsumer:
    java.util.Map missingClassesContexts -> c
    java.util.Map missingFieldsContexts -> d
    java.util.Map missingMethodsContexts -> e
    1:1:void <init>(com.android.tools.r8.tracereferences.TraceReferencesConsumer):42:42 -> <init>
    2:6:void <init>(com.android.tools.r8.tracereferences.TraceReferencesConsumer):34:38 -> <init>
    1:1:java.util.Map lambda$acceptType$0(com.android.tools.r8.references.ClassReference):51:51 -> a
    2:2:java.util.Map lambda$acceptField$4(com.android.tools.r8.references.FieldReference):67:67 -> a
    3:3:void lambda$acceptField$5(java.util.Map,com.android.tools.r8.diagnostic.DefinitionClassContext):70:70 -> a
    4:4:void lambda$acceptField$6(java.util.Map,com.android.tools.r8.diagnostic.DefinitionFieldContext):71:71 -> a
    5:5:void lambda$acceptField$7(java.util.Map,com.android.tools.r8.diagnostic.DefinitionMethodContext):73:73 -> a
    6:6:java.util.Map lambda$acceptMethod$8(com.android.tools.r8.references.MethodReference):83:83 -> a
    7:10:void lambda$buildDiagnostic$12(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.ClassReference,java.util.Map):118:121 -> a
    11:11:void lambda$buildDiagnostic$12(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.ClassReference,java.util.Map):117:117 -> a
    12:15:void lambda$buildDiagnostic$13(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.FieldReference,java.util.Map):125:128 -> a
    16:16:void lambda$buildDiagnostic$13(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.FieldReference,java.util.Map):124:124 -> a
    17:20:void lambda$buildDiagnostic$14(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.MethodReference,java.util.Map):132:135 -> a
    21:21:void lambda$buildDiagnostic$14(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.MethodReference,java.util.Map):131:131 -> a
    1:5:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):63:67 -> acceptField
    6:9:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):66:69 -> acceptField
    10:10:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):68:68 -> acceptField
    1:5:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):79:83 -> acceptMethod
    6:9:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):82:85 -> acceptMethod
    10:10:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):84:84 -> acceptMethod
    1:1:void acceptPackage(com.android.tools.r8.references.PackageReference,com.android.tools.r8.DiagnosticsHandler):95:95 -> acceptPackage
    1:5:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):47:51 -> acceptType
    6:9:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):50:53 -> acceptType
    10:10:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):52:52 -> acceptType
    1:1:void lambda$acceptMethod$9(java.util.Map,com.android.tools.r8.diagnostic.DefinitionClassContext):86:86 -> b
    2:2:void lambda$acceptMethod$10(java.util.Map,com.android.tools.r8.diagnostic.DefinitionFieldContext):87:87 -> b
    3:3:void lambda$acceptMethod$11(java.util.Map,com.android.tools.r8.diagnostic.DefinitionMethodContext):89:89 -> b
    4:26:com.android.tools.r8.diagnostic.MissingDefinitionsDiagnostic buildDiagnostic():114:136 -> b
    1:1:void lambda$acceptType$1(java.util.Map,com.android.tools.r8.diagnostic.DefinitionClassContext):54:54 -> c
    2:2:void lambda$acceptType$2(java.util.Map,com.android.tools.r8.diagnostic.DefinitionFieldContext):55:55 -> c
    3:3:void lambda$acceptType$3(java.util.Map,com.android.tools.r8.diagnostic.DefinitionMethodContext):57:57 -> c
    1:1:void finished(com.android.tools.r8.DiagnosticsHandler):100:100 -> finished
    2:4:boolean isEmpty():107:109 -> finished
    2:4:void finished(com.android.tools.r8.DiagnosticsHandler):101 -> finished
    5:5:void finished(com.android.tools.r8.DiagnosticsHandler):102:102 -> finished
com.android.tools.r8.tracereferences.TraceReferencesCommand -> com.android.tools.r8.tracereferences.TraceReferencesCommand:
    com.android.tools.r8.tracereferences.TraceReferencesConsumer consumer -> g
    com.android.tools.r8.com.google.common.collect.ImmutableList traceSource -> f
    com.android.tools.r8.com.google.common.collect.ImmutableList traceTarget -> e
    boolean printHelp -> a
    boolean printVersion -> b
    com.android.tools.r8.com.google.common.collect.ImmutableList library -> d
    com.android.tools.r8.utils.Reporter reporter -> c
    1:8:void <init>(boolean,boolean,com.android.tools.r8.utils.Reporter,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.tracereferences.TraceReferencesConsumer):60:67 -> <init>
    9:16:void <init>(boolean,boolean):70:77 -> <init>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesConsumer getConsumer():396:396 -> a
    1:1:java.util.List getLibrary():384:384 -> b
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):86:86 -> builder
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder builder():94:94 -> builder
    1:1:com.android.tools.r8.utils.Reporter getReporter():380:380 -> c
    1:1:java.util.List getSource():392:392 -> d
    1:1:java.util.List getTarget():388:388 -> e
    1:1:boolean isPrintHelp():110:110 -> isPrintHelp
    1:1:boolean isPrintVersion():114:114 -> isPrintVersion
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):98:98 -> parse
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):102:102 -> parse
    3:3:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.util.Collection,com.android.tools.r8.origin.Origin):106:106 -> parse
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder -> com.android.tools.r8.tracereferences.TraceReferencesCommand$a:
    com.android.tools.r8.tracereferences.TraceReferencesConsumer consumer -> g
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder traceSourceBuilder -> f
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder traceTargetBuilder -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder libraryBuilder -> d
    boolean printHelp -> a
    boolean printVersion -> b
    com.android.tools.r8.utils.Reporter reporter -> c
    1:1:void <init>(com.android.tools.r8.tracereferences.TraceReferencesCommand$1):117:117 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.tracereferences.TraceReferencesCommand$1):117:117 -> <init>
    3:3:void <init>():131:131 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):134:134 -> <init>
    5:21:void <init>(com.android.tools.r8.DiagnosticsHandler):119:135 -> <init>
    1:1:boolean isPrintHelp():144:144 -> a
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():338 -> a
    1:1:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    2:2:boolean isPrintVersion():155:155 -> a
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():338 -> a
    2:2:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    3:8:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():342:347 -> a
    3:8:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    9:9:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    9:9:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():347 -> a
    9:9:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    10:14:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():349:353 -> a
    10:14:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    15:15:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    15:15:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():353 -> a
    15:15:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    16:17:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():355:356 -> a
    16:17:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    18:18:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    18:18:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():356 -> a
    18:18:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    19:19:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():358:358 -> a
    19:19:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    20:20:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():339:339 -> a
    20:20:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    21:21:boolean isPrintVersion():155:155 -> a
    21:21:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():339 -> a
    21:21:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    22:22:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():339:339 -> a
    22:22:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    23:24:void lambda$build$0(com.android.tools.r8.utils.Box):367:368 -> a
    25:25:java.lang.String extractClassDescriptor(byte[]):188:188 -> a
    25:25:java.lang.String access$200(byte[]):117 -> a
    26:26:void com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(byte[]):166:166 -> a
    26:26:java.lang.String extractClassDescriptor(byte[]):188 -> a
    26:26:java.lang.String access$200(byte[]):117 -> a
    27:30:java.lang.String extractClassDescriptor(byte[]):189:192 -> a
    27:30:java.lang.String access$200(byte[]):117 -> a
    31:31:java.lang.String access$200(byte[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":32,"2":33,"3":34}}
    32:32:java.lang.String extractClassDescriptor(byte[]):192:192 -> a
    32:32:java.lang.String access$200(byte[]):117 -> a
    33:33:java.lang.String extractClassDescriptor(byte[]):192:192 -> a
    33:33:java.lang.String access$200(byte[]):117 -> a
    34:34:java.lang.String extractClassDescriptor(byte[]):192:192 -> a
    34:34:java.lang.String access$200(byte[]):117 -> a
    35:38:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):239:242 -> a
    39:39:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    39:39:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):242 -> a
    40:45:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):244:249 -> a
    46:46:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    46:46:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):249 -> a
    47:47:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):251:251 -> a
    48:49:com.android.tools.r8.ClassFileResourceProvider singleClassFileClassFileResourceProvider(java.nio.file.Path):218:219 -> a
    48:49:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):253 -> a
    50:52:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):253:255 -> a
    53:53:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    53:53:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):255 -> a
    54:54:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):258:258 -> a
    55:55:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    55:55:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):258 -> a
    56:56:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addLibraryResourceProvider(com.android.tools.r8.ClassFileResourceProvider):292:292 -> a
    57:57:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addLibraryFiles(java.nio.file.Path[]):297:297 -> a
    58:59:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addLibraryFiles(java.util.Collection):302:303 -> a
    58:59:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addLibraryFiles(java.nio.file.Path[]):297 -> a
    60:60:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder setConsumer(com.android.tools.r8.tracereferences.TraceReferencesConsumer):333:333 -> a
    61:68:com.android.tools.r8.tracereferences.TraceReferencesCommand build():363:370 -> a
    69:69:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    1:1:com.android.tools.r8.utils.Reporter getReporter():139:139 -> b
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321:321 -> b
    3:3:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):326:326 -> b
    3:3:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    4:7:void addSourceFile(java.nio.file.Path):263:266 -> b
    4:7:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    4:7:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    8:8:void error(com.android.tools.r8.Diagnostic):374:374 -> b
    8:8:void addSourceFile(java.nio.file.Path):266 -> b
    8:8:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    8:8:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    9:13:void addSourceFile(java.nio.file.Path):268:272 -> b
    9:13:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    9:13:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    14:14:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):224:224 -> b
    14:14:void addSourceFile(java.nio.file.Path):272 -> b
    14:14:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    14:14:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    15:15:java.lang.String extractClassDescriptor(byte[]):188:188 -> b
    15:15:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):225 -> b
    15:15:void addSourceFile(java.nio.file.Path):272 -> b
    15:15:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    15:15:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    16:16:void com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(byte[]):166:166 -> b
    16:16:java.lang.String extractClassDescriptor(byte[]):188 -> b
    16:16:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):225 -> b
    16:16:void addSourceFile(java.nio.file.Path):272 -> b
    16:16:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    16:16:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    17:20:java.lang.String extractClassDescriptor(byte[]):189:192 -> b
    17:20:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):225 -> b
    17:20:void addSourceFile(java.nio.file.Path):272 -> b
    17:20:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    17:20:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    21:21:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):226:226 -> b
    21:21:void addSourceFile(java.nio.file.Path):272 -> b
    21:21:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    21:21:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    22:24:void addSourceFile(java.nio.file.Path):272:274 -> b
    22:24:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    22:24:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    25:25:void error(com.android.tools.r8.Diagnostic):374:374 -> b
    25:25:void addSourceFile(java.nio.file.Path):274 -> b
    25:25:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    25:25:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    26:37:void addSourceFile(java.nio.file.Path):276:287 -> b
    26:37:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    26:37:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    38:38:void error(com.android.tools.r8.Diagnostic):374:374 -> b
    38:38:void addSourceFile(java.nio.file.Path):287 -> b
    38:38:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    38:38:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder setPrintHelp(boolean):149:149 -> c
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addTargetFiles(java.nio.file.Path[]):309:309 -> c
    3:4:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addTargetFiles(java.util.Collection):314:315 -> c
    3:4:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addTargetFiles(java.nio.file.Path[]):309 -> c
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder setPrintVersion(boolean):160:160 -> d
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$1 -> com.android.tools.r8.tracereferences.c:
    1:1:void <init>():131:131 -> <init>
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$1ClassNameExtractor -> com.android.tools.r8.tracereferences.d:
    java.lang.String className -> c
    1:1:void <init>():169:169 -> <init>
    1:1:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):180:180 -> a
    1:1:java.lang.String getClassInternalType():184:184 -> b
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$2 -> com.android.tools.r8.tracereferences.e:
    byte[] val$bytes -> b
    java.nio.file.Path val$file -> a
    java.lang.String val$descriptor -> c
    1:1:void <init>(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,java.nio.file.Path,byte[],java.lang.String):226:226 -> <init>
    1:3:java.util.Collection getProgramResources():230:232 -> getProgramResources
    4:4:java.util.Collection getProgramResources():231:231 -> getProgramResources
    5:5:java.util.Collection getProgramResources():230:230 -> getProgramResources
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$3 -> com.android.tools.r8.tracereferences.f:
    com.android.tools.r8.ProgramResource dexResource -> a
    1:2:void <init>(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,java.nio.file.Path):278:279 -> <init>
    1:1:java.util.Collection getProgramResources():283:283 -> getProgramResources
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$SingleClassClassFileResourceProvider -> com.android.tools.r8.tracereferences.g:
    com.android.tools.r8.ProgramResource programResource -> c
    java.lang.String descriptor -> b
    1:4:void <init>(com.android.tools.r8.origin.Origin,byte[]):199:202 -> <init>
    1:1:java.util.Set getClassDescriptors():207:207 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):212:212 -> getProgramResource
com.android.tools.r8.tracereferences.TraceReferencesCommandParser -> com.android.tools.r8.tracereferences.h:
    java.util.Set OPTIONS_WITH_PARAMETER -> a
    java.lang.String USAGE_MESSAGE -> b
    1:25:void <clinit>():29:53 -> <clinit>
    26:26:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):434:434 -> <clinit>
    26:26:void <clinit>():34 -> <clinit>
    27:27:void <clinit>():32:32 -> <clinit>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):70:70 -> a
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):86:86 -> a
    3:19:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):103:119 -> a
    20:20:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":542,"2":543,"3":544}}
    542:542:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    543:543:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    544:544:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    139:139:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    140:140:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":545,"2":546,"3":547}}
    545:545:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    546:546:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    547:547:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    259:272:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:132 -> a
    273:273:void checkCommandNotSet(com.android.tools.r8.tracereferences.TraceReferencesCommandParser$Command,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin):97:97 -> a
    273:273:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):133 -> a
    274:274:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):135:135 -> a
    275:275:void checkCommandNotSet(com.android.tools.r8.tracereferences.TraceReferencesCommandParser$Command,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin):97:97 -> a
    275:275:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):136 -> a
    276:278:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):138:140 -> a
    279:279:void addLibraryArgument(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):232:232 -> a
    279:279:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):141 -> a
    280:291:boolean isJdkHome(java.nio.file.Path):213:224 -> a
    280:291:void addLibraryArgument(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):233 -> a
    280:291:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):141 -> a
    292:297:void addLibraryArgument(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):235:240 -> a
    292:297:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):141 -> a
    298:313:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):142:157 -> a
    314:320:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):156:162 -> a
    321:321:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":590,"2":591,"3":592,"4":593,"5":594,"6":595}}
    590:590:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    591:591:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    592:592:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    593:593:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    594:594:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    595:595:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    483:520:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:199 -> a
    521:521:void com.android.tools.r8.StringConsumer$WriterConsumer.<init>(com.android.tools.r8.origin.Origin,java.io.Writer):187:187 -> a
    521:521:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):199 -> a
    522:526:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):196:200 -> a
    527:538:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):192:203 -> a
    539:541:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):188:188 -> a
com.android.tools.r8.tracereferences.TraceReferencesConsumer -> com.android.tools.r8.tracereferences.TraceReferencesConsumer:
    1:1:com.android.tools.r8.tracereferences.TraceReferencesConsumer emptyConsumer():139:139 -> emptyConsumer
com.android.tools.r8.tracereferences.TraceReferencesConsumer$ForwardingConsumer -> com.android.tools.r8.tracereferences.TraceReferencesConsumer$ForwardingConsumer:
    com.android.tools.r8.tracereferences.TraceReferencesConsumer EMPTY_CONSUMER -> b
    com.android.tools.r8.tracereferences.TraceReferencesConsumer consumer -> a
    1:1:void <clinit>():146:146 -> <clinit>
    1:2:void <init>(com.android.tools.r8.tracereferences.TraceReferencesConsumer):150:151 -> <init>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesConsumer access$000():144:144 -> a
    1:2:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):163:164 -> acceptField
    1:2:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):170:171 -> acceptMethod
    1:2:void acceptPackage(com.android.tools.r8.references.PackageReference,com.android.tools.r8.DiagnosticsHandler):177:178 -> acceptPackage
    1:2:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):156:157 -> acceptType
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):184:185 -> finished
com.android.tools.r8.tracereferences.TraceReferencesKeepRules -> com.android.tools.r8.tracereferences.TraceReferencesKeepRules:
    com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder traceReferencesResultBuilder -> c
    boolean allowObfuscation -> e
    com.android.tools.r8.StringConsumer consumer -> d
    1:1:void <init>(com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder,com.android.tools.r8.StringConsumer,boolean,com.android.tools.r8.tracereferences.TraceReferencesKeepRules$1):27:27 -> <init>
    2:5:void <init>(com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder,com.android.tools.r8.StringConsumer,boolean):37:40 -> <init>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder builder():90:90 -> builder
    1:5:void finished(com.android.tools.r8.DiagnosticsHandler):95:99 -> finished
com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder -> com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder:
    boolean allowObfuscation -> b
    com.android.tools.r8.StringConsumer consumer -> a
    1:1:void <init>():49:49 -> <init>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules build():83:83 -> build
    2:2:com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder com.android.tools.r8.tracereferences.internal.TraceReferencesResult.builder():55:55 -> build
    2:2:com.android.tools.r8.tracereferences.TraceReferencesKeepRules build():84 -> build
    3:3:com.android.tools.r8.tracereferences.TraceReferencesKeepRules build():84:84 -> build
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder setAllowObfuscation(boolean):57:57 -> setAllowObfuscation
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder setOutputConsumer(com.android.tools.r8.StringConsumer):77:77 -> setOutputConsumer
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder setOutputPath(java.nio.file.Path):67:67 -> setOutputPath
com.android.tools.r8.tracereferences.Tracer -> com.android.tools.r8.tracereferences.k:
    com.android.tools.r8.DiagnosticsHandler diagnostics -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.function.Predicate targetPredicate -> c
    1:6:void <init>(java.util.Set,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.utils.InternalOptions):65:70 -> <init>
    7:7:void <init>(java.util.Set,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.utils.InternalOptions):67:67 -> <init>
    8:8:void <init>(java.util.Set,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.utils.InternalOptions):66:66 -> <init>
    9:9:void <init>(java.util.Set,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.utils.InternalOptions):65:65 -> <init>
    10:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.DiagnosticsHandler,java.util.function.Predicate):78:81 -> <init>
    1:1:boolean lambda$new$0(java.util.Set,com.android.tools.r8.graph.DexType):72:72 -> a
    2:11:void run(com.android.tools.r8.tracereferences.TraceReferencesConsumer):85:94 -> a
    12:12:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    12:12:void run(com.android.tools.r8.tracereferences.TraceReferencesConsumer):94 -> a
    13:19:void run(com.android.tools.r8.tracereferences.TraceReferencesConsumer):95:101 -> a
    20:20:void lambda$run$1(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramField):94:94 -> a
    21:21:void lambda$run$2(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
    22:22:void com.android.tools.r8.tracereferences.Tracer$UseCollector.traceCode(com.android.tools.r8.graph.ProgramMethod):256:256 -> a
    22:22:void com.android.tools.r8.tracereferences.Tracer$UseCollector.access$1200(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    22:22:void lambda$run$2(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):98 -> a
com.android.tools.r8.tracereferences.Tracer$UseCollector -> com.android.tools.r8.tracereferences.j:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.tracereferences.TraceReferencesConsumer consumer -> c
    java.util.Set missingFields -> g
    java.util.Set missingMethods -> h
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.DiagnosticsHandler diagnostics -> d
    boolean $assertionsDisabled -> i
    java.util.Set missingClasses -> f
    java.util.function.Predicate targetPredicate -> e
    1:1:void <clinit>():106:106 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.tracereferences.TraceReferencesConsumer,com.android.tools.r8.DiagnosticsHandler,java.util.function.Predicate):122:122 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.tracereferences.TraceReferencesConsumer,com.android.tools.r8.DiagnosticsHandler,java.util.function.Predicate):114:127 -> <init>
    1:1:void access$000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):106:106 -> a
    2:2:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.tracereferences.Tracer$UseCollector):106:106 -> a
    3:3:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106:106 -> a
    4:5:void registerMethod(com.android.tools.r8.graph.ProgramMethod):232:233 -> a
    4:5:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    6:7:void addTypes(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.diagnostic.DefinitionContext):155:156 -> a
    6:7:void registerMethod(com.android.tools.r8.graph.ProgramMethod):233 -> a
    6:7:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    8:21:void registerMethod(com.android.tools.r8.graph.ProgramMethod):234:247 -> a
    8:21:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    22:22:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    22:22:void registerMethod(com.android.tools.r8.graph.ProgramMethod):249 -> a
    22:22:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    23:23:void registerMethod(com.android.tools.r8.graph.ProgramMethod):250:250 -> a
    23:23:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    24:24:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    24:24:void registerMethod(com.android.tools.r8.graph.ProgramMethod):250 -> a
    24:24:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    25:25:void registerMethod(com.android.tools.r8.graph.ProgramMethod):251:251 -> a
    25:25:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    26:26:void access$1300(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramField):106:106 -> a
    27:28:void registerField(com.android.tools.r8.graph.ProgramField):227:228 -> a
    27:28:void access$1300(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramField):106 -> a
    29:29:void access$200(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):106:106 -> a
    30:30:void access$400(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.diagnostic.DefinitionContext):106:106 -> a
    31:32:void addTypes(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.diagnostic.DefinitionContext):155:156 -> a
    31:32:void access$400(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    33:33:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106:106 -> a
    34:34:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173:173 -> a
    34:34:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    35:35:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    35:35:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173 -> a
    35:35:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    36:40:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):174:178 -> a
    36:40:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    41:41:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):177:177 -> a
    41:41:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    42:42:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo():131:131 -> a
    43:43:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    43:43:boolean access$500(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexType):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    44:44:boolean access$500(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexType):106 -> a
    45:52:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):143:150 -> a
    53:54:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):161:162 -> a
    53:54:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    55:55:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173:173 -> a
    55:55:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):164 -> a
    55:55:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    56:56:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    56:56:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173 -> a
    56:56:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):164 -> a
    56:56:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    57:61:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):174:178 -> a
    57:61:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):164 -> a
    57:61:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    62:62:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):177:177 -> a
    62:62:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):164 -> a
    62:62:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    63:63:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):166:166 -> a
    63:63:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    64:64:void com.android.tools.r8.tracereferences.internal.TracedClassImpl.<init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):17:17 -> a
    64:64:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):166 -> a
    64:64:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    65:66:void collectMissingClass(com.android.tools.r8.tracereferences.internal.TracedClassImpl):212:213 -> a
    65:66:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):167 -> a
    65:66:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    67:68:void collectMissing(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedReference,java.util.Set):206:207 -> a
    67:68:void collectMissingClass(com.android.tools.r8.tracereferences.internal.TracedClassImpl):213 -> a
    67:68:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):167 -> a
    67:68:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    69:69:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):168:168 -> a
    69:69:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    70:70:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):185:185 -> a
    71:71:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    71:71:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):185 -> a
    72:73:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):185:186 -> a
    74:74:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    74:74:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):186 -> a
    75:84:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):186:195 -> a
    85:85:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    85:85:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):195 -> a
    86:89:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):196:199 -> a
    90:90:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):198:198 -> a
    91:91:void collectMissingField(com.android.tools.r8.tracereferences.internal.TracedFieldImpl):217:217 -> a
    91:91:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106 -> a
    92:92:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106:106 -> a
    93:93:void collectMissingField(com.android.tools.r8.tracereferences.internal.TracedFieldImpl):217:217 -> a
    93:93:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106 -> a
    94:94:void collectMissingField(com.android.tools.r8.tracereferences.internal.TracedFieldImpl):218:218 -> a
    94:94:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    95:96:void collectMissing(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedReference,java.util.Set):206:207 -> a
    95:96:void collectMissingField(com.android.tools.r8.tracereferences.internal.TracedFieldImpl):218 -> a
    95:96:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106 -> a
    97:97:void collectMissingMethod(com.android.tools.r8.tracereferences.internal.TracedMethodImpl):222:222 -> a
    97:97:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106 -> a
    98:98:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106:106 -> a
    99:99:void collectMissingMethod(com.android.tools.r8.tracereferences.internal.TracedMethodImpl):222:222 -> a
    99:99:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106 -> a
    100:100:void collectMissingMethod(com.android.tools.r8.tracereferences.internal.TracedMethodImpl):223:223 -> a
    100:100:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    101:102:void collectMissing(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedReference,java.util.Set):206:207 -> a
    101:102:void collectMissingMethod(com.android.tools.r8.tracereferences.internal.TracedMethodImpl):223 -> a
    101:102:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106 -> a
    103:105:void registerSuperType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):261:263 -> a
    106:108:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):266:268 -> a
    109:109:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    109:109:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):270 -> a
    110:110:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):271:271 -> a
    111:111:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    111:111:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):271 -> a
    112:112:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):272:272 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory access$300(com.android.tools.r8.tracereferences.Tracer$UseCollector):106:106 -> b
    2:2:com.android.tools.r8.graph.GraphLens graphLens():135:135 -> b
    1:1:com.android.tools.r8.DiagnosticsHandler access$600(com.android.tools.r8.tracereferences.Tracer$UseCollector):106:106 -> c
    1:1:com.android.tools.r8.tracereferences.TraceReferencesConsumer access$700(com.android.tools.r8.tracereferences.Tracer$UseCollector):106:106 -> d
com.android.tools.r8.tracereferences.Tracer$UseCollector$MethodUseCollector -> com.android.tools.r8.tracereferences.i:
    com.android.tools.r8.diagnostic.DefinitionContext referencedFrom -> e
    boolean $assertionsDisabled -> g
    com.android.tools.r8.tracereferences.Tracer$UseCollector this$0 -> f
    1:1:void <clinit>():277:277 -> <clinit>
    1:3:void <init>(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):281:283 -> <init>
    1:1:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):290:290 -> a
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    2:2:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):290 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    3:3:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):290 -> a
    4:8:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):291:295 -> a
    9:9:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):371:371 -> a
    9:9:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):294 -> a
    10:10:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):370:370 -> a
    10:10:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):294 -> a
    11:17:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):339:345 -> a
    18:18:boolean com.android.tools.r8.ir.code.Invoke$Type.isInterface():185:185 -> a
    18:18:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):345 -> a
    19:22:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):345:348 -> a
    23:23:boolean com.android.tools.r8.ir.code.Invoke$Type.isInterface():185:185 -> a
    23:23:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):348 -> a
    24:25:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):349:350 -> a
    26:26:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):346:346 -> a
    27:37:void handleRewrittenMethodResolution(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodResolutionResult):355:365 -> a
    38:38:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):371:371 -> a
    38:38:void handleRewrittenMethodResolution(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodResolutionResult):365 -> a
    39:39:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):370:370 -> a
    39:39:void handleRewrittenMethodResolution(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodResolutionResult):365 -> a
    40:43:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):376:376 -> a
    46:59:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):379:392 -> a
    60:66:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):390:396 -> a
    67:67:void com.android.tools.r8.tracereferences.internal.TracedMethodImpl.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.diagnostic.DefinitionContext):17:17 -> a
    67:67:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):396 -> a
    68:69:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):397:398 -> a
    70:70:void handleFieldAccess(com.android.tools.r8.graph.DexField):432:432 -> a
    70:70:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):413 -> a
    71:71:com.android.tools.r8.graph.GraphLens$FieldLookupResult com.android.tools.r8.graph.GraphLens.lookupFieldResult(com.android.tools.r8.graph.DexField):481:481 -> a
    71:71:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):413 -> a
    72:72:void handleFieldAccess(com.android.tools.r8.graph.DexField):433:433 -> a
    72:72:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):413 -> a
    73:91:void registerCallSite(com.android.tools.r8.graph.DexCallSite):472:490 -> a
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):300:300 -> b
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):414:414 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):300 -> b
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> b
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):414 -> b
    3:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):300 -> b
    4:5:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):301:302 -> b
    6:6:void lambda$handleRewrittenMethodResolution$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):361:361 -> b
    7:7:void registerInitClass(com.android.tools.r8.graph.DexType):406:406 -> b
    8:8:void registerInitClass(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":417,"2":418,"3":419}}
    417:417:void registerInitClass(com.android.tools.r8.graph.DexType):406:406 -> b
    418:418:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    418:418:void registerInitClass(com.android.tools.r8.graph.DexType):406 -> b
    419:419:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    419:419:void registerInitClass(com.android.tools.r8.graph.DexType):406 -> b
    415:416:void registerInitClass(com.android.tools.r8.graph.DexType):407:408 -> b
    1:1:void handleFieldAccess(com.android.tools.r8.graph.DexField):432:432 -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):418 -> c
    2:2:com.android.tools.r8.graph.GraphLens$FieldLookupResult com.android.tools.r8.graph.GraphLens.lookupFieldResult(com.android.tools.r8.graph.DexField):481:481 -> c
    2:2:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):418 -> c
    3:3:void handleFieldAccess(com.android.tools.r8.graph.DexField):433:433 -> c
    3:3:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):418 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):307:307 -> d
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):418:418 -> d
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):307 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):418 -> d
    3:3:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):307 -> d
    4:7:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):308:311 -> d
    8:8:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):310:310 -> d
    1:1:void handleFieldAccess(com.android.tools.r8.graph.DexField):432:432 -> e
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):423 -> e
    2:2:com.android.tools.r8.graph.GraphLens$FieldLookupResult com.android.tools.r8.graph.GraphLens.lookupFieldResult(com.android.tools.r8.graph.DexField):481:481 -> e
    2:2:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):423 -> e
    3:3:void handleFieldAccess(com.android.tools.r8.graph.DexField):433:433 -> e
    3:3:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):423 -> e
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):316:316 -> f
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):422:422 -> f
    2:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):316 -> f
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> f
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):422 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):316 -> f
    4:15:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):317:328 -> f
    16:16:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):371:371 -> f
    16:16:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):326 -> f
    17:17:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):370:370 -> f
    17:17:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):326 -> f
    18:18:void registerTypeReference(com.android.tools.r8.graph.DexType):465:465 -> f
    19:19:void registerTypeReference(com.android.tools.r8.graph.DexType):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":485,"2":486,"3":487}}
    485:485:void registerTypeReference(com.android.tools.r8.graph.DexType):465:465 -> f
    486:486:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> f
    486:486:void registerTypeReference(com.android.tools.r8.graph.DexType):465 -> f
    487:487:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> f
    487:487:void registerTypeReference(com.android.tools.r8.graph.DexType):465 -> f
    484:484:void registerTypeReference(com.android.tools.r8.graph.DexType):465:465 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):333:333 -> g
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):426:426 -> g
    2:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):333 -> g
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> g
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):426 -> g
    3:3:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):333 -> g
    4:5:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):334:335 -> g
    6:6:void handleFieldAccess(com.android.tools.r8.graph.DexField):432:432 -> g
    6:6:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):428 -> g
    7:7:com.android.tools.r8.graph.GraphLens$FieldLookupResult com.android.tools.r8.graph.GraphLens.lookupFieldResult(com.android.tools.r8.graph.DexField):481:481 -> g
    7:7:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):428 -> g
    8:8:void handleFieldAccess(com.android.tools.r8.graph.DexField):433:433 -> g
    8:8:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):428 -> g
    1:15:void handleRewrittenFieldReference(com.android.tools.r8.graph.DexField):437:451 -> i
    16:22:void handleRewrittenFieldReference(com.android.tools.r8.graph.DexField):449:455 -> i
    23:23:void com.android.tools.r8.tracereferences.internal.TracedFieldImpl.<init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.diagnostic.DefinitionContext):17:17 -> i
    23:23:void handleRewrittenFieldReference(com.android.tools.r8.graph.DexField):455 -> i
    24:25:void handleRewrittenFieldReference(com.android.tools.r8.graph.DexField):456:457 -> i
com.android.tools.r8.tracereferences.internal.AccessFlagsImpl -> com.android.tools.r8.internal.w1:
    com.android.tools.r8.graph.AccessFlags accessFlags -> a
    1:2:void <init>(com.android.tools.r8.graph.AccessFlags):13:14 -> <init>
    1:1:boolean isPrivate():34:34 -> isPrivate
    1:1:boolean isProtected():29:29 -> isProtected
    1:1:boolean isPublic():24:24 -> isPublic
    1:1:boolean isStatic():19:19 -> isStatic
com.android.tools.r8.tracereferences.internal.ClassAccessFlagsImpl -> com.android.tools.r8.internal.C9:
    1:1:void <init>(com.android.tools.r8.graph.ClassAccessFlags):13:13 -> <init>
    1:1:boolean isEnum():23:23 -> isEnum
    1:1:boolean isInterface():18:18 -> isInterface
com.android.tools.r8.tracereferences.internal.FieldAccessFlagsImpl -> com.android.tools.r8.internal.sj:
    1:1:void <init>(com.android.tools.r8.graph.FieldAccessFlags):13:13 -> <init>
com.android.tools.r8.tracereferences.internal.MethodAccessFlagsImpl -> com.android.tools.r8.internal.eE:
    1:1:void <init>(com.android.tools.r8.graph.MethodAccessFlags):13:13 -> <init>
com.android.tools.r8.tracereferences.internal.TraceReferencesResult -> com.android.tools.r8.internal.zY:
    java.util.Map fields -> b
    java.util.Map methods -> c
    java.util.Set keepPackageNames -> d
    java.util.Set types -> a
    1:5:void <init>(java.util.Set,java.util.Map,java.util.Map,java.util.Set):31:35 -> <init>
    1:1:java.util.Set getTracedClasses():39:39 -> a
    1:1:java.util.Map getTracedFields():43:43 -> b
    1:1:java.util.Map getTracedMethods():47:47 -> c
    1:1:java.util.Set getTracedPackageNames():51:51 -> d
com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder -> com.android.tools.r8.internal.yY:
    java.util.Map fields -> b
    java.util.Map methods -> c
    java.util.Set keepPackageNames -> d
    java.util.Set types -> a
    1:5:void <init>():58:62 -> <init>
    1:1:java.util.Set lambda$acceptField$0(com.android.tools.r8.references.ClassReference):72:72 -> a
    2:2:com.android.tools.r8.tracereferences.internal.TraceReferencesResult build():90:90 -> a
    1:2:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):71:72 -> acceptField
    1:2:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):77:78 -> acceptMethod
    1:1:void acceptPackage(com.android.tools.r8.references.PackageReference,com.android.tools.r8.DiagnosticsHandler):83:83 -> acceptPackage
    1:1:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):66:66 -> acceptType
    1:1:java.util.Set lambda$acceptMethod$1(com.android.tools.r8.references.ClassReference):78:78 -> b
com.android.tools.r8.tracereferences.internal.TracedClassImpl -> com.android.tools.r8.internal.BY:
    1:3:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):22:24 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):21:21 -> <init>
    5:5:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.tracereferences.TraceReferencesConsumer$ClassAccessFlags):31:31 -> <init>
    1:1:java.lang.String toString():36:36 -> toString
com.android.tools.r8.tracereferences.internal.TracedFieldImpl -> com.android.tools.r8.internal.CY:
    1:3:void <init>(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.diagnostic.DefinitionContext):22:24 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.diagnostic.DefinitionContext):21:21 -> <init>
    5:5:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.tracereferences.TraceReferencesConsumer$FieldAccessFlags):31:31 -> <init>
    1:1:java.lang.String toString():36:36 -> toString
com.android.tools.r8.tracereferences.internal.TracedMethodImpl -> com.android.tools.r8.internal.DY:
    1:3:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.diagnostic.DefinitionContext):22:24 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.diagnostic.DefinitionContext):21:21 -> <init>
    5:5:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.tracereferences.TraceReferencesConsumer$MethodAccessFlags):31:31 -> <init>
    1:1:java.lang.String toString():36:36 -> toString
com.android.tools.r8.tracereferences.internal.TracedReferenceBase -> com.android.tools.r8.internal.EY:
    com.android.tools.r8.diagnostic.DefinitionContext referencedFrom -> b
    boolean $assertionsDisabled -> e
    java.lang.Object accessFlags -> c
    java.lang.Object reference -> a
    boolean missingDefinition -> d
    1:1:void <clinit>():10:10 -> <clinit>
    1:6:void <init>(java.lang.Object,com.android.tools.r8.diagnostic.DefinitionContext,java.lang.Object,boolean):18:23 -> <init>
    1:4:boolean equals(java.lang.Object):55:58 -> equals
    1:1:java.lang.Object getAccessFlags():43:43 -> getAccessFlags
    1:1:java.lang.Object getReference():28:28 -> getReference
    1:1:com.android.tools.r8.diagnostic.DefinitionContext getReferencedFromContext():33:33 -> getReferencedFromContext
    1:1:int hashCode():49:49 -> hashCode
    1:1:boolean isMissingDefinition():38:38 -> isMissingDefinition
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
    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
    9:20:java.util.List readClassesJar(java.util.zip.ZipInputStream):49:60 -> a
    9:20:java.util.List readArchive():77 -> a
    21:26:java.util.List readClassesJar(java.util.zip.ZipInputStream):56:61 -> a
    21:26:java.util.List readArchive():77 -> a
    27:30:java.util.List readArchive():78:81 -> a
    31:36:java.util.List readArchive():76:81 -> a
    37:50:java.util.List readArchive():73:86 -> a
    51:66:java.util.List readArchive():69:84 -> a
    67:67:java.util.List readArchive():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":152,"2":153,"3":154}}
    152:152:java.util.List readArchive():84:84 -> a
    153:153:java.util.List readArchive():84:84 -> a
    154:154:java.util.List readArchive():84:84 -> a
    151:151:java.util.List readArchive():84:84 -> a
    155:155: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.internal.f:
    com.android.tools.r8.Diagnostic diagnostic -> b
    boolean $assertionsDisabled -> c
    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
    1:1:com.android.tools.r8.position.Position getPosition():43:43 -> b
    1:2:java.lang.Throwable getCause():28:29 -> getCause
    1:1:java.lang.String getMessage():35:35 -> getMessage
com.android.tools.r8.utils.AccessUtils -> com.android.tools.r8.internal.x1:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:13:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):20:32 -> a
    14:14:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    14:14:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):33 -> a
    15:16:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):34:35 -> a
    17:17:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    17:17:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):37 -> a
    18:29:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):38:49 -> a
    30:30:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    30:30:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):49 -> a
    31:33:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):50:52 -> a
com.android.tools.r8.utils.Action -> com.android.tools.r8.internal.y1:
    com.android.tools.r8.utils.Action EMPTY -> a
    1:1:void <clinit>():10:10 -> <clinit>
    void execute() -> a
    void lambda$static$0() -> b
com.android.tools.r8.utils.AndroidApiLevel -> com.android.tools.r8.internal.R1:
    com.android.tools.r8.utils.AndroidApiLevel L -> w
    com.android.tools.r8.utils.AndroidApiLevel K -> u
    com.android.tools.r8.utils.AndroidApiLevel M -> y
    int level -> b
    com.android.tools.r8.utils.AndroidApiLevel[] $VALUES -> L
    com.android.tools.r8.utils.AndroidApiLevel O_MR1 -> C
    com.android.tools.r8.utils.AndroidApiLevel N_MR1 -> A
    com.android.tools.r8.utils.AndroidApiLevel D -> f
    com.android.tools.r8.utils.AndroidApiLevel S -> G
    com.android.tools.r8.utils.AndroidApiLevel B_1_1 -> d
    com.android.tools.r8.utils.AndroidApiLevel Q -> E
    com.android.tools.r8.utils.AndroidApiLevel F -> j
    com.android.tools.r8.utils.AndroidApiLevel LATEST -> K
    com.android.tools.r8.utils.AndroidApiLevel E_0_1 -> h
    com.android.tools.r8.utils.AndroidApiLevel T -> I
    com.android.tools.r8.utils.AndroidApiLevel H_MR1 -> n
    com.android.tools.r8.utils.AndroidApiLevel G_MR1 -> l
    com.android.tools.r8.utils.AndroidApiLevel J -> r
    com.android.tools.r8.utils.AndroidApiLevel I -> p
    com.android.tools.r8.utils.AndroidApiLevel K_WATCH -> v
    boolean $assertionsDisabled -> M
    com.android.tools.r8.utils.AndroidApiLevel J_MR2 -> t
    com.android.tools.r8.utils.AndroidApiLevel N -> z
    com.android.tools.r8.utils.AndroidApiLevel L_MR1 -> x
    com.android.tools.r8.utils.AndroidApiLevel O -> B
    com.android.tools.r8.utils.AndroidApiLevel B -> c
    com.android.tools.r8.utils.AndroidApiLevel R -> F
    com.android.tools.r8.utils.AndroidApiLevel E -> g
    com.android.tools.r8.utils.AndroidApiLevel P -> D
    com.android.tools.r8.utils.AndroidApiLevel C -> e
    com.android.tools.r8.utils.AndroidApiLevel ANDROID_PLATFORM -> J
    com.android.tools.r8.utils.AndroidApiLevel G -> k
    com.android.tools.r8.utils.AndroidApiLevel Sv2 -> H
    com.android.tools.r8.utils.AndroidApiLevel E_MR1 -> i
    com.android.tools.r8.utils.AndroidApiLevel H_MR2 -> o
    com.android.tools.r8.utils.AndroidApiLevel H -> m
    com.android.tools.r8.utils.AndroidApiLevel J_MR1 -> s
    com.android.tools.r8.utils.AndroidApiLevel I_MR1 -> q
    1:36:void <clinit>():12:12 -> <clinit>
    75:75:void <clinit>():51:51 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):55:56 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApiLevel max(com.android.tools.r8.utils.AndroidApiLevel):72:72 -> a
    2:2:java.util.List getAndroidApiLevelsSorted():80:80 -> a
    3:13:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):84:94 -> a
    14:14:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):92:92 -> a
    15:15:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):90:90 -> a
    16:16:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):88:88 -> a
    17:17:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):86:86 -> a
    18:91:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):99:172 -> a
    92:92:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):168:168 -> a
    93:93:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):166:166 -> a
    94:94:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):164:164 -> a
    95:95:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):162:162 -> a
    96:96:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):160:160 -> a
    97:97:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):158:158 -> a
    98:98:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):156:156 -> a
    99:99:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):154:154 -> a
    100:100:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):152:152 -> a
    101:101:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):150:150 -> a
    102:102:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):148:148 -> a
    103:103:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):146:146 -> a
    104:104:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):144:144 -> a
    105:105:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):142:142 -> a
    106:106:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):140:140 -> a
    107:107:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):138:138 -> a
    108:108:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):136:136 -> a
    109:109:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):134:134 -> a
    110:110:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):132:132 -> a
    111:111:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):130:130 -> a
    112:112:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):128:128 -> a
    113:113:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):126:126 -> a
    114:114:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):124:124 -> a
    115:115:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):122:122 -> a
    116:116:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):120:120 -> a
    117:117:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):118:118 -> a
    118:118:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):116:116 -> a
    119:119:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):114:114 -> a
    120:120:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):112:112 -> a
    121:121:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):110:110 -> a
    122:122:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):108:108 -> a
    123:123:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):106:106 -> a
    124:190:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):104:170 -> a
    1:1:com.android.tools.r8.utils.AndroidApiLevel getDefault():68:68 -> b
    1:1:com.android.tools.r8.utils.DexVersion getDexVersion():76:76 -> c
    1:1:int getLevel():60:60 -> d
    1:1:com.android.tools.r8.utils.AndroidApiLevel[] values():12:12 -> e
com.android.tools.r8.utils.AndroidApiLevel$1 -> com.android.tools.r8.internal.Q1:
    int[] $SwitchMap$com$android$tools$r8$utils$DexVersion -> a
    1:1:void <clinit>():84:84 -> <clinit>
com.android.tools.r8.utils.AndroidApiLevelUtils -> com.android.tools.r8.internal.Y1:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():17:17 -> <clinit>
    1:18:boolean isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):30:47 -> a
    19:19:boolean isApiSafeForMemberRebinding(com.android.tools.r8.graph.LibraryMethod,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.utils.InternalOptions):85:85 -> a
    20:26:boolean isApiSafeForMemberRebinding(com.android.tools.r8.graph.LibraryMethod,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.utils.InternalOptions):84:90 -> a
com.android.tools.r8.utils.AndroidApp -> com.android.tools.r8.utils.j:
    com.android.tools.r8.StringResource proguardMapInputData -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.StringResource proguardMapOutputData -> f
    com.android.tools.r8.com.google.common.collect.ImmutableList archiveProvidersToClose -> e
    java.util.List mainDexClasses -> i
    com.android.tools.r8.com.google.common.collect.ImmutableMap programResourcesMainDescriptor -> b
    java.util.List mainDexListResources -> h
    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
    1:1:void <clinit>():90:90 -> <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,com.android.tools.r8.StringResource,java.util.List,java.util.List,com.android.tools.r8.utils.AndroidApp$1):90:90 -> <init>
    2:13: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,com.android.tools.r8.StringResource,java.util.List,java.util.List):198:209 -> <init>
    1:1:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
    2:6:java.util.Map dumpFeatureSplitFileNames(com.android.tools.r8.features.FeatureSplitConfiguration):106:110 -> a
    2:6:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):594 -> a
    7:24:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):595:612 -> a
    25:25:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.<init>():119:119 -> a
    25:25:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):612 -> a
    26:32:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):613:619 -> a
    33:67:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):616:650 -> a
    68:77:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):647:656 -> a
    78:91:void closeOutputStreams(java.util.Collection):664:677 -> a
    78:91:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    92:92:void closeOutputStreams(java.util.Collection):674:674 -> a
    92:92:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    93:124:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):611:642 -> a
    125:171:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):610:656 -> a
    172:174:void closeOutputStreams(java.util.Collection):664:666 -> a
    172:174:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    175:175:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656:656 -> a
    176:176:void closeOutputStreams(java.util.Collection):677:677 -> a
    176:176:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    177:177:void closeOutputStreams(java.util.Collection):674:674 -> a
    177:177:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    java.util.zip.ZipOutputStream lambda$dumpClassFileResources$3(java.util.zip.ZipOutputStream,java.lang.String) -> a
    178:178:com.android.tools.r8.com.google.common.collect.ImmutableList access$200(com.android.tools.r8.utils.AndroidApp):90:90 -> a
    179:180:boolean verifyInternalProvidersInCloseSet(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList):215:216 -> a
    181:181:boolean lambda$verifyInternalProvidersInCloseSet$0(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.ClassFileResourceProvider):217:217 -> a
    182:182:com.android.tools.r8.utils.AndroidApp$Builder builder(com.android.tools.r8.utils.Reporter):233:233 -> a
    183:183:com.android.tools.r8.utils.AndroidApp$Builder builder(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.Reporter):245:245 -> a
    184:186:int applicationSize():250:250 -> a
    188:196:int applicationSize():252:252 -> a
    203:203:int applicationSize():259:259 -> a
    204:204:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):259:259 -> a
    205:208:void write(java.nio.file.Path,com.android.tools.r8.OutputMode):417:420 -> a
    209:210:java.lang.String getPrimaryClassDescriptor(com.android.tools.r8.Resource):465:466 -> a
    211:215:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):474:478 -> a
    216:219:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):477:480 -> a
    220:226:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):479:485 -> a
    227:248:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):482:503 -> a
    249:258:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):500:509 -> a
    259:259:java.util.List getMainDexListResources():389:389 -> a
    259:259:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):511 -> a
    260:261:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):511:512 -> a
    262:262:java.util.List getMainDexClasses():396:396 -> a
    262:262:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):515 -> a
    263:273:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):515:525 -> a
    274:283:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):522:531 -> a
    284:284:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):529:529 -> a
    285:286:int dumpClasspathResources(int,java.util.zip.ZipOutputStream):553:554 -> a
    285:286:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):537 -> a
    287:288:int dumpLibraryResources(int,java.util.zip.ZipOutputStream):546:547 -> a
    287:288:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):538 -> a
    289:289:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):539:539 -> a
    290:354:void dump(java.nio.file.Path,com.android.tools.r8.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):476:540 -> a
    355:359:java.util.zip.ZipOutputStream lambda$dumpProgramResources$2(com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.zip.ZipOutputStream,java.lang.String):629:633 -> a
    360:362:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):687:689 -> a
    363:363:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.<init>():119:119 -> a
    363:363:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):689 -> a
    364:380:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):690:706 -> a
    381:397:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):688:704 -> a
    398:417:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):687:706 -> a
    418:424: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):717:723 -> a
    425:425:java.lang.String extractClassDescriptor(byte[]):762:762 -> a
    425:425: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):722 -> a
    426:426:void com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(byte[]):166:166 -> a
    426:426:java.lang.String extractClassDescriptor(byte[]):762 -> a
    426:426: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):722 -> a
    427:433:java.lang.String extractClassDescriptor(byte[]):763:769 -> a
    427:433: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):722 -> a
    434:439: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):724:729 -> a
    440:443: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):728:731 -> a
    444:444: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1179,"2":1180,"3":1181}}
    1179:1179: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):732:732 -> a
    1180:1180: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):732:732 -> a
    1181:1181: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):732:732 -> a
    445:445: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1182,"2":1183,"3":1184}}
    1182:1182: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):732:732 -> a
    1183:1183: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):732:732 -> a
    1184:1184: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):732:732 -> a
    1178:1178: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):733:733 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$300(com.android.tools.r8.utils.AndroidApp):90:90 -> b
    2:2:com.android.tools.r8.utils.Reporter defaultReporter():221:221 -> b
    2:2:com.android.tools.r8.utils.AndroidApp$Builder builder():228 -> b
    3:3:com.android.tools.r8.utils.AndroidApp$Builder builder():228:228 -> b
    4:13:void writeToDirectory(java.nio.file.Path,com.android.tools.r8.OutputMode):428:437 -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$400(com.android.tools.r8.utils.AndroidApp):90:90 -> c
    2:3:void closeInternalArchiveProviders():131:132 -> c
    4:6:void writeToZip(java.nio.file.Path,com.android.tools.r8.OutputMode):444:446 -> c
    7:16:void writeToZip(java.nio.file.Path,com.android.tools.r8.OutputMode):445:454 -> c
    17:20:void writeToZip(java.nio.file.Path,com.android.tools.r8.OutputMode):453:456 -> c
    21:31:void writeToZip(java.nio.file.Path,com.android.tools.r8.OutputMode):449:459 -> c
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$500(com.android.tools.r8.utils.AndroidApp):90:90 -> d
    2:4:java.util.Collection computeAllProgramResources():265:267 -> d
    1:1:java.util.List access$600(com.android.tools.r8.utils.AndroidApp):90:90 -> e
    2:2:java.util.List getClassProgramResourcesForTesting():288:288 -> e
    3:7:java.util.List filter(java.util.List,com.android.tools.r8.ProgramResource$Kind):345:349 -> e
    3:7:java.util.List getClassProgramResourcesForTesting():288 -> e
    8:11:java.util.List getClassProgramResourcesForTesting():290:293 -> e
    1:1:java.util.List access$700(com.android.tools.r8.utils.AndroidApp):90:90 -> f
    2:2:java.util.List getClasspathResourceProviders():335:335 -> f
    1:1:com.android.tools.r8.StringResource access$800(com.android.tools.r8.utils.AndroidApp):90:90 -> g
    2:6:java.util.Set getDataEntryResourcesForTesting():299:303 -> g
    1:1:com.android.tools.r8.utils.Reporter defaultReporter():221:221 -> h
    1:1:com.android.tools.r8.utils.AndroidApp$Builder builder(com.android.tools.r8.utils.AndroidApp):240 -> h
    2:2:com.android.tools.r8.utils.AndroidApp$Builder builder(com.android.tools.r8.utils.AndroidApp):240:240 -> h
    3:3:java.util.List getDexProgramResourcesForTesting():275:275 -> h
    4:8:java.util.List filter(java.util.List,com.android.tools.r8.ProgramResource$Kind):345:349 -> h
    4:8:java.util.List getDexProgramResourcesForTesting():275 -> h
    9:12:java.util.List getDexProgramResourcesForTesting():277:280 -> h
    1:1:java.util.List getLibraryResourceProviders():340:340 -> i
    1:1:java.util.List getMainDexClasses():396:396 -> j
    1:1:java.util.List getMainDexListResources():389:389 -> k
    1:1:java.util.List getProgramResourceProviders():330:330 -> l
    1:1:com.android.tools.r8.StringResource getProguardMapInputData():368:368 -> m
    1:1:com.android.tools.r8.StringResource getProguardMapOutputData():363:363 -> n
    1:1:boolean hasMainDexList():375:375 -> o
    1:1:boolean hasMainDexListResources():382:382 -> p
    1:11:void validateInputs():773:783 -> q
    12:12:void com.android.tools.r8.org.objectweb.asm.tree.ClassNode.<init>():149:149 -> q
    12:12:void validateInputs():783 -> q
    13:21:void validateInputs():783:791 -> q
    1:10:com.android.tools.r8.utils.AndroidApp withoutMainDexList():401:410 -> r
    1:5:java.lang.String toString():138:142 -> toString
    6:7:void printProgramResourceProviders(java.lang.StringBuilder,java.util.Collection):161:162 -> toString
    6:7:java.lang.String toString():142 -> toString
    8:14:void printProgramResource(java.lang.StringBuilder,com.android.tools.r8.ProgramResource):179:185 -> toString
    8:14:void printProgramResourceProviders(java.lang.StringBuilder,java.util.Collection):163 -> toString
    8:14:java.lang.String toString():142 -> toString
    15:17:java.lang.String toString():144:146 -> toString
    18:20:void printClassFileProviders(java.lang.StringBuilder,java.util.Collection):170:172 -> toString
    18:20:java.lang.String toString():146 -> toString
    21:27:void printProgramResource(java.lang.StringBuilder,com.android.tools.r8.ProgramResource):179:185 -> toString
    21:27:void printClassFileProviders(java.lang.StringBuilder,java.util.Collection):173 -> toString
    21:27:java.lang.String toString():146 -> toString
    28:30:java.lang.String toString():148:150 -> toString
    31:33:void printClassFileProviders(java.lang.StringBuilder,java.util.Collection):170:172 -> toString
    31:33:java.lang.String toString():150 -> toString
    34:40:void printProgramResource(java.lang.StringBuilder,com.android.tools.r8.ProgramResource):179:185 -> toString
    34:40:void printClassFileProviders(java.lang.StringBuilder,java.util.Collection):173 -> toString
    34:40:java.lang.String toString():150 -> toString
    41:43:java.lang.String toString():153:155 -> toString
com.android.tools.r8.utils.AndroidApp$1 -> com.android.tools.r8.utils.b:
    java.util.Set val$out -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,java.util.Set):304:304 -> <init>
    1:6:void visit(com.android.tools.r8.DataEntryResource):314:319 -> visit
com.android.tools.r8.utils.AndroidApp$1ClassNameExtractor -> com.android.tools.r8.utils.c:
    java.lang.String className -> c
    1:1:void <init>():743:743 -> <init>
    1:1:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):754:754 -> a
    1:1:java.lang.String getDescriptor():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":761,"2":762,"3":763}}
    761:761:java.lang.String getDescriptor():758:758 -> b
    762:762:java.lang.String getDescriptor():758:758 -> b
    763:763:java.lang.String getDescriptor():758:758 -> b
    759:759:java.lang.String getDescriptor():758:758 -> b
    760:760:java.lang.String getDescriptor():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":761,"2":762,"3":763}}
    761:761:java.lang.String getDescriptor():758:758 -> b
    762:762:java.lang.String getDescriptor():758:758 -> b
    763:763:java.lang.String getDescriptor():758:758 -> b
com.android.tools.r8.utils.AndroidApp$2 -> com.android.tools.r8.utils.d:
    java.util.Map val$classPathResources -> b
    1:1:void <init>(java.util.Map):561:561 -> <init>
    1:1:java.util.Set getClassDescriptors():564:564 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):569:569 -> getProgramResource
com.android.tools.r8.utils.AndroidApp$3 -> com.android.tools.r8.utils.e:
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,int,com.android.tools.r8.org.objectweb.asm.ClassVisitor,boolean):784:784 -> <init>
com.android.tools.r8.utils.AndroidApp$Builder -> com.android.tools.r8.utils.j$a:
    boolean $assertionsDisabled -> n
    boolean ignoreDexInArchive -> j
    com.android.tools.r8.StringResource proguardMapOutputData -> k
    com.android.tools.r8.StringResource proguardMapInputData -> l
    java.util.List programResources -> b
    java.util.List programResourceProviders -> a
    com.android.tools.r8.utils.Reporter reporter -> m
    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
    1:1:void <clinit>():799:799 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.AndroidApp$1):799:799 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.AndroidApp$1):799:799 -> <init>
    3:3:void <init>(com.android.tools.r8.utils.Reporter):819:819 -> <init>
    4:23:void <init>(com.android.tools.r8.utils.Reporter):801:820 -> <init>
    24:31:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.AndroidApp):825:832 -> <init>
    1:5:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):845:849 -> a
    6:20:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):896:910 -> a
    6:20:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    21:26:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):906:911 -> a
    21:26:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    27:28:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> a
    27:28:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):912 -> a
    27:28:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    29:32:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):913:916 -> a
    29:32:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    33:40:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):915:922 -> a
    33:40:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    41:41:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):921:921 -> a
    41:41:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    42:42:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):889:889 -> a
    42:42:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):925 -> a
    42:42:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    43:44:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):926:927 -> a
    43:44:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    45:45:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):898:898 -> a
    45:45:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    46:46:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):889:889 -> a
    46:46:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):925 -> a
    46:46:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    47:47:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):925:925 -> a
    47:47:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    48:53:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):851:856 -> a
    54:54:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":911,"2":912,"3":913}}
    911:911:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):856:856 -> a
    912:912:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):856:856 -> a
    913:913:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):856:856 -> a
    910:910:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):856:856 -> a
    914:927:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):868:881 -> a
    928:937:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):877:886 -> a
    938:938:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):889:889 -> a
    938:938:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):889 -> a
    939:940:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):890:891 -> a
    941:941:com.android.tools.r8.ClassFileResourceProvider com.android.tools.r8.utils.AndroidApp.createClassFileResourceProvider(java.util.Map):561:561 -> a
    941:941:com.android.tools.r8.ClassFileResourceProvider com.android.tools.r8.utils.AndroidApp.access$900(java.util.Map):90 -> a
    941:941:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):891 -> a
    942:942:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):891:891 -> a
    943:943:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):869:869 -> a
    944:944:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):889:889 -> a
    944:944:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):889 -> a
    945:945:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):889:889 -> a
    946:947:com.android.tools.r8.utils.AndroidApp$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):983:984 -> a
    948:948:com.android.tools.r8.utils.AndroidApp$Builder addClasspathFile(java.nio.file.Path):1003:1003 -> a
    949:949:com.android.tools.r8.utils.AndroidApp$Builder addClasspathResourceProvider(com.android.tools.r8.ClassFileResourceProvider):1011:1011 -> a
    950:950:com.android.tools.r8.utils.AndroidApp$Builder addLibraryFiles(java.nio.file.Path[]):1017:1017 -> a
    951:953:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(byte[],java.util.Set):1072:1072 -> a
    954:954:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(byte[],java.util.Set,java.lang.String):1085:1085 -> a
    955:958:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(byte[],java.util.Set,java.lang.String):1084:1087 -> a
    959:959:com.android.tools.r8.utils.AndroidApp$Builder addClassProgramData(byte[][]):1111:1111 -> a
    960:961:com.android.tools.r8.utils.AndroidApp$Builder addClassProgramData(java.util.Collection):1116:1117 -> a
    962:962:com.android.tools.r8.utils.AndroidApp$Builder addClassProgramData(byte[],com.android.tools.r8.origin.Origin):1126:1126 -> a
    963:963:com.android.tools.r8.utils.AndroidApp$Builder addClassProgramData(byte[],com.android.tools.r8.origin.Origin,java.util.Set):1130:1130 -> a
    964:964:com.android.tools.r8.utils.AndroidApp$Builder addDataResource(com.android.tools.r8.DataResource):1136:1136 -> a
    965:965:void addDataResources(com.android.tools.r8.DataResource[]):1285:1285 -> a
    965:965:com.android.tools.r8.utils.AndroidApp$Builder addDataResource(com.android.tools.r8.DataResource):1136 -> a
    966:966:void addDataResources(java.util.Collection):1289:1289 -> a
    966:966:void addDataResources(com.android.tools.r8.DataResource[]):1285 -> a
    966:966:com.android.tools.r8.utils.AndroidApp$Builder addDataResource(com.android.tools.r8.DataResource):1136 -> a
    967:967:com.android.tools.r8.utils.AndroidApp$Builder setProguardMapOutputData(java.lang.String):1147:1147 -> a
    968:968:com.android.tools.r8.utils.AndroidApp$Builder addMainDexClasses(java.lang.String[]):1179:1179 -> a
    969:969:com.android.tools.r8.utils.AndroidApp$Builder addMainDexClasses(java.util.Collection):1186:1186 -> a
    969:969:com.android.tools.r8.utils.AndroidApp$Builder addMainDexClasses(java.lang.String[]):1179 -> a
    970:970:com.android.tools.r8.utils.AndroidApp$Builder setIgnoreDexInArchive(boolean):1202:1202 -> a
    971:1010:com.android.tools.r8.utils.AndroidApp build():1210:1249 -> a
    1011:1011:void addProgramResources(com.android.tools.r8.ProgramResource[]):1277:1277 -> a
    1012:1012:void addProgramResources(java.util.Collection):1281:1281 -> a
    1012:1012:void addProgramResources(com.android.tools.r8.ProgramResource[]):1277 -> a
    1013:1016:void addClasspathOrLibraryProvider(java.nio.file.Path,java.util.List):1294:1297 -> a
    1017:1032:void addClasspathOrLibraryProvider(java.nio.file.Path,java.util.List):1295:1310 -> a
    1033:1033:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1033:1033:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1033:1033:void addClasspathOrLibraryProvider(java.nio.file.Path,java.util.List):1310 -> a
    1034:1034:void addClasspathOrLibraryProvider(java.nio.file.Path,java.util.List):1310:1310 -> a
    1:4:com.android.tools.r8.utils.AndroidApp$Builder addDump(java.nio.file.Path):840:843 -> b
    5:5:com.android.tools.r8.utils.AndroidApp$Builder addDump(java.nio.file.Path):842:842 -> b
    6:6:com.android.tools.r8.utils.AndroidApp$Builder addProgramFiles(java.nio.file.Path[]):953:953 -> b
    7:7:com.android.tools.r8.utils.AndroidApp$Builder addClasspathFiles(java.util.Collection):995:995 -> b
    8:8:com.android.tools.r8.utils.AndroidApp$Builder addClasspathFile(java.nio.file.Path):1003:1003 -> b
    8:8:com.android.tools.r8.utils.AndroidApp$Builder addClasspathFiles(java.util.Collection):996 -> b
    9:12:com.android.tools.r8.utils.AndroidApp$Builder addLibraryResourceProvider(com.android.tools.r8.ClassFileResourceProvider):1061:1064 -> b
    13:13:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(byte[],com.android.tools.r8.origin.Origin):1095:1095 -> b
    14:14:java.util.List getProgramResourceProviders():1315:1315 -> b
    1:1:com.android.tools.r8.utils.Reporter getReporter():836:836 -> c
    2:2:com.android.tools.r8.utils.AndroidApp$Builder addLibraryFile(java.nio.file.Path):1030:1030 -> c
    3:4:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(java.util.Collection):1103:1104 -> c
    1:16:com.android.tools.r8.utils.AndroidApp$Builder addFilteredLibraryArchives(java.util.Collection):1036:1051 -> d
    17:17:com.android.tools.r8.utils.AndroidApp$Builder addFilteredLibraryArchives(java.util.Collection):1047:1047 -> d
    18:18:boolean hasMainDexList():1191:1191 -> d
    19:27:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1257:1265 -> d
    28:29:boolean com.android.tools.r8.utils.FileUtils.isAarFile(java.nio.file.Path):73:74 -> d
    28:29:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1266 -> d
    30:30:com.android.tools.r8.utils.AarArchiveResourceProvider com.android.tools.r8.utils.AarArchiveResourceProvider.fromArchive(java.nio.file.Path):38:38 -> d
    30:30:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1267 -> d
    31:35:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1267:1271 -> d
    36:36:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> d
    36:36:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1271 -> d
    37:37:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1271:1271 -> d
    1:11:com.android.tools.r8.utils.AndroidApp$Builder addFilteredProgramArchives(java.util.Collection):966:976 -> e
    12:12:com.android.tools.r8.utils.AndroidApp$Builder addFilteredProgramArchives(java.util.Collection):972:972 -> e
    13:13:com.android.tools.r8.utils.AndroidApp$Builder setProguardMapInputData(java.nio.file.Path):1152:1152 -> e
    1:2:com.android.tools.r8.utils.AndroidApp$Builder addLibraryFiles(java.util.Collection):1022:1023 -> f
    1:1:com.android.tools.r8.utils.AndroidApp$Builder addMainDexClasses(java.util.Collection):1186:1186 -> g
    1:7:com.android.tools.r8.utils.AndroidApp$Builder addMainDexListFiles(java.util.Collection):1164:1170 -> h
    8:8:com.android.tools.r8.utils.AndroidApp$Builder addMainDexListFiles(java.util.Collection):1166:1166 -> h
    1:2:com.android.tools.r8.utils.AndroidApp$Builder addProgramFiles(java.util.Collection):958:959 -> i
com.android.tools.r8.utils.AndroidApp$Builder$1 -> com.android.tools.r8.utils.g:
    java.util.List val$dataResources -> b
    java.util.List val$programResources -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder,java.util.List,java.util.List):928:928 -> <init>
    1:3:com.android.tools.r8.DataResourceProvider getDataResourceProvider():936:938 -> getDataResourceProvider
    1:1:java.util.Collection getProgramResources():931:931 -> getProgramResources
com.android.tools.r8.utils.AndroidApp$Builder$1$1 -> com.android.tools.r8.utils.f:
    com.android.tools.r8.utils.AndroidApp$Builder$1 this$1 -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder$1):938:938 -> <init>
    1:2:void accept(com.android.tools.r8.DataResourceProvider$Visitor):941:942 -> accept
com.android.tools.r8.utils.AndroidApp$Builder$2 -> com.android.tools.r8.utils.i:
    java.util.List val$finalDataResources -> b
    java.util.List val$finalProgramResources -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder,java.util.List,java.util.List):1215:1215 -> <init>
    1:2:com.android.tools.r8.DataResourceProvider getDataResourceProvider():1223:1224 -> getDataResourceProvider
    1:1:java.util.Collection getProgramResources():1218:1218 -> getProgramResources
com.android.tools.r8.utils.AndroidApp$Builder$2$1 -> com.android.tools.r8.utils.h:
    com.android.tools.r8.utils.AndroidApp$Builder$2 this$1 -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():1224:1224 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder$2):1224:1224 -> <init>
    1:6:void accept(com.android.tools.r8.DataResourceProvider$Visitor):1227:1232 -> accept
com.android.tools.r8.utils.AndroidAppConsumers -> com.android.tools.r8.utils.s:
    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
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    2:6:void <init>():32:36 -> <init>
    7:7:void <init>(com.android.tools.r8.BaseCompilerCommand$Builder):42:42 -> <init>
    8:19:void <init>(com.android.tools.r8.BaseCompilerCommand$Builder):32:43 -> <init>
    20:20:void <init>(com.android.tools.r8.utils.InternalOptions):46:46 -> <init>
    21:37:void <init>(com.android.tools.r8.utils.InternalOptions):32:48 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApp$Builder access$000(com.android.tools.r8.utils.AndroidAppConsumers):30:30 -> a
    2:8:com.android.tools.r8.ProgramConsumer wrapProgramConsumer(com.android.tools.r8.ProgramConsumer):52:58 -> a
    9:81:com.android.tools.r8.DexFilePerClassFileConsumer wrapDexFilePerClassFileConsumer(com.android.tools.r8.DexFilePerClassFileConsumer):175:247 -> a
    9:81:com.android.tools.r8.ProgramConsumer wrapProgramConsumer(com.android.tools.r8.ProgramConsumer):58 -> a
    82:86:com.android.tools.r8.ProgramConsumer wrapProgramConsumer(com.android.tools.r8.ProgramConsumer):61:65 -> a
    87:111:com.android.tools.r8.StringConsumer wrapProguardMapConsumer(com.android.tools.r8.StringConsumer):69:93 -> a
    112:184:com.android.tools.r8.DexIndexedConsumer wrapDexIndexedConsumer(com.android.tools.r8.DexIndexedConsumer):97:169 -> a
    185:252:com.android.tools.r8.ClassFileConsumer wrapClassFileConsumer(com.android.tools.r8.ClassFileConsumer):252:319 -> a
    253:254:com.android.tools.r8.utils.AndroidApp build():324:325 -> a
    1:1:boolean access$100(com.android.tools.r8.utils.AndroidAppConsumers):30:30 -> b
    1:1:boolean access$102(com.android.tools.r8.utils.AndroidAppConsumers,boolean):30:30 -> c
com.android.tools.r8.utils.AndroidAppConsumers$1 -> com.android.tools.r8.utils.k:
    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> c
    java.lang.StringBuilder stringBuilder -> b
    1:2:void <init>(com.android.tools.r8.utils.AndroidAppConsumers,com.android.tools.r8.StringConsumer):72:73 -> <init>
    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.m:
    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
    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
    1:2:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):111:112 -> accept
    3:3:void addDexFile(int,byte[],java.util.Set):166:166 -> accept
    3:3:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):112 -> accept
    1:7:void finished(com.android.tools.r8.DiagnosticsHandler):117:123 -> finished
    1:2:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():130:131 -> getDataResourceConsumer
com.android.tools.r8.utils.AndroidAppConsumers$2$1 -> com.android.tools.r8.utils.l:
    com.android.tools.r8.utils.AndroidAppConsumers$2 this$1 -> b
    com.android.tools.r8.DataResourceConsumer val$dataResourceConsumer -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidAppConsumers$2,com.android.tools.r8.DataResourceConsumer):131:131 -> <init>
    1:2:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):136:137 -> accept
    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.o:
    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
    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
    1:2:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):188:189 -> accept
    3:3:void addDexFile(java.lang.String,byte[],java.util.Set):194:194 -> accept
    3:3:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):189 -> accept
    1:7:void finished(com.android.tools.r8.DiagnosticsHandler):199:205 -> finished
    1:2:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():212:213 -> getDataResourceConsumer
com.android.tools.r8.utils.AndroidAppConsumers$3$1 -> com.android.tools.r8.utils.n:
    com.android.tools.r8.utils.AndroidAppConsumers$3 this$1 -> b
    com.android.tools.r8.DataResourceConsumer val$dataResourceConsumer -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidAppConsumers$3,com.android.tools.r8.DataResourceConsumer):213:213 -> <init>
    1:2:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):218:219 -> accept
    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.q:
    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
    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
    1:2:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):260:261 -> accept
    3:3:void addClassFile(byte[],java.lang.String):265:265 -> accept
    3:3:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):261 -> accept
    1:8:void finished(com.android.tools.r8.DiagnosticsHandler):270:277 -> finished
    1:2:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():284:285 -> getDataResourceConsumer
com.android.tools.r8.utils.AndroidAppConsumers$4$1 -> com.android.tools.r8.utils.p:
    com.android.tools.r8.utils.AndroidAppConsumers$4 this$1 -> b
    com.android.tools.r8.DataResourceConsumer val$dataResourceConsumer -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidAppConsumers$4,com.android.tools.r8.DataResourceConsumer):285:285 -> <init>
    1:2:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):290:291 -> accept
    3:11:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):298:306 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):312:313 -> finished
com.android.tools.r8.utils.AndroidAppConsumers$DescriptorsWithContents -> com.android.tools.r8.utils.r:
    byte[] contents -> b
    java.util.Set descriptors -> a
    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.internal.E2:
    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
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(java.nio.file.Path):39:39 -> <init>
    2:11:void <init>(java.nio.file.Path):32:41 -> <init>
    1:2:void close(com.android.tools.r8.DiagnosticsHandler):52:53 -> a
    3:7:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):68:72 -> a
    3:7:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    8:15:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):115:122 -> a
    8:15:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    8:15:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    16:16:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():94:94 -> a
    16:16:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):122 -> a
    16:16:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    16:16:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    17:23:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    17:23:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():95 -> a
    17:23:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):122 -> a
    17:23:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    17:23:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    24:25:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):123:124 -> a
    24:25:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    24:25:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    26:32:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    26:32:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):126 -> a
    26:32:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    26:32:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    33:33:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):128:128 -> a
    33:33:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    33:33:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    34:35:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):74:75 -> a
    34:35:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    36:36:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    36:36:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    36:36:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    37:37:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():94:94 -> a
    37:37:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    37:37:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    37:37:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    38:44:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    38:44:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():95 -> a
    38:44:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    38:44:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    38:44:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    45:45:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    45:45:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    45:45:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    46:58:void com.android.tools.r8.utils.ZipUtils.writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,com.android.tools.r8.ByteDataView,int):172:184 -> a
    46:58:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    46:58:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    46:58:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    59:65:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    59:65:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):155 -> a
    59:65:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    59:65:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    66:66:void close(com.android.tools.r8.DiagnosticsHandler):56:56 -> a
    67:73:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    67:73:void close(com.android.tools.r8.DiagnosticsHandler):58 -> a
    74:77:void close(com.android.tools.r8.DiagnosticsHandler):58:61 -> a
    78:78:void addDirectory(java.lang.String,com.android.tools.r8.DiagnosticsHandler):111:111 -> a
    79:84:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):133:138 -> a
    85:85:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):137:137 -> a
    86:94:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):133:141 -> a
    95:95:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":246,"2":247,"3":248}}
    246:246:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    247:247:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    248:248:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    236:238:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    239:245:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    239:245:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):139 -> a
    249:249:void addFile(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):148:148 -> a
    250:250:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):171:171 -> a
    251:251:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    251:251:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    252:252:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():94:94 -> a
    252:252:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    252:252:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    253:259:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    253:259:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():95 -> a
    253:259:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    253:259:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    260:260:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    260:260:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    261:273:void com.android.tools.r8.utils.ZipUtils.writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,com.android.tools.r8.ByteDataView,int):172:184 -> a
    261:273:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    261:273:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    274:280:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    274:280:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):155 -> a
    274:280:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    281:281:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):174:174 -> a
    282:284:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):160:162 -> a
    282:284:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    285:285:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    285:285:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    285:285:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    286:286:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():94:94 -> a
    286:286:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    286:286:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    286:286:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    287:293:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    287:293:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():95 -> a
    287:293:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    287:293:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    287:293:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    294:294:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    294:294:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    294:294:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    295:307:void com.android.tools.r8.utils.ZipUtils.writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,com.android.tools.r8.ByteDataView,int):172:184 -> a
    295:307:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    295:307:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    295:307:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    308:314:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    308:314:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):155 -> a
    308:314:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    308:314:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    315:316:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):163:164 -> a
    315:316:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    317:319:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):178:178 -> a
    320:320:com.android.tools.r8.origin.Origin getOrigin():185:185 -> a
    1:1:java.nio.file.Path getPath():190:190 -> b
    1:2:void open():46:47 -> c
com.android.tools.r8.utils.ArchiveBuilder$DelayedData -> com.android.tools.r8.internal.D2:
    com.android.tools.r8.ByteDataView content -> c
    java.lang.String name -> b
    boolean isDirectory -> d
    1:1:void <init>(java.lang.String,com.android.tools.r8.ByteDataView,boolean,com.android.tools.r8.utils.ArchiveBuilder$1):193:193 -> <init>
    2:5:void <init>(java.lang.String,com.android.tools.r8.ByteDataView,boolean):206:209 -> <init>
    1:1:com.android.tools.r8.utils.ArchiveBuilder$DelayedData createFile(java.lang.String,com.android.tools.r8.ByteDataView):199:199 -> a
    2:2:com.android.tools.r8.utils.ArchiveBuilder$DelayedData createDirectory(java.lang.String):203:203 -> a
    1:1:int compareTo(java.lang.Object):193:193 -> compareTo
    2:4:int com.android.tools.r8.utils.ArchiveBuilder$DelayedData.compareTo(com.android.tools.r8.utils.ArchiveBuilder$DelayedData):215:217 -> compareTo
    2:4:int compareTo(java.lang.Object):193 -> 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
    1:1:void <clinit>():36:36 -> <clinit>
    1:5:void <init>(com.android.tools.r8.shaking.FilteredClassPath,boolean):47:51 -> <init>
    1:12:java.util.List readArchive():59:70 -> a
    13:14:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> a
    13:14:java.util.List readArchive():70 -> a
    15:18:java.util.List readArchive():71:74 -> a
    19:30:java.util.List readArchive():73:84 -> a
    31:39:java.util.List readArchive():80:88 -> a
    40:69:java.util.List readArchive():66:95 -> a
    70:70:java.util.List readArchive():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":299,"2":300,"3":301}}
    299:299:java.util.List readArchive():95:95 -> a
    300:300:java.util.List readArchive():95:95 -> a
    301:301:java.util.List readArchive():95:95 -> a
    165:165:java.util.List readArchive():95:95 -> a
    166:166:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    166:166:java.util.List readArchive():95 -> a
    167:167:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    167:167:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    167:167:java.util.List readArchive():95 -> a
    168:172:java.util.List readArchive():95:99 -> a
    173:203:java.util.List readArchive():61:91 -> a
    204:204:java.util.List readArchive():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":302,"2":303,"3":304}}
    302:302:java.util.List readArchive():91:91 -> a
    303:303:java.util.List readArchive():91:91 -> a
    304:304:java.util.List readArchive():91:91 -> a
    295:296:java.util.List readArchive():91:92 -> a
    305:305:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):90:90 -> a
    1:7:void accept(com.android.tools.r8.DataResourceProvider$Visitor):118:124 -> accept
    8:8:boolean isProgramResourceName(java.lang.String):142:142 -> accept
    8:8:void accept(com.android.tools.r8.DataResourceProvider$Visitor):124 -> accept
    9:10:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> accept
    9:10:boolean isProgramResourceName(java.lang.String):142 -> accept
    9:10:void accept(com.android.tools.r8.DataResourceProvider$Visitor):124 -> accept
    11:11:boolean isProgramResourceName(java.lang.String):142:142 -> accept
    11:11:void accept(com.android.tools.r8.DataResourceProvider$Visitor):124 -> accept
    12:19:void accept(com.android.tools.r8.DataResourceProvider$Visitor):125:132 -> accept
    20:38:void accept(com.android.tools.r8.DataResourceProvider$Visitor):118:136 -> accept
    39:39:void accept(com.android.tools.r8.DataResourceProvider$Visitor):0:0 -> accept
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":314,"2":315,"3":316}}
    314:314:void accept(com.android.tools.r8.DataResourceProvider$Visitor):136:136 -> accept
    315:315:void accept(com.android.tools.r8.DataResourceProvider$Visitor):136:136 -> accept
    316:316:void accept(com.android.tools.r8.DataResourceProvider$Visitor):136:136 -> accept
    175:176:void accept(com.android.tools.r8.DataResourceProvider$Visitor):136:137 -> accept
    177:177:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:133 -> accept
    178:178:void accept(com.android.tools.r8.DataResourceProvider$Visitor):0:0 -> accept
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":317,"2":318,"3":319}}
    317:317:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:133 -> accept
    318:318:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:133 -> accept
    319:319:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:133 -> accept
    311:312:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:134 -> accept
    320:326:void accept(java.util.function.Consumer):146:152 -> accept
    327:327:boolean isProgramResourceName(java.lang.String):142:142 -> accept
    327:327:void accept(java.util.function.Consumer):152 -> accept
    328:329:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> accept
    328:329:boolean isProgramResourceName(java.lang.String):142 -> accept
    328:329:void accept(java.util.function.Consumer):152 -> accept
    330:330:boolean isProgramResourceName(java.lang.String):142:142 -> accept
    330:330:void accept(java.util.function.Consumer):152 -> accept
    331:332:void accept(java.util.function.Consumer):153:154 -> accept
    333:334:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> accept
    333:334:void accept(java.util.function.Consumer):155 -> accept
    335:337:void accept(java.util.function.Consumer):156:158 -> accept
    338:347:void accept(java.util.function.Consumer):157:166 -> accept
    348:355:void accept(java.util.function.Consumer):162:169 -> accept
    356:374:void accept(java.util.function.Consumer):154:172 -> accept
    375:406:void accept(java.util.function.Consumer):146:177 -> accept
    407:407:void accept(java.util.function.Consumer):0:0 -> accept
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":766,"2":767,"3":768}}
    766:766:void accept(java.util.function.Consumer):177:177 -> accept
    767:767:void accept(java.util.function.Consumer):177:177 -> accept
    768:768:void accept(java.util.function.Consumer):177:177 -> accept
    584:587:void accept(java.util.function.Consumer):177:180 -> accept
    588:588:void accept(java.util.function.Consumer):173:173 -> accept
    589:589:void accept(java.util.function.Consumer):0:0 -> accept
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":769,"2":770,"3":771}}
    769:769:void accept(java.util.function.Consumer):173:173 -> accept
    770:770:void accept(java.util.function.Consumer):173:173 -> accept
    771:771:void accept(java.util.function.Consumer):173:173 -> accept
    762:764:void accept(java.util.function.Consumer):173:175 -> accept
    1:1:com.android.tools.r8.utils.ArchiveResourceProvider fromArchive(java.nio.file.Path,boolean):44:44 -> fromArchive
    2:2:com.android.tools.r8.shaking.FilteredClassPath com.android.tools.r8.shaking.FilteredClassPath.unfiltered(java.nio.file.Path):39:39 -> fromArchive
    2:2:com.android.tools.r8.utils.ArchiveResourceProvider fromArchive(java.nio.file.Path,boolean):44 -> fromArchive
    3:3:void com.android.tools.r8.shaking.FilteredClassPath.<init>(java.nio.file.Path):35:35 -> fromArchive
    3:3:com.android.tools.r8.shaking.FilteredClassPath com.android.tools.r8.shaking.FilteredClassPath.unfiltered(java.nio.file.Path):39 -> fromArchive
    3:3:com.android.tools.r8.utils.ArchiveResourceProvider fromArchive(java.nio.file.Path,boolean):44 -> fromArchive
    4:4:com.android.tools.r8.utils.ArchiveResourceProvider fromArchive(java.nio.file.Path,boolean):44:44 -> fromArchive
    1:1:com.android.tools.r8.origin.Origin getOrigin():55:55 -> getOrigin
    1:3:java.util.Collection getProgramResources():105:107 -> getProgramResources
com.android.tools.r8.utils.ArrayUtils -> com.android.tools.r8.internal.q3:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():14:14 -> <clinit>
    1:10:java.lang.Object[] copyWithSparseChanges(java.lang.Class,java.lang.Object[],java.util.Map):36:45 -> a
    11:11:boolean isEmpty(java.lang.Object[]):51:51 -> a
    12:13:boolean isSorted(int[]):55:56 -> a
    14:33:java.lang.Object[] map(java.lang.Object[],java.util.function.Function,java.lang.Object[]):79:98 -> a
    34:34:java.lang.Object[] filter(java.lang.Object[],java.util.function.Predicate,java.lang.Object[]):102:102 -> a
    35:35:java.lang.Object lambda$filter$0(java.util.function.Predicate,java.lang.Object):102:102 -> a
    36:45:java.lang.Object[] filter(java.lang.Object[],java.util.function.Predicate,java.lang.Object[],int):107:116 -> a
    46:47:java.lang.Object[] appendSingleElement(java.lang.Object[],java.lang.Object):160:161 -> a
    1:1:java.lang.Object last(java.lang.Object[]):66:66 -> b
com.android.tools.r8.utils.AsmUtils -> com.android.tools.r8.internal.w3:
    boolean isDeprecated(int) -> a
com.android.tools.r8.utils.AssertionConfigurationWithDefault -> com.android.tools.r8.internal.y3:
    java.util.List assertionsConfigurations -> b
    com.android.tools.r8.AssertionsConfiguration defaultConfiguration -> a
    java.util.List allAssertionHandlers -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():15:15 -> <clinit>
    1:5:void <init>(com.android.tools.r8.AssertionsConfiguration,java.util.List):23:27 -> <init>
    1:6:java.util.List computeAllAssertionHandlers():45:50 -> a
    7:9:void lambda$computeAllAssertionHandlers$0(java.util.List,com.android.tools.r8.AssertionsConfiguration):52:54 -> a
    1:1:java.util.List getAllAssertionHandlers():41:41 -> b
com.android.tools.r8.utils.AssertionUtils -> com.android.tools.r8.internal.z3:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:boolean assertNotNull(java.lang.Object):12:12 -> a
com.android.tools.r8.utils.BiForEachable -> com.android.tools.r8.internal.I4:
com.android.tools.r8.utils.BiMapContainer -> com.android.tools.r8.internal.K4:
    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.BiPredicateUtils -> com.android.tools.r8.internal.L4:
    boolean lambda$alwaysFalse$0(java.lang.Object,java.lang.Object) -> a
    1:1:java.util.function.BiPredicate alwaysFalse():12:12 -> a
    2:2:java.util.function.BiPredicate or(java.util.function.BiPredicate[]):21:21 -> a
    3:4:boolean lambda$or$2(java.util.function.BiPredicate[],java.lang.Object,java.lang.Object):22:23 -> a
    boolean lambda$alwaysTrue$1(java.lang.Object,java.lang.Object) -> b
    1:1:java.util.function.BiPredicate alwaysTrue():16:16 -> b
com.android.tools.r8.utils.BitSetUtils -> com.android.tools.r8.internal.g5:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:boolean verifyLessThanOrEqualTo(java.util.BitSet,java.util.BitSet):27:27 -> a
    2:3:java.util.BitSet com.android.tools.r8.utils.BitSetUtils.or(java.util.BitSet,java.util.BitSet):21:22 -> a
    2:3:boolean verifyLessThanOrEqualTo(java.util.BitSet,java.util.BitSet):27 -> a
    4:4:boolean verifyLessThanOrEqualTo(java.util.BitSet,java.util.BitSet):27:27 -> a
com.android.tools.r8.utils.BitUtils -> com.android.tools.r8.internal.h5:
    boolean isBitInMaskSet(int,int) -> a
    boolean isBitSet(int,int) -> b
com.android.tools.r8.utils.BooleanBox -> com.android.tools.r8.internal.l5:
    boolean value -> a
    boolean assigned -> b
    1:1:void <init>():14:14 -> <init>
    2:2:void <init>():12:12 -> <init>
    3:3:void <init>(boolean):16:16 -> <init>
    4:9:void <init>(boolean):12:17 -> <init>
    1:1:boolean get():27:27 -> a
    2:2:boolean com.android.tools.r8.utils.BooleanBox.isFalse():31:31 -> a
    2:2:void computeIfNotSet(java.util.function.BooleanSupplier):21 -> a
    3:3:void computeIfNotSet(java.util.function.BooleanSupplier):22:22 -> a
    4:4:void and(boolean):52:52 -> a
    1:1:void or(boolean):56:56 -> b
    2:2:boolean isAssigned():60:60 -> b
    1:1:boolean isTrue():35:35 -> c
    2:3:void set(boolean):43:44 -> c
    1:1:void set():39:39 -> d
com.android.tools.r8.utils.BooleanLatticeElement -> com.android.tools.r8.internal.v5:
    1:1:void <init>():27:27 -> <init>
    boolean isFalse() -> a
    1:1:boolean isPossiblyFalse():52:52 -> b
    1:1:boolean isPossiblyTrue():48:48 -> c
    boolean isTrue() -> d
    boolean isUnknown() -> e
    1:1:int hashCode():74:74 -> hashCode
com.android.tools.r8.utils.BooleanUtils -> com.android.tools.r8.internal.C5:
    java.lang.Boolean[] VALUES -> a
    int $r8$clinit -> b
    1:1:void <clinit>():8:8 -> <clinit>
    int intValue(boolean) -> a
    boolean xor(boolean,boolean) -> a
    1:1:java.lang.Boolean[] values():21:21 -> a
com.android.tools.r8.utils.Box -> com.android.tools.r8.internal.R5:
    java.lang.Object value -> a
    1:1:void <init>():15:15 -> <init>
    2:3:void <init>(java.lang.Object):17:18 -> <init>
    1:4:java.lang.Object computeIfAbsent(java.util.function.Supplier):22:25 -> a
    5:5:void set(java.lang.Object):33:33 -> a
    6:6:void empty():67:67 -> a
    1:1:java.lang.Object get():29:29 -> b
    1:1:boolean isSet():43:43 -> c
    1:5:boolean equals(java.lang.Object):54:58 -> equals
    1:1:int hashCode():63:63 -> hashCode
com.android.tools.r8.utils.CfLineToMethodMapper -> com.android.tools.r8.internal.J7:
    java.util.Map sourceMethodMapping -> a
    com.android.tools.r8.utils.AndroidApp inputApp -> b
    boolean $assertionsDisabled -> c
    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:30:void readLineNumbersFromClassFiles():40:62 -> a
    31:36:void lambda$readLineNumbersFromClassFiles$0(com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor,com.android.tools.r8.ProgramResource):46:51 -> a
com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor -> com.android.tools.r8.internal.H7:
    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>
    2:3:void <init>(com.android.tools.r8.utils.CfLineToMethodMapper):89:90 -> <init>
    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
    5:5:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":115,"2":116,"3":117,"4":118,"5":119,"6":120}}
    115:115: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
    116:116: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
    117:117: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
    118:118: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
    119:119: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
    120:120: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
    114:114: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 -> d
com.android.tools.r8.utils.CfLineToMethodMapper$MethodLineVisitor -> com.android.tools.r8.internal.I7:
    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.internal.W8:
    java.util.Stack opened -> b
    java.lang.StringBuilder builder -> a
    int nextUnusedValue -> c
    boolean $assertionsDisabled -> d
    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
    2:2:com.android.tools.r8.utils.CfgPrinter append(java.lang.String):60:60 -> a
    3:3:com.android.tools.r8.utils.CfgPrinter ln():70:70 -> a
    1:1:com.android.tools.r8.utils.CfgPrinter begin(java.lang.String):28:28 -> b
    2:2:com.android.tools.r8.utils.CfgPrinter com.android.tools.r8.utils.CfgPrinter.append(java.lang.String):60:60 -> b
    2:2:com.android.tools.r8.utils.CfgPrinter begin(java.lang.String):29 -> b
    3:4:com.android.tools.r8.utils.CfgPrinter begin(java.lang.String):29:30 -> b
    5:5:com.android.tools.r8.utils.CfgPrinter sp():65:65 -> b
    6:7:void com.android.tools.r8.utils.CfgPrinter.printIndent():75:76 -> b
    6:7:com.android.tools.r8.utils.CfgPrinter print(int):43 -> b
    8:8:com.android.tools.r8.utils.CfgPrinter print(int):44:44 -> b
    1:3:com.android.tools.r8.utils.CfgPrinter end(java.lang.String):35:37 -> c
    4:4:com.android.tools.r8.utils.CfgPrinter com.android.tools.r8.utils.CfgPrinter.append(java.lang.String):60:60 -> c
    4:4:com.android.tools.r8.utils.CfgPrinter end(java.lang.String):38 -> c
    5:5:com.android.tools.r8.utils.CfgPrinter end(java.lang.String):38:38 -> c
    1:2:void com.android.tools.r8.utils.CfgPrinter.printIndent():75:76 -> d
    1:2:com.android.tools.r8.utils.CfgPrinter print(java.lang.String):49 -> d
    3:3:com.android.tools.r8.utils.CfgPrinter print(java.lang.String):50:50 -> d
    1:1:java.lang.String toString():82:82 -> toString
com.android.tools.r8.utils.ChainableStringConsumer -> com.android.tools.r8.internal.Y8:
    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.internal.X8:
    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.internal.na:
    java.util.Map classes -> a
    java.util.concurrent.atomic.AtomicReference classProvider -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(java.util.Map,com.android.tools.r8.utils.ClassProvider):59:59 -> <init>
    2:7:void <init>(java.util.Map,com.android.tools.r8.utils.ClassProvider):57:62 -> <init>
    java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass) -> a
    com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass) -> a
    1:6:java.util.function.Supplier lambda$get$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):106:111 -> a
    7:12:void clearType(com.android.tools.r8.graph.DexType):123:128 -> a
    13:23:java.util.List getAllClasses():135:145 -> a
    24:24:java.util.List getAllClasses():136:136 -> a
    25:83:void forceLoad(java.util.function.Predicate):178:236 -> a
    1:28:com.android.tools.r8.graph.DexClass get(com.android.tools.r8.graph.DexType):88:115 -> b
    29:29:com.android.tools.r8.graph.DexClass get(com.android.tools.r8.graph.DexType):113:113 -> b
    30:38:com.android.tools.r8.com.google.common.collect.ImmutableMap getAllClassesInMap():151:159 -> b
    39:39:com.android.tools.r8.com.google.common.collect.ImmutableMap getAllClassesInMap():152:152 -> b
    com.android.tools.r8.graph.ClassKind getClassKind() -> c
    1:1:boolean isFullyLoaded():240:240 -> d
    1:1:java.lang.String toString():80:80 -> toString
com.android.tools.r8.utils.ClassMap$ConcurrentClassLoader -> com.android.tools.r8.internal.ma:
    com.android.tools.r8.graph.DexType type -> d
    boolean ready -> f
    boolean $assertionsDisabled -> g
    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>():246:246 -> <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):246:246 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.ClassMap,com.android.tools.r8.utils.ClassProvider,com.android.tools.r8.graph.DexType):255:255 -> <init>
    3:9:void <init>(com.android.tools.r8.utils.ClassMap,com.android.tools.r8.utils.ClassProvider,com.android.tools.r8.graph.DexType):252:258 -> <init>
    1:41:com.android.tools.r8.graph.DexClass get():263:303 -> a
    42:42:com.android.tools.r8.graph.DexClass get():299:299 -> a
    43:62:void lambda$get$0(com.android.tools.r8.graph.DexClass):271:290 -> a
    63:63:void lambda$get$0(com.android.tools.r8.graph.DexClass):276:276 -> a
    64:64:void lambda$get$0(com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":622,"2":623,"3":624}}
    622:622:void lambda$get$0(com.android.tools.r8.graph.DexClass):276:276 -> a
    623:623:void lambda$get$0(com.android.tools.r8.graph.DexClass):276:276 -> a
    624:624:void lambda$get$0(com.android.tools.r8.graph.DexClass):276:276 -> a
    340:340:void lambda$get$0(com.android.tools.r8.graph.DexClass):276:276 -> a
    341:341:void lambda$get$0(com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":625,"2":626,"3":627}}
    625:625:void lambda$get$0(com.android.tools.r8.graph.DexClass):277:277 -> a
    626:626:void lambda$get$0(com.android.tools.r8.graph.DexClass):277:277 -> a
    627:627:void lambda$get$0(com.android.tools.r8.graph.DexClass):277:277 -> a
    618:619:void lambda$get$0(com.android.tools.r8.graph.DexClass):277:278 -> a
    620:620:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    620:620:void lambda$get$0(com.android.tools.r8.graph.DexClass):278 -> a
    621:621:void lambda$get$0(com.android.tools.r8.graph.DexClass):278:278 -> a
    1:1:java.lang.Object get():246:246 -> get
com.android.tools.r8.utils.ClassProvider -> com.android.tools.r8.internal.Ia:
    com.android.tools.r8.graph.ClassKind classKind -> a
    1:2:void <init>(com.android.tools.r8.graph.ClassKind):29:30 -> <init>
    void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer) -> a
    java.util.Collection collectTypes() -> a
    1:1:com.android.tools.r8.utils.ClassProvider forClassFileResources(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.ClassFileResourceProvider,com.android.tools.r8.graph.JarApplicationReader):61:61 -> a
    2:2:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):75:75 -> a
    3:3:com.android.tools.r8.utils.ClassProvider combine(com.android.tools.r8.graph.ClassKind,java.util.List):81:81 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.builder():186:186 -> a
    4:4:com.android.tools.r8.utils.ClassProvider forPreloadedClasses(com.android.tools.r8.graph.ClassKind,java.util.Collection):67 -> a
    5:8:com.android.tools.r8.utils.ClassProvider forPreloadedClasses(com.android.tools.r8.graph.ClassKind,java.util.Collection):68:71 -> a
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():35:35 -> b
com.android.tools.r8.utils.ClassProvider$ClassFileResourceReader -> com.android.tools.r8.internal.Ea:
    com.android.tools.r8.graph.JarApplicationReader reader -> d
    com.android.tools.r8.graph.ClassKind classKind -> b
    com.android.tools.r8.ClassFileResourceProvider provider -> c
    1:1:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.ClassFileResourceProvider,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.utils.ClassProvider$1):84:84 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.ClassFileResourceProvider,com.android.tools.r8.graph.JarApplicationReader):91:94 -> <init>
    1:5:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):99:103 -> a
    6:6:void com.android.tools.r8.graph.JarClassFileReader.read(com.android.tools.r8.ProgramResource):92:92 -> a
    6:6:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):105 -> a
    7:7:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    8:8:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":116,"2":117,"3":118,"4":119,"5":120}}
    116:116:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    117:117:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    118:118:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    119:119:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    120:120:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    115:115:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    121:123:java.util.Collection collectTypes():114:116 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":125,"2":126,"3":127}}
    125:125:java.lang.String toString():123:123 -> toString
    126:126:java.lang.String toString():123:123 -> toString
    127:127:java.lang.String toString():123:123 -> toString
    124:124:java.lang.String toString():123:123 -> toString
com.android.tools.r8.utils.ClassProvider$CombinedClassProvider -> com.android.tools.r8.internal.Fa:
    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):194:194 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.ClassKind,java.util.List):198:199 -> <init>
    1:2:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):204:205 -> a
    3:5:java.util.Collection collectTypes():211:213 -> a
    1:8:java.lang.String toString():220:227 -> toString
com.android.tools.r8.utils.ClassProvider$FilteringClassProvider -> com.android.tools.r8.internal.Ga:
    java.util.Set filteredOut -> c
    com.android.tools.r8.utils.ClassProvider provider -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():154:154 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.ClassProvider,java.util.Set):160:163 -> <init>
    1:1:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):169:169 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    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):535 -> a
    2:2:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):169 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    3:3:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):169 -> a
    4:5:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):169:170 -> a
    6:9:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):175:178 -> a
    10:11:java.util.Collection collectTypes():183:184 -> a
    1:1:java.lang.String toString():190:190 -> toString
com.android.tools.r8.utils.ClassProvider$PreloadedClassProvider -> com.android.tools.r8.internal.Ha:
    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):127:127 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.com.google.common.collect.Multimap):131:132 -> <init>
    1:2:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):137:138 -> a
    3:3:java.util.Collection collectTypes():144:144 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":151,"2":152,"3":153}}
    151:151:java.lang.String toString():149:149 -> toString
    152:152:java.lang.String toString():149:149 -> toString
    153:153:java.lang.String toString():149:149 -> toString
    150:150:java.lang.String toString():149:149 -> toString
com.android.tools.r8.utils.ClassReferenceUtils -> com.android.tools.r8.internal.La:
    int $r8$clinit -> b
    java.util.Comparator COMPARATOR -> a
    1:2:void <clinit>():16:17 -> <clinit>
    1:1:java.util.Comparator com.android.tools.r8.utils.ClassReferenceUtils.getClassReferenceComparator():36:36 -> a
    1:1:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference):20 -> a
    2:2:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference):20:20 -> a
    3:3:java.util.Comparator com.android.tools.r8.utils.ClassReferenceUtils.getClassReferenceComparator():36:36 -> a
    3:3:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.FieldReference):25 -> a
    4:4:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.FieldReference):25:25 -> a
    5:5:java.util.Comparator com.android.tools.r8.utils.ClassReferenceUtils.getClassReferenceComparator():36:36 -> a
    5:5:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.MethodReference):31 -> a
    6:6:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.MethodReference):31:31 -> a
    7:7:java.util.Comparator getClassReferenceComparator():36:36 -> a
com.android.tools.r8.utils.ClasspathClassCollection -> com.android.tools.r8.internal.ib:
    1:1:void <init>(com.android.tools.r8.utils.ClassProvider):19:19 -> <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
    3:3:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    3:3:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    4:4:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11}}
    9:9:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    9:9:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    10:10:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    10:10:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    11:11:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    11:11:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    5:5:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    5:5:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    6:6:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6:6:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28 -> a
    6:6:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    7:7:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28 -> a
    7:7:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    8:8:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    8:8: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():38:38 -> c
    1:1:com.android.tools.r8.utils.ClasspathClassCollection empty():23:23 -> e
    2:2:void com.android.tools.r8.utils.ClasspathClassCollection.<init>():15:15 -> e
    2:2:com.android.tools.r8.utils.ClasspathClassCollection empty():23 -> e
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:java.lang.String toString():43:43 -> toString
    46:46:java.lang.String toString():43:43 -> toString
    47:47:java.lang.String toString():43:43 -> toString
    44:44:java.lang.String toString():43:43 -> toString
com.android.tools.r8.utils.CollectionUtils -> com.android.tools.r8.internal.Zb:
    1:1:java.util.Set mergeSets(java.util.Collection,java.util.Collection):22:22 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    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):535 -> a
    2:2:java.util.Set mergeSets(java.util.Collection,java.util.Collection):23 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    3:3:java.util.Set mergeSets(java.util.Collection,java.util.Collection):23 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    4:4:java.util.Set mergeSets(java.util.Collection,java.util.Collection):24 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    5:5:java.util.Set mergeSets(java.util.Collection,java.util.Collection):24 -> a
    6:6:java.util.Set mergeSets(java.util.Collection,java.util.Collection):25:25 -> a
    7:8:java.util.Collection sort(java.util.Collection,java.util.Comparator):36:37 -> a
com.android.tools.r8.utils.ComparatorUtils -> com.android.tools.r8.internal.jc:
    1:3:int lambda$listComparator$0(java.util.Comparator,java.util.List,java.util.List):18:20 -> a
    4:4:java.util.Comparator arrayComparator(java.util.Comparator):57:57 -> a
    5:7:int lambda$arrayComparator$1(java.util.Comparator,java.lang.Object[],java.lang.Object[]):58:60 -> a
    8:8:java.util.Comparator unreachableComparator():67:67 -> a
    9:9:int lambda$unreachableComparator$2(java.lang.Object,java.lang.Object):68:68 -> a
    1:1:java.util.Comparator listComparator(java.util.Comparator):17:17 -> b
com.android.tools.r8.utils.CompareResult$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.kc:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.fromComparisonResult(int) -> a
    boolean com.android.tools.r8.utils.CompareResult.isEqual() -> b
    int getComparisonResult(int) -> c
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.utils.ConsumerUtils -> com.android.tools.r8.internal.Qd:
    void lambda$emptyBiConsumer$5(java.lang.Object,java.lang.Object) -> a
    void lambda$emptyConsumer$4(java.lang.Object) -> a
    1:1:java.util.function.Consumer acceptIfNotSeen(java.util.function.Consumer,java.util.Set):30:30 -> a
    2:3:void lambda$acceptIfNotSeen$2(java.util.Set,java.util.function.Consumer,java.lang.Object):31:32 -> a
    4:4:java.util.function.BiConsumer andThen(java.util.function.BiFunction,java.util.function.Consumer):39:39 -> a
    5:5:void lambda$andThen$3(java.util.function.Consumer,java.util.function.BiFunction,java.lang.Object,java.lang.Object):39:39 -> a
    6:6:java.util.function.BiConsumer emptyBiConsumer():47:47 -> a
    void lambda$emptyThrowingConsumer$6(java.lang.Object) -> b
    1:1:java.util.function.Consumer emptyConsumer():43:43 -> b
    1:1:com.android.tools.r8.utils.ThrowingConsumer emptyThrowingConsumer():51:51 -> c
com.android.tools.r8.utils.DepthFirstSearchWorkListBase -> com.android.tools.r8.internal.df:
    java.util.ArrayDeque workList -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():21:21 -> <clinit>
    1:85:void <init>():21:105 -> <init>
    1:11:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):129:139 -> a
    12:12:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList.internalOnVisit(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl):183:183 -> a
    12:12:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):139 -> a
    13:14:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):141:142 -> a
    15:15:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList.internalOnJoin(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl):183:183 -> a
    15:15:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):142 -> a
    16:18:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):143:145 -> a
    19:19:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList.createDfsNode(java.lang.Object):213:213 -> a
    19:19:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList.createDfsNode(java.lang.Object):183 -> a
    19:19:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl internalEnqueueNode(java.lang.Object):116 -> a
    20:21:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl internalEnqueueNode(java.lang.Object):117:118 -> a
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNode -> com.android.tools.r8.internal.Ye:
    java.lang.Object getNode() -> a
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl -> com.android.tools.r8.internal.Ze:
    com.android.tools.r8.utils.DepthFirstSearchWorkListBase$ProcessingState processingState -> b
    java.lang.Object node -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():44:44 -> <clinit>
    1:1:void <init>(java.lang.Object,com.android.tools.r8.utils.DepthFirstSearchWorkListBase$1):44:44 -> <init>
    2:2:void <init>(java.lang.Object):49:49 -> <init>
    3:6:void <init>(java.lang.Object):47:50 -> <init>
    1:1:java.lang.Object getNode():72:72 -> a
    1:1:boolean isFinished():58:58 -> d
    1:1:boolean isNotProcessed():54:54 -> e
    1:1:boolean seenAndNotProcessed():77:77 -> f
    1:2:void setFinished():66:67 -> g
    1:1:void setWaiting():62:62 -> h
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState -> com.android.tools.r8.internal.af:
    void setState(java.lang.Object) -> a
    java.lang.Object getState() -> b
    boolean hasState() -> c
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl -> com.android.tools.r8.internal.bf:
    java.lang.Object state -> d
    1:1:void <init>(java.lang.Object,com.android.tools.r8.utils.DepthFirstSearchWorkListBase$1):81:81 -> <init>
    2:2:void <init>(java.lang.Object):86:86 -> <init>
    1:1:void setState(java.lang.Object):96:96 -> a
    1:1:java.lang.Object getState():91:91 -> b
    1:1:boolean hasState():101:101 -> c
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList -> com.android.tools.r8.internal.cf:
    java.util.Map childStateMap -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():183:183 -> <clinit>
    1:4:void <init>():183:186 -> <init>
    com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List) -> a
    com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function) -> a
    1:2:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState lambda$internalOnVisit$0(java.util.List,java.lang.Object):224:225 -> a
    3:6:com.android.tools.r8.utils.TraversalContinuation internalOnJoin(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl):232:232 -> a
    1:4:com.android.tools.r8.utils.TraversalContinuation internalOnVisit(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl):218:221 -> b
    1:3:java.util.List lambda$internalOnJoin$1(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl):237:237 -> c
com.android.tools.r8.utils.DequeUtils -> com.android.tools.r8.internal.gf:
    1:2:java.util.Deque newArrayDeque(java.lang.Object):13:14 -> a
com.android.tools.r8.utils.DescriptorUtils -> com.android.tools.r8.internal.jf:
    java.util.Map typeNameToLetterMap -> a
    boolean $assertionsDisabled -> b
    int $r8$clinit -> c
    1:17:void <clinit>():21:37 -> <clinit>
    1:1:java.lang.String javaTypeToShorty(java.lang.String):149:149 -> A
    boolean isPrimitiveType(char) -> a
    1:10:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):43:52 -> a
    11:11:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126}}
    124:124:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):53:53 -> a
    125:125:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):53:53 -> a
    126:126:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):53:53 -> a
    12:12:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"3":128}}
    127:127:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):54:54 -> a
    128:128:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):54:54 -> a
    65:65:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):53:53 -> a
    66:66:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":131,"2":132,"3":133}}
    131:131:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):57:57 -> a
    132:132:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):57:57 -> a
    133:133:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):57:57 -> a
    123:123:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):57:57 -> a
    134:140:java.lang.String descriptorToInternalName(java.lang.String):169:175 -> a
    141:141:java.lang.String descriptorToInternalName(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":314,"3":315}}
    314:314:java.lang.String descriptorToInternalName(java.lang.String):173:173 -> a
    315:315:java.lang.String descriptorToInternalName(java.lang.String):173:173 -> a
    316:316:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):204:204 -> a
    317:317:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):269:269 -> a
    317:317:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    318:318:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):253:253 -> a
    318:318:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    319:331:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):251:263 -> a
    319:331:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    332:338:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):261:267 -> a
    332:338:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    339:339:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):259:259 -> a
    339:339:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    340:340:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):255:255 -> a
    340:340:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    341:341:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):214:214 -> a
    342:346:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):207:211 -> a
    347:347:java.lang.String getClassBinaryName(java.lang.Class):348:348 -> a
    348:354:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):442:448 -> a
    355:355:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):447:447 -> a
    356:356:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):445:445 -> a
    357:364:java.lang.String computeInnerClassSeparator(java.lang.String,java.lang.String,java.lang.String):453:460 -> a
    365:368:java.lang.String computeInnerClassSeparator(java.lang.String,java.lang.String,java.lang.String):459:462 -> a
    369:373:java.lang.String guessTypeDescriptor(java.nio.file.Path):534:538 -> a
    374:380:java.lang.String getInnerClassName(java.lang.String,java.lang.String):575:581 -> a
    381:381:java.lang.String getInnerClassName(java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":962,"3":963}}
    962:962:java.lang.String getInnerClassName(java.lang.String,java.lang.String):581:581 -> a
    963:963:java.lang.String getInnerClassName(java.lang.String,java.lang.String):581:581 -> a
    1:1:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):314:314 -> b
    5:5:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):314:314 -> b
    6:6:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):314:314 -> b
    2:2:int com.android.tools.r8.utils.DescriptorUtils.getSimpleClassNameIndex(java.lang.String):327:327 -> b
    2:2:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):315 -> b
    3:3:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):315:315 -> b
    7:7:java.lang.String descriptorToJavaType(java.lang.String):159:159 -> b
    8:8:java.lang.String getPathFromJavaType(java.lang.Class):634:634 -> b
    1:4:java.lang.String descriptorToKotlinClassifier(java.lang.String):186:189 -> c
    5:5:java.lang.String descriptorToKotlinClassifier(java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":196,"2":197,"3":198}}
    196:196:java.lang.String descriptorToKotlinClassifier(java.lang.String):190:190 -> c
    197:197:java.lang.String descriptorToKotlinClassifier(java.lang.String):190:190 -> c
    198:198:java.lang.String descriptorToKotlinClassifier(java.lang.String):190:190 -> c
    195:195:java.lang.String descriptorToKotlinClassifier(java.lang.String):190:190 -> c
    1:20:int getArgumentCount(java.lang.String):705:724 -> d
    1:37:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):661:697 -> e
    38:44:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):682:688 -> e
    45:70:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):669:694 -> e
    71:71:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):678:678 -> e
    1:1:java.lang.String getBinaryNameFromDescriptor(java.lang.String):398:398 -> f
    2:2:java.lang.String getBinaryNameFromDescriptor(java.lang.String):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"3":5}}
    3:3:java.lang.String getBinaryNameFromDescriptor(java.lang.String):399:399 -> f
    5:5:java.lang.String getBinaryNameFromDescriptor(java.lang.String):399:399 -> f
    1:1:java.lang.String getBinaryNameFromJavaType(java.lang.String):390:390 -> g
    1:1:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    2:2:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":372,"2":373,"3":374,"4":375,"5":376}}
    372:372:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    373:373:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    374:374:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    375:375:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    376:376:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    370:370:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    371:371:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":372,"3":374}}
    372:372:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):370:370 -> h
    374:374:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):370:370 -> h
    1:2:java.lang.String getClassFileName(java.lang.String):643:644 -> i
    1:2:java.lang.String getClassNameFromDescriptor(java.lang.String):290:291 -> j
    1:2:java.lang.String getDescriptorFromClassBinaryName(java.lang.String):409:410 -> k
    1:3:java.lang.String getDescriptorFromKotlinClassifier(java.lang.String):419:421 -> l
    1:1:java.lang.String getJavaTypeFromBinaryName(java.lang.String):394:394 -> m
    1:1:java.lang.String getPackageNameFromDescriptor(java.lang.String):358:358 -> n
    2:4:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageNameFromBinaryName(java.lang.String):512:514 -> n
    2:4:java.lang.String getPackageNameFromDescriptor(java.lang.String):358 -> n
    1:3:java.lang.String getPathFromDescriptor(java.lang.String):628:630 -> o
    1:2:java.lang.String getPathFromJavaType(java.lang.String):638:639 -> p
    1:2:java.lang.String getReturnTypeDescriptor(java.lang.String):648:649 -> q
    1:1:int com.android.tools.r8.utils.DescriptorUtils.getSimpleClassNameIndex(java.lang.String):327:327 -> r
    1:1:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):302 -> r
    2:2:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):0:0 -> r
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"3":5}}
    3:3:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):302:302 -> r
    5:5:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):301:301 -> r
    1:1:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):280:280 -> s
    2:3:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getUnqualifiedClassNameFromBinaryName(java.lang.String):436:437 -> s
    2:3:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):280 -> s
    1:8:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):611:618 -> t
    9:9:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):0:0 -> t
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":637,"3":639}}
    637:637:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):619:619 -> t
    639:639:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):619:619 -> t
    629:632:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):620:623 -> t
    633:633:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    634:634:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):0:0 -> t
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":637,"2":638,"3":639,"4":640,"5":641}}
    637:637:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    638:638:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    639:639:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    640:640:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    641:641:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    635:635:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> t
    635:635:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621 -> t
    636:636:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    1:2:java.lang.String guessTypeDescriptor(java.lang.String):550:551 -> u
    3:3:java.lang.String guessTypeDescriptor(java.lang.String):0:0 -> u
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":565,"3":567}}
    565:565:java.lang.String guessTypeDescriptor(java.lang.String):553:553 -> u
    567:567:java.lang.String guessTypeDescriptor(java.lang.String):553:553 -> u
    557:560:java.lang.String guessTypeDescriptor(java.lang.String):554:557 -> u
    561:561:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    562:562:java.lang.String guessTypeDescriptor(java.lang.String):0:0 -> u
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":565,"2":566,"3":567,"4":568,"5":569}}
    565:565:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    566:566:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    567:567:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    568:568:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    569:569:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    563:563:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> u
    563:563:java.lang.String guessTypeDescriptor(java.lang.String):555 -> u
    564:564:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    1:26:boolean isClassDescriptor(java.lang.String):469:494 -> v
    1:1:boolean isDescriptor(java.lang.String):243:243 -> w
    2:5:boolean com.android.tools.r8.utils.DescriptorUtils.isPrimitiveDescriptor(java.lang.String):221:224 -> w
    2:5:boolean isDescriptor(java.lang.String):244 -> w
    6:10:boolean com.android.tools.r8.utils.DescriptorUtils.isArrayDescriptor(java.lang.String):233:237 -> w
    6:10:boolean isDescriptor(java.lang.String):245 -> 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 javaTypeToDescriptorIgnorePrimitives(java.lang.String):82:83 -> z
com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor -> com.android.tools.r8.internal.if:
    java.lang.String module -> a
    java.lang.String descriptor -> b
    1:3:void <init>(java.lang.String,java.lang.String):590:592 -> <init>
    1:1:java.lang.String getDescriptor():600:600 -> a
    1:1:java.lang.String getModule():596:596 -> b
com.android.tools.r8.utils.DexUtils -> com.android.tools.r8.internal.bh:
    1:1:java.lang.String getDefaultDexFileName(int):10:10 -> a
    2:2:java.lang.String getDefaultDexFileName(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14,"2":15,"3":16}}
    14:14:java.lang.String getDefaultDexFileName(int):11:11 -> a
    15:15:java.lang.String getDefaultDexFileName(int):11:11 -> a
    16:16:java.lang.String getDefaultDexFileName(int):11:11 -> a
    13:13:java.lang.String getDefaultDexFileName(int):11:11 -> a
com.android.tools.r8.utils.DexVersion -> com.android.tools.r8.internal.dh:
    com.android.tools.r8.utils.DexVersion[] $VALUES -> h
    int dexVersion -> b
    com.android.tools.r8.utils.DexVersion V35 -> d
    byte[] dexVersionBytes -> c
    com.android.tools.r8.utils.DexVersion V37 -> e
    com.android.tools.r8.utils.DexVersion V38 -> f
    com.android.tools.r8.utils.DexVersion V39 -> g
    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>
    1:1:byte[] getBytes():32:32 -> a
    2:44:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):40:82 -> a
    45:45:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):80:80 -> a
    46:46:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):56:56 -> a
    47:47:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):53:53 -> a
    48:48:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):50:50 -> a
    49:49:java.util.Optional getDexVersion(int):97:97 -> a
    50:50:java.util.Optional getDexVersion(int):95:95 -> a
    51:51:java.util.Optional getDexVersion(int):93:93 -> a
    52:52:java.util.Optional getDexVersion(int):91:91 -> a
    53:53:java.util.Optional getDexVersion(int):89:89 -> a
    54:54:java.util.Optional getDexVersion(char,char,char):105:105 -> a
    55:55:java.util.Optional getDexVersion(char,char,char):103:103 -> a
    1:1:int getIntValue():28:28 -> b
    2:2:boolean matchesApiLevel(com.android.tools.r8.utils.AndroidApiLevel):36:36 -> b
    1:1:com.android.tools.r8.utils.DexVersion[] values():12:12 -> c
com.android.tools.r8.utils.DexVersion$1 -> com.android.tools.r8.internal.ch:
    int[] $SwitchMap$com$android$tools$r8$utils$AndroidApiLevel -> a
    1:1:void <clinit>():40:40 -> <clinit>
com.android.tools.r8.utils.DirectoryBuilder -> com.android.tools.r8.internal.hh:
    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>
    1:5:void addDirectory(java.lang.String,com.android.tools.r8.DiagnosticsHandler):39:43 -> a
    6:9:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):49:49 -> a
    11:14:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):51:54 -> a
    15:15:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":74,"2":75,"3":76}}
    74:74:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):54:54 -> a
    75:75:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):54:54 -> a
    76:76:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):54:54 -> a
    69:71:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):54:54 -> a
    72:72:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):52:52 -> a
    77:82:void addFile(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):61:66 -> a
    83:83:java.nio.file.Path getPath() -> a
com.android.tools.r8.utils.DisjointSets -> com.android.tools.r8.internal.kh:
    java.util.Map parent -> a
    boolean $assertionsDisabled -> b
    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
    10:20:java.lang.Object union(java.lang.Object,java.lang.Object):106:116 -> a
    21:25:java.util.Map collectSets():139:143 -> a
    26:27:void lambda$toString$2(java.lang.StringBuilder,java.lang.Object,java.util.Set):158:159 -> a
    28:28:void lambda$toString$1(java.lang.StringBuilder,java.lang.Object):159:159 -> a
    1:11:java.lang.Object findSet(java.lang.Object):39:49 -> b
    1:2:boolean isRepresentativeOrNotPresent(java.lang.Object):59:60 -> c
    1:1:java.util.Set lambda$collectSets$0(java.lang.Object):143:143 -> d
    1:3:java.lang.Object makeSet(java.lang.Object):27:29 -> e
    1:1:java.lang.String toString():150:150 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":164,"2":165,"3":166}}
    164:164:java.lang.String toString():151:151 -> toString
    165:165:java.lang.String toString():151:151 -> toString
    166:166:java.lang.String toString():153:153 -> toString
    156:163:java.lang.String toString():154:161 -> toString
com.android.tools.r8.utils.DumpInputFlags -> com.android.tools.r8.internal.vh:
    1:1:void <init>():8:8 -> <init>
    java.nio.file.Path getDumpInputToDirectory() -> a
    1:1:com.android.tools.r8.utils.DumpInputFlags dumpToDirectory(java.nio.file.Path):39:39 -> a
    java.nio.file.Path getDumpInputToFile() -> b
    1:1:com.android.tools.r8.utils.DumpInputFlags dumpToFile(java.nio.file.Path):25:25 -> b
    1:1:com.android.tools.r8.utils.DumpInputFlags noDump():11:11 -> c
com.android.tools.r8.utils.DumpInputFlags$1 -> com.android.tools.r8.internal.sh:
    1:1:void <init>():11:11 -> <init>
    java.nio.file.Path getDumpInputToDirectory() -> a
    java.nio.file.Path getDumpInputToFile() -> b
com.android.tools.r8.utils.DumpInputFlags$2 -> com.android.tools.r8.internal.th:
    java.nio.file.Path val$file -> a
    1:1:void <init>(java.nio.file.Path):25:25 -> <init>
    java.nio.file.Path getDumpInputToDirectory() -> a
    1:1:java.nio.file.Path getDumpInputToFile():28:28 -> b
com.android.tools.r8.utils.DumpInputFlags$3 -> com.android.tools.r8.internal.uh:
    java.nio.file.Path val$file -> a
    1:1:void <init>(java.nio.file.Path):39:39 -> <init>
    1:1:java.nio.file.Path getDumpInputToDirectory():47:47 -> a
    java.nio.file.Path getDumpInputToFile() -> b
com.android.tools.r8.utils.EncodedValueUtils -> com.android.tools.r8.internal.Zh:
    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
    7:8:int putFloat(com.android.tools.r8.dex.DexOutputBuffer,float):114:115 -> a
    9:9:byte[] encodeFloat(float):119:119 -> a
    10:15:byte[] com.android.tools.r8.utils.EncodedValueUtils.encodeBitsFromRightZeroExtended(long):96:101 -> a
    10:15:byte[] encodeFloat(float):120 -> a
    16:16:byte[] encodeFloat(float):121:121 -> a
    17:18:double parseDouble(com.android.tools.r8.dex.DexReader,int):127:128 -> a
    19:20:int putDouble(com.android.tools.r8.dex.DexOutputBuffer,double):132:133 -> a
    21:21:byte[] encodeDouble(double):137:137 -> a
    22:27:byte[] com.android.tools.r8.utils.EncodedValueUtils.encodeBitsFromRightZeroExtended(long):96:101 -> a
    22:27:byte[] encodeDouble(double):138 -> a
    28:28:byte[] encodeDouble(double):139:139 -> a
    1:5:int putSigned(com.android.tools.r8.dex.DexOutputBuffer,long,int):25:29 -> b
    6:7:float parseFloat(com.android.tools.r8.dex.DexReader,int):109:110 -> b
    1:9:long parseSigned(com.android.tools.r8.dex.DexReader,int):12:20 -> c
    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 -> c
    com.android.tools.r8.position.Position position -> d
    java.lang.Throwable cause -> b
    boolean $assertionsDisabled -> e
    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>
    9:9:void <init>(java.lang.Throwable,com.android.tools.r8.origin.Origin):42:42 -> <init>
    10:10:void <init>(com.android.tools.r8.ResourceException):46:46 -> <init>
    1:1:java.lang.Throwable getCause():60:60 -> getCause
    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.internal.aj:
    1:1:com.android.tools.r8.origin.Origin access$000(java.lang.Throwable):28:28 -> a
    2:7:java.lang.String getMainStackTrace():31:36 -> a
    8:8:boolean lambda$getMainStackTrace$0(java.util.Map$Entry):32:32 -> a
    9:9:java.util.stream.Stream lambda$getMainStackTrace$2(java.lang.StackTraceElement[]):34:34 -> a
    10:10:java.lang.String lambda$getMainStackTrace$3(java.lang.StackTraceElement):35:35 -> a
    11:11:void lambda$withConsumeResourceHandler$4(com.android.tools.r8.StringConsumer,java.lang.String,com.android.tools.r8.DiagnosticsHandler):41:41 -> a
    12:12:void withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.StringConsumer,java.lang.String):41:41 -> a
    13:17:void com.android.tools.r8.utils.ExceptionUtils.withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,java.util.function.Consumer):51:55 -> a
    13:17:void withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.StringConsumer,java.lang.String):41 -> a
    18:18:void withFinishedResourceHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.StringConsumer):45:45 -> a
    19:23:void com.android.tools.r8.utils.ExceptionUtils.withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,java.util.function.Consumer):51:55 -> a
    19:23:void withFinishedResourceHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.StringConsumer):45 -> a
    24:27:void withCompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):80:83 -> a
    28:28:com.android.tools.r8.CompilationFailedException failCompilation(com.android.tools.r8.utils.Reporter,java.lang.Throwable):89:89 -> a
    29:36:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):100:107 -> a
    37:46:com.android.tools.r8.position.Position com.android.tools.r8.utils.ExceptionUtils.getPosition(java.lang.Throwable):168:177 -> a
    37:46:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):110 -> a
    47:80:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):111:144 -> a
    81:83:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.concat(java.lang.Object,java.lang.Object[]):86:88 -> a
    81:83:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):144 -> a
    84:84:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):144:144 -> a
    85:85:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):186:186 -> a
    86:86:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):197:197 -> a
    86:86:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):191 -> a
    87:87:boolean com.android.tools.r8.utils.ExceptionUtils.isExpectedException(java.lang.Throwable):204:204 -> a
    87:87:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):198 -> a
    87:87:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):191 -> a
    88:89:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):199:200 -> a
    88:89:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):191 -> a
    90:90:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):197:197 -> a
    90:90:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):191 -> a
    91:91:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):192:192 -> a
    92:92:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188:188 -> a
    93:93:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):197:197 -> a
    93:93:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188 -> a
    94:94:boolean com.android.tools.r8.utils.ExceptionUtils.isExpectedException(java.lang.Throwable):204:204 -> a
    94:94:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):198 -> a
    94:94:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188 -> a
    95:96:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):199:200 -> a
    95:96:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188 -> a
    97:97:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):197:197 -> a
    97:97:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188 -> a
    98:98:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):189:189 -> a
    99:99:java.lang.RuntimeException unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    100:100:void withOriginAndPositionAttachmentHandler(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.Runnable):234:234 -> a
    101:101:java.lang.Object lambda$withOriginAndPositionAttachmentHandler$5(java.lang.Runnable):238:238 -> a
    102:104:java.lang.Object withOriginAndPositionAttachmentHandler(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.util.function.Supplier):246:248 -> a
    1:1:java.lang.StackTraceElement[] lambda$getMainStackTrace$1(java.util.Map$Entry):33:33 -> b
    2:2:void withD8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):64:64 -> b
    3:12:com.android.tools.r8.position.Position com.android.tools.r8.utils.ExceptionUtils.getPosition(java.lang.Throwable):168:177 -> b
    3:12:com.android.tools.r8.position.Position access$100(java.lang.Throwable):28 -> b
    1:2:com.android.tools.r8.origin.Origin getOrigin(java.lang.Throwable):149:150 -> c
    3:9:com.android.tools.r8.origin.Origin com.android.tools.r8.utils.ExceptionUtils.extractIOExceptionOrigin(java.io.IOException):211:217 -> c
    3:9:com.android.tools.r8.origin.Origin getOrigin(java.lang.Throwable):150 -> c
    10:22:com.android.tools.r8.origin.Origin getOrigin(java.lang.Throwable):152:164 -> c
com.android.tools.r8.utils.ExceptionUtils$CompileAction -> com.android.tools.r8.internal.aj$a:
com.android.tools.r8.utils.ExceptionUtils$MainAction -> com.android.tools.r8.internal.bj:
com.android.tools.r8.utils.ExceptionUtils$OriginAttachmentException -> com.android.tools.r8.internal.cj:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    1:3:void <init>(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):263:265 -> <init>
    1:5:boolean com.android.tools.r8.utils.ExceptionUtils$OriginAttachmentException.needsAttachment(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):269:273 -> a
    1:5:java.lang.RuntimeException wrap(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):257 -> a
    6:6:java.lang.RuntimeException wrap(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):258:258 -> a
com.android.tools.r8.utils.FeatureClassMapping -> com.android.tools.r8.utils.FeatureClassMapping:
    java.util.Map parsedRules -> a
    java.util.Map parseNonClassRules -> b
    java.util.Set mappings -> d
    boolean usesOnlyExactMappings -> c
    java.lang.String baseName -> e
    1:1:void <init>(com.android.tools.r8.utils.FeatureClassMapping$1):49:49 -> <init>
    2:2:void <init>():173:173 -> <init>
    3:10:void <init>():51:58 -> <init>
    11:11:void <init>(java.util.List):192:192 -> <init>
    12:156:void <init>(java.util.List):51:195 -> <init>
    1:18:void parseAndAdd(java.lang.String,int):223:240 -> a
    19:19:void parseAndAdd(java.lang.String,int):235:235 -> a
    20:20:void error(java.lang.String,int):258:258 -> a
    20:20:void parseAndAdd(java.lang.String,int):235 -> a
    21:21:void parseAndAdd(java.lang.String,int):231:231 -> a
    22:22:void error(java.lang.String,int):258:258 -> a
    22:22:void parseAndAdd(java.lang.String,int):231 -> a
    23:24:void addRule(java.lang.String,java.lang.String,int):245:246 -> a
    25:25:void addRule(java.lang.String,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":33,"2":34,"3":35,"4":36,"5":37,"6":38}}
    33:33:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    34:34:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    35:35:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    36:36:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    37:37:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    38:38:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    26:26:void error(java.lang.String,int):258:258 -> a
    26:26:void addRule(java.lang.String,java.lang.String,int):247 -> a
    27:30:void addRule(java.lang.String,java.lang.String,int):251:254 -> a
    31:31:boolean com.android.tools.r8.utils.FeatureClassMapping$FeaturePredicate.isExactmapping():310:310 -> a
    31:31:void addRule(java.lang.String,java.lang.String,int):254 -> a
    32:32:void addRule(java.lang.String,java.lang.String,int):254:254 -> a
    1:1:void addBaseMapping(java.lang.String):176:176 -> addBaseMapping
    1:1:void addBaseNonClassMapping(java.lang.String):180:180 -> addBaseNonClassMapping
    1:1:void addMapping(java.lang.String,java.lang.String):184:184 -> addMapping
    1:1:void addNonClassMapping(java.lang.String,java.lang.String):189:189 -> addNonClassMapping
    1:5:java.lang.String featureForClass(java.lang.String):200:204 -> featureForClass
    6:6:boolean com.android.tools.r8.utils.FeatureClassMapping$FeaturePredicate.match(java.lang.String):300:300 -> featureForClass
    6:6:java.lang.String featureForClass(java.lang.String):205 -> featureForClass
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:11:boolean com.android.tools.r8.utils.FeatureClassMapping$FeaturePredicate.match(java.lang.String):302:305 -> featureForClass
    8:11:java.lang.String featureForClass(java.lang.String):205 -> featureForClass
    12:20:java.lang.String featureForClass(java.lang.String):206:214 -> featureForClass
    1:1:java.lang.String featureForNonClass(java.lang.String):219:219 -> featureForNonClass
    1:1:com.android.tools.r8.utils.FeatureClassMapping fromSpecification(java.nio.file.Path):94:94 -> fromSpecification
    2:13:com.android.tools.r8.utils.FeatureClassMapping fromSpecification(java.nio.file.Path,com.android.tools.r8.DiagnosticsHandler):99:110 -> fromSpecification
    14:16:com.android.tools.r8.utils.FeatureClassMapping fromSpecification(java.nio.file.Path,com.android.tools.r8.DiagnosticsHandler):104:106 -> fromSpecification
    1:1:java.lang.String getBaseName():66:66 -> getBaseName
com.android.tools.r8.utils.FeatureClassMapping$1 -> com.android.tools.r8.utils.t:
    1:1:void <init>():94:94 -> <init>
com.android.tools.r8.utils.FeatureClassMapping$FeatureMappingException -> com.android.tools.r8.utils.FeatureClassMapping$FeatureMappingException:
    1:1:void <init>(java.lang.String):265:265 -> <init>
com.android.tools.r8.utils.FeatureClassMapping$FeaturePredicate -> com.android.tools.r8.utils.u:
    java.lang.String predicate -> a
    java.lang.String feature -> b
    boolean isCatchAll -> c
    boolean isWildcard -> d
    1:1:void <clinit>():271:271 -> <clinit>
    1:5:void <init>(java.lang.String,java.lang.String):278:282 -> <init>
    6:6:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"3":1176}}
    1174:1174:void <init>(java.lang.String,java.lang.String):284:284 -> <init>
    1176:1176:void <init>(java.lang.String,java.lang.String):284:284 -> <init>
    291:291:void <init>(java.lang.String,java.lang.String):285:285 -> <init>
    292:292:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"3":1176}}
    1174:1174:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
    1176:1176:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
    581:581:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
    582:582:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    583:583:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"2":1175,"3":1176,"4":1177,"5":1178}}
    1174:1174:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    1175:1175:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    1176:1176:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    1177:1177:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    1178:1178:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    869:879:void <init>(java.lang.String,java.lang.String):286:296 -> <init>
    880:880:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    881:881:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"2":1175,"3":1176,"4":1177,"5":1178}}
    1174:1174:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1175:1175:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1176:1176:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1177:1177:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1178:1178:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1173:1173:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
com.android.tools.r8.utils.FeatureClassMapping$Internal -> com.android.tools.r8.utils.v:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():115:115 -> <clinit>
    1:10:java.util.List getClassFileDescriptors(java.lang.String,com.android.tools.r8.DiagnosticsHandler):117:126 -> a
    11:11:boolean lambda$getNonClassFiles$0(java.util.zip.ZipEntry):133:133 -> a
    12:32:com.android.tools.r8.utils.FeatureClassMapping fromJarFiles(java.util.List,java.util.List,java.lang.String,com.android.tools.r8.DiagnosticsHandler):147:167 -> a
    1:7:java.util.List getNonClassFiles(java.lang.String,com.android.tools.r8.DiagnosticsHandler):131:131 -> b
    12:15:java.util.List getNonClassFiles(java.lang.String,com.android.tools.r8.DiagnosticsHandler):136:139 -> b
com.android.tools.r8.utils.FeatureClassMapping$JarFileOrigin -> com.android.tools.r8.utils.w:
    1:1:void <init>(java.nio.file.Path):84:84 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":92,"2":93,"3":94}}
    92:92:java.lang.String part():89:89 -> part
    93:93:java.lang.String part():89:89 -> part
    94:94:java.lang.String part():89:89 -> part
    90:90:java.lang.String part():89:89 -> part
    91:91:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":92,"2":93,"3":94}}
    92:92:java.lang.String part():89:89 -> part
    93:93:java.lang.String part():89:89 -> part
    94:94:java.lang.String part():89:89 -> part
com.android.tools.r8.utils.FeatureClassMapping$SpecificationOrigin -> com.android.tools.r8.utils.x:
    1:1:void <init>(java.nio.file.Path):72:72 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
    80:80:java.lang.String part():77:77 -> part
    81:81:java.lang.String part():77:77 -> part
    82:82:java.lang.String part():77:77 -> part
    78:78:java.lang.String part():77:77 -> part
    79:79:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
    80:80:java.lang.String part():77:77 -> part
    81:81:java.lang.String part():77:77 -> part
    82:82:java.lang.String part():77:77 -> part
com.android.tools.r8.utils.FieldReferenceUtils -> com.android.tools.r8.internal.Wj:
    int $r8$clinit -> b
    java.util.Comparator COMPARATOR -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:com.android.tools.r8.references.FieldReference fieldFromField(java.lang.Class,java.lang.String):50:52 -> a
    4:4:java.util.Comparator com.android.tools.r8.utils.FieldReferenceUtils.getFieldReferenceComparator():57:57 -> a
    4:4:int compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):39 -> a
    5:5:int compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):39:39 -> a
    6:6:java.util.Comparator getFieldReferenceComparator():57:57 -> a
    7:11:java.lang.String toSourceString(com.android.tools.r8.references.FieldReference):61:65 -> a
    1:1:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):22:22 -> b
    2:2:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Object,java.lang.Object,java.util.Comparator):33:33 -> b
    2:2:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):21 -> b
    3:3:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):23:23 -> b
    4:4:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    4:4:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):24 -> b
    5:5:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):27:27 -> b
    6:6:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Comparable,java.lang.Comparable):29:29 -> b
    6:6:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):27 -> b
    7:7:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):28:28 -> b
    8:8:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    8:8:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):29 -> b
    9:9:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):31:31 -> b
com.android.tools.r8.utils.FieldSignatureEquivalence -> com.android.tools.r8.internal.Zj:
    com.android.tools.r8.utils.FieldSignatureEquivalence INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(boolean):23:23 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):14:14 -> a
    2:2:boolean com.android.tools.r8.utils.FieldSignatureEquivalence.doEquivalent(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):40:40 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):14 -> a
    3:3:int doHash(java.lang.Object):14:14 -> a
    4:4:int com.android.tools.r8.utils.FieldSignatureEquivalence.doHash(com.android.tools.r8.graph.DexField):48:48 -> a
    4:4:int doHash(java.lang.Object):14 -> a
    5:5:com.android.tools.r8.utils.FieldSignatureEquivalence get():28:28 -> a
com.android.tools.r8.utils.FileUtils -> com.android.tools.r8.internal.gk:
    boolean isAndroid -> a
    boolean $assertionsDisabled -> b
    1:16:void <clinit>():21:36 -> <clinit>
    1:5:boolean isArchive(java.nio.file.Path):78:82 -> a
    6:6:java.lang.String readTextFile(java.nio.file.Path,java.nio.charset.Charset):86:86 -> a
    7:7:void writeTextFile(java.nio.file.Path,java.util.List):94:94 -> a
    8:8:void writeTextFile(java.nio.file.Path,java.lang.String[]):98:98 -> a
    9:11:java.nio.file.Path validateOutputFile(java.nio.file.Path,com.android.tools.r8.utils.Reporter):103:105 -> a
    12:12:void writeToFile(java.nio.file.Path,java.io.OutputStream,byte[]):167:167 -> a
    13:14:void writeToFile(java.nio.file.Path,java.io.OutputStream,com.android.tools.r8.ByteDataView):172:173 -> a
    15:19:java.io.OutputStream com.android.tools.r8.utils.FileUtils.openPathWithDefault(com.android.tools.r8.com.google.common.io.Closer,java.nio.file.Path,java.io.OutputStream,java.nio.file.OpenOption[]):131:135 -> a
    15:19:void writeToFile(java.nio.file.Path,java.io.OutputStream,com.android.tools.r8.ByteDataView):174 -> a
    20:21:void writeToFile(java.nio.file.Path,java.io.OutputStream,com.android.tools.r8.ByteDataView):181:182 -> a
    22:32:void writeToFile(java.nio.file.Path,java.io.OutputStream,com.android.tools.r8.ByteDataView):172:182 -> a
    33:38:java.lang.String withNativeFileSeparators(java.lang.String):186:191 -> a
    39:52:java.util.zip.ZipFile createZipFile(java.io.File,java.nio.charset.Charset):196:209 -> a
    1:6:boolean isClassFile(java.nio.file.Path):49:54 -> b
    1:2:boolean isClassesDexFile(java.nio.file.Path):141:142 -> c
    3:3:boolean isClassesDexFile(java.nio.file.Path):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":161,"3":163}}
    161:161:boolean isClassesDexFile(java.nio.file.Path):145:145 -> c
    163:163:boolean isClassesDexFile(java.nio.file.Path):145:145 -> c
    149:160:boolean isClassesDexFile(java.nio.file.Path):146:157 -> c
    1:2:boolean isDexFile(java.nio.file.Path):39:40 -> d
    1:2:boolean isJarFile(java.nio.file.Path):58:59 -> e
    1:2:boolean isZipFile(java.nio.file.Path):63:64 -> f
    1:1:java.util.List readAllLines(java.nio.file.Path):90:90 -> g
com.android.tools.r8.utils.FilteredArchiveClassFileProvider -> com.android.tools.r8.utils.y:
    1:1:void <init>(com.android.tools.r8.shaking.FilteredClassPath):13:13 -> <init>
com.android.tools.r8.utils.FlagFile -> com.android.tools.r8.internal.xk:
    1:15:java.lang.String[] expandFlagFiles(java.lang.String[],java.util.function.Consumer):34:48 -> a
com.android.tools.r8.utils.FlagFile$FlagFileOrigin -> com.android.tools.r8.internal.wk:
    java.nio.file.Path path -> f
    1:2:void <init>(java.nio.file.Path):23:24 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
    31:31:java.lang.String part():29:29 -> part
    32:32:java.lang.String part():29:29 -> part
    33:33:java.lang.String part():29:29 -> part
    30:30:java.lang.String part():29:29 -> part
com.android.tools.r8.utils.ForEachUtils -> com.android.tools.r8.internal.Jk:
    1:6:boolean allMatch(java.util.function.Consumer,java.util.function.Predicate):13:18 -> a
    7:7:void lambda$allMatch$0(com.android.tools.r8.utils.BooleanBox,java.util.function.Predicate,java.lang.Object):16:16 -> a
com.android.tools.r8.utils.ForEachable -> com.android.tools.r8.internal.Kk:
com.android.tools.r8.utils.ForEachableUtils -> com.android.tools.r8.internal.Lk:
    void lambda$empty$0(java.util.function.Consumer) -> a
    1:1:com.android.tools.r8.utils.ForEachable empty():10:10 -> a
com.android.tools.r8.utils.FunctionUtils -> com.android.tools.r8.internal.yl:
    1:1:java.lang.Object applyOrElse(java.lang.Object,java.util.function.Function,java.lang.Object):15:15 -> a
    2:3:void forEachApply(java.lang.Iterable,java.util.function.Function,java.lang.Object):28:29 -> a
    4:4:java.util.function.Function ignoreArgument(java.util.function.Supplier):34:34 -> a
    5:5:java.lang.Object lambda$ignoreArgument$2(java.util.function.Supplier,java.lang.Object):34:34 -> a
com.android.tools.r8.utils.HeapUtils -> com.android.tools.r8.internal.Jm:
    com.sun.management.HotSpotDiagnosticMXBean hotSpotDiagnosticMXBean -> a
    1:3:void com.android.tools.r8.utils.HeapUtils.initHotSpotMBean():19:21 -> a
    1:3:void dumpHeap(java.nio.file.Path,boolean):35 -> a
    4:5:com.sun.management.HotSpotDiagnosticMXBean com.android.tools.r8.utils.HeapUtils.getHotSpotDiagnosticMXBean():29:30 -> a
    4:5:void com.android.tools.r8.utils.HeapUtils.initHotSpotMBean():22 -> a
    4:5:void dumpHeap(java.nio.file.Path,boolean):35 -> a
    6:8:void com.android.tools.r8.utils.HeapUtils.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.internal.wn:
    java.lang.Iterable order(java.lang.Iterable) -> a
com.android.tools.r8.utils.IROrdering$IdentityIROrdering -> com.android.tools.r8.internal.un:
    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.internal.vn:
    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 com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering.order(java.lang.Iterable):61:62 -> a
    2:3:java.lang.Iterable order(java.lang.Iterable):49 -> a
com.android.tools.r8.utils.IdentifierUtils -> com.android.tools.r8.internal.Hn:
    1:1:boolean isDexIdentifierPart(int):14:14 -> a
    1:1:boolean com.android.tools.r8.utils.IdentifierUtils.isDexIdentifierPart(int):14:14 -> b
    1:1:boolean isDexIdentifierStart(int):10 -> b
    1:1:boolean isRelaxedDexIdentifierPart(int):18:18 -> c
    boolean isSimpleNameChar(int) -> d
com.android.tools.r8.utils.Int2StructuralItemArrayMap -> com.android.tools.r8.internal.Ns:
    int[] keys -> b
    java.util.List values -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(int[],java.util.List,com.android.tools.r8.utils.Int2StructuralItemArrayMap$1):18:18 -> <init>
    2:5:void <init>(int[],java.util.List):24:27 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int[] lambda$specify$0(com.android.tools.r8.utils.Int2StructuralItemArrayMap):42:42 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):42:42 -> a
    3:4:void forEach(java.util.function.BiConsumer):55:56 -> a
    5:5:com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder builder():73:73 -> a
    1:1:java.util.Collection lambda$specify$1(com.android.tools.r8.utils.Int2StructuralItemArrayMap):42:42 -> b
    2:2:boolean isEmpty():77:77 -> b
    1:2:boolean equals(java.lang.Object):63:64 -> equals
    1:1:int hashCode():69:69 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():37:37 -> n
com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder -> com.android.tools.r8.internal.Ms:
    java.util.List keys -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder values -> b
    1:1:void <init>(com.android.tools.r8.utils.Int2StructuralItemArrayMap$1):80:80 -> <init>
    2:2:void <init>():85:85 -> <init>
    3:4:void <init>():82:83 -> <init>
    1:2:com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder put(int,com.android.tools.r8.utils.structural.StructuralItem):88:89 -> a
    3:3:com.android.tools.r8.utils.Int2StructuralItemArrayMap build():98:98 -> a
    4:9:int[] com.android.tools.r8.com.google.common.primitives.Ints.toArray(java.util.Collection):532:537 -> a
    4:9:com.android.tools.r8.utils.Int2StructuralItemArrayMap build():98 -> a
    10:10:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    10:10:int[] com.android.tools.r8.com.google.common.primitives.Ints.toArray(java.util.Collection):537 -> a
    10:10:com.android.tools.r8.utils.Int2StructuralItemArrayMap build():98 -> a
    11:11:int[] com.android.tools.r8.com.google.common.primitives.Ints.toArray(java.util.Collection):537:537 -> a
    11:11:com.android.tools.r8.utils.Int2StructuralItemArrayMap build():98 -> a
    12:12:com.android.tools.r8.utils.Int2StructuralItemArrayMap build():98:98 -> a
    1:1:boolean isEmpty():94:94 -> b
com.android.tools.r8.utils.IntBox -> com.android.tools.r8.internal.Us:
    boolean $assertionsDisabled -> b
    int value -> a
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    2:3:void <init>(int):13:14 -> <init>
    1:1:int get():28:28 -> a
    2:3:int getAndIncrement(int):36:37 -> a
    1:2:int com.android.tools.r8.utils.IntBox.getAndIncrement(int):36:37 -> b
    1:2:int getAndIncrement():32 -> b
    3:4:int getAndSet(int):42:43 -> b
    1:1:void increment():48:48 -> c
    2:3:void increment(int):52:53 -> c
    1:1:void set(int):57:57 -> d
com.android.tools.r8.utils.IntObjConsumer -> com.android.tools.r8.internal.lt:
    void accept(int,java.lang.Object) -> a
com.android.tools.r8.utils.IntObjPredicate -> com.android.tools.r8.internal.mt:
    boolean test(int,java.lang.Object) -> a
com.android.tools.r8.utils.IntObjToObjFunction -> com.android.tools.r8.internal.nt:
    java.lang.Object apply(int,java.lang.Object) -> a
com.android.tools.r8.utils.InternalArchiveClassFileProvider -> com.android.tools.r8.utils.z:
    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 -> f
    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>
    3:32:void <init>(java.nio.file.Path,java.util.function.Predicate):42:71 -> <init>
    boolean lambda$new$0(java.lang.String) -> a
    1:12:java.util.zip.ZipFile getOpenZipFile():101:112 -> a
    1:2:void close():117:118 -> close
    1:1:java.util.Set getClassDescriptors():78:78 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):83:83 -> getProgramResource
    2:3:java.util.zip.ZipEntry getZipEntryFromDescriptor(java.lang.String):122:123 -> getProgramResource
    2:3:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):87 -> getProgramResource
    4:9:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):88:93 -> getProgramResource
    10:15:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):89:94 -> getProgramResource
    16:24:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):88:96 -> getProgramResource
    25:25:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):0:0 -> getProgramResource
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126,"4":127,"5":128}}
    124:124:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    125:125:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    126:126:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    127:127:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    128:128:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    121:121:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    122:122:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> getProgramResource
    122:122:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> getProgramResource
    122:122:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96 -> getProgramResource
    123:123:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
com.android.tools.r8.utils.InternalOptions -> com.android.tools.r8.internal.Vt:
    boolean hasMarker -> f0
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> i1
    boolean printTimes -> i
    boolean ignoreJavaLibraryOverride -> b0
    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> f
    com.android.tools.r8.experimental.startup.StartupConfiguration startupConfiguration -> g
    boolean enableFieldBitAccessAnalysis -> q
    com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions desugarSpecificOptions -> P0
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions horizontalClassMergerOptions -> L0
    com.android.tools.r8.StringConsumer configurationConsumer -> d1
    com.android.tools.r8.utils.OffOrAuto interfaceMethodDesugaring -> t0
    boolean enableInitializedClassesAnalysis -> y
    java.util.Set extensiveInterfaceMethodMinifierLoggingFilter -> i0
    com.android.tools.r8.utils.Box reportedExperimentClassFileVersion -> q1
    java.util.List outputInspections -> h
    com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions -> N0
    com.android.tools.r8.DumpOptions dumpOptions -> e0
    boolean relocatorCompilation -> f1
    int callGraphLikelySpuriousCallEdgeThreshold -> L
    boolean forceAnnotateSynthetics -> I
    boolean printMemory -> j
    boolean ignoreMissingClasses -> A0
    com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions classInlinerOptions -> J0
    boolean enableEnumValueOptimization -> Q
    boolean enableVerticalClassMerging -> r
    boolean enableMinification -> z0
    boolean processCovariantReturnTypeAnnotations -> v0
    boolean useSmaliSyntax -> Y
    boolean enableSideEffectAnalysis -> z
    boolean cfToCfDesugar -> H
    boolean ignoreBootClasspathEnumsForMaindexTracing -> n0
    boolean enableSwitchRewriting -> N
    java.lang.String dumpInputToDirectory -> l
    boolean ignoreMainDexMissingClasses -> c0
    boolean enableUninstantiatedTypeOptimizationForInterfaces -> V
    java.util.Map warningInvalidDebugInfo -> X0
    boolean enableClassInlining -> w
    com.android.tools.r8.utils.InternalOptions$OutlineOptions outline -> S
    int SUPPORTED_DEX_VERSION -> t1
    com.android.tools.r8.StringConsumer proguardMapConsumer -> a1
    java.util.Set extensiveLoggingFilter -> h0
    com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions -> I0
    boolean minimalMainDex -> S0
    boolean enableTreeShakingOfLibraryMethodOverrides -> E
    java.util.function.Consumer syntheticProguardRulesConsumer -> k1
    com.android.tools.r8.ProgramConsumer programConsumer -> d
    boolean enableStringSwitchConversion -> O
    boolean configurationDebugging -> F0
    boolean libraryInterfacesMayHaveStaticInitialization -> p
    java.lang.String dumpInputToFile -> k
    boolean reportMissingClassesInEnclosingMethodAttribute -> B0
    boolean enableRedundantConstNumberOptimization -> W
    boolean enableClassStaticizer -> x
    com.android.tools.r8.graph.DexItemFactory itemFactory -> a
    java.util.List logArgumentsFilter -> p0
    boolean lookupLibraryBeforeProgram -> w0
    java.util.concurrent.atomic.AtomicBoolean reportedErrorReadingKotlinMetadataReflectively -> o1
    boolean enableNestReduction -> s0
    com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> j1
    java.util.function.BiPredicate dexClassChecksumFilter -> G
    boolean encodeChecksums -> F
    boolean pruneNonVissibleAnnotationClasses -> o0
    com.android.tools.r8.DataResourceConsumer dataResourceConsumer -> e
    boolean passthroughDexCode -> m
    boolean enableCfByteCodePassThrough -> d0
    boolean enableEnumUnboxing -> u
    java.util.Set invalidLibraryClasses -> p1
    com.android.tools.r8.dex.Marker marker -> g0
    java.util.Map warningInvalidParameterAnnotations -> W0
    com.android.tools.r8.utils.Reporter reporter -> c
    boolean enableInitializedClassesInInstanceMethodsAnalysis -> T
    boolean enableInheritanceClassInDexDistributor -> T0
    com.android.tools.r8.utils.AssertionConfigurationWithDefault assertionsConfiguration -> E0
    boolean $assertionsDisabled -> u1
    com.android.tools.r8.StringConsumer usageInformationConsumer -> b1
    com.android.tools.r8.cf.CfVersion EXPERIMENTAL_CF_VERSION -> s1
    com.android.tools.r8.SourceFileProvider sourceFileProvider -> m1
    int threadCount -> X
    com.android.tools.r8.MapIdProvider mapIdProvider -> l1
    java.util.Set neverMergePrefixes -> o
    boolean debug -> H0
    boolean enableNameReflectionOptimization -> C
    int minimumStringSwitchSize -> P
    boolean enableNeverMergePrefixes -> n
    boolean skipIR -> G0
    boolean reportMissingClassesInInnerClassAttributes -> C0
    boolean enableRedundantFieldLoadElimination -> U
    boolean enableSimpleInliningConstraints -> v
    com.android.tools.r8.utils.InternalOptions$LineNumberOptimization lineNumberOptimization -> U0
    boolean enableMainDexListCheck -> x0
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification machineDesugaredLibrarySpecification -> e1
    boolean intermediate -> l0
    com.android.tools.r8.utils.InternalOptions$InlinerOptions inlinerOptions -> K0
    boolean enableStringConcatenationOptimization -> D
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> h1
    boolean readDebugSetFileEvent -> J
    boolean invalidDebugInfoStrict -> a0
    com.android.tools.r8.utils.InternalOptions$TestingOptions testing -> Q0
    com.android.tools.r8.StringConsumer mainDexListConsumer -> Z0
    boolean enableEnumSwitchMapRemoval -> R
    boolean skipReadingDexCode -> Y0
    boolean enableUnusedInterfaceRemoval -> s
    java.util.Map missingEnclosingMembers -> V0
    com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions protoShrinking -> M0
    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> c1
    com.android.tools.r8.cf.CfVersion SUPPORTED_CF_VERSION -> r1
    com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions apiModelTestingOptions -> O0
    boolean invalidDebugInfoFatal -> Z
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> g1
    boolean enableDeterminismAnalysis -> A
    boolean forceProguardCompatibility -> D0
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> b
    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> r0
    boolean disableL8AnnotationRemoval -> K
    boolean enableTreeShaking -> y0
    java.util.List mainDexKeepRules -> R0
    com.android.tools.r8.utils.OffOrAuto tryWithResourcesDesugaring -> u0
    boolean enableDevirtualization -> t
    com.android.tools.r8.utils.AndroidApiLevel minApiLevel -> k0
    java.util.Set reportedMissingForDesugaring -> n1
    boolean enableLoadStoreOptimization -> q0
    java.util.List methodsFilter -> j0
    java.lang.Thread mainThread -> M
    boolean retainCompileTimeAnnotations -> m0
    boolean enableServiceLoaderRewriting -> B
    1:32:void <clinit>():109:140 -> <clinit>
    1:1:void <init>():171:171 -> <init>
    2:949:void <init>():162:1109 -> <init>
    950:954:void <init>():172:176 -> <init>
    955:955:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):180:180 -> <init>
    956:1903:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):162:1109 -> <init>
    1904:1911:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):181:188 -> <init>
    1912:1912:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):193:193 -> <init>
    1913:2860:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):162:1109 -> <init>
    2861:2881:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):194:214 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> A
    1:1:boolean canHaveThisJitCodeDebuggingBug():2016 -> A
    2:2:boolean canHaveThisJitCodeDebuggingBug():2016:2016 -> A
    1:1:boolean isKeepRuntimeInvisibleAnnotationsEnabled():657:657 -> A0
    1:1:boolean canHaveThisTypeVerifierBug():2007:2007 -> B
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> B
    2:2:boolean canHaveThisTypeVerifierBug():2007 -> B
    3:3:boolean canHaveThisTypeVerifierBug():2007:2007 -> B
    1:1:boolean isKeepRuntimeInvisibleParameterAnnotationsEnabled():662:662 -> B0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> C
    1:1:boolean canHaveTracingPastInstructionsStreamBug():2178 -> C
    2:2:boolean canHaveTracingPastInstructionsStreamBug():2178:2178 -> C
    1:1:boolean isKeepRuntimeVisibleAnnotationsEnabled():667:667 -> C0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> D
    1:1:boolean canHaveZipFileWithMissingCloseableBug():2303 -> D
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> D
    2:2:boolean canHaveZipFileWithMissingCloseableBug():2303 -> D
    3:3:boolean canHaveZipFileWithMissingCloseableBug():2303:2303 -> D
    1:1:boolean isKeepRuntimeVisibleParameterAnnotationsEnabled():672:672 -> D0
    1:1:boolean canInitCauseAfterAssertionErrorObjectConstructor():1952:1952 -> E
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> E
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> E
    2:2:boolean canInitCauseAfterAssertionErrorObjectConstructor():1952 -> E
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> E
    3:3:boolean canInitCauseAfterAssertionErrorObjectConstructor():1952 -> E
    1:3:boolean isMinifying():601:601 -> E0
    5:5:boolean isMinifying():603:603 -> E0
    1:1:boolean canLeaveStaticInterfaceMethodInvokes():1850:1850 -> F
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> F
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> F
    2:2:boolean canLeaveStaticInterfaceMethodInvokes():1850 -> F
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> F
    3:3:boolean canLeaveStaticInterfaceMethodInvokes():1850 -> F
    1:1:boolean isOptimizing():587:587 -> F0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> G
    1:1:boolean canParseNumbersWithPlusPrefix():2319 -> G
    2:2:boolean canParseNumbersWithPlusPrefix():2319:2319 -> G
    1:1:boolean isRelease():591:591 -> G0
    1:1:boolean canUseAssertionErrorTwoArgumentConstructor():1933:1933 -> H
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> H
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> H
    2:2:boolean canUseAssertionErrorTwoArgumentConstructor():1933 -> H
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> H
    3:3:boolean canUseAssertionErrorTwoArgumentConstructor():1933 -> H
    1:1:boolean isRepackagingEnabled():628:628 -> H0
    2:2:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isSome():1255:1255 -> H0
    2:2:boolean isRepackagingEnabled():628 -> H0
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isNone():1239:1239 -> H0
    3:3:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isSome():1255 -> H0
    3:3:boolean isRepackagingEnabled():628 -> H0
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    4:4:boolean isRepackagingEnabled():628:628 -> H0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> I
    1:1:boolean canUseConstantMethodHandle():1826 -> I
    2:2:boolean canUseConstantMethodHandle():1826:1826 -> I
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> I
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> I
    3:3:boolean canUseConstantMethodHandle():1826 -> I
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> I
    4:4:boolean canUseConstantMethodHandle():1826 -> I
    1:3:boolean isShrinking():595:595 -> I0
    5:5:boolean isShrinking():597:597 -> I0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> J
    1:1:boolean canUseConstantMethodType():1830 -> J
    2:2:boolean canUseConstantMethodType():1830:1830 -> J
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> J
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> J
    3:3:boolean canUseConstantMethodType():1830 -> J
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> J
    4:4:boolean canUseConstantMethodType():1830 -> J
    1:1:boolean isStringSwitchConversionEnabled():1911:1911 -> J0
    1:1:boolean canUseDefaultAndStaticInterfaceMethods():1838:1838 -> K
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> K
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> K
    2:2:boolean canUseDefaultAndStaticInterfaceMethods():1838 -> K
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> K
    3:3:boolean canUseDefaultAndStaticInterfaceMethods():1838 -> K
    1:6:void keepDebugRelatedInformation():219:224 -> K0
    1:2:boolean canUseFilledNewArrayOfObjects():1964:1965 -> L
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> L
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> L
    3:3:boolean canUseFilledNewArrayOfObjects():1965 -> L
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> L
    4:4:boolean canUseFilledNewArrayOfObjects():1965 -> L
    1:2:boolean keepInnerClassStructure():705:706 -> L0
    1:1:boolean canUseInputStackMaps():710:710 -> M
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> M
    2:2:boolean canUseInputStackMaps():710 -> M
    1:1:com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions():777:777 -> M0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> N
    1:1:boolean canUseInvokeCustom():1834 -> N
    2:2:boolean canUseInvokeCustom():1834:1834 -> N
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> N
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> N
    3:3:boolean canUseInvokeCustom():1834 -> N
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> N
    4:4:boolean canUseInvokeCustom():1834 -> N
    1:1:boolean parseSignatureAttribute():637:637 -> N0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> O
    1:1:boolean canUseInvokePolymorphic():1822 -> O
    2:2:boolean canUseInvokePolymorphic():1822:1822 -> O
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> O
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> O
    3:3:boolean canUseInvokePolymorphic():1822 -> O
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> O
    4:4:boolean canUseInvokePolymorphic():1822 -> O
    1:32:boolean printWarnings():1129:1160 -> O0
    33:72:boolean printWarnings():1156:1195 -> O0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> P
    1:1:boolean canUseInvokePolymorphicOnVarHandle():1818 -> P
    2:2:boolean canUseInvokePolymorphicOnVarHandle():1818:1818 -> P
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> P
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> P
    3:3:boolean canUseInvokePolymorphicOnVarHandle():1818 -> P
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> P
    4:4:boolean canUseInvokePolymorphicOnVarHandle():1818 -> P
    1:1:com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions protoShrinking():773:773 -> P0
    1:1:boolean canUseJavaUtilObjects():1920:1920 -> Q
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> Q
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> Q
    2:2:boolean canUseJavaUtilObjects():1920 -> Q
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> Q
    3:3:boolean canUseJavaUtilObjects():1920 -> Q
    1:1:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1813:1813 -> Q0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> Q0
    2:2:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1813 -> Q0
    3:4:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1813:1814 -> Q0
    1:1:boolean canUseJavaUtilObjectsIsNull():1924:1924 -> R
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> R
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> R
    2:2:boolean canUseJavaUtilObjectsIsNull():1924 -> R
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> R
    3:3:boolean canUseJavaUtilObjectsIsNull():1924 -> R
    1:1:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():425:425 -> R0
    1:1:boolean shouldBackportMethods():453 -> R0
    2:2:boolean shouldBackportMethods():453:453 -> R0
    1:2:boolean canUseMultidex():1915:1916 -> S
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> S
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> S
    3:3:boolean canUseMultidex():1916 -> S
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> S
    4:4:boolean canUseMultidex():1916 -> S
    1:1:boolean shouldDesugarRecords():526:526 -> S0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.canUseRecords():1846:1846 -> S0
    2:2:boolean shouldDesugarRecords():526 -> S0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1887:1887 -> T
    1:1:boolean canUseNativeDexPcInsteadOfDebugInfo():1891 -> T
    2:2:boolean canUseNativeDexPcInsteadOfDebugInfo():1891:1891 -> T
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> T
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> T
    3:3:boolean canUseNativeDexPcInsteadOfDebugInfo():1892 -> T
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> T
    4:4:boolean canUseNativeDexPcInsteadOfDebugInfo():1892 -> T
    5:5:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1883:1883 -> T
    5:5:boolean canUseNativeDexPcInsteadOfDebugInfo():1893 -> T
    1:1:boolean shouldKeepStackMapTable():457:457 -> T0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isRelocatorCompilation():449:449 -> T0
    2:2:boolean shouldKeepStackMapTable():457 -> T0
    3:4:boolean shouldKeepStackMapTable():457:458 -> T0
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isRelocatorCompilation():449:449 -> T0
    5:5:boolean shouldKeepStackMapTable():459 -> T0
    6:6:boolean shouldKeepStackMapTable():460:460 -> T0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> U
    1:1:boolean canUseNotInstruction():2000 -> U
    2:2:boolean canUseNotInstruction():2000:2000 -> U
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> U
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> U
    3:3:boolean canUseNotInstruction():2000 -> U
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> U
    4:4:boolean canUseNotInstruction():2000 -> U
    1:1:boolean shouldRerunEnqueuer():464:464 -> U0
    1:1:boolean canUsePrivateInterfaceMethods():1876:1876 -> V
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> V
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> V
    2:2:boolean canUsePrivateInterfaceMethods():1876 -> V
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> V
    3:3:boolean canUsePrivateInterfaceMethods():1876 -> V
    1:18:void signalFinishedToConsumers():500:517 -> V0
    1:1:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1973:1973 -> W
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> W
    2:2:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1974 -> W
    3:3:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1974:1974 -> W
    1:2:void warningReadingKotlinMetadataReflective():1055:1056 -> W0
    1:1:boolean canUseSuppressedExceptions():1929:1929 -> X
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> X
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> X
    2:2:boolean canUseSuppressedExceptions():1929 -> X
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> X
    3:3:boolean canUseSuppressedExceptions():1929 -> X
    1:1:com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions classInlinerOptions():761:761 -> Y
    1:1:com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions desugarSpecificOptions():785:785 -> Z
    1:1:boolean access$000(java.lang.String):0:0 -> a
    2:3:boolean com.android.tools.r8.utils.InternalOptions.isSystemPropertyForDevelopmentSet(java.lang.String):814:815 -> a
    2:3:boolean access$000(java.lang.String):109 -> a
    boolean lambda$new$0(java.lang.String,java.lang.Long) -> a
    4:4:com.android.tools.r8.utils.InternalOptions$InlinerOptions access$200(com.android.tools.r8.utils.InternalOptions):109:109 -> a
    5:6:void setMarker(com.android.tools.r8.dex.Marker):369:370 -> a
    7:8:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):374:375 -> a
    9:15:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):382:388 -> a
    9:15:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):377 -> a
    16:16:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    16:16:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):389 -> a
    16:16:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):377 -> a
    17:22:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):389:394 -> a
    17:22:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):377 -> a
    23:23:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> a
    23:23:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):395 -> a
    23:23:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):377 -> a
    24:33:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):395:404 -> a
    24:33:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):377 -> a
    34:43:void setDumpInputFlags(com.android.tools.r8.utils.DumpInputFlags,boolean):411:420 -> a
    44:45:void setMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel):582:583 -> a
    46:55:boolean isClassMergingExtensionRequired(com.android.tools.r8.shaking.Enqueuer$Mode):680:689 -> a
    56:60:void setDesugaredLibrarySpecificationForTesting(com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path):907:911 -> a
    61:63:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):984:986 -> a
    64:64:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    64:64:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):986 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    65:65:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):986:986 -> a
    66:66:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):984:984 -> a
    67:73: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):1028:1034 -> a
    74:74: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):1029:1029 -> a
    75:76:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1041:1042 -> a
    77:77:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    77:77:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1044 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    78:84:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1044:1050 -> a
    85:85:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1042:1042 -> a
    86:94: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):1070:1078 -> a
    95:95: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):1077:1077 -> a
    96:96: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):1071:1071 -> a
    97:97:com.android.tools.r8.references.MethodReference lambda$warningInvalidLibrarySuperclassForDesugar$1(com.android.tools.r8.graph.DexMethod):1078:1078 -> a
    98:101:void warningMissingEnclosingMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.cf.CfVersion):1083:1086 -> a
    102:106:void warningInvalidParameterAnnotations(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,int,int):1091:1095 -> a
    107:113:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):1100:1106 -> a
    114:114:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):1101:1101 -> a
    115:115:java.util.List lambda$warningInvalidDebugInfo$4(com.android.tools.r8.origin.Origin):1105:1105 -> a
    116:121:boolean methodMatchesFilter(com.android.tools.r8.graph.DexEncodedMethod):1209:1214 -> a
    122:122:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1808:1808 -> a
    123:123:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    123:123:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1808 -> a
    124:125:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1808:1809 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():147:147 -> a0
    1:1:int access$100(java.lang.String,int):0:0 -> b
    2:5:int com.android.tools.r8.utils.InternalOptions.parseSystemPropertyForDevelopmentOrDefault(java.lang.String,int):822:825 -> b
    2:5:int access$100(java.lang.String,int):109 -> b
    6:6:com.android.tools.r8.utils.Box access$300(com.android.tools.r8.utils.InternalOptions):109:109 -> b
    7:40:java.lang.String messageErrorIncompleteNest(com.android.tools.r8.ir.desugar.nest.Nest):990:1023 -> b
    41:41:java.util.List lambda$warningInvalidParameterAnnotations$3(com.android.tools.r8.origin.Origin):1094:1094 -> b
    1:3:void disableAllOptimizations():237:239 -> b0
    1:1:com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions apiModelingOptions():781:781 -> c
    2:2:java.util.List lambda$warningMissingEnclosingMember$2(com.android.tools.r8.origin.Origin):1085:1085 -> c
    1:13:void disableGlobalOptimizations():243:255 -> c0
    14:14:void com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions.disableApiCallerIdentification():1546:1546 -> c0
    14:14:void disableGlobalOptimizations():255 -> c0
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean assertionsEnabled():951:951 -> d
    2:11:void warningExperimentalClassFileVersion(com.android.tools.r8.origin.Origin):1112:1121 -> d
    12:18:void warningExperimentalClassFileVersion(com.android.tools.r8.origin.Origin):1117:1123 -> d
    1:1:void disableNameReflectionOptimization():1775:1775 -> d0
    1:1:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions():757:757 -> e
    1:1:boolean enableBackportedMethodRewriting():1862:1862 -> e0
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> e0
    2:2:boolean enableBackportedMethodRewriting():1862 -> e0
    3:3:boolean enableBackportedMethodRewriting():1862:1862 -> e0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> f
    1:1:boolean canHaveArtCheckCastVerifierBug():2250 -> f
    2:2:boolean canHaveArtCheckCastVerifierBug():2250:2250 -> f
    1:6:void enableProtoShrinking():228:233 -> f0
    1:1:boolean canHaveArtInstanceOfVerifierBug():2205:2205 -> g
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> g
    2:2:boolean canHaveArtInstanceOfVerifierBug():2206 -> g
    3:3:boolean canHaveArtInstanceOfVerifierBug():2206:2206 -> g
    1:5:boolean enableTryWithResourcesDesugaring():1866:1870 -> g0
    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1854:1854 -> g0
    6:6:boolean enableTryWithResourcesDesugaring():1870 -> g0
    7:7:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> g0
    7:7:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779 -> g0
    7:7:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1854 -> g0
    7:7:boolean enableTryWithResourcesDesugaring():1870 -> g0
    8:8:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1779:1779 -> g0
    8:8:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1854 -> g0
    8:8:boolean enableTryWithResourcesDesugaring():1870 -> g0
    9:9:boolean enableTryWithResourcesDesugaring():1872:1872 -> g0
    1:1:boolean canHaveArtStringNewInitBug():2130:2130 -> h
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> h
    2:2:boolean canHaveArtStringNewInitBug():2130 -> h
    3:3:boolean canHaveArtStringNewInitBug():2130:2130 -> h
    1:9:java.util.Set getExtensiveInterfaceMethodMinifierLoggingFilter():802:810 -> h0
    1:1:boolean canHaveBoundsCheckEliminationBug():1991:1991 -> i
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> i
    2:2:boolean canHaveBoundsCheckEliminationBug():1991 -> i
    3:3:boolean canHaveBoundsCheckEliminationBug():1991:1991 -> i
    1:9:java.util.Set getExtensiveLoggingFilter():789:797 -> i0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> j
    1:1:boolean canHaveCmpIfFloatBug():2083 -> j
    2:2:boolean canHaveCmpIfFloatBug():2083:2083 -> j
    1:1:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():429:429 -> j0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():425:425 -> j0
    2:2:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():429 -> j0
    3:3:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():429:429 -> j0
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexIndexed():472:472 -> j0
    4:4:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():430 -> j0
    5:5:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():431:431 -> j0
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():476:476 -> j0
    6:6:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():432 -> j0
    7:7:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():433:433 -> j0
    8:8:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> j0
    8:8:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():434 -> j0
    9:11:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():435:437 -> j0
    1:1:boolean canHaveCmpLongBug():2055:2055 -> k
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> k
    2:2:boolean canHaveCmpLongBug():2055 -> k
    3:3:boolean canHaveCmpLongBug():2055:2055 -> k
    1:1:com.android.tools.r8.utils.AndroidApiLevel getMinApiLevel():578:578 -> k0
    1:1:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2282:2282 -> l
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> l
    2:2:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2282 -> l
    3:3:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2282:2282 -> l
    1:1:com.android.tools.r8.shaking.ProguardConfiguration getProguardConfiguration():155:155 -> l0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> m
    1:1:boolean canHaveDalvikCatchHandlerVerificationBug():2274 -> m
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> m
    2:2:boolean canHaveDalvikCatchHandlerVerificationBug():2274 -> m
    3:3:boolean canHaveDalvikCatchHandlerVerificationBug():2274:2274 -> m
    1:1:com.android.tools.r8.ir.desugar.TypeRewriter getTypeRewriter():919:919 -> m0
    2:2:com.android.tools.r8.ir.desugar.TypeRewriter com.android.tools.r8.ir.desugar.TypeRewriter.empty():18:18 -> m0
    2:2:com.android.tools.r8.ir.desugar.TypeRewriter getTypeRewriter():920 -> m0
    3:3:com.android.tools.r8.ir.desugar.TypeRewriter getTypeRewriter():921:921 -> m0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> n
    1:1:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2296 -> n
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> n
    2:2:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2296 -> n
    3:3:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2296:2296 -> n
    1:1:boolean hasMethodsFilter():1204:1204 -> n0
    1:1:boolean canHaveDex2OatInliningIssue():2122:2122 -> o
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> o
    2:2:boolean canHaveDex2OatInliningIssue():2122 -> o
    3:3:boolean canHaveDex2OatInliningIssue():2122:2122 -> o
    1:1:boolean hasProguardConfiguration():151:151 -> o0
    1:1:boolean canHaveDex2OatLinkedListBug():2114:2114 -> p
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> p
    2:2:boolean canHaveDex2OatLinkedListBug():2114 -> p
    3:3:boolean canHaveDex2OatLinkedListBug():2114:2114 -> p
    1:1:boolean hasUsageInformationConsumer():881:881 -> p0
    1:1:boolean canHaveExceptionTargetingLoopHeaderBug():2163:2163 -> q
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> q
    2:2:boolean canHaveExceptionTargetingLoopHeaderBug():2163 -> q
    3:3:boolean canHaveExceptionTargetingLoopHeaderBug():2163:2163 -> q
    1:1:com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions horizontalClassMergerOptions():769:769 -> q0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> r
    1:1:boolean canHaveExceptionTypeBug():2242 -> r
    2:2:boolean canHaveExceptionTypeBug():2242:2242 -> r
    1:1:com.android.tools.r8.utils.InternalOptions$InlinerOptions inlinerOptions():765:765 -> r0
    1:1:boolean canHaveForwardingInitInliningBug():2151:2151 -> s
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> s
    2:2:boolean canHaveForwardingInitInliningBug():2151 -> s
    3:3:boolean canHaveForwardingInitInliningBug():2151:2151 -> s
    1:1:boolean isDesugaredLibraryCompilation():445:445 -> s0
    1:1:boolean canHaveInvokeInterfaceToObjectMethodBug():2339:2339 -> t
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> t
    2:2:boolean canHaveInvokeInterfaceToObjectMethodBug():2339 -> t
    3:3:boolean canHaveInvokeInterfaceToObjectMethodBug():2339:2339 -> t
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> t0
    1:1:boolean isDesugaring():484 -> t0
    2:2:boolean isDesugaring():484:484 -> t0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> u
    1:1:boolean canHaveLongToIntBug():2229 -> u
    2:2:boolean canHaveLongToIntBug():2229:2229 -> u
    1:1:boolean isGeneratingClassFiles():480:480 -> u0
    1:1:boolean canHaveMul2AddrBug():2105:2105 -> v
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> v
    2:2:boolean canHaveMul2AddrBug():2105 -> v
    3:3:boolean canHaveMul2AddrBug():2105:2105 -> v
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexIndexed():472:472 -> v0
    1:1:boolean isGeneratingDex():468 -> v0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():476:476 -> v0
    2:2:boolean isGeneratingDex():468 -> v0
    1:1:boolean canHaveNumberConversionRegisterAllocationBug():2138:2138 -> w
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> w
    2:2:boolean canHaveNumberConversionRegisterAllocationBug():2138 -> w
    3:3:boolean canHaveNumberConversionRegisterAllocationBug():2138:2138 -> w
    1:1:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():425:425 -> w0
    1:1:boolean isInterfaceMethodDesugaringEnabled():1898 -> w0
    2:4:boolean isInterfaceMethodDesugaringEnabled():1901:1903 -> w0
    1:1:boolean canHaveOverlappingLongRegisterBug():2022:2022 -> x
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> x
    2:2:boolean canHaveOverlappingLongRegisterBug():2022 -> x
    3:3:boolean canHaveOverlappingLongRegisterBug():2022:2022 -> x
    1:1:boolean isKeepAttributesSignatureEnabled():642:642 -> x0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> y
    1:1:boolean canHaveSuperInvokeBug():2327 -> y
    2:2:boolean canHaveSuperInvokeBug():2327:2327 -> y
    1:1:boolean isKeepEnclosingMethodAttributeEnabled():647:647 -> y0
    1:1:boolean canHaveSwitchMaxIntBug():2311:2311 -> z
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():578:578 -> z
    2:2:boolean canHaveSwitchMaxIntBug():2311 -> z
    3:3:boolean canHaveSwitchMaxIntBug():2311:2311 -> z
    1:1:boolean isKeepInnerClassesAttributeEnabled():652:652 -> z0
com.android.tools.r8.utils.InternalOptions$1 -> com.android.tools.r8.internal.Ut:
    int[] $SwitchMap$com$android$tools$r8$utils$OffOrAuto -> a
    1:1:void <clinit>():1866:1866 -> <clinit>
com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions -> com.android.tools.r8.internal.Vt$a:
    java.util.function.BiConsumer tracedMethodApiLevelCallback -> h
    boolean enableApiCallerIdentification -> a
    java.util.Map methodApiMapping -> e
    boolean checkAllApiReferencesAreSet -> b
    java.util.Map fieldApiMapping -> f
    boolean enableStubbingOfClasses -> c
    java.util.Map classApiMapping -> g
    boolean enableOutliningOfMethods -> d
    1:16:void <init>():1509:1524 -> <init>
    1:12:void visitMockedApiLevelsForReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):1528:1539 -> a
    13:13:void lambda$visitMockedApiLevelsForReferences$0(java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference,com.android.tools.r8.utils.AndroidApiLevel):1533:1533 -> a
    14:14:void lambda$visitMockedApiLevelsForReferences$1(java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.FieldReference,com.android.tools.r8.utils.AndroidApiLevel):1537:1537 -> a
    15:15:void lambda$visitMockedApiLevelsForReferences$2(java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.MethodReference,com.android.tools.r8.utils.AndroidApiLevel):1541:1541 -> a
com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions -> com.android.tools.r8.internal.Vt$b:
    com.android.tools.r8.utils.InternalOptions this$0 -> d
    boolean $assertionsDisabled -> e
    boolean enabled -> a
    boolean enableMethodStaticizing -> b
    boolean forceSyntheticsForInstanceInitializers -> c
    1:1:void <clinit>():1291:1291 -> <clinit>
    1:6:void <init>(com.android.tools.r8.utils.InternalOptions):1291:1296 -> <init>
    1:1:void disableOptimization():1299:1299 -> a
    2:2:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnableMethodStaticizing(boolean):1337:1337 -> a
    1:4:boolean isEnabled():1307:1310 -> b
    5:5:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnabled(boolean):1323:1323 -> b
    6:6:void com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions.disableOptimization():1299:1299 -> b
    6:6:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnabled(boolean):1325 -> b
    1:1:boolean isForceSyntheticsForInstanceInitializersEnabled():1314:1314 -> c
    2:2:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setForceSyntheticsForInstanceInitializers(boolean):1332:1332 -> c
    1:1:boolean isMethodStaticizingEnabled():1318:1318 -> d
com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions -> com.android.tools.r8.internal.Vt$c:
    com.android.tools.r8.utils.InternalOptions this$0 -> b
    boolean $assertionsDisabled -> c
    int classInliningInstructionAllowance -> a
    1:1:void <clinit>():1342:1342 -> <clinit>
    1:3:void <init>(com.android.tools.r8.utils.InternalOptions):1342:1344 -> <init>
    1:4:int getClassInliningInstructionAllowance():1347:1350 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    5:5:int getClassInliningInstructionAllowance():1350 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    6:6:int getClassInliningInstructionAllowance():1350 -> a
    7:7:int getClassInliningInstructionAllowance():1353:1353 -> a
com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions -> com.android.tools.r8.internal.Vt$d:
    boolean sortMethodsOnCfOutput -> a
    boolean allowAllDesugaredInput -> b
    boolean noCfMarkerForDesugaredCode -> c
    boolean lambdaClassFieldsFinal -> d
    1:15:void <init>():1274:1288 -> <init>
com.android.tools.r8.utils.InternalOptions$DesugarState -> com.android.tools.r8.internal.Vt$e:
    com.android.tools.r8.utils.InternalOptions$DesugarState OFF -> b
    com.android.tools.r8.utils.InternalOptions$DesugarState ON -> c
    1:2:void <clinit>():124:125 -> <clinit>
    1:1:void <init>(java.lang.String,int):123:123 -> <init>
    1:1:boolean isOff():128:128 -> a
    1:1:boolean isOn():132:132 -> b
com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions -> com.android.tools.r8.internal.Vt$f:
    boolean enableSyntheticMerging -> e
    boolean restrictToSynthetics -> f
    com.android.tools.r8.utils.InternalOptions this$0 -> g
    boolean $assertionsDisabled -> h
    boolean enable -> a
    boolean enableClassInitializerDeadlockDetection -> b
    boolean enableInterfaceMerging -> c
    boolean enableInterfaceMergingInInitial -> d
    1:1:void <clinit>():1407:1407 -> <clinit>
    1:14:void <init>(com.android.tools.r8.utils.InternalOptions):1407:1420 -> <init>
    1:1:void disable():1423:1423 -> a
    2:2:void enableIf(boolean):1435:1435 -> a
    3:9:boolean isEnabled(com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):1455:1461 -> a
    1:1:void disableSyntheticMerging():1427:1427 -> b
    2:8:boolean isInterfaceMergingEnabled(com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):1474:1480 -> b
    1:1:void enable():1431:1431 -> c
    int getMaxClassGroupSize() -> d
    1:1:boolean isClassInitializerDeadlockDetectionEnabled():1451:1451 -> e
    1:1:boolean isRestrictedToSynthetics():1485:1485 -> f
    1:1:boolean isSyntheticMergingEnabled():1470:1470 -> g
    1:1:void setEnableClassInitializerDeadlockDetection():1489:1489 -> h
    1:1:void setEnableInterfaceMerging():1493:1493 -> i
    1:1:void setEnableInterfaceMergingInInitial():1497:1497 -> j
    1:1:void setRestrictToSynthetics():1505:1505 -> k
com.android.tools.r8.utils.InternalOptions$InlinerOptions -> com.android.tools.r8.internal.Vt$g:
    boolean $assertionsDisabled -> m
    boolean enableInliningOfInvokesWithClassInitializationSideEffects -> i
    boolean enableInliningOfInvokesWithNullableReceivers -> j
    int applyInliningToInlineeMaxDepth -> h
    boolean disableInliningOfLibraryMethodOverrides -> k
    int inliningControlFlowResolutionBlocksThreshold -> f
    int inliningInstructionAllowance -> d
    int inliningMonitorEnterValuesAllowance -> e
    int simpleInliningInstructionLimit -> b
    com.android.tools.r8.utils.InternalOptions this$0 -> l
    int[] multiCallerInliningInstructionLimits -> c
    boolean applyInliningToInlinee -> g
    boolean enableInlining -> a
    1:1:void <clinit>():1358:1358 -> <clinit>
    1:33:void <init>(com.android.tools.r8.utils.InternalOptions):1358:1390 -> <init>
    1:5:int getSimpleInliningInstructionLimit():1394:1398 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    6:6:int getSimpleInliningInstructionLimit():1398 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    7:7:int getSimpleInliningInstructionLimit():1398 -> a
    8:8:int getSimpleInliningInstructionLimit():1402:1402 -> a
com.android.tools.r8.utils.InternalOptions$InvalidParameterAnnotationInfo -> com.android.tools.r8.internal.Wt:
    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):838:841 -> <init>
com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions -> com.android.tools.r8.internal.Xt:
    boolean disableKotlinSpecificOptimizations -> a
    1:3:void <init>():1267:1269 -> <init>
com.android.tools.r8.utils.InternalOptions$LineNumberOptimization -> com.android.tools.r8.internal.Vt$h:
    com.android.tools.r8.utils.InternalOptions$LineNumberOptimization OFF -> b
    com.android.tools.r8.utils.InternalOptions$LineNumberOptimization ON -> c
    1:2:void <clinit>():119:120 -> <clinit>
    1:1:void <init>(java.lang.String,int):118:118 -> <init>
com.android.tools.r8.utils.InternalOptions$OutlineOptions -> com.android.tools.r8.internal.Vt$i:
    int threshold -> d
    boolean enabled -> a
    int minSize -> b
    int maxSize -> c
    1:5:void <init>():1259:1263 -> <init>
com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode -> com.android.tools.r8.internal.Vt$j:
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode FLATTEN -> e
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode REPACKAGE -> d
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode MINIFICATION -> c
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode NONE -> b
    1:8:void <clinit>():1229:1236 -> <clinit>
    1:1:void <init>(java.lang.String,int):1227:1227 -> <init>
com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions -> com.android.tools.r8.internal.Vt$k:
    boolean enableEnumLiteProtoShrinking -> e
    boolean enableGeneratedExtensionRegistryShrinking -> a
    boolean enableGeneratedMessageLiteShrinking -> b
    boolean enableGeneratedMessageLiteBuilderShrinking -> c
    boolean traverseOneOfAndRepeatedProtoFields -> d
    1:7:void <init>():1550:1556 -> <init>
    1:1:boolean enableRemoveProtoEnumSwitchMap():1570:1570 -> a
    1:1:boolean isEnumLiteProtoShrinkingEnabled():1581:1581 -> b
    1:1:boolean isProtoShrinkingEnabled():1574:1574 -> c
com.android.tools.r8.utils.InternalOptions$TestingOptions -> com.android.tools.r8.internal.Vt$l:
    boolean allowCheckDiscardedErrors -> m
    boolean disableMarkingClassesFinal -> d0
    boolean keepMetadataInR8IfNotRewritten -> f0
    boolean enableTestAssertions -> b0
    com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData proguardIfRuleEvaluationData -> s0
    boolean reportUnusedProguardConfigurationRules -> u
    boolean allowInvalidCfAccessFlags -> X
    boolean allowTypeErrors -> q
    java.lang.Runnable hookInIrConversion -> q0
    boolean allowStaticInterfaceMethodsForPreNApiLevel -> T
    boolean enableInvokeSuperToInvokeVirtualRewriting -> y
    boolean invertConditionals -> C
    java.util.Set allowedUnusedDontWarnPatterns -> a0
    boolean allowClassInliningOfSynthetics -> n
    java.util.function.BiConsumer irModifier -> K
    java.util.function.BiConsumer enqueuerInspector -> d
    boolean forceNameReflectionOptimization -> I
    java.util.function.Function horizontalClassMergingPolicyRewriter -> h
    boolean alwaysUseExistingAccessInfoCollectionsInMemberRebinding -> v
    com.android.tools.r8.utils.IROrdering irOrdering -> c
    boolean trackDesugaredAPIConversions -> Q
    boolean allowInvokeErrors -> r
    java.util.function.Consumer callSiteOptimizationInfoInspector -> t0
    java.util.function.Predicate cfByteCodePassThrough -> u0
    java.util.Set validInliningReasons -> G
    java.io.PrintStream whyAreYouNotInliningConsumer -> P
    boolean enableExperimentalMapFileVersion -> v0
    boolean verifyInputs -> Y
    boolean enableSwitchToIfRewriting -> z
    boolean measureProguardIfRuleEvaluations -> r0
    boolean readInputStackMaps -> l0
    java.util.function.Consumer processingContextsConsumer -> e
    boolean noLocalsTableOnInput -> H
    int verificationSizeLimitInBytesOverride -> U
    boolean allowOutlinerInterfaceArrayArguments -> n0
    java.util.function.Consumer inlineeIrModifier -> L
    boolean allowConflictingSyntheticTypes -> h0
    boolean allowNonAbstractClassesWithAbstractMethods -> j0
    boolean placeExceptionalBlocksLast -> D
    boolean dontReportFailingCheckDiscarded -> N
    boolean testEnableTestAssertions -> e0
    boolean allowInjectedAnnotationMethods -> o
    java.util.function.BiConsumer verticallyMergedClassesConsumer -> k
    int basicBlockMuncherIterationLimit -> M
    boolean enableRecordModeling -> g0
    boolean enableNarrowAndWideningingChecksInD8 -> J
    java.util.function.BiConsumer horizontallyMergedClassesConsumer -> g
    boolean disableMarkingMethodsFinal -> c0
    boolean forceIRForCfToCfDesugar -> V
    boolean enableCheckCastAndInstanceOfRemoval -> w
    boolean enumUnboxingRewriteJavaCGeneratedMethod -> R
    boolean allowUnnecessaryDontWarnWildcards -> s
    byte[] forceDexVersionBytes -> b
    boolean checkForNotExpandingMainDexTracingResult -> Z
    boolean dontCreateMarkerInD8 -> E
    java.util.function.Consumer waveModifier -> l
    boolean forceRedundantConstNumberRemoval -> A
    com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions minifier -> p0
    java.util.function.BiConsumer unboxedEnumsConsumer -> j
    boolean disableRecordApplicationReaderMap -> O
    boolean allowInliningOfSynthetics -> p
    boolean disableMappingToOriginalProgramVerification -> W
    java.util.function.Function repackagingConfigurationFactory -> f
    boolean enableDeadSwitchCaseElimination -> x
    int limitNumberOfClassesPerDex -> o0
    boolean assertConsistentRenamingOfSignature -> S
    com.android.tools.r8.utils.TriFunction horizontalClassMergingTarget -> i
    boolean allowUnusedDontWarnRules -> t
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer argumentPropagatorEventConsumer -> a
    boolean disableStackMapVerification -> m0
    boolean forceJumboStringProcessing -> F
    boolean enableExperimentalProtoNormalization -> B
    boolean enableD8ResourcesPassThrough -> i0
    boolean verifyKeptGraphInfo -> k0
    1:178:void <init>():1585:1762 -> <init>
    com.android.tools.r8.graph.DexProgramClass lambda$new$0(com.android.tools.r8.graph.AppView,java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass) -> a
    void lambda$new$1(java.util.Deque) -> a
    1:1:void allowExperimentClassFileVersion(com.android.tools.r8.utils.InternalOptions):1588:1588 -> a
com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions -> com.android.tools.r8.internal.Vt$l$a:
    java.util.Comparator interfaceMethodOrdering -> a
    1:3:void <init>():1733:1735 -> <init>
    1:2:java.util.Comparator getInterfaceMethodOrderingOrDefault(java.util.Comparator):1739:1740 -> 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):1741:1741 -> a
com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData -> com.android.tools.r8.internal.Vt$l$b:
    int numberOfProguardIfRuleMemberEvaluations -> b
    int numberOfProguardIfRuleClassEvaluations -> a
    1:4:void <init>():1751:1754 -> <init>
com.android.tools.r8.utils.InternalOptions$TypeVersionPair -> com.android.tools.r8.internal.Yt:
    com.android.tools.r8.cf.CfVersion version -> a
    com.android.tools.r8.graph.DexType type -> b
    1:3:void <init>(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.DexType):850:852 -> <init>
com.android.tools.r8.utils.InternalOutputMode -> com.android.tools.r8.internal.Zt:
    com.android.tools.r8.utils.InternalOutputMode ClassFile -> d
    com.android.tools.r8.utils.InternalOutputMode DexIndexed -> b
    com.android.tools.r8.utils.InternalOutputMode DexFilePerClassFile -> c
    1:3:void <clinit>():8:10 -> <clinit>
    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.internal.Ju:
    1:7:boolean allIdentical(java.lang.Iterable,java.util.function.Function):27:33 -> a
    8:9:boolean any(java.lang.Iterable,java.util.function.Function,java.util.function.Predicate):43:44 -> a
    10:10:java.lang.Iterable filter(java.lang.Iterable,java.util.function.Predicate):92:92 -> a
    11:11:int size(java.lang.Iterable):111:111 -> a
    12:12:java.util.Iterator lambda$singleton$1(java.lang.Object):132:132 -> a
    13:14:int sumInt(java.lang.Iterable,java.util.function.Function):152:153 -> a
    15:15:java.lang.Iterable flatten(java.lang.Iterable):157:157 -> a
    16:16:java.lang.Iterable flatMap(java.lang.Iterable,java.util.function.Function):162:162 -> a
    17:27:boolean testPairs(java.util.function.BiPredicate,java.lang.Iterable,java.lang.Iterable):183:193 -> a
    1:2:java.lang.Object findOrDefault(java.lang.Iterable,java.util.function.Predicate,java.lang.Object):68:69 -> b
    3:3:java.lang.Iterable transform(java.lang.Iterable,java.util.function.Function):124:124 -> b
    4:4:java.lang.Iterable singleton(java.lang.Object):132:132 -> b
    5:5:int sumInt(java.lang.Iterable):148:148 -> b
    6:7:java.lang.Object com.android.tools.r8.utils.IterableUtils.reduce(java.lang.Object,java.util.function.BiFunction,java.lang.Iterable):141:142 -> b
    6:7:int sumInt(java.lang.Iterable):148 -> b
    8:8:int sumInt(java.lang.Iterable):148:148 -> b
    1:2:int firstIndexMatching(java.lang.Iterable,java.util.function.Predicate):82:83 -> c
    3:4:java.util.List toNewArrayList(java.lang.Iterable):118:119 -> c
    1:1:java.util.Iterator lambda$filter$0(java.lang.Iterable,java.util.function.Predicate):92:92 -> d
    2:2:java.util.Iterator com.android.tools.r8.utils.IteratorUtils.filter(java.util.Iterator,java.util.function.Predicate):49:49 -> d
    2:2:java.util.Iterator lambda$filter$0(java.lang.Iterable,java.util.function.Predicate):92 -> d
com.android.tools.r8.utils.IteratorUtils -> com.android.tools.r8.internal.Su:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:java.util.Iterator createCircularIterator(java.lang.Iterable):21:22 -> a
    3:5:int countRemaining(java.util.Iterator):42:44 -> a
    6:6:void lambda$countRemaining$0(com.android.tools.r8.utils.IntBox,java.lang.Object):43:43 -> a
    7:7:java.util.Iterator filter(java.util.Iterator,java.util.function.Predicate):49:49 -> a
    8:11:java.lang.Object peekNext(java.util.ListIterator):99:102 -> a
    12:14:java.lang.Object previousUntilUnsafe(java.util.ListIterator,java.util.function.Predicate):119:121 -> a
    15:27:boolean anyRemainingMatch(java.util.ListIterator,java.util.function.Predicate):179:191 -> a
    1:3:java.lang.Object nextUntil(java.util.Iterator,java.util.function.Predicate):82:84 -> b
    4:6:java.lang.Object peekPrevious(java.util.ListIterator):92:94 -> b
    7:13:java.lang.Object previousUntil(java.util.ListIterator,java.util.function.Predicate):109:115 -> b
com.android.tools.r8.utils.IteratorUtils$1 -> com.android.tools.r8.internal.Qu:
    java.util.Iterator iterator -> b
    java.lang.Iterable val$iterable -> c
    1:3:void <init>(java.lang.Iterable):22:24 -> <init>
    1:4:java.lang.Object next():33:36 -> next
com.android.tools.r8.utils.IteratorUtils$2 -> com.android.tools.r8.internal.Ru:
    java.util.Iterator val$iterator -> c
    java.lang.Object next -> b
    java.util.function.Predicate val$predicate -> d
    1:3:void <init>(java.util.Iterator,java.util.function.Predicate):49:51 -> <init>
    1:1:boolean hasNext():66:66 -> hasNext
    1:3:java.lang.Object advance():55:57 -> j
    1:5:java.lang.Object next():71:75 -> next
    6:6:java.lang.Object next():73:73 -> next
com.android.tools.r8.utils.JoiningStringConsumer -> com.android.tools.r8.internal.rv:
    com.android.tools.r8.StringConsumer consumer -> c
    java.lang.String separator -> b
    java.lang.StringBuilder builder -> d
    1:1:void <init>(com.android.tools.r8.StringConsumer,java.lang.String):22:22 -> <init>
    2:10:void <init>(com.android.tools.r8.StringConsumer,java.lang.String):16:24 -> <init>
    1:1:com.android.tools.r8.StringConsumer getConsumer():42:42 -> a
    1:4:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):29:32 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):37:38 -> finished
com.android.tools.r8.utils.LRUCacheTable -> com.android.tools.r8.internal.mA:
    int rowCapacity -> b
    int columnCapacity -> c
    1:3:void <init>(int,int,float):31:33 -> <init>
    1:1:java.util.Map lambda$put$0(java.lang.Object):46:46 -> a
    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 -> f
    1:1:boolean removeEldestEntry(java.util.Map$Entry):42:42 -> removeEldestEntry
com.android.tools.r8.utils.LRUCacheTable$LRUCacheRow -> com.android.tools.r8.internal.lA:
    int columnCapacity -> b
    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.internal.LA:
    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 -> d
com.android.tools.r8.utils.LebUtils -> com.android.tools.r8.internal.QA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():10:10 -> <clinit>
    1:6:int parseSleb128(com.android.tools.r8.dex.BinaryReader):65:70 -> a
    7:19:byte[] encodeSleb128(int):76:88 -> a
    20:20:void putSleb128(com.android.tools.r8.dex.DexOutputBuffer,int):99:99 -> a
    1:6:int parseUleb128(com.android.tools.r8.dex.BinaryReader):21:26 -> b
    7:16:byte[] encodeUleb128(int):32:41 -> b
    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.LensUtils -> com.android.tools.r8.internal.cB:
    1:1:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.GraphLens.rewriteReference(com.android.tools.r8.graph.DexReference):640:640 -> a
    1:1:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):28 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31:31 -> a
    3:3:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    3:3:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31 -> a
    4:7:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31:34 -> a
com.android.tools.r8.utils.LibraryClassCollection -> com.android.tools.r8.internal.eB:
    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
    3:5:com.android.tools.r8.graph.DexLibraryClass com.android.tools.r8.utils.LibraryClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexLibraryClass):20:22 -> a
    3:5:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):13 -> a
    6:6:com.android.tools.r8.graph.DexLibraryClass com.android.tools.r8.utils.LibraryClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexLibraryClass):21:21 -> a
    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():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"2":42,"3":43}}
    41:41:java.lang.String toString():39:39 -> toString
    42:42:java.lang.String toString():39:39 -> toString
    43:43:java.lang.String toString():39:39 -> toString
    40:40:java.lang.String toString():39:39 -> toString
com.android.tools.r8.utils.LineNumberOptimizer -> com.android.tools.r8.internal.KB:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():90:90 -> <clinit>
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> a
    1:1:void lambda$getMappedRangesForPosition$11(java.lang.Object):799 -> a
    2:2:com.android.tools.r8.ir.code.Position access$1300(com.android.tools.r8.graph.DexDebugPositionState):90:90 -> a
    3:3:void access$1700(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):90:90 -> a
    4:14:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId runAndWriteMap(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.OriginalSourceFiles):338:348 -> a
    15:23: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,com.android.tools.r8.utils.OriginalSourceFiles):471:479 -> a
    24:24:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1883:1883 -> a
    24:24: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,com.android.tools.r8.utils.OriginalSourceFiles):479 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1883:1883 -> a
    25:25: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,com.android.tools.r8.utils.OriginalSourceFiles):479 -> a
    26:30: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,com.android.tools.r8.utils.OriginalSourceFiles):479:483 -> a
    31:31:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    31:31: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,com.android.tools.r8.utils.OriginalSourceFiles):483 -> a
    32:32:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    32:32:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    32:32: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,com.android.tools.r8.utils.OriginalSourceFiles):483 -> a
    33: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,com.android.tools.r8.utils.OriginalSourceFiles):486:516 -> a
    64:64: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,com.android.tools.r8.utils.OriginalSourceFiles):515:515 -> a
    65:67:void com.android.tools.r8.utils.LineNumberOptimizer.addClassToClassNaming(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,java.util.function.Supplier):887:889 -> a
    65: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,com.android.tools.r8.utils.OriginalSourceFiles):520 -> 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,com.android.tools.r8.utils.OriginalSourceFiles):524:524 -> a
    69:87: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,com.android.tools.r8.utils.OriginalSourceFiles):523:541 -> a
    88:88:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):808:808 -> a
    88:88: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,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
    89:89:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    89:89:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):808 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:89: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,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
    90:90:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():480:480 -> a
    90:90:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):808 -> a
    90:90: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,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
    91:106:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):808:823 -> a
    91:106: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,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
    107:107:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():618:618 -> a
    107:107:boolean com.android.tools.r8.shaking.KeepInfoCollection.isMinificationAllowed(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):186 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    107:107:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):823 -> a
    107:107: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,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
    108:108:boolean com.android.tools.r8.shaking.KeepInfoCollection.isMinificationAllowed(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):187:187 -> a
    108:108:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):823 -> a
    108:108: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,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
    109:125:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):827:843 -> a
    109:125: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,com.android.tools.r8.utils.OriginalSourceFiles):541 -> a
    126:144: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,com.android.tools.r8.utils.OriginalSourceFiles):545:563 -> a
    145:145:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1887:1887 -> a
    145:145: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,com.android.tools.r8.utils.OriginalSourceFiles):563 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    146:146:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1887:1887 -> a
    146:146: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,com.android.tools.r8.utils.OriginalSourceFiles):563 -> a
    147:149: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,com.android.tools.r8.utils.OriginalSourceFiles):563:565 -> a
    150:158:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.DexCode):947:955 -> a
    150:158: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,com.android.tools.r8.utils.OriginalSourceFiles):565 -> a
    159:171:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1123:1135 -> a
    159:171: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,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
    172:172:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    172:172:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    172:172: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,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
    173:206:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1135:1168 -> a
    173:206: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,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
    207:222:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1165:1180 -> a
    207:222: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,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
    223:226:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1179:1182 -> a
    223:226: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,com.android.tools.r8.utils.OriginalSourceFiles):568 -> a
    227:227: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,com.android.tools.r8.utils.OriginalSourceFiles):573:573 -> a
    228:241:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):978:991 -> a
    228:241: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    242:242:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    242:242:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):991 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    242:242: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    243:252:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):991:1000 -> a
    243:252: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    253:253:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    253:253:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1000 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    253:253: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    254:331:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1000:1077 -> a
    254:331: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    332:332:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1883:1883 -> a
    332:332:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1077 -> a
    332: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    333:333:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1883:1883 -> a
    333:333:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1077 -> a
    333:333: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    334:346:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1078:1090 -> a
    334:346: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    347:350:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyIdentityMapping(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo,com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):1189:1192 -> a
    347:350:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1091 -> a
    347:350: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    351:351:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1093:1093 -> a
    351:351: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,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    352:353: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,com.android.tools.r8.utils.OriginalSourceFiles):575:576 -> a
    354:356:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):963:965 -> a
    354:356: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,com.android.tools.r8.utils.OriginalSourceFiles):576 -> a
    357:357: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,com.android.tools.r8.utils.OriginalSourceFiles):577:577 -> a
    358:370:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1199:1211 -> a
    358:370: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,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
    371:382:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1231:1242 -> a
    371:382:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1211 -> a
    371:382: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,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
    383:383:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1234:1234 -> a
    383:383:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1211 -> a
    383:383: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,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
    384:397:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1211:1224 -> a
    384:397: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,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
    398:398:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177:177 -> a
    398:398:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1224 -> a
    398:398: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,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
    399:399:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):203:203 -> a
    399:399:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    399:399:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1224 -> a
    399:399: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,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
    400:400:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):195:195 -> a
    400:400:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):177 -> a
    400:400:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1224 -> a
    400:400: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,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
    401:401:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1217:1217 -> a
    401:401: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,com.android.tools.r8.utils.OriginalSourceFiles):578 -> a
    402:409: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,com.android.tools.r8.utils.OriginalSourceFiles):580:587 -> a
    410:410:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    410:410: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,com.android.tools.r8.utils.OriginalSourceFiles):587 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    411:429: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,com.android.tools.r8.utils.OriginalSourceFiles):588:606 -> a
    430:458: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,com.android.tools.r8.utils.OriginalSourceFiles):604:632 -> a
    459:466:com.android.tools.r8.graph.DexMethod com.android.tools.r8.utils.LineNumberOptimizer.getOutlineMethod(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):757:764 -> a
    459:466: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,com.android.tools.r8.utils.OriginalSourceFiles):632 -> a
    467:469: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,com.android.tools.r8.utils.OriginalSourceFiles):634:636 -> a
    470:470:com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation$Builder.build():56:56 -> a
    470:470: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,com.android.tools.r8.utils.OriginalSourceFiles):637 -> a
    471:536: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,com.android.tools.r8.utils.OriginalSourceFiles):637:702 -> a
    537:575: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,com.android.tools.r8.utils.OriginalSourceFiles):694:732 -> a
    576:586: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,com.android.tools.r8.utils.OriginalSourceFiles):731:741 -> a
    587:600: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,com.android.tools.r8.utils.OriginalSourceFiles):740:753 -> a
    601:602: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):497:498 -> a
    603:603: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):496:496 -> a
    604:604:void lambda$run$4(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):620:620 -> a
    605:605:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):628:628 -> a
    606:606:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$5(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):629:629 -> a
    607:621:void lambda$run$9(boolean,int,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,java.lang.String,java.lang.Integer,com.android.tools.r8.ir.code.Position):714:728 -> a
    622:622:void lambda$run$9(boolean,int,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,java.lang.String,java.lang.Integer,com.android.tools.r8.ir.code.Position):720:720 -> a
    623:623:com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder lambda$run$10(com.android.tools.r8.graph.DexMethod):732:732 -> a
    624:624:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):779:779 -> a
    625:637:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):777:789 -> a
    638:645:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):786:793 -> a
    646:646:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation.builder():109:109 -> a
    646:646:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):793 -> a
    647:650:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):793:796 -> a
    651:651:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):795:795 -> a
    652:652:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):794:794 -> a
    653:653:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.create(int):269:269 -> a
    653:653:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):797 -> a
    654:655:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):797:798 -> a
    656:665:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):792:801 -> a
    666:666:void sortMethods(java.util.List):871:871 -> a
    667:668:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):873:874 -> a
    669:669:int com.android.tools.r8.graph.DexEncodedMethod.slowCompare(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1232:1232 -> a
    669:669:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):877 -> a
    670:670:void addFieldsToClassNaming(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.function.Supplier):899:899 -> a
    671:675:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):901:905 -> a
    676:676:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):185:185 -> a
    676:676:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):906 -> a
    677:677:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():190:190 -> a
    677:677:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
    677:677:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):906 -> a
    678:678:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():190:190 -> a
    678:678:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    678:678:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):906 -> a
    679:679:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():190:190 -> a
    679:679:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
    679:679:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):906 -> a
    680:681:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186:187 -> a
    680:681:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):906 -> a
    682:683:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):907:908 -> a
    684:690:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):915:921 -> a
    691:691:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    691:691:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):922 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    692:696:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):923:927 -> a
    697:697:java.util.List lambda$groupMethodsByRenamedName$14(com.android.tools.r8.graph.DexString):926:926 -> a
    698:703:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):934:939 -> a
    704:712:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.DexCode):947:955 -> a
    704:712:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):939 -> a
    713:714:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):940:941 -> a
    715:717:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):963:965 -> a
    715:717:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):941 -> a
    718:729:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1231:1242 -> a
    718:729:com.android.tools.r8.ir.code.Position access$1400(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):90 -> a
    730:730:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1234:1234 -> a
    730:730:com.android.tools.r8.ir.code.Position access$1400(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):90 -> a
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> b
    1:1:void lambda$run$1(java.lang.Object):508 -> b
    2:2:com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder lambda$run$7(com.android.tools.r8.graph.DexMethod):635:635 -> b
    3:16:int getMethodStartLine(com.android.tools.r8.graph.DexEncodedMethod):849:862 -> b
    17:33:com.android.tools.r8.ir.code.Position getPositionFromPositionState(com.android.tools.r8.graph.DexDebugPositionState):1099:1115 -> b
    34:48:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1252:1266 -> b
    49:49:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1256:1256 -> b
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> c
    1:1:void lambda$run$2(java.lang.Object):516 -> c
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> d
    1:1:void lambda$run$3(java.lang.Object):620 -> d
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> e
    1:1:void lambda$run$8(java.lang.Object):704 -> e
com.android.tools.r8.utils.LineNumberOptimizer$1 -> com.android.tools.r8.internal.yB:
    java.util.List val$processedEvents -> o
    boolean $assertionsDisabled -> p
    int emittedPc -> j
    com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter val$positionEventEmitter -> k
    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> l
    com.android.tools.r8.utils.Box val$inlinedOriginalPosition -> n
    java.util.List val$mappedPositions -> m
    1:1:void <clinit>():1000:1000 -> <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):1000:1003 -> <init>
    1:3:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():1007:1009 -> a
    1:3:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):1057 -> a
    4:4:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):1058:1058 -> a
    5:7:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():1007:1009 -> a
    5:7:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):1063 -> a
    8:8:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):1064:1064 -> a
    9:11:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():1007:1009 -> a
    9:11:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):1051 -> a
    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):1052:1052 -> a
    13:22:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1016:1025 -> a
    23:23:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):1034:1034 -> a
    24:24:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):1039:1039 -> a
    25:25:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):1044:1044 -> a
com.android.tools.r8.utils.LineNumberOptimizer$2 -> com.android.tools.r8.internal.zB:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> l
    com.android.tools.r8.utils.BooleanBox val$singleOriginalLine -> k
    java.util.List val$mappedPositions -> m
    com.android.tools.r8.utils.Pair val$lastPosition -> j
    1:1:void <clinit>():1135:1135 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1135:1135 -> <init>
    1:12:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1138:1149 -> a
    13:22:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1146:1155 -> a
com.android.tools.r8.utils.LineNumberOptimizer$IdentityPositionRemapper -> com.android.tools.r8.internal.AB:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():100:100 -> <clinit>
    1:1:void <init>():100:100 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):100:100 -> <init>
    1:2:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):105:106 -> a
com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper -> com.android.tools.r8.internal.BB:
    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
    1:1:void <clinit>():146:146 -> <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):146:146 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper):161:161 -> <init>
    3:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper):150:165 -> <init>
    1:1:com.android.tools.r8.graph.DexEncodedMethod access$302(com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper,com.android.tools.r8.graph.DexEncodedMethod):146:146 -> a
    2:4:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):170:172 -> a
    5:17:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper.getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):233:245 -> a
    5:17:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):172 -> a
    18:18:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper.getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):237:237 -> a
    18:18:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):172 -> a
    19:35:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):174:190 -> a
    36:38:java.lang.String com.android.tools.r8.utils.CfLineToMethodMapper.getName(java.lang.String):74:76 -> a
    36:38:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):191 -> a
    39:41:java.lang.String com.android.tools.r8.utils.CfLineToMethodMapper.getDescriptor(java.lang.String):80:82 -> a
    39:41:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):192 -> a
    42:52:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):193:203 -> a
    53:75:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):200:222 -> a
    76:88:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):217:229 -> a
com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition -> com.android.tools.r8.internal.CB:
    boolean isOutline -> e
    com.android.tools.r8.graph.DexMethod outlineCallee -> f
    int obfuscatedLine -> d
    int originalLine -> b
    com.android.tools.r8.ir.code.Position caller -> c
    com.android.tools.r8.graph.DexMethod method -> a
    com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> g
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.ir.code.Position,int,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap,com.android.tools.r8.utils.LineNumberOptimizer$1):300:300 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.ir.code.Position,int,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):317:324 -> <init>
    1:1:boolean access$1000(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> a
    2:2:boolean isOutlineCaller():328:328 -> a
    1:1:int access$400(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> b
    1:1:int access$500(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> c
    1:1:com.android.tools.r8.graph.DexMethod access$600(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> d
    1:1:com.android.tools.r8.ir.code.Position access$700(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> e
    1:1:com.android.tools.r8.graph.DexMethod access$800(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> f
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap access$900(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):300:300 -> g
com.android.tools.r8.utils.LineNumberOptimizer$NativePcSupport -> com.android.tools.r8.internal.DB:
    1:1:void <init>():438:438 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):438:438 -> <init>
    void updateDebugInfoInCodeObjects() -> a
    1:1:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int):449:449 -> a
    2:2:void com.android.tools.r8.utils.LineNumberOptimizer$NativePcSupport.recordSingleLineFor(com.android.tools.r8.graph.DexCode,int):449:449 -> a
    2:2:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int,int):454 -> a
    1:1:void recordPcMappingFor(com.android.tools.r8.graph.DexCode,int,int):443:443 -> b
com.android.tools.r8.utils.LineNumberOptimizer$OptimizingPositionRemapper -> com.android.tools.r8.internal.EB:
    boolean $assertionsDisabled -> e
    int nextOptimizedLineNumber -> d
    com.android.tools.r8.graph.DexMethod previousMethod -> b
    int previousSourceLine -> c
    int maxLineDelta -> a
    1:1:void <clinit>():110:110 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):116:116 -> <init>
    2:10:void <init>(com.android.tools.r8.utils.InternalOptions):112:120 -> <init>
    1:18:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):125:142 -> a
com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder -> com.android.tools.r8.internal.FB:
    java.util.List mappedOutlineCalleePositions -> b
    java.util.List mappedOutlinePositions -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():1270:1270 -> <clinit>
    1:6:void <init>():1270:1275 -> <init>
    7:7:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):1270:1270 -> <init>
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> a
    1:1:void lambda$fixup$1(java.lang.Object):1306 -> a
    2:2:void setMappedPositionsOutline(java.util.List):1279:1279 -> a
    3:3:void addMappedRangeForOutlineCallee(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):1284:1284 -> a
    4:12:void fixup():1288:1296 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.<init>():176:176 -> a
    13:13:void fixup():1296 -> a
    14:23:void fixup():1297:1306 -> a
    24:24:void fixup():1305:1305 -> a
    25:26:void fixup():1289:1290 -> a
    27:27:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1300:1300 -> a
    28:30:int com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder.getMinifiedLinePosition(int,java.util.List):1312:1314 -> a
    28:30:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1300 -> a
    31:31:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1302:1302 -> a
com.android.tools.r8.utils.LineNumberOptimizer$Pc2PcMappingSupport -> com.android.tools.r8.internal.GB:
    java.util.List codesToUpdate -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap paramToMaxPc -> a
    java.util.List singleLineCodesToClear -> c
    1:1:void <init>(boolean):382:382 -> <init>
    2:11:void <init>(boolean):374:383 -> <init>
    1:6:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int):397:402 -> a
    7:11:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int,int):407:411 -> a
    12:13:void updateDebugInfoInCodeObjects():416:417 -> a
    14:14:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
    14:14:void updateDebugInfoInCodeObjects():417 -> a
    15:26:void updateDebugInfoInCodeObjects():418:429 -> a
    27:31:void lambda$updateDebugInfoInCodeObjects$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.utils.Pair):420:424 -> a
    32:35:void lambda$updateDebugInfoInCodeObjects$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.utils.Pair):423:426 -> a
    36:36:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):425:425 -> a
    37:38:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.get(java.lang.Object):120:121 -> a
    37:38:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):425 -> a
    39:39:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):425:425 -> a
    40:40:com.android.tools.r8.graph.DexDebugInfo com.android.tools.r8.utils.LineNumberOptimizer$Pc2PcMappingSupport.buildPc2PcDebugInfo(int,int):434:434 -> a
    40:40:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):425 -> a
    41:41:void lambda$updateDebugInfoInCodeObjects$2(com.android.tools.r8.graph.DexCode):429:429 -> a
    1:4:void recordPcMappingFor(com.android.tools.r8.graph.DexCode,int,int):388:391 -> b
com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder -> com.android.tools.r8.internal.HB:
    void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int) -> a
    void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int,int) -> a
    void updateDebugInfoInCodeObjects() -> a
    void recordPcMappingFor(com.android.tools.r8.graph.DexCode,int,int) -> b
com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter -> com.android.tools.r8.internal.IB:
    java.util.List processedEvents -> f
    int previousPc -> d
    boolean $assertionsDisabled -> g
    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
    1:1:void <clinit>():256:256 -> <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):256:256 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List):265:265 -> <init>
    3:13:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List):258:268 -> <init>
    1:1:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitAdvancePc(int):272:272 -> a
    1:1:void access$1200(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int):256 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:3:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitAdvancePc(int):272:273 -> a
    2:3:void access$1200(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int):256 -> a
    4:4:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitPositionEvents(int,com.android.tools.r8.ir.code.Position):277:277 -> a
    4:4:void access$1500(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int,com.android.tools.r8.ir.code.Position):256 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:17:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitPositionEvents(int,com.android.tools.r8.ir.code.Position):278:290 -> a
    5:17:void access$1500(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int,com.android.tools.r8.ir.code.Position):256 -> a
    18:18:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():294:294 -> a
    18:18:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):256 -> a
    19:19:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():294:294 -> a
    19:19:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):256 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():294:294 -> a
    20:20:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):256 -> a
    21:21:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():295:295 -> a
    21:21:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):256 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper -> com.android.tools.r8.internal.JB:
    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.internal.WB:
    1:2:java.util.List flatMap(java.util.List,java.util.function.Function):52:53 -> a
    3:3:void lambda$flatMap$0(java.util.List,java.util.function.Function,java.lang.Object):53:53 -> a
    4:5:java.util.List filter(java.util.Collection,java.util.function.Predicate):58:59 -> a
    6:7:void lambda$filter$1(java.util.function.Predicate,java.util.ArrayList,java.lang.Object):61:62 -> a
    8:8:java.lang.Object first(java.util.List):69:69 -> a
    9:11:java.util.List map(java.lang.Object[],java.util.function.Function):100:102 -> a
    12:14:java.util.List map(java.util.Collection,java.util.function.Function):116:118 -> a
    15:15:java.lang.Object lambda$mapOrElse$2(java.util.function.Function,int,java.lang.Object):139:139 -> a
    16:16:java.util.List mapOrElse(java.util.List,java.util.function.Function,java.util.List):139:139 -> a
    17:32:java.util.List mapOrElse(java.util.List,com.android.tools.r8.utils.IntObjToObjFunction,java.util.List):149:164 -> a
    33:33:java.lang.Object lambda$filterOrElse$3(java.util.function.Predicate,java.lang.Object):184:184 -> a
    34:35:java.util.ArrayList newArrayList(com.android.tools.r8.utils.ForEachable):201:202 -> a
    36:37:java.util.LinkedList newLinkedList(java.lang.Object):221:222 -> a
    38:39:java.lang.Object fold(java.util.Collection,java.lang.Object,java.util.function.BiFunction):255:256 -> a
    40:41:void forEachWithIndex(java.util.List,com.android.tools.r8.utils.ListUtils$ReferenceAndIntConsumer):262:263 -> a
    42:42:void destructiveSort(java.util.List,java.util.Comparator):272:272 -> a
    1:15:java.util.List flatMapSameType(java.util.List,java.util.function.Function,java.util.List):31:45 -> b
    16:16:java.lang.Object last(java.util.List):87:87 -> b
    17:17:java.util.List filterOrElse(java.util.List,java.util.function.Predicate):184:184 -> b
    18:20:com.android.tools.r8.com.google.common.collect.ImmutableList newImmutableList(com.android.tools.r8.utils.ForEachable):215:217 -> b
    1:2:int firstIndexMatching(java.util.List,java.util.function.Predicate):78:79 -> c
    1:2:int lastIndexMatching(java.util.List,java.util.function.Predicate):91:92 -> d
    1:3:int uniqueIndexMatching(java.util.List,java.util.function.Predicate):284:286 -> e
com.android.tools.r8.utils.ListUtils$ReferenceAndIntConsumer -> com.android.tools.r8.internal.VB:
com.android.tools.r8.utils.LongInterval -> com.android.tools.r8.internal.JC:
    long max -> b
    long min -> a
    boolean $assertionsDisabled -> c
    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>
    1:1:long getMax():32:32 -> a
    2:2:boolean containsValue(long):45:45 -> a
    3:3:boolean overlapsWith(com.android.tools.r8.utils.LongInterval):53:53 -> a
    1:1:long getMin():28:28 -> b
    1:2:long getSingleValue():40:41 -> c
    1:1:boolean isSingleValue():36:36 -> d
    1:2:boolean equals(java.lang.Object):66:67 -> equals
    1:1:int hashCode():58:58 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":76,"2":77,"3":78}}
    76:76:java.lang.String toString():74:74 -> toString
    77:77:java.lang.String toString():74:74 -> toString
    78:78:java.lang.String toString():74:74 -> toString
    75:75:java.lang.String toString():74:74 -> toString
com.android.tools.r8.utils.MainDexListParser -> com.android.tools.r8.internal.gD:
    1:1:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):21:21 -> a
    2:2:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"3":42}}
    41:41:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):24:24 -> a
    42:42:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):24:24 -> a
    27:31:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):25:29 -> a
    32:32:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    33:33:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":44,"2":45,"3":46,"4":47,"5":48,"6":49}}
    44:44:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    45:45:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    46:46:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    47:47:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    48:48:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    49:49:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    34:34:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    34:34:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26 -> a
    35:35:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    36:36:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    37:37:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":50,"2":51,"3":52,"4":53,"5":54,"6":55}}
    50:50:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    51:51:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    52:52:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    53:53:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    54:54:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    55:55:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    38:38:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    38:38:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22 -> a
    39:39:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    56:74:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):35:53 -> a
    75:75:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37:37 -> a
    76:76:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    76:76:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37 -> a
    77:77:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37:37 -> a
com.android.tools.r8.utils.MapIdTemplateProvider -> com.android.tools.r8.internal.iD:
    java.util.Map HANDLERS -> c
    java.lang.String template -> a
    java.lang.String cachedValue -> b
    boolean $assertionsDisabled -> d
    1:6:void <clinit>():12:17 -> <clinit>
    7:7:java.lang.String com.android.tools.r8.utils.MapIdTemplateProvider.var(java.lang.String):22:22 -> <clinit>
    7:7:void <clinit>():18 -> <clinit>
    8:9:void <clinit>():18:19 -> <clinit>
    1:1:void <init>(java.lang.String):57:57 -> <init>
    2:5:void <init>(java.lang.String):55:58 -> <init>
    1:6:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):35:40 -> a
    7:8:int com.android.tools.r8.utils.MapIdTemplateProvider.getMaxVariableLength():27:28 -> a
    7:8:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):43 -> a
    9:11:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):43:45 -> a
    12:12:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":64,"2":65,"3":66,"4":67,"5":68}}
    64:64:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    65:65:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    66:66:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    67:67:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    68:68:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    57:63:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:51 -> a
    69:69:void lambda$get$0(com.android.tools.r8.MapIdEnvironment,java.lang.String,com.android.tools.r8.MapIdProvider):67:67 -> a
    1:8:java.lang.String get(com.android.tools.r8.MapIdEnvironment):63:70 -> get
com.android.tools.r8.utils.MapUtils -> com.android.tools.r8.internal.lD:
    1:1:java.util.Map clone(java.util.Map,java.util.Map,java.util.function.Function):26:26 -> a
    2:2:void lambda$clone$0(java.util.Map,java.util.function.Function,java.lang.Object,java.lang.Object):26:26 -> a
    3:3:java.util.function.Function ignoreKey(java.util.function.Supplier):39:39 -> a
    4:4:java.lang.Object lambda$ignoreKey$1(java.util.function.Supplier,java.lang.Object):39:39 -> a
    5:6:java.util.IdentityHashMap newIdentityHashMap(com.android.tools.r8.utils.BiForEachable):43:44 -> a
    7:7:boolean lambda$removeIdentityMappings$2(java.util.Map$Entry):49:49 -> a
    8:8:void removeIdentityMappings(java.util.Map):49:49 -> a
    9:9:boolean lambda$removeIf$3(java.util.function.BiPredicate,java.util.Map$Entry):53:53 -> a
    10:10:void removeIf(java.util.Map,java.util.function.BiPredicate):53:53 -> a
    11:11:java.util.Map transform(java.util.Map,java.util.function.IntFunction,java.util.function.Function,java.util.function.Function,com.android.tools.r8.utils.TriFunction):67:67 -> a
    12:12:java.lang.Object lambda$transform$5(java.util.function.Function,java.lang.Object,java.lang.Object):70:70 -> a
    13:14:java.util.Map transform(java.util.Map,java.util.function.IntFunction,java.util.function.BiFunction,java.util.function.BiFunction,com.android.tools.r8.utils.TriFunction):81:82 -> a
    15:22:void lambda$transform$7(java.util.function.BiFunction,java.util.function.BiFunction,java.util.Map,com.android.tools.r8.utils.TriFunction,java.lang.Object,java.lang.Object):84:91 -> a
    1:1:java.lang.String lambda$toString$4(java.util.Map$Entry):58:58 -> b
    2:2:java.lang.String toString(java.util.Map):58:58 -> b
    3:3:java.lang.String toString(java.util.Map):57:57 -> b
    4:4:java.lang.Object lambda$transform$6(java.util.function.Function,java.lang.Object,java.lang.Object):71:71 -> b
com.android.tools.r8.utils.MethodJavaSignatureEquivalence -> com.android.tools.r8.internal.tE:
    com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE_IGNORE_NAME -> c
    com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE -> b
    boolean ignoreName -> a
    1:4:void <clinit>():17:20 -> <clinit>
    1:2:void <init>(boolean):25:26 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):15:15 -> a
    2:5:boolean com.android.tools.r8.utils.MethodJavaSignatureEquivalence.doEquivalent(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):39:42 -> a
    2:5:boolean doEquivalent(java.lang.Object,java.lang.Object):15 -> a
    6:6:int doHash(java.lang.Object):15:15 -> a
    7:10:int com.android.tools.r8.utils.MethodJavaSignatureEquivalence.doHash(com.android.tools.r8.graph.DexMethod):47:50 -> a
    7:10:int doHash(java.lang.Object):15 -> a
    11:11:com.android.tools.r8.utils.MethodJavaSignatureEquivalence get():30:30 -> a
    1:1:com.android.tools.r8.utils.MethodJavaSignatureEquivalence getEquivalenceIgnoreName():34:34 -> b
com.android.tools.r8.utils.MethodReferenceUtils -> com.android.tools.r8.internal.IE:
    int $r8$clinit -> b
    java.util.Comparator COMPARATOR -> a
    1:1:void <clinit>():24:24 -> <clinit>
    1:1:java.util.Comparator com.android.tools.r8.utils.MethodReferenceUtils.getMethodReferenceComparator():71:71 -> a
    1:1:int compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):67 -> a
    2:2:int compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):67:67 -> a
    3:3:java.util.Comparator getMethodReferenceComparator():71:71 -> a
    4:4:com.android.tools.r8.references.MethodReference mainMethod(java.lang.Class):75:75 -> a
    5:6:com.android.tools.r8.references.MethodReference com.android.tools.r8.utils.MethodReferenceUtils.mainMethod(com.android.tools.r8.references.ClassReference):79:80 -> a
    5:6:com.android.tools.r8.references.MethodReference mainMethod(java.lang.Class):75 -> a
    7:9:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.Class,java.lang.String,java.lang.Class[]):86:88 -> a
    10:10:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):95:95 -> a
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.utils.ClassReferenceUtils.toDexType(com.android.tools.r8.references.ClassReference,com.android.tools.r8.graph.DexItemFactory):40:40 -> a
    11:11:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):95 -> a
    12:12:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):97:97 -> a
    13:15:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):96:98 -> a
    16:16:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):94:94 -> a
    17:17:java.lang.String toSourceString(com.android.tools.r8.references.MethodReference):106:106 -> a
    18:24:java.lang.String toSourceString(com.android.tools.r8.references.MethodReference,boolean,boolean):111:117 -> a
    25:42:java.lang.String toSourceString(com.android.tools.r8.references.MethodReference,boolean,boolean):114:131 -> a
    1:1:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):28:28 -> b
    2:2:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Object,java.lang.Object,java.util.Comparator):33:33 -> b
    2:2:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):27 -> b
    3:3:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):29:29 -> b
    4:4:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    4:4:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):30 -> b
    5:5:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):33:33 -> b
    6:6:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Comparable,java.lang.Comparable):29:29 -> b
    6:6:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):33 -> b
    7:7:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):34:34 -> b
    8:8:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    8:8:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):35 -> b
    9:9:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):39:39 -> b
    10:10:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Object,java.lang.Object,java.util.Comparator):33:33 -> b
    10:10:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):38 -> b
    11:11:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):40:40 -> b
    12:12:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    12:12:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):41 -> b
    13:19:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):44:50 -> b
    20:20:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Object,java.lang.Object,java.util.Comparator):33:33 -> b
    20:20:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):47 -> b
    21:21:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):51:51 -> b
    22:22:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    22:22:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):52 -> b
    23:23:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):55:55 -> b
com.android.tools.r8.utils.MethodSignatureEquivalence -> com.android.tools.r8.internal.KE:
    com.android.tools.r8.utils.MethodSignatureEquivalence INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(boolean):23:23 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):14:14 -> a
    2:2:boolean com.android.tools.r8.utils.MethodSignatureEquivalence.doEquivalent(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):40:40 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):14 -> a
    3:3:int doHash(java.lang.Object):14:14 -> a
    4:4:int com.android.tools.r8.utils.MethodSignatureEquivalence.doHash(com.android.tools.r8.graph.DexMethod):48:48 -> a
    4:4:int doHash(java.lang.Object):14 -> a
    5:5:com.android.tools.r8.utils.MethodSignatureEquivalence get():28:28 -> a
com.android.tools.r8.utils.ObjectUtils -> com.android.tools.r8.internal.dK:
    1:1:boolean getBooleanOrElse(java.lang.Object,java.util.function.Predicate,boolean):14:14 -> a
    2:2:java.lang.Object mapNotNullOrDefault(java.lang.Object,java.lang.Object,java.util.function.Function):31:31 -> a
com.android.tools.r8.utils.OffOrAuto -> com.android.tools.r8.internal.iK:
    com.android.tools.r8.utils.OffOrAuto Auto -> c
    com.android.tools.r8.utils.OffOrAuto Off -> b
    com.android.tools.r8.utils.OffOrAuto[] $VALUES -> d
    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>
    1:1:com.android.tools.r8.utils.OffOrAuto[] values():10:10 -> a
com.android.tools.r8.utils.OneShotByteResource -> com.android.tools.r8.utils.A:
    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
    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
    1:1:java.io.InputStream getByteStream():46:46 -> getByteStream
    1:3:byte[] getBytes():51:53 -> getBytes
    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.internal.yK:
    com.android.tools.r8.utils.OptionalBool UNKNOWN -> c
    com.android.tools.r8.utils.OptionalBool TRUE -> a
    com.android.tools.r8.utils.OptionalBool FALSE -> b
    1:39:void <clinit>():9:47 -> <clinit>
    1:1:void <init>():66:66 -> <init>
    1:1:com.android.tools.r8.utils.OptionalBool of(boolean):69:69 -> a
    int ordinal() -> f
    1:1:int hashCode():88:88 -> hashCode
com.android.tools.r8.utils.OptionalBool$1 -> com.android.tools.r8.internal.vK:
    1:1:void <init>():10:10 -> <init>
    boolean isTrue() -> d
    int ordinal() -> f
    1:1:java.lang.String toString():24:24 -> toString
com.android.tools.r8.utils.OptionalBool$2 -> com.android.tools.r8.internal.wK:
    1:1:void <init>():29:29 -> <init>
    boolean isFalse() -> a
    int ordinal() -> f
    1:1:java.lang.String toString():43:43 -> toString
com.android.tools.r8.utils.OptionalBool$3 -> com.android.tools.r8.internal.xK:
    1:1:void <init>():48:48 -> <init>
    boolean isUnknown() -> e
    int ordinal() -> f
    1:1:java.lang.String toString():62:62 -> toString
com.android.tools.r8.utils.OptionsParsing -> com.android.tools.r8.internal.BK:
    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
    14:18:java.lang.String tryParseSingle(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String,java.lang.String):39:43 -> a
    19:19:java.lang.String tryParseSingle(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String,java.lang.String):41:41 -> a
    20:25:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):60:65 -> a
    26:26:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96}}
    94:94:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65:65 -> a
    95:95:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65:65 -> a
    96:96:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65:65 -> a
    91:93:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65: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.internal.AK:
    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.OriginWithPosition -> com.android.tools.r8.internal.GK:
    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.OriginalSourceFiles -> com.android.tools.r8.internal.KK:
    com.android.tools.r8.utils.OriginalSourceFiles UNREACHABLE -> a
    com.android.tools.r8.utils.OriginalSourceFiles FROM_CLASSES -> b
    1:9:void <clinit>():15:23 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass) -> a
    1:1:com.android.tools.r8.utils.OriginalSourceFiles fromClasses():38:38 -> a
    2:2:com.android.tools.r8.utils.OriginalSourceFiles fromMap(java.util.Map):43:43 -> a
    1:1:com.android.tools.r8.utils.OriginalSourceFiles unreachable():33:33 -> b
com.android.tools.r8.utils.OriginalSourceFiles$1 -> com.android.tools.r8.internal.HK:
    1:1:void <init>():16:16 -> <init>
    1:1:com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass):19:19 -> a
com.android.tools.r8.utils.OriginalSourceFiles$2 -> com.android.tools.r8.internal.IK:
    1:1:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
com.android.tools.r8.utils.OriginalSourceFiles$3 -> com.android.tools.r8.internal.JK:
    java.util.Map val$map -> c
    1:1:void <init>(java.util.Map):43:43 -> <init>
    1:1:com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
com.android.tools.r8.utils.Pair -> com.android.tools.r8.internal.hL:
# {"id":"sourceFile","fileName":"Pair.java"}
    java.lang.Object second -> b
    java.lang.Object first -> a
    1:1:void <init>():20:20 -> <init>
    2:4:void <init>(java.lang.Object,java.lang.Object):23:25 -> <init>
    1:1:java.lang.Object getFirst():29:29 -> a
    2:2:void setFirst(java.lang.Object):37:37 -> a
    3:3:com.android.tools.r8.utils.Pair create(java.lang.Object,java.lang.Object):60:60 -> a
    1:1:java.lang.Object getSecond():33:33 -> b
    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
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toString():56:56 -> toString
    59:59:java.lang.String toString():56:56 -> toString
    60:60:java.lang.String toString():56:56 -> toString
    57:57:java.lang.String toString():56:56 -> toString
com.android.tools.r8.utils.PredicateSet -> com.android.tools.r8.internal.SL:
    java.util.List predicates -> b
    java.util.Set elements -> a
    1:4:void <init>():14:17 -> <init>
    1:1:boolean addElement(java.lang.Object):20:20 -> a
    2:2:void addPredicate(java.util.function.Predicate):24:24 -> a
    3:3:com.android.tools.r8.utils.PredicateSet empty():28:28 -> a
    4:10:com.android.tools.r8.utils.PredicateSet rewriteItems(java.util.function.Function):32:38 -> a
    1:5:boolean contains(java.lang.Object):43:47 -> b
com.android.tools.r8.utils.PredicateUtils -> com.android.tools.r8.internal.TL:
    1:2:java.lang.Object findFirst(java.lang.Object[],java.util.function.Predicate):13:14 -> a
    3:3:boolean lambda$not$0(java.util.function.Predicate,java.lang.Object):22:22 -> a
    4:4:java.util.function.Predicate not(java.util.function.Predicate):22:22 -> a
    5:5:java.util.function.Predicate isNull(java.util.function.Function):26:26 -> a
    6:6:boolean lambda$isNull$1(java.util.function.Function,java.lang.Object):26:26 -> a
com.android.tools.r8.utils.PreloadedClassFileProvider -> com.android.tools.r8.internal.cM:
    java.util.Map content -> b
    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>
    1:3:com.android.tools.r8.ClassFileResourceProvider fromClassData(java.lang.String,byte[]):57:59 -> a
    4:4:com.android.tools.r8.utils.PreloadedClassFileProvider$Builder builder():71:71 -> a
    1:1:java.util.Set getClassDescriptors():43:43 -> getClassDescriptors
    2:4:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Iterable):219:221 -> getClassDescriptors
    2:4:java.util.Set getClassDescriptors():43 -> getClassDescriptors
    5:5:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> getClassDescriptors
    5:5:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.util.Iterator):237 -> getClassDescriptors
    5:5:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Iterable):221 -> getClassDescriptors
    5:5:java.util.Set getClassDescriptors():43 -> getClassDescriptors
    6:6:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.util.Iterator):238:238 -> getClassDescriptors
    6:6:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Iterable):221 -> getClassDescriptors
    6:6:java.util.Set getClassDescriptors():43 -> getClassDescriptors
    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$Builder -> com.android.tools.r8.internal.cM$a:
    java.util.Map content -> a
    boolean $assertionsDisabled -> b
    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.internal.dM:
    java.lang.String descriptor -> f
    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.internal.AM:
    com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver conflictResolver -> d
    boolean $assertionsDisabled -> e
    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
    2:2:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):18:18 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):47:47 -> a
    3:3:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):18 -> a
    4:9:com.android.tools.r8.utils.ProgramClassCollection create(java.util.List,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):25:30 -> a
    10:10:java.util.function.Supplier lambda$create$0(com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,java.util.function.Supplier,java.util.function.Supplier):28:28 -> a
    11:11:com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver defaultConflictResolver(com.android.tools.r8.utils.Reporter):63:63 -> a
    12:13: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):64:65 -> a
    14:14:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):82:82 -> a
    14:14: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):66 -> a
    15:15:boolean com.android.tools.r8.graph.DexType.isSynthesizedTypeAllowedDuplication():348:348 -> a
    15:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):83 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15: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):66 -> a
    16:17:boolean com.android.tools.r8.graph.DexType.isSynthesizedTypeAllowedDuplication():348:349 -> a
    16:17:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):83 -> a
    16:17: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):66 -> a
    18:20:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):74:76 -> a
    18:20:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> a
    18:20: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):66 -> a
    21:21:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    21:21:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77 -> a
    21:21:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> a
    21:21: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):66 -> a
    22:22:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    22:22:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> a
    22:22: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):66 -> a
    23:23:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77:77 -> a
    23:23:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> a
    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):66 -> a
    24:24:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):74:74 -> a
    24:24:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> 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):66 -> a
    25:27:boolean com.android.tools.r8.utils.ProgramClassCollection.assertEqualClasses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):91:91 -> a
    25:27:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):84 -> a
    25:27: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):66 -> a
    29:29:boolean com.android.tools.r8.utils.ProgramClassCollection.assertEqualClasses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):93:93 -> a
    29:29:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):84 -> a
    29:29: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):66 -> a
    30:32:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):74:76 -> a
    30:32: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):68 -> a
    33:33:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    33:33:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77 -> a
    33:33: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):68 -> a
    34:34:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    34:34:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34: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):68 -> a
    35:35:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77:77 -> a
    35:35: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):68 -> a
    36:36:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):74:74 -> a
    36:36: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):68 -> a
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():57:57 -> c
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":44,"2":45,"3":46}}
    44:44:java.lang.String toString():42:42 -> toString
    45:45:java.lang.String toString():42:42 -> toString
    46:46:java.lang.String toString():42:42 -> toString
    43:43:java.lang.String toString():42:42 -> toString
com.android.tools.r8.utils.ProgramMethodEquivalence -> com.android.tools.r8.internal.KM:
    com.android.tools.r8.utils.ProgramMethodEquivalence INSTANCE -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):10:10 -> a
    2:2:boolean com.android.tools.r8.utils.ProgramMethodEquivalence.doEquivalent(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):22:22 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):10 -> a
    3:3:int doHash(java.lang.Object):10:10 -> a
    4:4:int com.android.tools.r8.utils.ProgramMethodEquivalence.doHash(com.android.tools.r8.graph.ProgramMethod):27:27 -> a
    4:4:int doHash(java.lang.Object):10 -> a
    5:5:com.android.tools.r8.utils.ProgramMethodEquivalence get():17:17 -> a
com.android.tools.r8.utils.ReflectionHelper -> com.android.tools.r8.internal.JR:
com.android.tools.r8.utils.ReflectionHelper$ReflectiveFieldOperation -> com.android.tools.r8.internal.ER:
    1:1:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer,com.android.tools.r8.utils.ReflectionHelper$1):72:72 -> <init>
    2:2:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer):79:79 -> <init>
    1:5:java.lang.Object compute(java.lang.Object):84:88 -> a
com.android.tools.r8.utils.ReflectionHelper$ReflectiveMethodOperation -> com.android.tools.r8.internal.FR:
    1:1:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer,com.android.tools.r8.utils.ReflectionHelper$1):51:51 -> <init>
    2:2:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer):58:58 -> <init>
    1:6:java.lang.Object compute(java.lang.Object):63:68 -> a
com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation -> com.android.tools.r8.internal.GR:
    java.util.function.Consumer modifier -> c
    com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation nextOperation -> d
    java.lang.Class classForDeclaration -> a
    java.lang.String declaredMember -> b
    1:1:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer,com.android.tools.r8.utils.ReflectionHelper$1):30:30 -> <init>
    2:6:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer):41:45 -> <init>
    java.lang.Object compute(java.lang.Object) -> a
com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder -> com.android.tools.r8.internal.HR:
    com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder sequenceBuilder -> d
    boolean $assertionsDisabled -> e
    java.lang.String declaredMember -> a
    com.android.tools.r8.utils.ReflectionHelper$DeclaredType declaredType -> b
    boolean setAccessible -> c
    1:1:void <clinit>():121:121 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder,com.android.tools.r8.utils.ReflectionHelper$1):121:121 -> <init>
    2:2:void <init>(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder):131:131 -> <init>
    3:12:void <init>(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder):125:134 -> <init>
    1:1:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation access$200(com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):121:121 -> a
    2:2:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder done():143:143 -> a
    3:15:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation build(com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):147:159 -> a
    16:17:void lambda$build$0(java.lang.reflect.Field):153:154 -> a
    18:19:void lambda$build$1(java.lang.reflect.Method):164:165 -> a
    1:1:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder setSetAccessible(boolean):138:138 -> b
com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder -> com.android.tools.r8.internal.IR:
    java.util.List reflectiveOperationBuilderList -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():92:92 -> <clinit>
    1:3:void <init>():92:94 -> <init>
    1:3:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder.add(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType):105:107 -> a
    1:3:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder readField(java.lang.String):101 -> a
    4:7:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation build():112:115 -> a
    1:1:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder readMethod(java.lang.String):0:0 -> b
    2:4:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder.add(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType):105:107 -> b
    2:4:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder readMethod(java.lang.String):97 -> b
com.android.tools.r8.utils.Reporter -> com.android.tools.r8.internal.vS:
    java.util.List diagnosticsLevelMapping -> b
    com.android.tools.r8.DiagnosticsHandler clientHandler -> a
    com.android.tools.r8.utils.AbortException abort -> c
    1:1:void <init>():56:56 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):59:59 -> <init>
    3:11:void <init>(com.android.tools.r8.DiagnosticsHandler):52:60 -> <init>
    1:1:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):67:67 -> a
    2:3:com.android.tools.r8.DiagnosticsLevel com.android.tools.r8.utils.Reporter.mapDiagnosticsLevel(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):139:140 -> a
    2:3:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):69 -> a
    4:18:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):71:85 -> a
    19:19:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):78:78 -> a
    20:20:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):75:75 -> a
    21:21:void error(java.lang.String):113:113 -> a
    22:23:java.lang.RuntimeException fatalError(com.android.tools.r8.Diagnostic):127:128 -> a
    24:25:void failIfPendingErrors():133:134 -> a
    26:26:void addDiagnosticsLevelMapping(com.android.tools.r8.DiagnosticsLevel,java.lang.String,com.android.tools.r8.DiagnosticsLevel):147:147 -> a
    1:1:java.lang.RuntimeException fatalError(java.lang.String):120:120 -> b
    1:1:void warning(java.lang.String):104:104 -> c
    1:1:void error(com.android.tools.r8.Diagnostic):109:109 -> error
    1:1:void info(com.android.tools.r8.Diagnostic):91:91 -> info
    1:1:void warning(com.android.tools.r8.Diagnostic):100:100 -> warning
com.android.tools.r8.utils.Reporter$1 -> com.android.tools.r8.internal.sS:
    1:1:void <init>():56:56 -> <init>
com.android.tools.r8.utils.Reporter$2 -> com.android.tools.r8.internal.tS:
    int[] $SwitchMap$com$android$tools$r8$DiagnosticsLevel -> a
    1:1:void <clinit>():73:73 -> <clinit>
com.android.tools.r8.utils.Reporter$DiagnosticsLevelMapping -> com.android.tools.r8.internal.uS:
    com.android.tools.r8.DiagnosticsLevel from -> a
    com.android.tools.r8.DiagnosticsLevel to -> b
    java.lang.String diagnosticsClassName -> c
    1:4:void <init>(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.DiagnosticsLevel,java.lang.String):25:28 -> <init>
    1:13:com.android.tools.r8.DiagnosticsLevel map(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):32:44 -> a
    14:14:com.android.tools.r8.DiagnosticsLevel map(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):38:38 -> a
com.android.tools.r8.utils.SegmentTree -> com.android.tools.r8.internal.OT:
    java.util.TreeMap internalTree -> a
    boolean allowIntervalOverwrites -> b
    int size -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(boolean):21:21 -> <init>
    2:8:void <init>(boolean):16:22 -> <init>
    1:2:java.lang.Object find(int):26:27 -> a
    3:4:java.util.Map$Entry findEntry(java.lang.Integer):31:32 -> a
    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.SemanticVersion -> com.android.tools.r8.internal.PT:
    int minor -> b
    int patch -> c
    int major -> a
    1:4:void <init>(int,int,int):38:41 -> <init>
    1:21:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):11:31 -> a
    22:22:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    23:23:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":102,"2":103,"3":104,"4":105,"5":106}}
    102:102:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    103:103:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    104:104:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    105:105:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    106:106:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    52:52:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    53:53:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    54:54:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":107,"2":108,"3":109,"4":110,"5":111}}
    107:107:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    108:108:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    109:109:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    110:110:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    111:111:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    71:71:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    72:72:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    73:73:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":112,"2":113,"3":114,"4":115,"5":116}}
    112:112:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    113:113:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    114:114:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    115:115:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    116:116:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    86:86:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    117:117:int getMajor():45:45 -> a
    118:124:boolean isNewerOrEqual(com.android.tools.r8.utils.SemanticVersion):57:63 -> a
    1:1:int getMinor():49:49 -> b
    1:1:int getPatch():53:53 -> c
    1:5:boolean equals(java.lang.Object):68:72 -> equals
    1:1:int hashCode():77:77 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":84,"2":85,"3":86}}
    84:84:java.lang.String toString():82:82 -> toString
    85:85:java.lang.String toString():82:82 -> toString
    86:86:java.lang.String toString():82:82 -> toString
    83:83:java.lang.String toString():82:82 -> toString
com.android.tools.r8.utils.SetUtils -> com.android.tools.r8.internal.TT:
    1:1:java.util.Set newConcurrentHashSet(int):28:28 -> a
    2:3:java.util.HashSet newHashSet(java.lang.Object):32:33 -> a
    4:5:java.util.HashSet newHashSet(java.lang.Object[]):39:40 -> a
    6:7:java.util.Set newIdentityHashSet(java.lang.Object):45:46 -> a
    8:9:java.util.Set newIdentityHashSet(com.android.tools.r8.utils.ForEachable):58:59 -> a
    10:11:java.util.Set newIdentityHashSet(java.lang.Iterable):64:65 -> a
    12:14:java.util.Set newIdentityHashSet(java.lang.Iterable,java.lang.Iterable):70:72 -> a
    15:18:java.util.Set newIdentityHashSet(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):77:80 -> a
    19:21:java.util.Set mapIdentityHashSet(java.util.Set,java.util.function.Function):112:114 -> a
    1:1:java.util.Set newIdentityHashSet(int):85:85 -> b
    2:4:com.android.tools.r8.com.google.common.collect.ImmutableSet newImmutableSet(com.android.tools.r8.utils.ForEachable):95:97 -> b
    5:11:com.android.tools.r8.com.google.common.collect.ImmutableSet newImmutableSetExcludingNullItems(java.lang.Object[]):102:108 -> b
com.android.tools.r8.utils.SortingStringConsumer -> com.android.tools.r8.internal.fV:
    java.util.List accepted -> b
    1:1:void <init>(com.android.tools.r8.StringConsumer):24:24 -> <init>
    2:2:void <init>(com.android.tools.r8.StringConsumer):17:17 -> <init>
    1:1:void lambda$finished$0(com.android.tools.r8.DiagnosticsHandler,java.lang.String):35:35 -> a
    1:1:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):29:29 -> accept
    1:3:void finished(com.android.tools.r8.DiagnosticsHandler):34:36 -> finished
com.android.tools.r8.utils.SourceFileTemplateProvider -> com.android.tools.r8.internal.jV:
    java.util.Map HANDLERS -> c
    java.lang.String template -> a
    java.lang.String cachedValue -> b
    boolean $assertionsDisabled -> d
    1:7:void <clinit>():12:18 -> <clinit>
    8:8:java.lang.String com.android.tools.r8.utils.SourceFileTemplateProvider.var(java.lang.String):23:23 -> <clinit>
    8:8:void <clinit>():18 -> <clinit>
    9:10:void <clinit>():18:19 -> <clinit>
    11:11:java.lang.String com.android.tools.r8.utils.SourceFileTemplateProvider.var(java.lang.String):23:23 -> <clinit>
    11:11:void <clinit>():19 -> <clinit>
    12:13:void <clinit>():19:20 -> <clinit>
    1:1:void <init>(java.lang.String):58:58 -> <init>
    2:5:void <init>(java.lang.String):56:59 -> <init>
    1:6:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):36:41 -> a
    7:8:int com.android.tools.r8.utils.SourceFileTemplateProvider.getMaxVariableLength():28:29 -> a
    7:8:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):44 -> a
    9:11:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):44:46 -> a
    12:12:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67,"4":68,"5":69}}
    65:65:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    66:66:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    67:67:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    68:68:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    69:69:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    58:64:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:52 -> a
    70:70:void lambda$get$0(com.android.tools.r8.SourceFileEnvironment,java.lang.String,com.android.tools.r8.SourceFileProvider):68:68 -> a
    1:8:java.lang.String get(com.android.tools.r8.SourceFileEnvironment):64:71 -> get
com.android.tools.r8.utils.StreamUtils -> com.android.tools.r8.internal.jW:
    1:2:byte[] StreamToByteArrayClose(java.io.InputStream):17:18 -> a
com.android.tools.r8.utils.StringDiagnostic -> com.android.tools.r8.utils.StringDiagnostic:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    boolean $assertionsDisabled -> e
    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>
    3:9:void <init>(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):35:41 -> <init>
    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.internal.RW:
    char[] EMPTY_CHAR_ARRAY -> a
    java.lang.String LINE_SEPARATOR -> c
    java.lang.String[] EMPTY_ARRAY -> b
    boolean $assertionsDisabled -> d
    1:4:void <clinit>():19:22 -> <clinit>
    1:6:boolean appendNonEmpty(java.lang.StringBuilder,java.lang.String,java.lang.Object,java.lang.String):69:74 -> a
    7:10:java.lang.StringBuilder appendLeftPadded(java.lang.StringBuilder,java.lang.String,int):92:95 -> a
    11:13:java.lang.StringBuilder appendRightPadded(java.lang.StringBuilder,java.lang.String,int):100:102 -> a
    14:14:java.lang.StringBuilder append(java.lang.StringBuilder,java.util.Collection):108:108 -> a
    15:15:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113:113 -> a
    16:21:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():32:37 -> a
    16:21:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    22:22:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():36:36 -> a
    22:22:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    23:23:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():35:35 -> a
    23:23:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    24:24:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():34:34 -> a
    24:24:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    25:25:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():33:33 -> a
    25:25:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    26:34:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113:121 -> a
    35:40:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():42:47 -> a
    35:40:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    41:41:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():46:46 -> a
    41:41:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    42:42:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():45:45 -> a
    42:42:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    43:43:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():44:44 -> a
    43:43:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    44:44:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():43:43 -> a
    44:44:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    45:45:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123:123 -> a
    46:46:java.lang.String join(java.lang.String,java.lang.String[]):128:128 -> a
    47:47:java.lang.String join(java.lang.String,java.lang.Iterable):132:132 -> a
    48:48:java.lang.String join(java.lang.String,java.lang.Iterable,java.util.function.Function):136:136 -> a
    49:49:java.lang.String join(java.lang.String,java.lang.Iterable,com.android.tools.r8.utils.StringUtils$BraceType):140:140 -> a
    50:52:java.lang.String join(java.lang.String,java.lang.Iterable,java.util.function.Function,com.android.tools.r8.utils.StringUtils$BraceType):145:147 -> a
    53:57:java.lang.String lines(java.util.List):151:155 -> a
    58:58:java.lang.String joinLines(java.lang.String[]):173:173 -> a
    59:59:java.lang.String joinLines(java.util.Collection):177:177 -> a
    60:60:java.lang.String hexString(int,int):223:223 -> a
    61:63:java.lang.String hexString(int,int,boolean):227:229 -> a
    64:64:java.lang.String hexString(int,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":530,"2":531,"3":532}}
    530:530:java.lang.String hexString(int,int,boolean):231:231 -> a
    531:531:java.lang.String hexString(int,int,boolean):231:231 -> a
    532:532:java.lang.String hexString(int,int,boolean):231:231 -> a
    295:298:java.lang.String hexString(int,int,boolean):231:234 -> a
    299:299:java.lang.String hexString(int,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":536,"2":537,"3":538,"4":539,"5":540}}
    536:536:java.lang.String hexString(int,int,boolean):235:235 -> a
    537:537:java.lang.String hexString(int,int,boolean):235:235 -> a
    538:538:java.lang.String hexString(int,int,boolean):235:235 -> a
    539:539:java.lang.String hexString(int,int,boolean):235:235 -> a
    540:540:java.lang.String hexString(int,int,boolean):235:235 -> a
    541:543:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):244:246 -> a
    541:543:java.lang.String hexString(long,int):240 -> a
    544:544:java.lang.String hexString(long,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":550,"2":551,"3":552}}
    550:550:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):248:248 -> a
    550:550:java.lang.String hexString(long,int):240 -> a
    551:551:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):248:248 -> a
    551:551:java.lang.String hexString(long,int):240 -> a
    552:552:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):248:248 -> a
    552:552:java.lang.String hexString(long,int):240 -> a
    545:548:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):248:251 -> a
    545:548:java.lang.String hexString(long,int):240 -> a
    549:549:java.lang.String hexString(long,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":556,"2":557,"3":558,"4":559,"5":560}}
    556:556:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    556:556:java.lang.String hexString(long,int):240 -> a
    557:557:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    557:557:java.lang.String hexString(long,int):240 -> a
    558:558:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    558:558:java.lang.String hexString(long,int):240 -> a
    559:559:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    559:559:java.lang.String hexString(long,int):240 -> a
    560:560:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    560:560:java.lang.String hexString(long,int):240 -> a
    561:565:java.lang.String times(java.lang.String,int):271:275 -> a
    566:566:boolean isWhitespace(int):283:283 -> a
    567:567:java.lang.String replaceAll(java.lang.String,java.lang.String,java.lang.String):340:340 -> a
    568:571:java.lang.String capitalize(java.lang.String):350:353 -> a
    1:1:java.lang.String lines(java.lang.String[]):159:159 -> b
    2:19:java.util.List splitLines(java.lang.String):181:198 -> b
    20:20:java.lang.String zeroPrefix(int,int):205:205 -> b
    21:28:java.lang.String zeroPrefixString(java.lang.String,int):209:216 -> b
    1:2:java.lang.String stripLeadingBOM(java.lang.String):287:288 -> c
    1:9:java.lang.String toASCIIString(java.lang.String):53:61 -> d
    1:9:java.lang.String trim(java.lang.String):296:304 -> e
    1:5:java.lang.String withNativeLineSeparator(java.lang.String):163:167 -> f
com.android.tools.r8.utils.StringUtils$1 -> com.android.tools.r8.internal.QW:
    int[] $SwitchMap$com$android$tools$r8$utils$StringUtils$BraceType -> a
    1:1:void <clinit>():32:32 -> <clinit>
com.android.tools.r8.utils.StringUtils$BraceType -> com.android.tools.r8.internal.RW$a:
    com.android.tools.r8.utils.StringUtils$BraceType PARENS -> b
    com.android.tools.r8.utils.StringUtils$BraceType SQUARE -> c
    com.android.tools.r8.utils.StringUtils$BraceType[] $VALUES -> f
    com.android.tools.r8.utils.StringUtils$BraceType TUBORG -> d
    com.android.tools.r8.utils.StringUtils$BraceType NONE -> e
    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>
    1:1:com.android.tools.r8.utils.StringUtils$BraceType[] values():25:25 -> a
com.android.tools.r8.utils.SupplierUtils -> com.android.tools.r8.internal.kX:
    1:3:java.lang.Object lambda$memoize$1(com.android.tools.r8.utils.ThrowingSupplier):21:23 -> a
    1:1:java.util.function.Supplier memoize(com.android.tools.r8.utils.ThrowingSupplier):18:18 -> b
com.android.tools.r8.utils.SymbolGenerationUtils -> com.android.tools.r8.internal.vX:
    char[] IDENTIFIER_CHARACTERS -> b
    boolean $assertionsDisabled -> e
    java.util.Set PRIMITIVE_TYPE_NAMES -> a
    int NUMBER_OF_CHARACTERS_MINUS_CAPITAL_LETTERS -> d
    int NUMBER_OF_CHARACTERS -> c
    1:8:void <clinit>():13:20 -> <clinit>
    9:10:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Object[]):195:196 -> <clinit>
    9:10:void <clinit>():21 -> <clinit>
    11:17:void <clinit>():21:27 -> <clinit>
    1:1:java.lang.String numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing):31:31 -> a
    2:35:java.lang.String com.android.tools.r8.utils.SymbolGenerationUtils.numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing,char[],boolean):43:76 -> a
    2:35:java.lang.String numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing):31 -> a
com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing -> com.android.tools.r8.internal.vX$a:
    com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing DONT_USE_MIXED_CASE -> c
    com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing USE_MIXED_CASE -> b
    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.B:
    1:1:java.util.concurrent.Future processAsynchronously(com.android.tools.r8.utils.Action,java.util.concurrent.ExecutorService):26:26 -> a
    2:2:java.util.concurrent.Future processAsynchronously(java.util.concurrent.Callable,java.util.concurrent.ExecutorService):36:36 -> a
    2:2:java.util.concurrent.Future processAsynchronously(com.android.tools.r8.utils.Action,java.util.concurrent.ExecutorService):26 -> a
    3:3:java.lang.Object lambda$processAsynchronously$0(com.android.tools.r8.utils.Action):28:28 -> a
    4:4:java.lang.Object lambda$processItemsWithResults$1(com.android.tools.r8.utils.ThrowingFunction,java.lang.Object,int):42:42 -> a
    5:5:java.util.Collection processItemsWithResults(java.lang.Iterable,com.android.tools.r8.utils.ThrowingFunction,java.util.concurrent.ExecutorService):42:42 -> a
    6:6:java.util.Collection processItemsWithResults(java.lang.Iterable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):50:50 -> a
    7:9:java.util.Collection processItemsWithResults(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):64:66 -> a
    10:24:java.util.Collection awaitFuturesWithResults(java.util.Collection):163:177 -> a
    10:24:java.util.Collection processItemsWithResults(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):71 -> a
    25:35:java.util.Collection awaitFuturesWithResults(java.util.Collection):170:180 -> a
    25:35:java.util.Collection processItemsWithResults(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):71 -> a
    36:37:void lambda$processItemsWithResults$4(com.android.tools.r8.utils.IntBox,java.util.List,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.lang.Object):68:69 -> a
    38:38:java.lang.Object lambda$processItemsWithResults$3(com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.lang.Object,int):69:69 -> a
    39:39:void lambda$processItems$5(com.android.tools.r8.utils.ThrowingConsumer,java.lang.Object,int):77:77 -> a
    40:40:void processItems(java.lang.Iterable,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):77:77 -> a
    41:41:void processItems(java.lang.Iterable,com.android.tools.r8.utils.ThrowingReferenceIntConsumer,java.util.concurrent.ExecutorService):85:85 -> a
    42:42:void processItems(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):91:91 -> a
    43:43:void processItems(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntConsumer,java.util.concurrent.ExecutorService):99:99 -> a
    44:44:java.lang.Object lambda$processItems$7(com.android.tools.r8.utils.ThrowingReferenceIntConsumer,java.lang.Object,int):102:102 -> a
    45:45:void processMap(java.util.Map,com.android.tools.r8.utils.ThrowingBiConsumer,java.util.concurrent.ExecutorService):111:111 -> a
    46:46:java.lang.Object lambda$processMap$8(com.android.tools.r8.utils.ThrowingBiConsumer,java.lang.Object,java.lang.Object):114:114 -> a
    47:47:java.lang.Object lambda$processMapWithResults$9(com.android.tools.r8.utils.ThrowingBiFunction,java.util.Map$Entry):124:124 -> a
    48:48:java.util.Collection processMapWithResults(java.util.Map,com.android.tools.r8.utils.ThrowingBiFunction,java.util.concurrent.ExecutorService):124:124 -> a
    49:49:java.util.Collection processMapWithResults(java.util.Map,com.android.tools.r8.utils.ThrowingBiFunction,java.util.concurrent.ExecutorService):123:123 -> a
    50:50:void processMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):133:133 -> a
    51:51:void processMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):132:132 -> a
    52:52:void lambda$processMethods$10(com.android.tools.r8.utils.ThrowingConsumer,com.android.tools.r8.graph.DexProgramClass):134:134 -> a
    53:66:void awaitFutures(java.lang.Iterable):140:153 -> a
    67:77:void awaitFutures(java.lang.Iterable):146:156 -> a
    78:78:java.util.concurrent.ExecutorService getExecutorService(int):200:200 -> a
    79:79:java.util.concurrent.ExecutorService getExecutorServiceForThreads(int):195:195 -> a
    79:79:java.util.concurrent.ExecutorService getExecutorService(int):201 -> a
    80:80:java.util.concurrent.ExecutorService getExecutorService(com.android.tools.r8.utils.InternalOptions):205:205 -> a
    81:82:int getNumberOfThreads(java.util.concurrent.ExecutorService):209:210 -> a
    1:1:void lambda$processItems$6(com.android.tools.r8.utils.ThrowingConsumer,java.lang.Object,int):91:91 -> b
    2:2:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):188:188 -> b
    3:3:java.util.concurrent.ExecutorService getExecutorServiceForThreads(int):195:195 -> b
    3:3:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):189 -> b
com.android.tools.r8.utils.ThrowingAction -> com.android.tools.r8.internal.TX:
    void execute() -> a
com.android.tools.r8.utils.ThrowingBiConsumer -> com.android.tools.r8.internal.UX:
com.android.tools.r8.utils.ThrowingBiFunction -> com.android.tools.r8.internal.VX:
com.android.tools.r8.utils.ThrowingCharIterator -> com.android.tools.r8.internal.WX:
    char nextChar() -> a
com.android.tools.r8.utils.ThrowingConsumer -> com.android.tools.r8.internal.XX:
    1:7:void acceptWithRuntimeException(java.lang.Object):20:26 -> a
com.android.tools.r8.utils.ThrowingFunction -> com.android.tools.r8.internal.YX:
com.android.tools.r8.utils.ThrowingIntIterator -> com.android.tools.r8.internal.aY:
    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.internal.bY:
com.android.tools.r8.utils.ThrowingIterator -> com.android.tools.r8.internal.cY:
    1:1:void <init>():11:11 -> <init>
    boolean hasNext() -> a
    1:6:java.util.List take(int):25:30 -> a
    7:7:java.util.List take(int):28:28 -> a
    java.lang.Object next() -> b
com.android.tools.r8.utils.ThrowingReferenceIntConsumer -> com.android.tools.r8.internal.dY:
com.android.tools.r8.utils.ThrowingReferenceIntFunction -> com.android.tools.r8.internal.eY:
    java.lang.Object apply(java.lang.Object,int) -> a
com.android.tools.r8.utils.ThrowingSupplier -> com.android.tools.r8.internal.fY:
com.android.tools.r8.utils.Timing -> com.android.tools.r8.internal.qY:
    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
    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):93:93 -> <init>
    3:7:void <init>(java.lang.String,boolean):96:100 -> <init>
    1:1:com.android.tools.r8.utils.Timing$Node access$1100(com.android.tools.r8.utils.Timing):25:25 -> a
    2:4:com.android.tools.r8.utils.Timing create(java.lang.String,com.android.tools.r8.utils.InternalOptions):78:80 -> a
    5:5:com.android.tools.r8.utils.Timing create(java.lang.String,com.android.tools.r8.utils.InternalOptions):79:79 -> a
    6:6:com.android.tools.r8.utils.Timing create(java.lang.String,boolean):84:84 -> a
    7:7:com.android.tools.r8.utils.Timing$TimingMerger beginMerger(java.lang.String,int):326:326 -> a
    8:8:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):334:334 -> a
    8:8:java.lang.String access$400(long,long):25 -> a
    9:9:long com.android.tools.r8.utils.Timing.percentage(long,long):330:330 -> a
    9:9:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):334 -> a
    9:9:java.lang.String access$400(long,long):25 -> a
    10:10:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):334:334 -> a
    10:10:java.lang.String access$400(long,long):25 -> a
    11:11:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
    11:11:java.lang.String access$600(long):25 -> a
    12:12:java.lang.String access$600(long):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
    31:31:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:346 -> a
    31:31:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
    31:31:java.lang.String access$600(long):25 -> a
    32:32:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:346 -> a
    32:32:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
    32:32:java.lang.String access$600(long):25 -> a
    33:33:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:346 -> a
    33:33:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
    33:33:java.lang.String access$600(long):25 -> a
    13:29:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:362 -> a
    13:29:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
    13:29:java.lang.String access$600(long):25 -> a
    30:30:java.lang.String access$600(long):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":34,"2":35,"3":36}}
    34:34:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
    34:34:java.lang.String access$600(long):25 -> a
    35:35:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
    35:35:java.lang.String access$600(long):25 -> a
    36:36:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
    36:36:java.lang.String access$600(long):25 -> a
    37:40:void begin(java.lang.String):366:369 -> a
    41:41:void com.android.tools.r8.utils.Timing$Node.restart():139:139 -> a
    41:41:void begin(java.lang.String):370 -> a
    42:42:void com.android.tools.r8.utils.Timing$Node.restart():139:139 -> a
    42:42:void begin(java.lang.String):370 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    43:43:void com.android.tools.r8.utils.Timing$Node.restart():139:139 -> a
    43:43:void begin(java.lang.String):370 -> a
    44:44:void com.android.tools.r8.utils.Timing$Node.restart():140:140 -> a
    44:44:void begin(java.lang.String):370 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    45:47:void com.android.tools.r8.utils.Timing$Node.restart():141:143 -> a
    45:47:void begin(java.lang.String):370 -> a
    48:51:void begin(java.lang.String):372:375 -> a
    52:56:java.lang.Object time(java.lang.String,com.android.tools.r8.utils.ThrowingSupplier):388:392 -> a
    57:61:java.lang.Object scope(java.lang.String,com.android.tools.r8.utils.Timing$TimingScope):420:424 -> a
    62:67:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():437:442 -> a
    62:67:java.util.Map access$200():25 -> a
    68:68:com.android.tools.r8.utils.Timing$MemInfo com.android.tools.r8.utils.Timing$MemInfo.fromTotalAndFree(long,long):111:111 -> a
    68:68:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():441 -> a
    68:68:java.util.Map access$200():25 -> a
    69:69:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():439:439 -> a
    69:69:java.util.Map access$200():25 -> a
    1:1:java.util.Stack access$700(com.android.tools.r8.utils.Timing):25:25 -> b
    2:2:com.android.tools.r8.utils.Timing empty():73:73 -> b
    3:3:long com.android.tools.r8.utils.Timing.percentage(long,long):330:330 -> b
    3:3:long access$500(long,long):25 -> b
    1:1:boolean access$800(com.android.tools.r8.utils.Timing):25:25 -> c
    2:2:void end():397:397 -> c
    3:3:void com.android.tools.r8.utils.Timing$Node.end():147:147 -> c
    3:3:void end():397 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:8:void com.android.tools.r8.utils.Timing$Node.end():147:151 -> c
    4:8:void end():397 -> c
    9:9:void end():398:398 -> c
    1:3:void report():402:404 -> d
    4:4:void com.android.tools.r8.utils.Timing$Node.end():147:147 -> d
    4:4:void report():405 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:9:void com.android.tools.r8.utils.Timing$Node.end():147:151 -> d
    5:9:void report():405 -> d
    10:11:void report():406:407 -> d
com.android.tools.r8.utils.Timing$1 -> com.android.tools.r8.internal.jY:
    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
    2:2:java.lang.Object scope(java.lang.String,com.android.tools.r8.utils.Timing$TimingScope):63:63 -> a
    void end() -> c
    void report() -> d
com.android.tools.r8.utils.Timing$1$1 -> com.android.tools.r8.internal.iY:
    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.internal.kY:
    long used -> a
    1:2:void <init>(long):106:107 -> <init>
com.android.tools.r8.utils.Timing$Node -> com.android.tools.r8.internal.lY:
    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
    1:1:void <clinit>():119:119 -> <clinit>
    1:1:void <init>(java.lang.String,boolean):129:129 -> <init>
    2:14:void <init>(java.lang.String,boolean):123:135 -> <init>
    1:1:void report(int,com.android.tools.r8.utils.Timing$Node):170:170 -> a
    2:2:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    2:2:void report(int,com.android.tools.r8.utils.Timing$Node):170 -> a
    3:3:void report(int,com.android.tools.r8.utils.Timing$Node):170:170 -> a
    4:4:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    4:4:void report(int,com.android.tools.r8.utils.Timing$Node):171 -> a
    5:5:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    5:5:void report(int,com.android.tools.r8.utils.Timing$Node):171 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void report(int,com.android.tools.r8.utils.Timing$Node):171:171 -> a
    7:8:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    7:8:void report(int,com.android.tools.r8.utils.Timing$Node):174 -> a
    9:9:void report(int,com.android.tools.r8.utils.Timing$Node):175:175 -> a
    10:10:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):165:165 -> a
    10:10:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    11:11:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    45:45:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    46:46:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    46:46:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    47:47:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    47:47:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    12:12:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    12:12:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
    12:12:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    13:13:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    13:13:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    14:14:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    14:14:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    15:24:void report(int,com.android.tools.r8.utils.Timing$Node):175:184 -> a
    25:25:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    25:25:void report(int,com.android.tools.r8.utils.Timing$Node):185 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:26:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    26:26:void report(int,com.android.tools.r8.utils.Timing$Node):187 -> a
    27:27:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    27:27:void report(int,com.android.tools.r8.utils.Timing$Node):189 -> a
    28:28:void report(int,com.android.tools.r8.utils.Timing$Node):189:189 -> a
    29:30:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    29:30:void report(int,com.android.tools.r8.utils.Timing$Node):190 -> a
    31:31:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    32:32:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":48,"2":49,"3":50}}
    48:48:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    49:49:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    50:50:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    33:33:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    33:33:void report(int,com.android.tools.r8.utils.Timing$Node):193 -> a
    34:34:void report(int,com.android.tools.r8.utils.Timing$Node):193:193 -> a
    35:35:java.lang.String com.android.tools.r8.utils.Timing.prettyTime(long):338:338 -> a
    35:35:java.lang.String com.android.tools.r8.utils.Timing.access$300(long):25 -> a
    35:35:void report(int,com.android.tools.r8.utils.Timing$Node):195 -> a
    36:36:void report(int,com.android.tools.r8.utils.Timing$Node):195:195 -> a
    37:44:void report(int,com.android.tools.r8.utils.Timing$Node):191:198 -> a
    51:51:void lambda$report$0(int,com.android.tools.r8.utils.Timing$Node,com.android.tools.r8.utils.Timing$Node):198:198 -> a
    52:64:void printMemory(int):210:222 -> a
    65:65:long com.android.tools.r8.utils.Timing$MemInfo.usedDelta(com.android.tools.r8.utils.Timing$MemInfo):115:115 -> a
    65:65:void printMemory(int):224 -> a
    66:66:void printMemory(int):224:224 -> a
    67:67:void printMemory(int):217:217 -> a
    1:1:java.lang.String toString():161:161 -> toString
    2:2:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> toString
    2:2:java.lang.String toString():161 -> toString
    3:3:java.lang.String toString():161:161 -> toString
    4:4:java.lang.String com.android.tools.r8.utils.Timing.prettyTime(long):338:338 -> toString
    4:4:java.lang.String com.android.tools.r8.utils.Timing.access$300(long):25 -> toString
    4:4:java.lang.String toString():161 -> toString
    5:5:java.lang.String toString():161:161 -> toString
com.android.tools.r8.utils.Timing$TimingMerger -> com.android.tools.r8.internal.oY:
    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
    1:1:void <clinit>():230:230 -> <clinit>
    1:1:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.Timing$1):230:230 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing):237:237 -> <init>
    3:9:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing):234:240 -> <init>
    1:1:com.android.tools.r8.utils.Timing$Node access$1000(com.android.tools.r8.utils.Timing$TimingMerger):230:230 -> a
    2:18:void add(java.util.Collection):291:307 -> a
    19:23:void lambda$add$1(com.android.tools.r8.utils.Timing$TimingMerger$Item,boolean,java.util.Deque,java.lang.String,com.android.tools.r8.utils.Timing$Node):309:313 -> a
    24:24:com.android.tools.r8.utils.Timing$Node lambda$add$0(boolean,java.lang.String):310:310 -> a
    25:26:void end():320:321 -> a
    1:1:int access$900(com.android.tools.r8.utils.Timing$TimingMerger):230:230 -> b
com.android.tools.r8.utils.Timing$TimingMerger$1 -> com.android.tools.r8.internal.mY:
    boolean $assertionsDisabled -> k
    int val$numberOfThreads -> i
    com.android.tools.r8.utils.Timing$TimingMerger this$0 -> j
    1:1:void <clinit>():240:240 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.Timing$TimingMerger,java.lang.String,boolean,int):240:240 -> <init>
    1:1:void report(int,com.android.tools.r8.utils.Timing$Node):243:243 -> a
    2:2:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    2:2:void report(int,com.android.tools.r8.utils.Timing$Node):243 -> a
    3:3:void report(int,com.android.tools.r8.utils.Timing$Node):243:243 -> a
    4:5:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    4:5:void report(int,com.android.tools.r8.utils.Timing$Node):244 -> a
    6:10:void report(int,com.android.tools.r8.utils.Timing$Node):245:249 -> a
    11:11:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    11:11:void report(int,com.android.tools.r8.utils.Timing$Node):249 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    12:12:void report(int,com.android.tools.r8.utils.Timing$Node):250 -> a
    13:14:void report(int,com.android.tools.r8.utils.Timing$Node):250:251 -> a
    15:15:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":569,"2":570,"3":571}}
    569:569:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
    570:570:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
    571:571:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
    266:273:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
    281:288:void report(int,com.android.tools.r8.utils.Timing$Node):259:266 -> a
    289:290:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    289:290:void report(int,com.android.tools.r8.utils.Timing$Node):267 -> a
    291:291:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    292:292:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":588,"2":589,"3":590}}
    588:588:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    589:589:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    590:590:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    560:560:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    561:561:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):165:165 -> a
    561:561:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    562:562:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    563:563:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    563:563:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
    564:564:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    564:564:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
    564:564:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
    565:565:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    565:565:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    565:565:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
    566:566:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    566:566:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
    567:568:void report(int,com.android.tools.r8.utils.Timing$Node):268:269 -> a
    591:591:void lambda$report$0(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):264:264 -> a
    1:1:void lambda$report$1(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):269:269 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":277,"2":278,"3":279}}
    277:277:java.lang.String toString():275:275 -> toString
    278:278:java.lang.String toString():275:275 -> toString
    279:279:java.lang.String toString():275:275 -> toString
    276:276:java.lang.String toString():275:275 -> toString
com.android.tools.r8.utils.Timing$TimingMerger$Item -> com.android.tools.r8.internal.nY:
    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):284:286 -> <init>
com.android.tools.r8.utils.Timing$TimingScope -> com.android.tools.r8.internal.pY:
    java.lang.Object apply() -> a
com.android.tools.r8.utils.TraversalContinuation -> com.android.tools.r8.internal.IY:
    com.android.tools.r8.utils.TraversalContinuation BREAK -> c
    com.android.tools.r8.utils.TraversalContinuation CONTINUE -> b
    1:2:void <clinit>():9:10 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:boolean shouldBreak():21:21 -> a
    1:1:boolean shouldContinue():25:25 -> b
com.android.tools.r8.utils.TriConsumer -> com.android.tools.r8.internal.NY:
    void accept(java.lang.Object,java.lang.Object,java.lang.Object) -> a
com.android.tools.r8.utils.TriFunction -> com.android.tools.r8.internal.OY:
    java.lang.Object apply(java.lang.Object,java.lang.Object,java.lang.Object) -> a
com.android.tools.r8.utils.TriPredicate -> com.android.tools.r8.internal.PY:
    boolean test(java.lang.Object,java.lang.Object,java.lang.Object) -> a
com.android.tools.r8.utils.TypeReferenceUtils -> com.android.tools.r8.internal.VZ:
    boolean $assertionsDisabled -> b
    java.util.Comparator COMPARATOR -> a
    1:3:void <clinit>():19:21 -> <clinit>
    1:1:int lambda$static$0(com.android.tools.r8.references.TypeReference,com.android.tools.r8.references.TypeReference):33:33 -> a
    2:2:java.util.Comparator getTypeReferenceComparator():37:37 -> a
    3:3:com.android.tools.r8.graph.DexProto toDexProto(java.util.List,com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory):42:42 -> a
    4:4:com.android.tools.r8.graph.DexType lambda$toDexProto$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):46:46 -> a
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.utils.ClassReferenceUtils.toDexType(com.android.tools.r8.references.ClassReference,com.android.tools.r8.graph.DexItemFactory):40:40 -> a
    5:5:com.android.tools.r8.graph.DexType lambda$toDexProto$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):46 -> a
    6:7:com.android.tools.r8.graph.DexProto toDexProto(java.util.List,com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):61:62 -> a
    8:8:com.android.tools.r8.graph.DexProto toDexProto(java.util.List,com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):60:60 -> a
    9:9:com.android.tools.r8.graph.DexType lambda$toDexProto$2(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.references.TypeReference):64:64 -> a
    10:32:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):85:107 -> a
    33:33:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":193,"2":194,"3":195}}
    193:193:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):107:107 -> a
    194:194:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):107:107 -> a
    195:195:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):107:107 -> a
    141:141:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):108:108 -> a
    142:154:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):91:103 -> a
    155:161:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):99:105 -> a
    162:162:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):95:95 -> a
    163:186:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):93:116 -> a
    187:192:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):114:119 -> a
com.android.tools.r8.utils.VersionProperties -> com.android.tools.r8.internal.n10:
    com.android.tools.r8.utils.VersionProperties INSTANCE -> c
    java.lang.String sha -> a
    java.lang.String releaser -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():14:14 -> <clinit>
    2:7:com.android.tools.r8.utils.VersionProperties com.android.tools.r8.utils.VersionProperties.get():28:33 -> <clinit>
    2:7:void <clinit>():16 -> <clinit>
    8:13:com.android.tools.r8.utils.VersionProperties com.android.tools.r8.utils.VersionProperties.get():29:34 -> <clinit>
    8:13:void <clinit>():16 -> <clinit>
    14:14:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    2:10:void <init>(java.io.InputStream):41:49 -> <init>
    1:1:java.lang.String getDescription():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111}}
    109:109:java.lang.String getDescription():53:53 -> a
    110:110:java.lang.String getDescription():53:53 -> a
    111:111:java.lang.String getDescription():53:53 -> a
    54:54:java.lang.String getDescription():53:53 -> a
    55:55:java.lang.String getDescription():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111}}
    109:109:java.lang.String getDescription():53:53 -> a
    110:110:java.lang.String getDescription():53:53 -> a
    111:111:java.lang.String getDescription():53:53 -> a
    108:108:java.lang.String getDescription():53:53 -> a
    1:1: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.internal.Y10:
    com.android.tools.r8.utils.Visibility PACKAGE_PRIVATE -> e
    com.android.tools.r8.utils.Visibility[] $VALUES -> f
    com.android.tools.r8.utils.Visibility PUBLIC -> b
    com.android.tools.r8.utils.Visibility PROTECTED -> c
    com.android.tools.r8.utils.Visibility PRIVATE -> d
    1:4:void <clinit>():10:13 -> <clinit>
    5:5:void <clinit>():9:9 -> <clinit>
    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
    16:16:java.lang.String toString():44:44 -> toString
    17:17:java.lang.String toString():41:41 -> toString
    18:18:java.lang.String toString():38:38 -> toString
    19:19:java.lang.String toString():35:35 -> toString
com.android.tools.r8.utils.Visibility$1 -> com.android.tools.r8.internal.X10:
    int[] $SwitchMap$com$android$tools$r8$utils$Visibility -> a
    1:1:void <clinit>():33:33 -> <clinit>
com.android.tools.r8.utils.WorkList -> com.android.tools.r8.internal.q20:
    java.util.Deque workingList -> a
    java.util.Set seen -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.WorkList$EqualityTest):62:62 -> <init>
    2:2:void <init>(java.util.Set):65:65 -> <init>
    3:53:void <init>(java.util.Set):16:66 -> <init>
    1:2:com.android.tools.r8.utils.WorkList newIdentityWorkList(java.lang.Object,java.util.Set):46:47 -> a
    3:4:com.android.tools.r8.utils.WorkList newIdentityWorkList(java.lang.Iterable):52:53 -> a
    5:5:com.android.tools.r8.utils.WorkList newWorkList(java.util.Set):58:58 -> a
    6:6:void addAllIgnoringSeenSet(java.lang.Iterable):74:74 -> a
    7:7:void addIfNotSeen(java.lang.Iterable):78:78 -> a
    8:9:boolean addIfNotSeen(java.lang.Object):88:89 -> a
    10:10:java.util.Set getMutableSeenSet():143:143 -> a
    1:1:void addIgnoringSeenSet(java.lang.Object):70:70 -> b
    2:2:void markAsSeen(java.lang.Iterable):124:124 -> b
    3:3:java.util.Set getSeenSet():139:139 -> b
    1:2:com.android.tools.r8.utils.WorkList newEqualityWorkList(java.lang.Iterable):30:31 -> c
    3:3:boolean hasNext():108:108 -> c
    4:4:boolean isSeen(java.lang.Object):116:116 -> c
    1:1:com.android.tools.r8.utils.WorkList newEqualityWorkList():20:20 -> d
    2:2:void markAsSeen(java.lang.Object):120:120 -> d
    1:2:com.android.tools.r8.utils.WorkList newEqualityWorkList(java.lang.Object):24:25 -> e
    3:3:com.android.tools.r8.utils.WorkList newIdentityWorkList():36:36 -> e
    1:2:com.android.tools.r8.utils.WorkList newIdentityWorkList(java.lang.Object):40:41 -> f
    3:4:java.lang.Object next():128:129 -> f
    1:2:java.lang.Object removeSeen():133:134 -> g
com.android.tools.r8.utils.ZipUtils -> com.android.tools.r8.utils.C:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():44:44 -> <clinit>
    boolean lambda$unzip$1(java.util.zip.ZipEntry) -> a
    1:12:void writeResourcesToZip(java.util.List,java.util.Set,com.android.tools.r8.com.google.common.io.Closer,java.util.zip.ZipOutputStream):52:63 -> a
    13:13:void iter(java.lang.String,com.android.tools.r8.utils.ZipUtils$OnEntryHandler):72:72 -> a
    14:20:void iter(java.nio.file.Path,com.android.tools.r8.utils.ZipUtils$OnEntryHandler):76:82 -> a
    21:25:void iter(java.nio.file.Path,com.android.tools.r8.utils.ZipUtils$OnEntryHandler):80:84 -> a
    26:34:void iter(java.nio.file.Path,com.android.tools.r8.utils.ZipUtils$OnEntryHandler):76:84 -> a
    35:35:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):84:84 -> a
    36:39:byte[] readSingleEntry(java.nio.file.Path,java.lang.String):88:88 -> a
    41:41:byte[] readSingleEntry(java.nio.file.Path,java.lang.String):90:90 -> a
    42:42:boolean lambda$zip$0(java.nio.file.Path):96:96 -> a
    43:48:void zip(java.util.zip.ZipOutputStream,java.nio.file.Path,java.util.Collection):111:116 -> a
    49:49:void zip(java.util.zip.ZipOutputStream,java.nio.file.Path,java.util.Collection):115:115 -> a
    50:58:void zip(java.util.zip.ZipOutputStream,java.nio.file.Path,java.util.Collection):114:122 -> a
    59:61:java.util.List unzip(java.nio.file.Path,java.nio.file.Path):131:133 -> a
    62:62:java.util.List unzip(java.lang.String,java.io.File):137:137 -> a
    63:65:java.util.List unzip(java.lang.String,java.io.File,java.util.function.Predicate):142:144 -> a
    66:76:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):145:155 -> a
    77:77:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):104:104 -> a
    77:77:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    78:78:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    78:78:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):104 -> a
    78:78:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    79:79:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.createBuffer():59:59 -> a
    79:79:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):106 -> a
    79:79:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    80:80:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):109:109 -> a
    80:80:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    81:82:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):156:157 -> a
    83:83:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):113:113 -> a
    83:83:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    84:86:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):154:156 -> a
    87:87:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    88:88:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":91,"2":92,"3":93,"4":94,"5":95,"6":96}}
    91:91:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    92:92:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    93:93:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    94:94:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    95:95:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    96:96:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    89:89:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    89:89:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149 -> a
    90:90:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    97:97:void writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,byte[],int):166:166 -> a
    98:110:void writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,com.android.tools.r8.ByteDataView,int):172:184 -> a
    98:110:void writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,byte[],int):166 -> a
    111:118:boolean isClassFile(java.lang.String):193:200 -> a
    119:119:java.lang.String zipEntryNameForClass(java.lang.Class):253:253 -> a
    boolean lambda$unzip$2(java.util.zip.ZipEntry) -> b
    1:4:void zip(java.nio.file.Path,java.nio.file.Path):94:97 -> b
    5:9:void zip(java.nio.file.Path,java.nio.file.Path,java.util.Collection):103:103 -> b
    5:9:void zip(java.nio.file.Path,java.nio.file.Path):98 -> b
    12:12:void zip(java.nio.file.Path,java.nio.file.Path,java.util.Collection):106:106 -> b
    12:12:void zip(java.nio.file.Path,java.nio.file.Path):98 -> b
com.android.tools.r8.utils.ZipUtils$OnEntryHandler -> com.android.tools.r8.utils.C$a:
    void onEntry(java.util.zip.ZipEntry,java.io.InputStream) -> a
com.android.tools.r8.utils.ZipUtils$ZipBuilder -> com.android.tools.r8.utils.C$b:
    java.util.zip.ZipOutputStream stream -> b
    java.nio.file.Path zipFile -> a
    1:3:void <init>(java.nio.file.Path):207:209 -> <init>
    1:1:com.android.tools.r8.utils.ZipUtils$ZipBuilder builder(java.nio.file.Path):213:213 -> a
    2:7:com.android.tools.r8.utils.ZipUtils$ZipBuilder addFilesRelative(java.nio.file.Path,java.util.Collection):218:223 -> a
    8:8:com.android.tools.r8.utils.ZipUtils$ZipBuilder addFilesRelative(java.nio.file.Path,java.util.Collection):222:222 -> a
    9:17:com.android.tools.r8.utils.ZipUtils$ZipBuilder addFilesRelative(java.nio.file.Path,java.util.Collection):221:229 -> a
    18:18:com.android.tools.r8.utils.ZipUtils$ZipBuilder addFilesRelative(java.nio.file.Path,java.nio.file.Path[]):235:235 -> a
    19:22:com.android.tools.r8.utils.ZipUtils$ZipBuilder addBytes(java.lang.String,byte[]):239:242 -> a
    23:24:java.nio.file.Path build():247:248 -> a
com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector -> com.android.tools.r8.internal.CE:
    1:31:com.android.tools.r8.utils.collections.ProgramMethodSet findAllMethodsAndOverridesThatMatches(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Collection,java.util.function.Predicate):36:66 -> a
    32:36:void lambda$findAllMethodsAndOverridesThatMatches$0(java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):42:46 -> a
com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector$InterfaceMethodToClassSiblingPropagator -> com.android.tools.r8.internal.AE:
    com.android.tools.r8.utils.collections.ProgramMethodSet classRootMethods -> f
    java.util.Map interfaceMethodsOfInterest -> g
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):81:81 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):73:86 -> <init>
    1:3:void lambda$visit$0(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexProgramClass):100:100 -> a
    4:6:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):143:145 -> a
    1:1:boolean isRoot(com.android.tools.r8.graph.DexProgramClass):138:138 -> c
    1:1:void prune(com.android.tools.r8.graph.DexProgramClass):133:133 -> i
    1:3:void visit(com.android.tools.r8.graph.DexProgramClass):92:94 -> k
    4:8:void visit(com.android.tools.r8.graph.DexProgramClass):93:97 -> k
    9:9:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> k
    9:9:void visit(com.android.tools.r8.graph.DexProgramClass):97 -> k
    10:10:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> k
    10:10:void visit(com.android.tools.r8.graph.DexProgramClass):97 -> k
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:20:void visit(com.android.tools.r8.graph.DexProgramClass):105:114 -> k
    21:21:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexClass):784:784 -> k
    21:21:void visit(com.android.tools.r8.graph.DexProgramClass):114 -> k
    22:33:void visit(com.android.tools.r8.graph.DexProgramClass):115:126 -> k
com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector$TopDownClassHierarchyPropagator -> com.android.tools.r8.internal.BE:
    com.android.tools.r8.utils.collections.ProgramMethodSet result -> g
    java.util.Map methodsOfInterest -> f
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):164:164 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):154:166 -> <init>
    1:3:void addRootMethod(com.android.tools.r8.graph.ProgramMethod):170:172 -> a
    4:4:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexClassAndMethod):66:66 -> a
    4:4:void addRootMethod(com.android.tools.r8.graph.ProgramMethod):172 -> a
    5:5:com.android.tools.r8.utils.collections.ProgramMethodSet getResult():176:176 -> a
    6:6:void lambda$visit$0(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexProgramClass):186:186 -> a
    7:8:void lambda$visit$1(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):192:193 -> a
    1:1:void prune(com.android.tools.r8.graph.DexProgramClass):200:200 -> i
    1:5:void visit(com.android.tools.r8.graph.DexProgramClass):181:185 -> k
    6:6:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> k
    6:6:void visit(com.android.tools.r8.graph.DexProgramClass):185 -> k
    7:7:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> k
    7:7:void visit(com.android.tools.r8.graph.DexProgramClass):185 -> k
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:void visit(com.android.tools.r8.graph.DexProgramClass):190:190 -> k
com.android.tools.r8.utils.collections.BidirectionalManyToManyMap -> com.android.tools.r8.internal.N4:
    java.util.Set getKeys(java.lang.Object) -> c
com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap -> com.android.tools.r8.internal.O4:
    java.lang.Object getRepresentativeValue(java.lang.Object) -> a
    java.lang.Object getRepresentativeKey(java.lang.Object) -> b
com.android.tools.r8.utils.collections.BidirectionalManyToOneHashMap -> com.android.tools.r8.internal.P4:
    java.util.Map backing -> b
    java.util.Map inverse -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(java.util.Map,java.util.Map):29:31 -> <init>
    1:2:void clear():36:37 -> a
    3:3:void forEachManyToOneMapping(java.util.function.BiConsumer):62:62 -> a
    4:4:void lambda$forEachManyToOneMapping$0(java.util.function.BiConsumer,java.lang.Object,java.util.Set):62:62 -> a
    5:5:void removeAll(java.lang.Iterable):121:121 -> a
    6:12:java.util.Set removeValue(java.lang.Object):126:132 -> a
    13:13:void lambda$put$2(java.lang.Object,java.lang.Object):147:147 -> a
    14:14:void put(java.lang.Iterable,java.lang.Object):147:147 -> a
    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToOneHashMap newIdentityHashMap():22:22 -> b
    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToOneHashMap newLinkedHashMap():26:26 -> c
    2:2:java.util.Set getKeys(java.lang.Object):92:92 -> c
    1:1:boolean containsKey(java.lang.Object):42:42 -> containsKey
    1:1:boolean containsValue(java.lang.Object):47:47 -> containsValue
    1:1:java.util.Set lambda$put$1(java.lang.Object):141:141 -> d
    1:6:java.lang.Object remove(java.lang.Object):108:113 -> e
    1:1:java.util.Map getForwardMap():82:82 -> f
    1:1:void forEach(java.util.function.BiConsumer):52:52 -> forEach
    1:1:java.lang.Object get(java.lang.Object):72:72 -> get
    1:1:java.lang.Object getOrDefault(java.lang.Object,java.lang.Object):77:77 -> getOrDefault
    1:1:boolean isEmpty():103:103 -> isEmpty
    1:1:java.util.Set keySet():87:87 -> keySet
    1:3:java.lang.Object put(java.lang.Object,java.lang.Object):139:141 -> put
    1:1:java.util.Set values():152:152 -> values
com.android.tools.r8.utils.collections.BidirectionalManyToOneMap -> com.android.tools.r8.internal.Q4:
    void forEachManyToOneMapping(java.util.function.BiConsumer) -> a
    java.util.Map getForwardMap() -> f
com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap -> com.android.tools.r8.internal.R4:
    boolean $assertionsDisabled -> f
    java.util.Map representatives -> e
    1:1:void <clinit>():13:13 -> <clinit>
    1:2:void <init>(java.util.Map,java.util.Map,java.util.Map):26:27 -> <init>
    1:2:void clear():32:33 -> a
    3:3:void forEachManyToOneMapping(com.android.tools.r8.utils.TriConsumer):38:38 -> a
    4:4:void lambda$forEachManyToOneMapping$0(com.android.tools.r8.utils.TriConsumer,java.util.Set,java.lang.Object):39:39 -> a
    5:5:java.lang.Object getRepresentativeValue(java.lang.Object):72:72 -> a
    6:6:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):85:85 -> a
    7:8:void lambda$putAll$1(java.util.Set,java.lang.Object,java.lang.Object):87:88 -> a
    9:9:void com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.setRepresentative(java.lang.Object,java.lang.Object):49:49 -> a
    9:9:void lambda$putAll$1(java.util.Set,java.lang.Object,java.lang.Object):89 -> a
    10:10:java.util.Set removeValue(java.lang.Object):107:107 -> a
    11:11:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.removeRepresentativeFor(java.lang.Object):44:44 -> a
    11:11:java.util.Set removeValue(java.lang.Object):108 -> a
    1:1:void setRepresentative(java.lang.Object,java.lang.Object):49:49 -> b
    2:7:java.lang.Object getRepresentativeKey(java.lang.Object):59:64 -> b
    8:8:boolean com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.hasExplicitRepresentativeKey(java.lang.Object):54:54 -> b
    8:8:java.lang.Object getRepresentativeKey(java.lang.Object):64 -> b
    9:10:java.lang.Object getRepresentativeKey(java.lang.Object):64:65 -> b
    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap newIdentityHashMap():20:20 -> d
    1:1:java.lang.Object remove(java.lang.Object):96:96 -> e
    2:2:boolean com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.hasExplicitRepresentativeKey(java.lang.Object):54:54 -> e
    2:2:java.lang.Object remove(java.lang.Object):97 -> e
    3:3:java.lang.Object remove(java.lang.Object):98:98 -> e
    4:4:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.removeRepresentativeFor(java.lang.Object):44:44 -> e
    4:4:java.lang.Object remove(java.lang.Object):99 -> e
    1:1:boolean hasExplicitRepresentativeKey(java.lang.Object):54:54 -> f
com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap -> com.android.tools.r8.internal.S4:
com.android.tools.r8.utils.collections.BidirectionalOneToManyHashMap -> com.android.tools.r8.internal.T4:
    java.util.Map backing -> b
    java.util.Map inverse -> c
    1:1:void <init>():21:21 -> <init>
    2:4:void <init>(java.util.Map,java.util.Map):24:26 -> <init>
    1:1:void lambda$forEach$0(java.util.function.BiConsumer,java.lang.Object,java.lang.Object):47:47 -> a
    2:2:void lambda$forEach$1(java.util.function.BiConsumer,java.lang.Object,java.util.Set):47:47 -> a
    3:3:java.lang.Object getKeyOrDefault(java.lang.Object,java.lang.Object):82:82 -> a
    4:6:void put(java.lang.Object,java.lang.Object):138:140 -> a
    1:1:boolean containsKey(java.lang.Object):37:37 -> containsKey
    1:1:boolean containsValue(java.lang.Object):42:42 -> containsValue
    1:1:java.lang.Object getKey(java.lang.Object):77:77 -> d
    1:1:java.util.Set getValues(java.lang.Object):93:93 -> e
    2:2:java.util.Set com.android.tools.r8.utils.collections.BidirectionalOneToManyHashMap.getOrDefault(java.lang.Object,java.util.Set):72:72 -> e
    2:2:java.util.Set getValues(java.lang.Object):93 -> e
    1:1:java.util.Set lambda$put$2(java.lang.Object):139:139 -> f
    1:1:void forEach(java.util.function.BiConsumer):47:47 -> forEach
    1:6:java.lang.Object removeValue(java.lang.Object):125:130 -> g
com.android.tools.r8.utils.collections.BidirectionalOneToManyRepresentativeHashMap -> com.android.tools.r8.internal.U4:
    java.util.Map representatives -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():12:12 -> <clinit>
    1:5:void <init>():12:16 -> <init>
    1:3:java.lang.Object getRepresentativeValue(java.lang.Object):37:39 -> a
    1:1:java.lang.Object getRepresentativeKey(java.lang.Object):32:32 -> b
    2:4:void setRepresentative(java.lang.Object,java.lang.Object):73:75 -> b
    1:2:java.lang.Object removeValue(java.lang.Object):64:65 -> g
    3:3:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToManyRepresentativeHashMap.removeRepresentativeFor(java.lang.Object):59:59 -> g
    3:3:java.lang.Object removeValue(java.lang.Object):66 -> g
com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap -> com.android.tools.r8.internal.V4:
    com.android.tools.r8.com.google.common.collect.BiMap backing -> b
    1:1:void <init>():22:22 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.collect.BiMap):25:26 -> <init>
    1:1:void forEachManyToOneMapping(java.util.function.BiConsumer):61:61 -> a
    2:2:void lambda$forEachManyToOneMapping$0(java.util.function.BiConsumer,java.lang.Object,java.lang.Object):61:61 -> a
    3:3:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.get(java.lang.Object):76:76 -> a
    3:3:java.lang.Object getRepresentativeValue(java.lang.Object):113 -> a
    4:4:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToManyMap):149:149 -> a
    5:5:void com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.forEach(java.util.function.BiConsumer):51:51 -> a
    5:5:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToManyMap):149 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.forEach(java.util.function.BiConsumer):51:51 -> a
    6:6:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToManyMap):149 -> a
    1:1:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.getKey(java.lang.Object):87:87 -> b
    1:1:java.lang.Object getRepresentativeKey(java.lang.Object):108 -> b
    1:1:boolean com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.containsValue(java.lang.Object):41:41 -> c
    1:1:java.util.Set getKeys(java.lang.Object):118 -> c
    2:4:java.util.Set getKeys(java.lang.Object):119:121 -> c
    1:1:void clear():31:31 -> clear
    1:1:boolean containsKey(java.lang.Object):36:36 -> containsKey
    1:1:boolean containsValue(java.lang.Object):41:41 -> containsValue
    1:1:java.util.Set entrySet():46:46 -> entrySet
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.getForwardMap():92:92 -> f
    1:1:java.util.Map getForwardMap():16 -> f
    1:1:void forEach(java.util.function.BiConsumer):51:51 -> forEach
    1:1:java.lang.Object get(java.lang.Object):76:76 -> get
    1:1:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.get(java.lang.Object):76:76 -> getOrDefault
    1:1:java.lang.Object getOrDefault(java.lang.Object,java.lang.Object):81 -> getOrDefault
    1:1:boolean isEmpty():134:134 -> isEmpty
    1:1:java.util.Set keySet():139:139 -> keySet
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):144:144 -> put
    1:1:void putAll(java.util.Map):154:154 -> putAll
    1:1:java.lang.Object remove(java.lang.Object):159:159 -> remove
    1:1:int size():164:164 -> size
    1:1:java.util.Set com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.values():169:169 -> values
    1:1:java.util.Collection values():16 -> values
    2:2:java.util.Set values():169:169 -> values
com.android.tools.r8.utils.collections.BidirectionalOneToOneMap -> com.android.tools.r8.internal.W4:
com.android.tools.r8.utils.collections.DexClassAndMethodSet -> com.android.tools.r8.internal.ng:
    com.android.tools.r8.utils.collections.DexClassAndMethodSet EMPTY -> e
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):22:22 -> <init>
    1:1:com.android.tools.r8.utils.collections.DexClassAndMethodSet create():32:32 -> b
    1:1:com.android.tools.r8.utils.collections.DexClassAndMethodSet empty():60:60 -> c
com.android.tools.r8.utils.collections.DexClassAndMethodSetBase -> com.android.tools.r8.internal.og:
    java.util.function.Supplier backingFactory -> c
    java.util.Map backing -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):26:26 -> <init>
    2:4:void <init>(java.util.function.Supplier,java.util.Map):30:32 -> <init>
    1:2:boolean add(com.android.tools.r8.graph.DexClassAndMethod):36:37 -> a
    3:3:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    3:3:boolean add(com.android.tools.r8.graph.DexClassAndMethod):37 -> a
    4:4:boolean add(com.android.tools.r8.graph.DexClassAndMethod):37:37 -> a
    5:5:void addAll(java.lang.Iterable):42:42 -> a
    6:6:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):58:58 -> a
    7:7:boolean removeIf(java.util.function.Predicate):88:88 -> a
    8:8:int com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.size():92:92 -> a
    8:8:java.util.Set toDefinitionSet(java.util.function.IntFunction):105 -> a
    9:10:java.util.Set toDefinitionSet(java.util.function.IntFunction):105:106 -> a
    11:12:java.util.Set toDefinitionSet():100:101 -> a
    13:13:void lambda$toDefinitionSet$0(java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):106:106 -> a
    1:1:boolean contains(com.android.tools.r8.graph.DexClassAndMethod):62:62 -> b
    2:2:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):84:84 -> b
    3:3:boolean com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.remove(com.android.tools.r8.graph.DexMethod):79:79 -> b
    3:3:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):84 -> b
    1:1:void clear():66:66 -> clear
    1:1:boolean isEmpty():70:70 -> isEmpty
    1:1:java.util.Iterator iterator():75:75 -> iterator
    1:1:int size():92:92 -> size
    1:1:java.util.stream.Stream stream():96:96 -> stream
com.android.tools.r8.utils.collections.DexMethodSignatureSet -> com.android.tools.r8.internal.Vg:
    com.android.tools.r8.utils.collections.DexMethodSignatureSet EMPTY -> c
    java.util.Set backing -> b
    1:2:void <clinit>():23:24 -> <clinit>
    1:2:void <init>(java.util.Set):28:29 -> <init>
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet create():33:33 -> a
    2:2:boolean add(com.android.tools.r8.graph.DexMethodSignature):54:54 -> a
    3:3:boolean add(com.android.tools.r8.graph.DexMethod):58:58 -> a
    4:4:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexMethodSignature):54:54 -> a
    4:4:boolean add(com.android.tools.r8.graph.DexMethod):58 -> a
    5:5:boolean add(com.android.tools.r8.graph.DexEncodedMethod):62:62 -> a
    6:6:boolean add(com.android.tools.r8.graph.DexClassAndMethod):66:66 -> a
    7:7:void addAllMethods(java.lang.Iterable):75:75 -> a
    8:8:void addAll(com.android.tools.r8.utils.collections.DexMethodSignatureSet):79:79 -> a
    9:9:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.addAll(java.util.Collection):71:71 -> a
    9:9:void addAll(com.android.tools.r8.utils.collections.DexMethodSignatureSet):79 -> a
    10:11:void addAll(java.lang.Iterable,java.util.function.Function):83:84 -> a
    1:1:boolean add(java.lang.Object):21:21 -> add
    2:2:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexMethodSignature):54:54 -> add
    2:2:boolean add(java.lang.Object):21 -> add
    1:1:boolean addAll(java.util.Collection):71:71 -> addAll
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet createConcurrent():41:41 -> b
    2:2:boolean contains(com.android.tools.r8.graph.DexMethodSignature):99:99 -> b
    3:3:boolean contains(com.android.tools.r8.graph.DexClassAndMethod):111:111 -> b
    4:4:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.contains(com.android.tools.r8.graph.DexMethodSignature):99:99 -> b
    4:4:boolean contains(com.android.tools.r8.graph.DexClassAndMethod):111 -> b
    5:5:java.util.Iterator com.android.tools.r8.utils.collections.DexMethodSignatureSet.iterator():135:135 -> b
    5:5:boolean containsAnyOf(java.lang.Iterable):120 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:java.util.Iterator com.android.tools.r8.utils.collections.DexMethodSignatureSet.iterator():135:135 -> b
    6:6:boolean containsAnyOf(java.lang.Iterable):120 -> b
    7:7:boolean containsAnyOf(java.lang.Iterable):120:120 -> b
    8:8:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.contains(com.android.tools.r8.graph.DexMethodSignature):99:99 -> b
    8:8:boolean containsAnyOf(java.lang.Iterable):121 -> b
    9:9:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):148:148 -> b
    10:10:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.remove(com.android.tools.r8.graph.DexMethodSignature):144:144 -> b
    10:10:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):148 -> b
    11:11:void removeAllMethods(java.lang.Iterable):157:157 -> b
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet create(com.android.tools.r8.utils.collections.DexMethodSignatureSet):37:37 -> c
    2:2:com.android.tools.r8.utils.collections.DexMethodSignatureSet createLinked():45:45 -> c
    1:1:void clear():90:90 -> clear
    1:1:boolean contains(java.lang.Object):95:95 -> contains
    1:1:boolean containsAll(java.util.Collection):116:116 -> containsAll
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet empty():49:49 -> d
    1:1:boolean isEmpty():130:130 -> isEmpty
    1:1:java.util.Iterator iterator():135:135 -> iterator
    1:1:boolean remove(java.lang.Object):140:140 -> remove
    1:1:boolean removeAll(java.util.Collection):153:153 -> removeAll
    1:1:boolean retainAll(java.util.Collection):162:162 -> retainAll
    1:1:int size():167:167 -> size
    1:1:java.lang.Object[] toArray():172:172 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):177:177 -> toArray
com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap -> com.android.tools.r8.internal.Hh:
    1:1:void <init>():15:15 -> <init>
    void forEachManyToOneMapping(java.util.function.BiConsumer) -> a
    java.lang.Object getRepresentativeValue(java.lang.Object) -> a
    java.lang.Object getRepresentativeKey(java.lang.Object) -> b
    1:1:java.util.Set getKeys(java.lang.Object):92:92 -> c
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap.getForwardMap():72:72 -> f
    1:1:java.util.Map getForwardMap():15 -> f
    1:1:java.util.Set keySet():107:107 -> keySet
    1:1:java.util.Set values():112:112 -> values
com.android.tools.r8.utils.collections.IdentityHashSetFromMap -> com.android.tools.r8.internal.In:
    java.util.Map backing -> b
    java.util.function.Function valueToKeyMapping -> c
    1:1:void <init>(java.util.function.Function):21:21 -> <init>
    2:6:void <init>(java.util.function.Function):18:22 -> <init>
    1:1:com.android.tools.r8.graph.DexReference lambda$newProgramDerivedContextSet$0(com.android.tools.r8.graph.ProgramDerivedContext):26:26 -> a
    2:2:java.util.Set newProgramDerivedContextSet():26:26 -> a
    1:1:boolean add(java.lang.Object):62:62 -> add
    1:2:boolean addAll(java.util.Collection):79:80 -> addAll
    1:1:void clear():113:113 -> clear
    1:1:boolean contains(java.lang.Object):42:42 -> contains
    1:1:boolean containsAll(java.util.Collection):73:73 -> containsAll
    1:1:boolean isEmpty():36:36 -> isEmpty
    1:1:java.util.Iterator iterator():47:47 -> iterator
    1:1:boolean remove(java.lang.Object):68:68 -> remove
    1:2:boolean removeAll(java.util.Collection):105:106 -> removeAll
    1:9:boolean retainAll(java.util.Collection):88:96 -> retainAll
    1:1:int size():31:31 -> size
    1:1:java.lang.Object[] toArray():52:52 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):57:57 -> toArray
com.android.tools.r8.utils.collections.ImmutableDeque -> com.android.tools.r8.internal.Sn:
    boolean isClosed -> b
    1:1:void <init>(java.util.Collection):20:20 -> <init>
    2:2:void <init>(java.util.Collection):17:17 -> <init>
    1:1:java.util.Deque of(java.lang.Object[]):111:111 -> a
    2:2:void com.android.tools.r8.utils.collections.ImmutableDeque.close():24:24 -> a
    2:2:java.util.Deque of(java.lang.Object[]):112 -> a
    1:4:boolean add(java.lang.Object):93:96 -> add
    5:5:boolean add(java.lang.Object):94:94 -> add
    1:4:boolean addAll(java.util.Collection):102:105 -> addAll
    5:5:boolean addAll(java.util.Collection):103:103 -> addAll
    1:1:void addFirst(java.lang.Object):39:39 -> addFirst
    1:4:void addLast(java.lang.Object):44:47 -> addLast
    5:5:void addLast(java.lang.Object):45:45 -> addLast
    1:1:java.lang.Object pop():34:34 -> pop
    1:1:void push(java.lang.Object):29:29 -> push
    1:1:boolean remove(java.lang.Object):58:58 -> remove
    2:2:java.lang.Object remove():88:88 -> remove
    1:1:boolean removeAll(java.util.Collection):68:68 -> removeAll
    1:1:java.lang.Object removeFirst():63:63 -> removeFirst
    1:1:boolean removeFirstOccurrence(java.lang.Object):53:53 -> removeFirstOccurrence
    1:1:boolean removeIf(java.util.function.Predicate):73:73 -> removeIf
    1:1:java.lang.Object removeLast():83:83 -> removeLast
    1:1:boolean removeLastOccurrence(java.lang.Object):78:78 -> removeLastOccurrence
com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap -> com.android.tools.r8.internal.Xn:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap sortedMap -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$1):17:17 -> <init>
    2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap):21:22 -> <init>
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap of(int[],java.lang.Object[]):30:30 -> a
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    2:2:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap of(int[],java.lang.Object[]):30 -> a
    3:3:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap of(int[],java.lang.Object[]):30:30 -> a
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.int2ReferenceEntrySet():78:78 -> a
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():17 -> a
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():78:78 -> a
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):96:96 -> a
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer):135:135 -> a
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer):141:141 -> a
    9:9:java.lang.Object put(int,java.lang.Object):158:158 -> a
    10:10:java.lang.Object put(java.lang.Integer,java.lang.Object):163:163 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):108:108 -> b
    2:2:int firstIntKey():118:118 -> b
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(java.lang.Integer):129:129 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):102:102 -> c
    1:1:java.lang.Object compute(java.lang.Object,java.util.function.BiFunction):17:17 -> compute
    2:2:java.lang.Object com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.compute(java.lang.Integer,java.util.function.BiFunction):179:179 -> compute
    2:2:java.lang.Object compute(java.lang.Object,java.util.function.BiFunction):17 -> compute
    1:1:java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function):17:17 -> computeIfAbsent
    2:2:java.lang.Object com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.computeIfAbsent(java.lang.Integer,java.util.function.Function):184:184 -> computeIfAbsent
    2:2:java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function):17 -> computeIfAbsent
    1:1:java.lang.Object computeIfPresent(java.lang.Object,java.util.function.BiFunction):17:17 -> computeIfPresent
    2:2:java.lang.Object com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.computeIfPresent(java.lang.Integer,java.util.function.BiFunction):190:190 -> computeIfPresent
    2:2:java.lang.Object computeIfPresent(java.lang.Object,java.util.function.BiFunction):17 -> computeIfPresent
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entrySet():85:85 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.entrySet():85:85 -> entrySet
    2:2:java.util.Set entrySet():17 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.entrySet():85:85 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():17 -> f
    1:1:java.lang.Integer firstKey():147:147 -> firstKey
    2:2:java.lang.Integer com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.firstKey():147:147 -> firstKey
    2:2:java.lang.Object firstKey():17 -> firstKey
    1:1:java.lang.Object get(int):57:57 -> get
    2:2:java.lang.Object get(java.lang.Object):62:62 -> get
    1:1:java.lang.Object getOrDefault(java.lang.Object,java.lang.Object):67:67 -> getOrDefault
    1:1:java.util.SortedMap headMap(java.lang.Object):17:17 -> headMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.headMap(java.lang.Integer):129:129 -> headMap
    2:2:java.util.SortedMap headMap(java.lang.Object):17 -> headMap
    1:1:boolean isEmpty():113:113 -> isEmpty
    1:1:int lastIntKey():123:123 -> j
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder builder():38:38 -> k
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.keySet():90:90 -> keySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():17 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():90:90 -> keySet
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.keySet():90:90 -> keySet
    3:3:java.util.Set keySet():17 -> keySet
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap empty():34:34 -> l
    1:1:java.lang.Integer lastKey():153:153 -> lastKey
    2:2:java.lang.Integer com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.lastKey():153:153 -> lastKey
    2:2:java.lang.Object lastKey():17 -> lastKey
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):17:17 -> put
    1:1:void putAll(java.util.Map):168:168 -> putAll
    1:1:java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object):17:17 -> putIfAbsent
    2:2:java.lang.Object com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.putIfAbsent(java.lang.Integer,java.lang.Object):173:173 -> putIfAbsent
    2:2:java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object):17 -> putIfAbsent
    1:1:java.lang.Object remove(int):195:195 -> remove
    2:2:boolean remove(java.lang.Object,java.lang.Object):200:200 -> remove
    3:3:java.lang.Object remove(java.lang.Object):205:205 -> remove
    1:1:int size():72:72 -> size
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):17:17 -> subMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.subMap(java.lang.Integer,java.lang.Integer):141:141 -> subMap
    2:2:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):17 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):17:17 -> tailMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.tailMap(java.lang.Integer):135:135 -> tailMap
    2:2:java.util.SortedMap tailMap(java.lang.Object):17 -> tailMap
com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder -> com.android.tools.r8.internal.Wn:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap sortedMap -> a
    1:3:void <init>():41:43 -> <init>
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder put(int,java.lang.Object):46:46 -> a
    2:2:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap build():51:51 -> a
com.android.tools.r8.utils.collections.LongLivedClassSetBuilder -> com.android.tools.r8.internal.MC:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):23:23 -> <init>
    1:1:com.android.tools.r8.utils.collections.LongLivedClassSetBuilder createConcurrentBuilderForIdentitySet(com.android.tools.r8.graph.GraphLens):29:29 -> a
    2:2:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):35:35 -> a
    3:3:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    3:3:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):35 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):35:35 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39 -> a
    4:4:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):35 -> a
    5:5:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    5:5:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):35 -> a
    6:6:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):36:36 -> a
    7:14:java.util.Set build(com.android.tools.r8.graph.AppView):63:70 -> a
    15:15:java.util.Set build(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":86,"2":87,"3":88}}
    86:86:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
    87:87:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
    88:88:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
    85:85:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
com.android.tools.r8.utils.collections.LongLivedCollectionBuilder -> com.android.tools.r8.internal.NC:
    java.util.function.IntFunction factoryForBuilder -> b
    java.lang.Object backing -> d
    boolean $assertionsDisabled -> e
    java.util.function.IntFunction factory -> a
    com.android.tools.r8.graph.GraphLens appliedGraphLens -> c
    1:1:void <clinit>():10:10 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):27:31 -> <init>
com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder -> com.android.tools.r8.internal.OC:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):30:30 -> <init>
    1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder createConcurrentBuilderForNonConcurrentMap(com.android.tools.r8.graph.GraphLens):40:40 -> a
    2:2:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):46:46 -> a
    3:3:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    3:3:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):46 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):35:35 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39 -> a
    4:4:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):46 -> a
    5:5:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    5:5:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):46 -> a
    6:6:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):47:47 -> a
    7:7:java.lang.Object lambda$computeIfAbsent$0(java.util.function.Function,com.android.tools.r8.graph.ProgramMethod):47:47 -> a
    8:24:com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder rewrittenWithLens(java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens):69:85 -> a
    25:28:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.function.BiFunction,java.util.Map,com.android.tools.r8.graph.DexMethod,java.lang.Object):77:80 -> a
    29:29:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):92:92 -> a
    30:30:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    30:30:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):92 -> a
    31:31:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):35:35 -> a
    31:31:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39 -> a
    31:31:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):92 -> a
    32:32:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    32:32:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):92 -> a
    33:34:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):94:95 -> a
    35:40:void lambda$build$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodMap,java.util.function.Function,com.android.tools.r8.graph.DexMethod,java.lang.Object):97:102 -> a
com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder -> com.android.tools.r8.internal.PC:
    java.util.function.IntFunction factoryForBuilder -> b
    java.util.Set methods -> d
    boolean $assertionsDisabled -> e
    java.util.function.IntFunction factory -> a
    com.android.tools.r8.graph.GraphLens appliedGraphLens -> c
    1:1:void <clinit>():21:21 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):38:42 -> <init>
    boolean lambda$verifyIsRewrittenWithNewerLens$2(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens) -> a
    1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder createConcurrentForIdentitySet(com.android.tools.r8.graph.GraphLens):53:53 -> a
    2:2:void add(com.android.tools.r8.graph.ProgramMethod):59:59 -> a
    3:3:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):65:65 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    4:4:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):65 -> a
    5:5:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    5:5:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):65 -> a
    6:6:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):66:66 -> a
    7:7:void clear():75:75 -> a
    8:8:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):92:92 -> a
    9:9:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> a
    9:9:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):92 -> a
    10:16:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):93:99 -> a
    17:17:void remove(com.android.tools.r8.graph.DexMethod):107:107 -> a
    18:18:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111:111 -> a
    19:19:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isEmpty():171:171 -> a
    19:19:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111 -> a
    20:20:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> a
    20:20:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    20:20:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111 -> a
    21:21:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    21:21:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111 -> a
    22:22:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):112:112 -> a
    23:23:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder removeAll(java.lang.Iterable):116:116 -> a
    24:24:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder removeIf(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Predicate):122:122 -> a
    25:31:boolean lambda$removeIf$1(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Predicate,com.android.tools.r8.graph.DexMethod):125:131 -> a
    32:35:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):160:163 -> a
    36:36:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    36:36:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):164 -> a
    37:38:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):164:165 -> a
    39:39:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    39:39:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):165 -> a
    1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder createForIdentitySet(com.android.tools.r8.graph.GraphLens):47:47 -> b
    2:2:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):80:80 -> b
    3:3:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> b
    3:3:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> b
    3:3:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):80 -> b
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> b
    4:4:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):80 -> b
    5:5:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):81:81 -> b
    6:6:boolean isEmpty():171:171 -> b
    1:13:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder rewrittenWithLens(com.android.tools.r8.graph.GraphLens):143:155 -> c
    1:4:boolean verifyIsRewrittenWithNewerLens(com.android.tools.r8.graph.GraphLens):180:183 -> d
    5:5:boolean verifyIsRewrittenWithNewerLens(com.android.tools.r8.graph.GraphLens):182:182 -> d
com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap -> com.android.tools.r8.internal.YF:
    void put(java.lang.Iterable,java.lang.Object) -> a
com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap -> com.android.tools.r8.internal.ZF:
com.android.tools.r8.utils.collections.MutableBidirectionalOneToManyRepresentativeMap -> com.android.tools.r8.internal.aG:
com.android.tools.r8.utils.collections.ProgramFieldSet -> com.android.tools.r8.internal.HM:
    java.util.Map backing -> b
    com.android.tools.r8.utils.collections.ProgramFieldSet EMPTY -> c
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():19:21 -> <clinit>
    1:2:void <init>(java.util.Map):25:26 -> <init>
    1:1:com.android.tools.r8.utils.collections.ProgramFieldSet create():30:30 -> a
    2:3:boolean add(com.android.tools.r8.graph.ProgramField):38:39 -> a
    4:4:boolean com.android.tools.r8.graph.ProgramField.isStructurallyEqualTo(com.android.tools.r8.graph.ProgramField):27:27 -> a
    4:4:boolean add(com.android.tools.r8.graph.ProgramField):39 -> a
    5:5:boolean add(com.android.tools.r8.graph.ProgramField):39:39 -> a
    1:1:com.android.tools.r8.utils.collections.ProgramFieldSet empty():34:34 -> b
    2:2:boolean contains(com.android.tools.r8.graph.ProgramField):60:60 -> b
    1:1:java.util.Iterator iterator():73:73 -> iterator
com.android.tools.r8.utils.collections.ProgramMemberMap -> com.android.tools.r8.internal.JM:
    java.util.Map backing -> a
    1:2:void <init>(java.util.function.Supplier):20:21 -> <init>
    3:4:void <init>(java.util.Map):24:25 -> <init>
    1:1:void clear():29:29 -> a
    2:2:java.lang.Object compute(com.android.tools.r8.graph.ProgramMember,java.util.function.BiFunction):33:33 -> a
    3:3:java.lang.Object lambda$compute$0(java.util.function.BiFunction,com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object):33:33 -> a
    4:4:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMember,java.util.function.Function):37:37 -> a
    5:5:java.lang.Object lambda$computeIfAbsent$1(java.util.function.Function,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):37:37 -> a
    6:6:boolean containsKey(com.android.tools.r8.graph.ProgramMember):41:41 -> a
    7:7:void forEach(java.util.function.BiConsumer):45:45 -> a
    8:8:void lambda$forEach$2(java.util.function.BiConsumer,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object):45:45 -> a
    9:10:java.lang.Object getOrDefault(com.android.tools.r8.graph.ProgramMember,java.util.function.Supplier):57:58 -> a
    11:12:java.lang.Object put(com.android.tools.r8.graph.ProgramMember,java.lang.Object):66:67 -> a
    13:13:java.lang.Object remove(com.android.tools.r8.graph.ProgramMember):71:71 -> a
    14:14:boolean lambda$removeIf$3(java.util.function.BiPredicate,java.util.Map$Entry):75:75 -> a
    15:15:void removeIf(java.util.function.BiPredicate):75:75 -> a
    1:1:java.lang.Object get(com.android.tools.r8.graph.ProgramMember):49:49 -> b
    com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.ProgramMember) -> c
com.android.tools.r8.utils.collections.ProgramMethodMap -> com.android.tools.r8.internal.LM:
    com.android.tools.r8.utils.collections.ProgramMethodMap EMPTY -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):21:21 -> <init>
    2:2:void <init>(java.util.Map):25:25 -> <init>
    1:1:com.android.tools.r8.utils.collections.ProgramMethodMap create(int):33:33 -> a
    1:1:com.android.tools.r8.utils.collections.ProgramMethodMap create():29:29 -> b
    1:1:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.ProgramMember):16:16 -> c
    2:2:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper com.android.tools.r8.utils.collections.ProgramMethodMap.wrap(com.android.tools.r8.graph.ProgramMethod):47:47 -> c
    2:2:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.ProgramMember):16 -> c
    3:3:com.android.tools.r8.utils.collections.ProgramMethodMap createConcurrent():37:37 -> c
    1:1:com.android.tools.r8.utils.collections.ProgramMethodMap empty():42:42 -> d
com.android.tools.r8.utils.collections.ProgramMethodMultiset -> com.android.tools.r8.internal.MM:
    com.android.tools.r8.com.google.common.collect.Multiset backing -> a
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multiset):22:23 -> <init>
    1:1:com.android.tools.r8.utils.collections.ProgramMethodMultiset createConcurrent():27:27 -> a
    2:2:void add(com.android.tools.r8.graph.ProgramMethod):35:35 -> a
    3:3:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper com.android.tools.r8.utils.collections.ProgramMethodMultiset.wrap(com.android.tools.r8.graph.ProgramMethod):55:55 -> a
    3:3:void add(com.android.tools.r8.graph.ProgramMethod):35 -> a
    4:4:void add(com.android.tools.r8.graph.ProgramMethod):35:35 -> a
    5:5:void forEachEntry(java.util.function.ObjIntConsumer):43:43 -> a
    6:6:void lambda$forEachEntry$0(java.util.function.ObjIntConsumer,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,int):43:43 -> a
    7:7:boolean lambda$removeIf$1(java.util.function.Predicate,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):47:47 -> a
    8:8:boolean removeIf(java.util.function.Predicate):47:47 -> a
    1:1:int size():51:51 -> b
com.android.tools.r8.utils.collections.ProgramMethodSet -> com.android.tools.r8.internal.NM:
    com.android.tools.r8.utils.collections.ProgramMethodSet EMPTY -> e
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):26:26 -> <init>
    2:2:void <init>(java.util.function.Supplier,java.util.Map):32:32 -> <init>
    1:2:com.android.tools.r8.utils.collections.ProgramMethodSet create(com.android.tools.r8.utils.ForEachable):50:51 -> a
    3:3:void addAll(com.android.tools.r8.utils.collections.ProgramMethodSet):74:74 -> a
    4:5:com.android.tools.r8.utils.collections.ProgramMethodSet rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):82:83 -> a
    6:6:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):85:85 -> a
    7:7:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375:375 -> a
    7:7:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):85 -> a
    8:8:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    8:8:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375 -> a
    8:8:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):85 -> a
    9:10:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):376:377 -> a
    9:10:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):85 -> a
    11:11:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet create():36:36 -> b
    2:2:com.android.tools.r8.utils.collections.ProgramMethodSet create(com.android.tools.r8.utils.collections.ProgramMethodSet):56:56 -> b
    3:3:void com.android.tools.r8.utils.collections.ProgramMethodSet.addAll(com.android.tools.r8.utils.collections.ProgramMethodSet):74:74 -> b
    3:3:com.android.tools.r8.utils.collections.ProgramMethodSet create(com.android.tools.r8.utils.collections.ProgramMethodSet):57 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void com.android.tools.r8.utils.collections.ProgramMethodSet.addAll(com.android.tools.r8.utils.collections.ProgramMethodSet):74:74 -> b
    4:4:com.android.tools.r8.utils.collections.ProgramMethodSet create(com.android.tools.r8.utils.collections.ProgramMethodSet):57 -> b
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet createConcurrent():62:62 -> c
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet createLinked():66:66 -> d
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet empty():70:70 -> e
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet create(int):40:40 -> h
com.android.tools.r8.utils.collections.SortedProgramMethodSet -> com.android.tools.r8.internal.cV:
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):29:29 -> <init>
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):23:23 -> a
    2:2:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    3:3:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375:375 -> a
    3:3:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61 -> a
    4:4:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    4:4:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375 -> a
    4:4:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61 -> a
    5:6:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):376:377 -> a
    5:6:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61 -> a
    7:7:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    8:8:void lambda$rewrittenWithLens$4(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):61:61 -> a
    9:12:java.util.Set toDefinitionSet():66:69 -> a
    13:13:int lambda$toDefinitionSet$5(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):67:67 -> a
    14:14:void lambda$toDefinitionSet$6(java.util.Set,com.android.tools.r8.graph.ProgramMethod):69:69 -> a
    1:3:com.android.tools.r8.utils.collections.SortedProgramMethodSet create(com.android.tools.r8.utils.ForEachable):43:45 -> b
    4:4:com.android.tools.r8.utils.collections.SortedProgramMethodSet rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):60:60 -> b
    1:1:com.android.tools.r8.utils.collections.SortedProgramMethodSet create():33:33 -> f
    1:1:java.util.SortedMap lambda$create$1():44:44 -> g
    1:1:java.util.SortedMap lambda$static$0():26:26 -> h
com.android.tools.r8.utils.dfs.DFSStack -> com.android.tools.r8.internal.he:
    java.util.Deque stack -> a
    java.util.Set stackSet -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:3:void <init>(java.util.Deque,java.util.Set):18:20 -> <init>
    1:1:com.android.tools.r8.utils.dfs.DFSStack createIdentityStack():24:24 -> a
    2:2:boolean contains(java.lang.Object):28:28 -> a
    3:3:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):42:42 -> a
    4:4:boolean com.android.tools.r8.utils.dfs.DFSWorklistItem.isNewlyVisited():0:0 -> a
    4:4:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):42 -> a
    5:5:java.lang.Object com.android.tools.r8.utils.dfs.DFSWorklistItem.getValue():16:16 -> a
    5:5:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):43 -> a
    6:8:void com.android.tools.r8.utils.dfs.DFSStack.push(java.lang.Object):58:60 -> a
    6:8:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):43 -> a
    9:9:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):45:45 -> a
    10:10:boolean com.android.tools.r8.utils.dfs.DFSWorklistItem.isFullyVisited():0:0 -> a
    10:10:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):45 -> a
    11:11:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):45:45 -> a
    12:12:java.lang.Object com.android.tools.r8.utils.dfs.DFSWorklistItem.getValue():16:16 -> a
    12:12:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):46 -> a
    13:16:void com.android.tools.r8.utils.dfs.DFSStack.pop(java.lang.Object):51:54 -> a
    13:16:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):46 -> a
    1:5:java.util.Deque getCycleStartingAt(java.lang.Object):32:36 -> b
    6:8:void com.android.tools.r8.utils.dfs.DFSStack.recoverStack(java.util.Deque):64:66 -> b
    6:8:java.util.Deque getCycleStartingAt(java.lang.Object):37 -> b
com.android.tools.r8.utils.dfs.DFSWorklistItem -> com.android.tools.r8.internal.ke:
    java.lang.Object value -> a
    1:2:void <init>(java.lang.Object):11:12 -> <init>
    com.android.tools.r8.utils.dfs.DFSWorklistItem$NewlyVisitedDFSWorklistItem asNewlyVisited() -> a
    1:1:java.lang.Object getValue():16:16 -> b
com.android.tools.r8.utils.dfs.DFSWorklistItem$FullyVisitedDFSWorklistItem -> com.android.tools.r8.internal.ie:
    1:1:void <init>(java.lang.Object):55:55 -> <init>
com.android.tools.r8.utils.dfs.DFSWorklistItem$NewlyVisitedDFSWorklistItem -> com.android.tools.r8.internal.je:
    1:1:void <init>(java.lang.Object):34:34 -> <init>
    com.android.tools.r8.utils.dfs.DFSWorklistItem$NewlyVisitedDFSWorklistItem asNewlyVisited() -> a
    1:1:com.android.tools.r8.utils.dfs.DFSWorklistItem$FullyVisitedDFSWorklistItem toFullyVisited():48:48 -> c
    2:2:java.lang.Object com.android.tools.r8.utils.dfs.DFSWorklistItem.getValue():16:16 -> c
    2:2:com.android.tools.r8.utils.dfs.DFSWorklistItem$FullyVisitedDFSWorklistItem toFullyVisited():48 -> c
    3:3:com.android.tools.r8.utils.dfs.DFSWorklistItem$FullyVisitedDFSWorklistItem toFullyVisited():48:48 -> c
com.android.tools.r8.utils.structural.CompareToVisitor -> com.android.tools.r8.internal.lc:
    1:1:void <init>():18:18 -> <init>
    int visit(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping) -> a
    int visitBool(boolean,boolean) -> a
    int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference) -> a
    int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString) -> a
    int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    int visitDouble(double,double) -> a
    int visitFloat(float,float) -> a
    int visitInt(int,int) -> a
    int visitItemIterator(java.util.Iterator,java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept) -> a
    int visitLong(long,long) -> a
    1:1:int visitItemCollection(java.util.Collection,java.util.Collection):40:40 -> a
    2:2:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):48:48 -> a
    3:3:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):52:52 -> a
com.android.tools.r8.utils.structural.CompareToVisitorBase -> com.android.tools.r8.internal.nc:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    1:1:int visitBool(boolean,boolean):33:33 -> a
    2:2:int visitInt(int,int):38:38 -> a
    3:3:int visitLong(long,long):43:43 -> a
    4:4:int visitFloat(float,float):48:48 -> a
    5:5:int visitDouble(double,double):53:53 -> a
    6:10:int visitItemIterator(java.util.Iterator,java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):60:64 -> a
    11:11:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitBool(boolean,boolean):33:33 -> a
    11:11:int visitItemIterator(java.util.Iterator,java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):64 -> a
    12:12:int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):71:71 -> a
    13:13:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):76:76 -> a
    14:14:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
    14:14:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):76 -> a
    15:15:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):78:78 -> a
    16:16:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    16:16:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):79 -> a
    17:21:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):80:84 -> a
    22:24:int visit(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping):97:99 -> a
com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification -> com.android.tools.r8.internal.mc:
    com.android.tools.r8.utils.structural.CompareToVisitorBase parent -> a
    java.lang.Object item1 -> b
    boolean $assertionsDisabled -> e
    java.lang.Object item2 -> c
    int order -> d
    1:1:void <clinit>():102:102 -> <clinit>
    1:1:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitorBase,com.android.tools.r8.utils.structural.CompareToVisitorBase$1):102:102 -> <init>
    2:2:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitorBase):110:110 -> <init>
    3:8:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitorBase):108:113 -> <init>
    com.android.tools.r8.utils.structural.StructuralSpecification self() -> a
    1:1:int access$100(com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification):102:102 -> a
    2:3:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withAssert(java.util.function.Predicate):123:124 -> a
    2:3:com.android.tools.r8.utils.structural.StructuralSpecification withAssert(java.util.function.Predicate):102 -> a
    4:5:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withInt(java.util.function.ToIntFunction):138:139 -> a
    4:5:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):102 -> a
    6:6:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
    6:6:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withInt(java.util.function.ToIntFunction):139 -> a
    6:6:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):102 -> a
    7:7:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withInt(java.util.function.ToIntFunction):139:139 -> a
    7:7:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):102 -> a
    8:9:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withLong(java.util.function.ToLongFunction):146:147 -> a
    8:9:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):102 -> a
    10:10:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitLong(long,long):43:43 -> a
    10:10:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withLong(java.util.function.ToLongFunction):147 -> a
    10:10:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):102 -> a
    11:11:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withLong(java.util.function.ToLongFunction):147:147 -> a
    11:11:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):102 -> a
    12:18:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):198:204 -> a
    12:18:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):102 -> a
    19:19:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitBool(boolean,boolean):33:33 -> a
    19:19:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):204 -> a
    19:19:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):102 -> a
    20:20:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):204:204 -> a
    20:20:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):102 -> a
    21:22:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withDexReference(java.util.function.Function):221:222 -> a
    21:22:com.android.tools.r8.utils.structural.StructuralSpecification withDexReference(java.util.function.Function):102 -> a
    1:2:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withBool(java.util.function.Predicate):130:131 -> b
    1:2:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):102 -> b
    3:3:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitBool(boolean,boolean):33:33 -> b
    3:3:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withBool(java.util.function.Predicate):131 -> b
    3:3:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):102 -> b
    4:4:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withBool(java.util.function.Predicate):131:131 -> b
    4:4:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):102 -> b
    5:10:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):162:167 -> b
    5:10:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    11:11:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> b
    11:11:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):167 -> b
    11:11:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    12:15:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):167:170 -> b
    12:15:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    16:16:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> b
    16:16:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):170 -> b
    16:16:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    17:17:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):170:170 -> b
    17:17:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    18:19:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):213:214 -> b
    18:19:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):102 -> b
    1:6:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):178:183 -> i
    1:6:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
    7:7:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> i
    7:7:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):183 -> i
    7:7:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
    8:11:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):183:186 -> i
    8:11:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
    12:12:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> i
    12:12:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):186 -> i
    12:12:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
    13:13:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):186:186 -> i
    13:13:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
com.android.tools.r8.utils.structural.CompareToVisitorWithNamingLens -> com.android.tools.r8.internal.oc:
    com.android.tools.r8.naming.NamingLens namingLens -> b
    1:2:void <init>(com.android.tools.r8.naming.NamingLens):29:30 -> <init>
    1:4:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):38:41 -> a
    5:5:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    5:5:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):41 -> a
    6:6:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):49:49 -> a
    7:7:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    7:7:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):49 -> a
    8:8:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):53:53 -> a
    9:9:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    9:9:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):53 -> a
    10:10:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):57:57 -> a
    11:11:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    11:11:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):57 -> a
    12:12:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):65:65 -> a
    13:13:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    13:13:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):65 -> a
    14:14:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):69:69 -> a
    15:15:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    15:15:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):69 -> a
    16:16:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):73:73 -> a
com.android.tools.r8.utils.structural.CompareToVisitorWithStringTable -> com.android.tools.r8.internal.pc:
    java.util.function.ToIntFunction stringTable -> c
    1:2:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.ToIntFunction):16:17 -> <init>
    1:1:int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):25:25 -> a
    2:2:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
    2:2:int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):25 -> a
com.android.tools.r8.utils.structural.CompareToVisitorWithTypeEquivalence -> com.android.tools.r8.internal.qc:
    com.android.tools.r8.utils.structural.RepresentativeMap representatives -> b
    1:2:void <init>(com.android.tools.r8.utils.structural.RepresentativeMap):26:27 -> <init>
    1:3:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):35:37 -> a
    4:4:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    4:4:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):37 -> a
com.android.tools.r8.utils.structural.CompareToVisitorWithTypeTable -> com.android.tools.r8.internal.rc:
    java.util.function.ToIntFunction typeTable -> d
    1:2:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.ToIntFunction,java.util.function.ToIntFunction):19:20 -> <init>
    1:1:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):28:28 -> a
    2:2:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
    2:2:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):28 -> a
com.android.tools.r8.utils.structural.DefaultCompareToVisitor -> com.android.tools.r8.internal.Ie:
    com.android.tools.r8.graph.DexType lambda$run$1(com.android.tools.r8.graph.DexType) -> a
    1:1:int run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):21:21 -> a
    2:3:int com.android.tools.r8.utils.structural.CompareToVisitorWithTypeEquivalence.run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.RepresentativeMap,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):20:21 -> a
    2:3:int run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):21 -> a
com.android.tools.r8.utils.structural.DefaultHashingVisitor -> com.android.tools.r8.internal.Ke:
    com.android.tools.r8.graph.DexType lambda$run$1(com.android.tools.r8.graph.DexType) -> a
    1:1:void run(java.lang.Object,com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):21:21 -> a
com.android.tools.r8.utils.structural.Equatable -> com.android.tools.r8.internal.Ui:
    1:1:void <clinit>():6:6 -> <clinit>
    boolean isEqualTo(java.lang.Object) -> a
    1:8:boolean equalsImpl(com.android.tools.r8.utils.structural.Equatable,java.lang.Object):47:54 -> a
com.android.tools.r8.utils.structural.Equatable$1 -> com.android.tools.r8.internal.Ti:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():47:47 -> <clinit>
com.android.tools.r8.utils.structural.HashCodeVisitor -> com.android.tools.r8.internal.wm:
    int $r8$clinit -> d
    java.lang.Object item -> a
    int hashCode -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(java.lang.Object):41:41 -> <init>
    2:5:void <init>(java.lang.Object):39:42 -> <init>
    com.android.tools.r8.utils.structural.StructuralSpecification self() -> a
    1:3:int run(java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping):32:34 -> a
    4:4:com.android.tools.r8.utils.structural.HashCodeVisitor amend(int):52:52 -> a
    5:5:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withAssert(java.util.function.Predicate):58:58 -> a
    5:5:com.android.tools.r8.utils.structural.StructuralSpecification withAssert(java.util.function.Predicate):25 -> a
    6:6:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withInt(java.util.function.ToIntFunction):69:69 -> a
    6:6:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):25 -> a
    7:7:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withLong(java.util.function.ToLongFunction):74:74 -> a
    7:7:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):25 -> a
    8:13:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):98:103 -> a
    8:13:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):25 -> a
    14:14:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withDexReference(java.util.function.Function):119:119 -> a
    14:14:com.android.tools.r8.utils.structural.StructuralSpecification withDexReference(java.util.function.Function):25 -> a
    1:1:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withBool(java.util.function.Predicate):64:64 -> b
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):25 -> b
    2:2:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withIntArray(java.util.function.Function):84:84 -> b
    2:2:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):25 -> b
    3:5:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):110:112 -> b
    3:5:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):25 -> b
    1:1:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withShortArray(java.util.function.Function):89:89 -> i
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):25 -> i
com.android.tools.r8.utils.structural.HasherWrapper -> com.android.tools.r8.internal.Cm:
    java.lang.Object hash() -> a
    void putBoolean(boolean) -> a
    void putBytes(byte[]) -> a
    void putDouble(double) -> a
    void putFloat(float) -> a
    void putInt(int) -> a
    void putLong(long) -> a
    java.lang.String hashCodeAsString() -> b
    1:1:com.android.tools.r8.utils.structural.HasherWrapper sha256Hasher():33:33 -> c
com.android.tools.r8.utils.structural.HasherWrapper$HasherWrapped -> com.android.tools.r8.internal.Bm:
    com.android.tools.r8.com.google.common.hash.Hasher hasher -> a
    1:2:void <init>(com.android.tools.r8.com.google.common.hash.Hasher):44:45 -> <init>
    1:1:void putBoolean(boolean):50:50 -> a
    2:2:void putInt(int):55:55 -> a
    3:3:void putFloat(float):60:60 -> a
    4:4:void putLong(long):65:65 -> a
    5:5:void putDouble(double):70:70 -> a
    6:6:void putBytes(byte[]):75:75 -> a
    7:7:java.lang.Object hash():81:81 -> a
    1:1:java.lang.String hashCodeAsString():86:86 -> b
com.android.tools.r8.utils.structural.HashingVisitor -> com.android.tools.r8.internal.Gm:
    1:1:void <init>():16:16 -> <init>
    void visit(java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping) -> a
    void visitBool(boolean) -> a
    void visitDexString(com.android.tools.r8.graph.DexString) -> a
    void visitDexType(com.android.tools.r8.graph.DexType) -> a
    void visitDouble(double) -> a
    void visitFloat(float) -> a
    void visitInt(int) -> a
    void visitItemIterator(java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept) -> a
    void visitLong(long) -> a
    1:1:void visitItemCollection(java.util.Collection):36:36 -> a
    2:2:void visitDexField(com.android.tools.r8.graph.DexField):44:44 -> a
    3:3:void visitDexMethod(com.android.tools.r8.graph.DexMethod):48:48 -> a
    4:4:void visitDexReference(com.android.tools.r8.graph.DexReference):52:52 -> a
com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence -> com.android.tools.r8.internal.Im:
    com.android.tools.r8.utils.structural.HasherWrapper hash -> a
    com.android.tools.r8.utils.structural.RepresentativeMap representatives -> b
    1:3:void <init>(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):34:36 -> <init>
    1:1:void run(java.lang.Object,com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):28:28 -> a
    2:2:void visitBool(boolean):41:41 -> a
    3:3:void visitInt(int):46:46 -> a
    4:4:void visitFloat(float):51:51 -> a
    5:5:void visitLong(long):56:56 -> a
    6:6:void visitDouble(double):61:61 -> a
    7:7:void visitDexString(com.android.tools.r8.graph.DexString):66:66 -> a
    8:8:void visitDexType(com.android.tools.r8.graph.DexType):71:71 -> a
    9:9:void visit(java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping):76:76 -> a
    10:11:void visitItemIterator(java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):81:82 -> a
com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification -> com.android.tools.r8.internal.Hm:
    java.lang.Object item -> b
    com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence parent -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():86:86 -> <clinit>
    1:1:void <init>(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence,com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$1):86:86 -> <init>
    2:4:void <init>(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence):92:94 -> <init>
    com.android.tools.r8.utils.structural.StructuralSpecification self() -> a
    1:1:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withAssert(java.util.function.Predicate):104:104 -> a
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withAssert(java.util.function.Predicate):86 -> a
    2:2:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withInt(java.util.function.ToIntFunction):116:116 -> a
    2:2:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):86 -> a
    3:3:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withLong(java.util.function.ToLongFunction):122:122 -> a
    3:3:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):86 -> a
    4:8:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):156:160 -> a
    4:8:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):86 -> a
    9:9:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withDexReference(java.util.function.Function):174:174 -> a
    9:9:com.android.tools.r8.utils.structural.StructuralSpecification withDexReference(java.util.function.Function):86 -> a
    1:1:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withBool(java.util.function.Predicate):110:110 -> b
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):86 -> b
    2:4:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withIntArray(java.util.function.Function):134:136 -> b
    2:4:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):86 -> b
    5:5:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):168:168 -> b
    5:5:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):86 -> b
    1:3:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withShortArray(java.util.function.Function):143:145 -> i
    1:3:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):86 -> i
com.android.tools.r8.utils.structural.Ordered -> com.android.tools.r8.internal.EK:
    1:1:void <clinit>():7:7 -> <clinit>
    1:2:boolean isEqualTo(java.lang.Object):16:17 -> a
    3:3:com.android.tools.r8.utils.structural.Ordered maxIgnoreNull(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):45:45 -> a
    4:4:boolean betweenBothIncluded(java.lang.Object,java.lang.Object):65:65 -> a
    1:1:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> b
    1:1:com.android.tools.r8.utils.structural.Ordered minIgnoreNull(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):35 -> b
    2:2:boolean isGreaterThan(java.lang.Object):57:57 -> b
    1:1:com.android.tools.r8.utils.structural.Ordered max(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):25:25 -> c
    2:2:boolean isLessThan(java.lang.Object):49:49 -> c
    1:1:boolean isGreaterThanOrEqualTo(java.lang.Object):61:61 -> d
    1:1:boolean isLessThanOrEqualTo(java.lang.Object):53:53 -> e
com.android.tools.r8.utils.structural.Ordered$1 -> com.android.tools.r8.internal.DK:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
com.android.tools.r8.utils.structural.RepresentativeMap -> com.android.tools.r8.internal.wS:
    com.android.tools.r8.graph.DexType getRepresentative(com.android.tools.r8.graph.DexType) -> a
com.android.tools.r8.utils.structural.StructuralAcceptor -> com.android.tools.r8.internal.aX:
com.android.tools.r8.utils.structural.StructuralItem -> com.android.tools.r8.internal.cX:
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int compareTo(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> a
    2:2:int compareWithTypeEquivalenceTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.RepresentativeMap):39:39 -> a
    3:4:int com.android.tools.r8.utils.structural.CompareToVisitorWithTypeEquivalence.run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.RepresentativeMap,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):20:21 -> a
    3:4:int compareWithTypeEquivalenceTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.RepresentativeMap):38 -> a
    5:5:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):44:44 -> a
    6:6:void hash(com.android.tools.r8.utils.structural.HasherWrapper):61:61 -> a
    7:7:void hashWithTypeEquivalence(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):71:71 -> a
    8:8:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):76:76 -> a
    1:1:int compareTo(java.lang.Object):7:7 -> compareTo
    com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping() -> n
com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept -> com.android.tools.r8.internal.bX:
    int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
com.android.tools.r8.utils.structural.StructuralItem$HashingAccept -> com.android.tools.r8.internal.cX$a:
    void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor) -> a
com.android.tools.r8.utils.structural.StructuralMapping -> com.android.tools.r8.internal.dX:
    void apply(com.android.tools.r8.utils.structural.StructuralSpecification) -> a
com.android.tools.r8.utils.structural.StructuralSpecification -> com.android.tools.r8.internal.eX:
    1:1:void <init>():18:18 -> <init>
    boolean lambda$withCustomItem$0(java.lang.Object) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification self() -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withAssert(java.util.function.Predicate) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withDexReference(java.util.function.Function) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction) -> a
    1:2:com.android.tools.r8.utils.structural.StructuralSpecification withSpec(com.android.tools.r8.utils.structural.StructuralMapping):24:25 -> a
    3:3:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):39:39 -> a
    4:4:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemCollection(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):59:59 -> a
    5:5:boolean lambda$withNullableItem$2(java.util.function.Function,java.lang.Object):73:73 -> a
    6:6:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalItem(java.util.function.Predicate,java.util.function.Function):78:78 -> a
    7:7:java.util.Iterator lambda$withItemArray$3(com.android.tools.r8.utils.structural.StructuralItem[]):93:93 -> a
    8:8:int lambda$withItemArrayAllowingNullMembers$5(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):104:104 -> a
    9:9:int lambda$withItemArrayAllowingNullMembers$5(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):102:102 -> a
    10:12:void lambda$withItemArrayAllowingNullMembers$6(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.HashingVisitor):108:110 -> a
    boolean lambda$withItem$1(java.lang.Object) -> b
    com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate) -> b
    com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept) -> b
    com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function) -> b
    1:1:java.util.Iterator lambda$withItemArrayAllowingNullMembers$4(com.android.tools.r8.utils.structural.StructuralItem[]):99:99 -> b
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withItem(java.util.function.Function):69:69 -> c
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withItemArray(java.util.function.Function):93:93 -> d
    1:3:com.android.tools.r8.utils.structural.StructuralSpecification withItemArrayAllowingNullMembers(java.util.function.Function):98:98 -> e
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withItemCollection(java.util.function.Function):89:89 -> f
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withItemIterator(java.util.function.Function):83:83 -> g
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withNullableItem(java.util.function.Function):73:73 -> h
    com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function) -> i
com.android.tools.r8.verticalclassmerging.EmptyInterfaceTypeToClassTypeLensCodeRewriterHelper -> com.android.tools.r8.internal.Ph:
    1:1:void <init>():16:16 -> <init>
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void processWorklist() -> a
com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper -> com.android.tools.r8.internal.Lt:
    1:1:void <init>():40:40 -> <init>
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void processWorklist() -> a
    1:2:com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):47:48 -> a
    3:3:boolean com.android.tools.r8.graph.GraphLens.isVerticalClassMergerLens():0:0 -> a
    3:3:com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):51 -> a
    4:6:com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):52:54 -> a
    7:7:boolean lambda$create$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):48:48 -> a
    8:8:boolean com.android.tools.r8.graph.GraphLens.isVerticalClassMergerLens():0:0 -> a
    8:8:boolean lambda$create$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):48 -> a
com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl -> com.android.tools.r8.internal.Nt:
    java.util.Map worklist -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.code.IRCode code -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):45:45 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:47 -> <init>
    1:9:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):58:66 -> a
    10:10:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    10:10:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):67 -> a
    11:11:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    11:11:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):67 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    12:12:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):67 -> a
    13:16:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):74:77 -> a
    17:17:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    17:17:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):79 -> a
    18:18:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):79:79 -> a
    19:19:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):232:232 -> a
    19:19:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):80 -> a
    20:21:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):80:81 -> a
    22:24:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):92:94 -> a
    25:25:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    25:25:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:29:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):95:98 -> a
    30:30:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):232:232 -> a
    30:30:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):97 -> a
    31:32:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):99:100 -> a
    33:35:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):128:130 -> a
    36:36:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):232:232 -> a
    36:36:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):130 -> a
    37:40:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):131:134 -> a
    41:41:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):132:132 -> a
    42:65:void processWorklist():142:165 -> a
    66:70:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):192:196 -> a
    66:70:void processWorklist():167 -> a
    71:71:com.android.tools.r8.ir.code.CheckCast$Builder com.android.tools.r8.ir.code.CheckCast.builder():50:50 -> a
    71:71:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):196 -> a
    71:71:void processWorklist():167 -> a
    72:74:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):197:199 -> a
    72:74:void processWorklist():167 -> a
    75:75:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    75:75:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):199 -> a
    75:75:void processWorklist():167 -> a
    76:76:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    76:76:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    76:76:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):199 -> a
    76:76:void processWorklist():167 -> a
    77:92:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):199:214 -> a
    77:92:void processWorklist():167 -> a
    93:95:void addWorklistItem(com.android.tools.r8.ir.code.Instruction,int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):180:182 -> a
    96:106:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):241:251 -> a
    107:111:boolean com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.isOperandRewrittenWithLens(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,boolean):223:227 -> a
    107:111:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):256 -> a
    112:116:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):257:261 -> a
    117:117:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    117:117:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):261 -> a
    118:118:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    118:118:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    118:118:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):261 -> a
    119:119:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):263:263 -> a
    120:120:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):262:262 -> a
    121:121:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):252:252 -> a
    122:122:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):247:247 -> a
    123:123:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):242:242 -> a
com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl$WorklistItem -> com.android.tools.r8.internal.Mt:
    com.android.tools.r8.graph.DexType rewrittenType -> c
    com.android.tools.r8.graph.DexType originalType -> b
    int operandIndex -> a
    1:4:void <init>(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):272:275 -> <init>
